zames_pro 2.82.77 → 2.82.79

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [2.82.79] - 2026-10-24
11
+
12
+ ### Fixed
13
+
14
+ - **glm:** keep a duplicated chat id once in the chat list
15
+
16
+ ## [2.82.78] - 2026-10-24
17
+
18
+ ### Fixed
19
+
20
+ - **qwen:** keep a duplicated chat id once in the chat list
21
+
10
22
  ## [2.82.77] - 2026-10-24
11
23
 
12
24
  ### Fixed
package/dist/glm-chats.js CHANGED
@@ -111,6 +111,9 @@ export function parseGlmChatList(json) {
111
111
  ? arr.map((c) => ['', c])
112
112
  : keyed;
113
113
  const out = [];
114
+ // A payload may list the SAME chat twice (a merged page). /chats would then
115
+ // show it twice and the second row opens the same chat — keep the first.
116
+ const seenIds = new Set();
114
117
  for (const [key, c] of entries) {
115
118
  if (!c || typeof c !== 'object')
116
119
  continue;
@@ -121,8 +124,9 @@ export function parseGlmChatList(json) {
121
124
  : typeof raw === 'number' && Number.isFinite(raw)
122
125
  ? String(raw)
123
126
  : key;
124
- if (!id)
127
+ if (!id || seenIds.has(id))
125
128
  continue;
129
+ seenIds.add(id);
126
130
  const title = (typeof m.title === 'string' && m.title) ||
127
131
  (typeof m.name === 'string' && m.name) ||
128
132
  '';
@@ -138,6 +138,10 @@ export function parseQwenChatList(json) {
138
138
  ? arr.map((c) => ['', c])
139
139
  : keyed;
140
140
  const out = [];
141
+ // A payload may list the SAME chat twice (a merged page, an optimistic
142
+ // entry). /chats would then show it twice and resuming the second row opens
143
+ // the same chat — keep the first occurrence only.
144
+ const seenIds = new Set();
141
145
  for (const [key, c] of entries) {
142
146
  if (!c || typeof c !== 'object')
143
147
  continue;
@@ -150,8 +154,9 @@ export function parseQwenChatList(json) {
150
154
  : typeof raw === 'number' && Number.isFinite(raw)
151
155
  ? String(raw)
152
156
  : key;
153
- if (!id)
157
+ if (!id || seenIds.has(id))
154
158
  continue;
159
+ seenIds.add(id);
155
160
  const title = (typeof m.title === 'string' && m.title) ||
156
161
  (typeof m.name === 'string' && m.name) ||
157
162
  '';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zames_pro",
3
- "version": "2.82.77",
3
+ "version": "2.82.79",
4
4
  "description": "Terminal coding agent that drives a real browser to chat with DeepSeek, Qwen and other web LLMs — no API key required. Reads and edits files, runs commands, commits to git, like Claude Code / Codex CLI.",
5
5
  "type": "module",
6
6
  "bin": {