unsnooze 1.14.3 → 1.14.4
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 +10 -0
- package/package.json +1 -1
- package/src/install.js +7 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.14.4 — 2026-08-08
|
|
4
|
+
|
|
5
|
+
- **Windows: the daemon PATH check split on the wrong separator.** The check
|
|
6
|
+
added in 1.14.3 split `PATH` on `:`, which is right on macOS and Linux and
|
|
7
|
+
wrong on Windows — there the separator is `;` and every absolute path
|
|
8
|
+
contains a colon (`C:\...`), so entries were shredded into fragments. The
|
|
9
|
+
predicate now uses the host's own delimiter. No behavior changed on macOS or
|
|
10
|
+
Linux, and Windows has no autostart unit for the check to reach, so this is a
|
|
11
|
+
correctness and test-portability fix rather than a user-visible one.
|
|
12
|
+
|
|
3
13
|
## 1.14.3 — 2026-08-08
|
|
4
14
|
|
|
5
15
|
- **Upgrades now reach running watchers.** A per-pane monitor lives as long as
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "unsnooze",
|
|
3
|
-
"version": "1.14.
|
|
3
|
+
"version": "1.14.4",
|
|
4
4
|
"description": "Automatically resume Claude Code, Codex CLI, Grok, Qwen Code, Kimi CLI, OpenCode, and Antigravity sessions when 5-hour or weekly usage limits reset—across tmux, Zellij, VS Code, and desktop apps.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"claude",
|
package/src/install.js
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
import { readFileSync, writeFileSync, renameSync, existsSync, copyFileSync, rmSync, mkdirSync, unlinkSync } from 'node:fs';
|
|
12
12
|
import { execFileSync } from 'node:child_process';
|
|
13
13
|
import { homedir, userInfo } from 'node:os';
|
|
14
|
-
import { join, dirname } from 'node:path';
|
|
14
|
+
import { join, dirname, delimiter } from 'node:path';
|
|
15
15
|
import { CLAUDE_SETTINGS, STATE_DIR } from './config.js';
|
|
16
16
|
import { getConfig, configFileExists } from './settings.js';
|
|
17
17
|
import { xmlEscape } from './notify.js';
|
|
@@ -187,9 +187,13 @@ export function autostartUnitPath({ platform = process.platform, dir = null } =
|
|
|
187
187
|
// cannot revive anything — every call dies with ENOENT. Pure and synchronous
|
|
188
188
|
// on purpose: this decides whether to rewrite-and-reload a unit, and that
|
|
189
189
|
// decision must be deterministic.
|
|
190
|
-
|
|
190
|
+
// `sep` defaults to the host's PATH delimiter, not a hardcoded ':'. On Windows
|
|
191
|
+
// that is ';' AND every absolute path contains a colon (C:\...), so splitting
|
|
192
|
+
// on ':' shreds the entries into nonsense. The units we inspect are always
|
|
193
|
+
// POSIX, but this predicate has to give an honest answer wherever it runs.
|
|
194
|
+
export function pathResolves(pathStr, bin, { sep = delimiter } = {}) {
|
|
191
195
|
if (typeof pathStr !== 'string' || pathStr === '') return false;
|
|
192
|
-
return pathStr.split(
|
|
196
|
+
return pathStr.split(sep).some(d => d && existsSync(join(d, bin)));
|
|
193
197
|
}
|
|
194
198
|
|
|
195
199
|
function xmlUnescape(s) {
|