zames_pro 2.82.76 → 2.82.78
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 +12 -0
- package/dist/qwen-chats.js +6 -1
- package/dist/scheduler.js +7 -0
- package/package.json +1 -1
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.78] - 2026-10-24
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- **qwen:** keep a duplicated chat id once in the chat list
|
|
15
|
+
|
|
16
|
+
## [2.82.77] - 2026-10-24
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
|
|
20
|
+
- **scheduler:** a zero-interval loop no longer fires on every tick
|
|
21
|
+
|
|
10
22
|
## [2.82.76] - 2026-10-24
|
|
11
23
|
|
|
12
24
|
### Fixed
|
package/dist/qwen-chats.js
CHANGED
|
@@ -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/dist/scheduler.js
CHANGED
|
@@ -258,6 +258,13 @@ export class Scheduler {
|
|
|
258
258
|
const missed = Math.floor((now - job.nextAt) / job.intervalMs);
|
|
259
259
|
job.nextAt = job.nextAt + (missed + 1) * job.intervalMs;
|
|
260
260
|
}
|
|
261
|
+
else if (job.kind === 'loop') {
|
|
262
|
+
// A loop with a ZERO/missing interval (a hand-edited or restored job)
|
|
263
|
+
// matched neither branch, so `nextAt` was never advanced and the job
|
|
264
|
+
// fired on EVERY 1-second tick. Never fire it again rather than
|
|
265
|
+
// busy-loop the scheduler.
|
|
266
|
+
job.nextAt = Number.POSITIVE_INFINITY;
|
|
267
|
+
}
|
|
261
268
|
else if (job.cron) {
|
|
262
269
|
const nxt = nextCronTime(job.cron, now);
|
|
263
270
|
job.nextAt = nxt === null ? Number.POSITIVE_INFINITY : nxt;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zames_pro",
|
|
3
|
-
"version": "2.82.
|
|
3
|
+
"version": "2.82.78",
|
|
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": {
|