Skip to content

Fix prompt routing controls#324

Merged
altic-dev merged 4 commits intomainfrom
B/321-320-prompt-routing-ui
May 7, 2026
Merged

Fix prompt routing controls#324
altic-dev merged 4 commits intomainfrom
B/321-320-prompt-routing-ui

Conversation

@altic-dev
Copy link
Copy Markdown
Owner

Description

  • Adds All apps / Selected apps only prompt routing for Dictate and Edit Text.
  • Keeps Dictate/Edit prompt controls aligned with stable panel height and inline Edit model controls.
  • Gates dictation AI cleanup by selected app overrides when selected-apps-only routing is enabled.

Type of Change

  • 🐞 Bug fix (non-breaking change which fixes an issue)
  • ✨ New feature (non-breaking change which adds functionality)
  • 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • 📝 Documentation update

Related Issues

Testing

  • Tested on Intel Mac
  • Tested on Apple Silicon Mac
  • Tested on macOS 26.3
  • Ran linter locally: swiftlint --strict --config .swiftlint.yml Sources
  • Ran formatter locally: swiftformat --config .swiftformat Sources
  • Built locally: sh build_incremental.sh

Notes

  • Updated RELEASE_NOTES_1.5.14.md locally; release notes are gitignored and intentionally not committed.
  • AI Cleanup Off now greys prompt settings instead of replacing the controls.

Screenshots / Video

  • Not attached.

@chatgpt-codex-connector
Copy link
Copy Markdown

💡 Codex Review

if let appBundleID,
settings.promptRoutingScope(for: .dictate) == .selectedAppsOnly,
!settings.hasAppPromptBinding(for: .dictate, appBundleID: appBundleID)

P2 Badge Resolve app bindings before selected dictation profiles

When Dictate is set to “Selected apps only” and the user already has a primary/secondary dictation profile selected, this check allows AI as soon as the current app has any binding, but effectiveDictationSystemPrompt(for:) still resolves .profile selections before consulting app bindings. In that state the UI hides the global profile and shows the app override/built-in choice, yet the hidden selected profile is what runs in the selected app; clear/ignore slot profiles in this routing mode or route through the app binding resolution before enabling cleanup.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@chatgpt-codex-connector
Copy link
Copy Markdown

💡 Codex Review

if let scope = payload.dictationPromptRoutingScope {
self.dictationPromptRoutingScope = scope
}
if let scope = payload.editPromptRoutingScope {
self.editPromptRoutingScope = scope

P2 Badge Reset routing scope when restoring older backups

When restoring a backup created before these new routing fields existed, both payload values decode as nil, so these if let blocks leave the user's current routing scopes untouched. If the current install is set to selectedAppsOnly, importing an older backup that should represent the pre-feature/all-apps behavior will keep cleanup/prompts restricted to selected apps and can silently disable dictation cleanup outside app bindings. Treat absent routing fields as .allApps during restore so legacy backups fully restore the expected state.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@altic-dev altic-dev merged commit 43fa7dd into main May 7, 2026
2 checks passed
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.

[🐞 BUG] AI enhancement custom prompt for specific app won't work

1 participant