Skip to content

Various small fixes - #7

Merged
Odrian merged 20 commits into
devfrom
razmser/various-fixes
Oct 30, 2026
Merged

Odrian merged 20 commits into
devfrom
razmser/various-fixes

Conversation

@razmser

@razmser razmser commented Oct 30, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

A GUI app starts with a minimal PATH, so `#!/usr/bin/env node` launchers
failed: the Codex daemon restart was skipped without a message, and
OpenCode commands failed. Add node's directory and the CLI's own (nvm,
fnm and Volta keep node there) to the PATH of every npm-installed CLI
Wizard runs, and look for Pi's node and npm next to Pi.
One PATH entry that is a file, unreadable or broken made executable
lookup fail, so every agent showed an error. Skip it like a shell does.
On Linux systems without dpkg-query, detection failed instead of
reporting an unknown version.
Detection refused symlinked configs (common with dotfiles managers).
Read through symlinks, and refuse only to write one, which would turn
it into a regular file. Check every write before a plan's first step,
so an install step never runs for a write that will be refused.
- Save the next ID before the backup, so a failed state save cannot
  reuse an ID, and never overwrite an existing backup file (another
  Wizard process may have used the ID).
- Back up only the files a plan or a restore changes: restoring a
  file Wizard did not change (such as ~/.claude.json) rolled back
  unrelated edits.
JSON edits re-sorted every key of files like ~/.claude/settings.json.
Enable serde_json's preserve_order and remove keys with shift_remove,
since remove moves the last key into the gap.
- Disabled and Sub remove the inference settings only when they point
  at CoreInfra Hub, so another gateway and its key are kept (they are
  not backed up). This reverts 8e3f9d2: Claude ignores inference
  settings in the 1p mode that Sub selects.
- Disabled returns a profile Wizard configured to the Claude account
  (1p), where sign-in works, and undoes Sub's disableAutoUpdates.
Claude may update itself after Wizard downloaded an update; installing
the older download would then downgrade it.
- Disabling on Windows without ChatGPT installed failed.
- Clean up the proxy settings after ChatGPT was uninstalled.
- Save the proxy setting before the daemon restart, which can fail
  after ChatGPT already points at the listener.
ChatGPT creates its profile on first launch; enabling before that
silently left ChatGPT without the proxy. On macOS, detect ChatGPT by
its bundle ID, since the classic ChatGPT app has the same name. Linux
detection accepts any `chatgpt` executable, so there a missing profile
is still only logged.
The CLI cannot update ChatGPT's profile or the GUI's listener.
Disabling Pi left the key in auth.json when the plugin was already
removed.
«Применить» did not restart a stopped listener unless the token
changed. Sync the applied app's listener after every apply, even when
saving the setting fails after it was saved (tray, autostart), and
only that app's, so one listener's failure does not fail the other
app's apply.
One error stopped the agent list from updating until restart. Retry
the observer inside its loop, and never fail the state because the
discovered paths could not be cached.
- A 401 for a session that a later login or cookie refresh replaced
  cleared the new account's profile and tokens.
- Check the session generation after the refresh that follows
  issuing a token, which a logout can also interrupt.
A failed token load disabled the token controls until restart.
useSettings and get_settings_state, toml::get_value, and the TypeScript
Backup.backup_version field were unused.
The matching-refs endpoint is not paginated, so the page loop never
ended once there were 100 or more dev tags.
Dev releases for different commits could publish latest-dev.json out
of order.
@razmser
razmser requested a review from Odrian October 30, 2026 12:16
@Odrian
Odrian merged commit 665a28a into dev Oct 30, 2026
4 checks passed
@razmser
razmser deleted the razmser/various-fixes branch October 30, 2026 12:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants