sneakoscope 4.8.2 → 4.8.3
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/README.md +1 -1
- package/crates/sks-core/Cargo.lock +1 -1
- package/crates/sks-core/Cargo.toml +1 -1
- package/crates/sks-core/src/main.rs +1 -1
- package/dist/bin/sks.js +1 -1
- package/dist/core/codex-app/sks-menubar.js +2 -2
- package/dist/core/fsx.js +1 -1
- package/dist/core/version.js +1 -1
- package/dist/scripts/sks-menubar-install-check.js +8 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -49,7 +49,7 @@ sks seo-geo-optimizer apply latest --mode seo --apply --json
|
|
|
49
49
|
sks seo-geo-optimizer audit --mode geo --target package --offline --json
|
|
50
50
|
```
|
|
51
51
|
|
|
52
|
-
> 📋 **Current release: `v4.8.
|
|
52
|
+
> 📋 **Current release: `v4.8.3`** — full release history lives in [CHANGELOG.md](CHANGELOG.md). This README documents how Sneakoscope works today, not its version-by-version changes. Release readiness is tracked in [docs/release-readiness.md](docs/release-readiness.md).
|
|
53
53
|
|
|
54
54
|
## 🍥 Parallelism, UX, And Integrations
|
|
55
55
|
|
|
@@ -4,7 +4,7 @@ use std::io::{self, Read, Seek, SeekFrom};
|
|
|
4
4
|
fn main() {
|
|
5
5
|
let mut args = std::env::args().skip(1);
|
|
6
6
|
match args.next().as_deref() {
|
|
7
|
-
Some("--version") => println!("sks-rs 4.8.
|
|
7
|
+
Some("--version") => println!("sks-rs 4.8.3"),
|
|
8
8
|
Some("compact-info") => {
|
|
9
9
|
let mut input = String::new();
|
|
10
10
|
let _ = io::stdin().read_to_string(&mut input);
|
package/dist/bin/sks.js
CHANGED
|
@@ -431,8 +431,8 @@ function launchAgentSource(executablePath, installDir) {
|
|
|
431
431
|
</array>
|
|
432
432
|
<key>RunAtLoad</key>
|
|
433
433
|
<true/>
|
|
434
|
-
<key>
|
|
435
|
-
<
|
|
434
|
+
<key>ProcessType</key>
|
|
435
|
+
<string>Interactive</string>
|
|
436
436
|
<key>StandardOutPath</key>
|
|
437
437
|
<string>${escapeXml(path.join(installDir, 'menubar.out.log'))}</string>
|
|
438
438
|
<key>StandardErrorPath</key>
|
package/dist/core/fsx.js
CHANGED
|
@@ -5,7 +5,7 @@ import os from 'node:os';
|
|
|
5
5
|
import crypto from 'node:crypto';
|
|
6
6
|
import { spawn } from 'node:child_process';
|
|
7
7
|
import { fileURLToPath } from 'node:url';
|
|
8
|
-
export const PACKAGE_VERSION = '4.8.
|
|
8
|
+
export const PACKAGE_VERSION = '4.8.3';
|
|
9
9
|
export const DEFAULT_PROCESS_TAIL_BYTES = 256 * 1024;
|
|
10
10
|
export const DEFAULT_PROCESS_TIMEOUT_MS = 30 * 60 * 1000;
|
|
11
11
|
export function nowIso() {
|
package/dist/core/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const PACKAGE_VERSION = '4.8.
|
|
1
|
+
export const PACKAGE_VERSION = '4.8.3';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
|
@@ -25,6 +25,7 @@ const launchAgentExists = result.launch_agent_path ? await exists(result.launch_
|
|
|
25
25
|
const actionScriptExists = result.action_script_path ? await exists(result.action_script_path) : false;
|
|
26
26
|
const generatedSourcePath = result.app_path ? path.join(path.dirname(result.app_path), 'SKSMenuBar.swift') : null;
|
|
27
27
|
const generatedSource = generatedSourcePath ? await fs.readFile(generatedSourcePath, 'utf8').catch(() => '') : '';
|
|
28
|
+
const launchAgentSource = result.launch_agent_path ? await fs.readFile(result.launch_agent_path, 'utf8').catch(() => '') : '';
|
|
28
29
|
const hasVisibleLabelSource = generatedSource.includes('NSStatusItem.variableLength')
|
|
29
30
|
&& generatedSource.includes('button.title = "SKS"')
|
|
30
31
|
&& generatedSource.includes('button.attributedTitle = NSAttributedString(string: "SKS"')
|
|
@@ -34,6 +35,9 @@ const hasVisibleLabelSource = generatedSource.includes('NSStatusItem.variableLen
|
|
|
34
35
|
// once-dragged item does not jump back behind the notch on the next doctor --fix.
|
|
35
36
|
const hasAutosaveNameSource = generatedSource.includes('statusItem.autosaveName = "com.sneakoscope.sks-menubar"');
|
|
36
37
|
const hasExplicitVisibleSource = generatedSource.includes('statusItem.isVisible = true');
|
|
38
|
+
const hasNoUnconditionalKeepAlive = !launchAgentSource.includes('<key>KeepAlive</key>');
|
|
39
|
+
const hasInteractiveProcessType = launchAgentSource.includes('<key>ProcessType</key>')
|
|
40
|
+
&& launchAgentSource.includes('<string>Interactive</string>');
|
|
37
41
|
const expectedMenuItems = [
|
|
38
42
|
'Use codex-lb',
|
|
39
43
|
'Use ChatGPT OAuth',
|
|
@@ -71,6 +75,8 @@ const ok = process.platform === 'darwin'
|
|
|
71
75
|
&& hasVisibleLabelSource
|
|
72
76
|
&& hasAutosaveNameSource
|
|
73
77
|
&& hasExplicitVisibleSource
|
|
78
|
+
&& hasNoUnconditionalKeepAlive
|
|
79
|
+
&& hasInteractiveProcessType
|
|
74
80
|
&& launchSkippedForTempHome
|
|
75
81
|
&& launchSkippedForEnvHome
|
|
76
82
|
&& launchSkippedForTempInstall
|
|
@@ -90,6 +96,8 @@ const report = {
|
|
|
90
96
|
has_visible_label_source: hasVisibleLabelSource,
|
|
91
97
|
has_autosave_name_source: hasAutosaveNameSource,
|
|
92
98
|
has_explicit_visible_source: hasExplicitVisibleSource,
|
|
99
|
+
has_no_unconditional_keepalive: hasNoUnconditionalKeepAlive,
|
|
100
|
+
has_interactive_process_type: hasInteractiveProcessType,
|
|
93
101
|
launch_skipped_for_temp_home: launchSkippedForTempHome,
|
|
94
102
|
launch_skipped_for_env_home: launchSkippedForEnvHome,
|
|
95
103
|
launch_skipped_for_temp_install: launchSkippedForTempInstall,
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sneakoscope",
|
|
3
3
|
"displayName": "ㅅㅋㅅ",
|
|
4
|
-
"version": "4.8.
|
|
4
|
+
"version": "4.8.3",
|
|
5
5
|
"description": "Sneakoscope Codex: fast proof-first Codex trust layer with image-based Voxel TriWiki.",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"homepage": "https://github.com/mandarange/Sneakoscope-Codex#readme",
|