Implement the small set of standard informational and preference screens expected from a desktop app.
Scope
Add a Help screen reachable from the Help menu and standard Help shortcut, replacing the TUI ? overlay.
List current platform shortcuts and explain the two-pane navigation, reveal/copy behavior, locking, command palette, Git actions, and OTP actions.
Add Settings/Preferences UI for the shared config.toml values that make sense in the desktop app, especially vault path, default key, and authentication inactivity timeout; persist only through crates/storage.
Add a standard About surface with version and license information.
Keep help content and shortcut labels driven by the same action mapping where practical so they do not drift.
Acceptance criteria
Help is discoverable from the Help menu and accurately reflects macOS versus Linux/Windows shortcuts.
Settings validate and persist through the shared storage configuration API and report errors without corrupting configuration.
About shows the built application version and project/license attribution.
Screens are keyboard navigable, labelled for assistive technology, and do not expose secrets.
## Goal
Implement the small set of standard informational and preference screens expected from a desktop app.
## Scope
- Add a Help screen reachable from the Help menu and standard Help shortcut, replacing the TUI `?` overlay.
- List current platform shortcuts and explain the two-pane navigation, reveal/copy behavior, locking, command palette, Git actions, and OTP actions.
- Add Settings/Preferences UI for the shared `config.toml` values that make sense in the desktop app, especially vault path, default key, and authentication inactivity timeout; persist only through `crates/storage`.
- Add a standard About surface with version and license information.
- Keep help content and shortcut labels driven by the same action mapping where practical so they do not drift.
## Acceptance criteria
- Help is discoverable from the Help menu and accurately reflects macOS versus Linux/Windows shortcuts.
- Settings validate and persist through the shared storage configuration API and report errors without corrupting configuration.
- About shows the built application version and project/license attribution.
- Screens are keyboard navigable, labelled for assistive technology, and do not expose secrets.
hugo
added this to the 03 - Cross-platform Iced desktop app milestone 2026-08-09 19:30:16 +00:00
Implemented in commit 2eef49c and pushed to origin/main.
Delivered:
Help screen from the Help menu and F1, with shortcut labels generated from the shared action registry and platform-correct Command/Ctrl presentation.
Keyboard-accessible explanations for two-pane navigation, sensitive reveal/copy/lock behavior, the command palette, embedded HTTPS Git actions, and OTP workflows.
Editable Settings for vault path, default OpenPGP key, and authentication inactivity timeout, plus the shared config/clipboard context.
Storage-owned validation, key/tree/authentication bootstrap, and atomic config persistence; rejected settings leave the existing configuration byte-exact.
About surface with the built Cargo version, pass/pass-otp compatibility, contributor attribution, and the repository current pending-license status.
macOS native About now opens the same application surface.
Review: every acceptance criterion was traced against the final diff; the presentation layer does not read or mutate the repository or duplicate validation rules, and no screen exposes secrets.
focused: cargo test -p ironstorage --test config_contract
All passed.
Implemented in commit 2eef49c and pushed to origin/main.
Delivered:
- Help screen from the Help menu and F1, with shortcut labels generated from the shared action registry and platform-correct Command/Ctrl presentation.
- Keyboard-accessible explanations for two-pane navigation, sensitive reveal/copy/lock behavior, the command palette, embedded HTTPS Git actions, and OTP workflows.
- Editable Settings for vault path, default OpenPGP key, and authentication inactivity timeout, plus the shared config/clipboard context.
- Storage-owned validation, key/tree/authentication bootstrap, and atomic config persistence; rejected settings leave the existing configuration byte-exact.
- About surface with the built Cargo version, pass/pass-otp compatibility, contributor attribution, and the repository current pending-license status.
- macOS native About now opens the same application surface.
Review: every acceptance criterion was traced against the final diff; the presentation layer does not read or mutate the repository or duplicate validation rules, and no screen exposes secrets.
Verification:
- cargo fmt --all -- --check
- RUSTFLAGS="-D warnings" cargo check --workspace --all-targets
- cargo clippy --workspace --all-targets -- -D warnings
- cargo test --workspace
- focused: cargo test -p ironstorage-desktop
- focused: cargo test -p ironstorage --test config_contract
All passed.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Goal
Implement the small set of standard informational and preference screens expected from a desktop app.
Scope
?overlay.config.tomlvalues that make sense in the desktop app, especially vault path, default key, and authentication inactivity timeout; persist only throughcrates/storage.Acceptance criteria
Implemented in commit
2eef49cand pushed to origin/main.Delivered:
Review: every acceptance criterion was traced against the final diff; the presentation layer does not read or mutate the repository or duplicate validation rules, and no screen exposes secrets.
Verification:
All passed.