Present each password-store folder as a native table hierarchy and push the next directory controller/view when selected.
Render storage-provided folder and entry rows with system icons, disclosure indicators, stable identities, loading, empty, and error states.
Selecting a password entry opens its viewer; browsing folders must not decrypt entries or prompt for authentication.
Preserve valid path/selection state across a local refresh and return safely when a folder or entry disappears.
Support refresh of the current storage-provided directory model without traversing the app container in Swift.
Leave mutation gestures to their dedicated issue so navigation behavior stays independently testable.
Acceptance criteria
Nested stores can be traversed with the same native push-navigation pattern as Gotcha's repository directories.
Folder browsing stays locked and uses storage-provided stable identities rather than display strings.
Empty folders, long names, deep hierarchies, refreshes, and typed storage errors remain usable and accessible.
No Swift code reads directory contents or interprets .gpg-id or .gpg paths.
## Goal
Implement native hierarchical password navigation modeled on Gotcha's repository file browser.
## Scope
- Present each password-store folder as a native table hierarchy and push the next directory controller/view when selected.
- Render storage-provided folder and entry rows with system icons, disclosure indicators, stable identities, loading, empty, and error states.
- Selecting a password entry opens its viewer; browsing folders must not decrypt entries or prompt for authentication.
- Preserve valid path/selection state across a local refresh and return safely when a folder or entry disappears.
- Support refresh of the current storage-provided directory model without traversing the app container in Swift.
- Leave mutation gestures to their dedicated issue so navigation behavior stays independently testable.
## Acceptance criteria
- Nested stores can be traversed with the same native push-navigation pattern as Gotcha's repository directories.
- Folder browsing stays locked and uses storage-provided stable identities rather than display strings.
- Empty folders, long names, deep hierarchies, refreshes, and typed storage errors remain usable and accessible.
- No Swift code reads directory contents or interprets `.gpg-id` or `.gpg` paths.
hugo
added this to the 04 - iPhone and Apple Watch apps milestone 2026-08-09 20:00:29 +00:00
The Rust storage layer now provides locked, repository-only password directory pages from the existing validated tree model, including stable typed identities, deterministic rows, storage-owned labels/icons, and typed configuration/path/missing-directory/repository failures. The UniFFI bridge exposes that model without key loading or decryption.
The iPhone app now uses native inset-grouped folder tables and navigation pushes, preserves storage identities across reloads, refreshes the current directory, safely returns when a directory disappears, renders loading/empty/error states, exposes accessibility labels and hints, and opens entries in a locked viewer without decrypting or prompting. No Swift filesystem traversal or mutation gestures were added.
Verification: cargo fmt --all -- --check; RUSTFLAGS="-D warnings" cargo check --workspace --all-targets; cargo clippy --workspace --all-targets -- -D warnings; cargo test --workspace. xcodegen generate and final iPhone 17 Pro simulator build/install passed. Visual traversal of the configured clone covered Passwords -> Login -> Amazon -> amazon.de and confirmed native hierarchy, locked entry presentation, and accessibility output. The final signed build was also installed successfully on the paired iPhone 17.
Implemented in commit 3295761.
The Rust storage layer now provides locked, repository-only password directory pages from the existing validated tree model, including stable typed identities, deterministic rows, storage-owned labels/icons, and typed configuration/path/missing-directory/repository failures. The UniFFI bridge exposes that model without key loading or decryption.
The iPhone app now uses native inset-grouped folder tables and navigation pushes, preserves storage identities across reloads, refreshes the current directory, safely returns when a directory disappears, renders loading/empty/error states, exposes accessibility labels and hints, and opens entries in a locked viewer without decrypting or prompting. No Swift filesystem traversal or mutation gestures were added.
Verification: cargo fmt --all -- --check; RUSTFLAGS="-D warnings" cargo check --workspace --all-targets; cargo clippy --workspace --all-targets -- -D warnings; cargo test --workspace. xcodegen generate and final iPhone 17 Pro simulator build/install passed. Visual traversal of the configured clone covered Passwords -> Login -> Amazon -> amazon.de and confirmed native hierarchy, locked entry presentation, and accessibility output. The final signed build was also installed successfully on the paired iPhone 17.
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 native hierarchical password navigation modeled on Gotcha's repository file browser.
Scope
Acceptance criteria
.gpg-idor.gpgpaths.Implemented in commit
3295761.The Rust storage layer now provides locked, repository-only password directory pages from the existing validated tree model, including stable typed identities, deterministic rows, storage-owned labels/icons, and typed configuration/path/missing-directory/repository failures. The UniFFI bridge exposes that model without key loading or decryption.
The iPhone app now uses native inset-grouped folder tables and navigation pushes, preserves storage identities across reloads, refreshes the current directory, safely returns when a directory disappears, renders loading/empty/error states, exposes accessibility labels and hints, and opens entries in a locked viewer without decrypting or prompting. No Swift filesystem traversal or mutation gestures were added.
Verification: cargo fmt --all -- --check; RUSTFLAGS="-D warnings" cargo check --workspace --all-targets; cargo clippy --workspace --all-targets -- -D warnings; cargo test --workspace. xcodegen generate and final iPhone 17 Pro simulator build/install passed. Visual traversal of the configured clone covered Passwords -> Login -> Amazon -> amazon.de and confirmed native hierarchy, locked entry presentation, and accessibility output. The final signed build was also installed successfully on the paired iPhone 17.