Repository navigation
Conversation
This branch has not been deployed
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.
What & why
Add session-only Keep Awake timers: Always, 15m, 30m, 1h and 2h. Duration pills appear beneath the switch; the countdown is visible inline and in the collapsed Tools header. Expiration releases the display-sleep assertion and collapses the pills.
Includes English, Simplified Chinese and Traditional Chinese labels, accessible duration/state descriptions, model unit tests and a README update. Updates are published only when the displayed minute changes, rather than every timer tick.
How tested
make checkpassed: strict SwiftLint, XCTest with warnings as errors, x86_64 typecheck and localization key extraction (296 keys, zero allowlisted)../dev.shduring implementation.Limitations: rendering captures cover settled light-mode standalone windows, not live panel animation, mouse interaction or spoken VoiceOver output. Full release packaging was not run.
Checklist
./dev.sh, or./scripts/release.sh v0.0.0-cifor the full release build)Crisp/Resources/Localizable.xcstringsfor any new user-facing stringsScreenshots
Production SwiftUI components rendered in a standalone native probe at 308pt width and 2× backing, using the actual compiled localization catalog. Columns: English, Simplified Chinese, Traditional Chinese. These are settled light-mode captures, not the installed app’s full panel; inactive probe windows render switches gray.
Duration selections and collapsed Tools status
Expanded Tools headers
Status subtitles are hidden while Tools is expanded.