feat: add dismiss flow for permission prompts#93
Merged
wxtsky merged 1 commit intowxtsky:mainfrom Apr 16, 2026
Merged
Conversation
Contributor
Author
|
关联 issue:88 。 |
wxtsky
requested changes
Apr 15, 2026
Owner
wxtsky
left a comment
There was a problem hiding this comment.
核心功能写得很好!Dismiss 逻辑清晰,测试覆盖到位。有两个非功能相关的改动需要拆出去:
需要拆分的内容
1. .gitignore 变更
新增了 .claude/、.cursor/、.agents/、CLAUDE.md、.vscode/ 等大量忽略规则,这些跟 dismiss 功能无关,影响范围较大,应该单独提 PR。
另外注意文件末尾缺少换行符(CLAUDE.md 后没有 \n),POSIX 规范要求文本文件以换行结尾。
2. scripts/dev-hot-restart.sh(264 行)
这是一个通用的热重载开发脚本,依赖 fswatch,跟 dismiss 功能无关。建议单独提 PR 或放到开发工具相关的 PR 里。
核心功能 ✅
dismissedPermissionSessionIdsSet +nextVisiblePermissionIndex()跳过逻辑 👍- 新权限到来时自动清除 dismiss 状态 👍
AppStatePermissionFlowTests三个测试场景覆盖完整 👍- UI 上 Dismiss 按钮位置合理 👍
请把以上两项拆到单独 PR,核心 dismiss 功能部分我会立即 approve。
b6b39a7 to
8a7599f
Compare
Allow dismissing permission prompts without resolving the underlying continuation, skip dismissed sessions in queue display, and add permission flow tests for dismiss behavior.
ae538bf to
d3df54a
Compare
Contributor
Author
已将无关变动移除。@wxtsky |
nguyenvanduocit
pushed a commit
to nguyenvanduocit/CodeIsland
that referenced
this pull request
Apr 16, 2026
… T-030, T-031) - CLAUDE.md: add April 16 scout entry; note v1.0.20 was missed in Apr 15 scout - T-027: PR wxtsky#86 merged Apr 15 — remove "watch" blocker, ready to implement - T-029: upstream fix found in v1.0.20 (48520de) — single-line deletion in TerminalActivator.swift:98; demoted effort from S to XS - T-030 (new, XS, high): bump stuck-session idle threshold 60s → 300s for unmonitored/no-tool sessions (48520de AppState.swift fix) - T-031 (new, S, medium, watch): dismiss flow for permission prompts (PR wxtsky#93 open) https://claude.ai/code/session_016nRzjAcEvsWDCt2nFtT3DN
nguyenvanduocit
pushed a commit
to nguyenvanduocit/CodeIsland
that referenced
this pull request
Apr 17, 2026
…033) - CLAUDE.md: add April 17 scout entry covering wxtsky/CodeIsland v1.0.21 - T-031 promoted: PR wxtsky#93 merged — dismiss action for permission requests - T-032 new: fix fenced code block rendering in ChatMessageTextFormatter (cf9fb81) - T-033 new: reduce screen-poll interval 1s → 5s to cut Energy Impact (136737a) - vibeislandapp/vibe-island: no code changes since Apr 3 https://claude.ai/code/session_01PP8MnuEqQ5Q3WRKojJUB3p
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
AppStatePermissionFlowTests,覆盖:L10n(新增dismiss文案)并在.gitignore中补充本地开发/工具相关忽略项。Why
当前权限弹窗只有 Allow/Deny,用户在“暂时不处理”场景下体验不佳。
本次改动补齐了“先收起、稍后再处理”的交互能力,同时保证权限请求状态机行为可测试、可回归验证。
Test Plan
swift test --filter CodeIslandTests/AppStatePermissionFlowTests