Skip to content

Add global synthesis and terminal settings - #18

Merged
milanshen merged 5 commits into
mainfrom
milan/settings
Aug 5, 2026
Merged

Add global synthesis and terminal settings#18
milanshen merged 5 commits into
mainfrom
milan/settings

Conversation

@milanshen

@milanshen milanshen commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Context

coSlash currently hard-codes its synthesis backend, model, and macOS terminal. This adds secure machine-wide settings with explicit synthesis consent, configurable runtime choices, and fail-closed handling for invalid configuration.

Changes

  • Add a versioned ~/.coslash/settings.json schema and restricted atomic persistence.
  • Add first-run synthesis consent and a full settings UI with availability and error states.
  • Support Claude Code and Codex synthesis backends with selectable models.
  • Support Apple Terminal and iTerm2 with availability checks and immediate runtime updates.

Test

fresh start or delete ~/.coslash/settings.json

Screenshots

Screenshot 2026-08-04 at 3 20 29 PM

@milanshen milanshen added the enhancement New feature or request label Aug 4, 2026

@luhe19001 luhe19001 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Requested change

First-run can save synthesis On with an unavailable backend still selected.

The consent draft defaults to enabled: true and claude-cli. Unavailable backends are not clickable, but the current selection is not cleared and Save is not blocked — so a Codex-only machine can accept the dialog as-is and persist a config that fails every synthesis run.

Please block that path, e.g. auto-select the first available backend, disable Save when synthesis is on and the selected backend is unavailable, or default draft enabled to false when no backend is available.

@milanshen
milanshen requested a review from luhe19001 August 5, 2026 02:17
@milanshen
milanshen merged commit 7b5bf9f into main Aug 5, 2026
3 checks passed
@milanshen
milanshen deleted the milan/settings branch August 13, 2026 21:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants