fix: /new permission-mode selection + harden per-session permission-mode persistence
#310
+23
−20
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR fixes a subtle permission-mode mismatch in the New Session flow and makes local permission-mode persistence more robust.
Fix
/newpermission-mode UI for Codex/Gemini:AgentInputnow falls back to the explicitly selectedagentTypewhenmetadata.flavoris missing (common in/newbefore a session exists). This ensures the correct permission-mode menu/options are shown and applied for the selected agent.sources/components/AgentInput.tsxHarden local per-session permission-mode persistence: permission modes are stored per sessionId in MMKV under
session-permission-modes. This PR avoids a bug where an in-memory'default'could “win” over a persisted non-default mode during session merges, and updates persistence incrementally so modes for sessions that aren’t currently loaded don’t get accidentally dropped.sources/sync/storage.tsTesting
/new, switch agents (Codex/Gemini/Claude), select a non-default permission mode, send first message, and confirm the created session shows the expected mode.