aboutsummaryrefslogtreecommitdiffstats
path: root/docs/superpowers
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-11-03 14:18:42 +0100
committerDanilo M. <danix@danix.xyz>2026-11-03 14:18:42 +0100
commit2911783653f699e41a07bb9536460d9d0a1c3b70 (patch)
treeb68692cc80bc0b463f671779ac3642c2ad8976cc /docs/superpowers
parentb4e1002735486bf56b67b8233c2c2abfa875eed4 (diff)
downloadHardenedPass-2911783653f699e41a07bb9536460d9d0a1c3b70.tar.gz
HardenedPass-2911783653f699e41a07bb9536460d9d0a1c3b70.zip
refactor(app): remove the legacy setup screens
The Compose welcome, git server, SSH key, key generation and PGP keys screens replace OnboardingActivity with its fragments, GitServerConfigActivity with BasicBottomSheet, SshKeyImportActivity, SshKeyGenActivity, ShowSshKeyFragment, PGPKeyImportActivity and PGPKeyListActivity with KeyList and PGPKeyListViewModel, their layouts and manifest entries, and ui:compose's APSAppBar. Resources only they used are removed too. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'docs/superpowers')
-rw-r--r--docs/superpowers/specs/2026-11-02-compose-ui-overhaul-design.md17
1 files changed, 17 insertions, 0 deletions
diff --git a/docs/superpowers/specs/2026-11-02-compose-ui-overhaul-design.md b/docs/superpowers/specs/2026-11-02-compose-ui-overhaul-design.md
index 7eab1692..94f76479 100644
--- a/docs/superpowers/specs/2026-11-02-compose-ui-overhaul-design.md
+++ b/docs/superpowers/specs/2026-11-02-compose-ui-overhaul-design.md
@@ -51,6 +51,23 @@ the maintainer's phone stays on 0.1.4 until then.
editor was opened. The folder picker is a dialog, shared with the list's move action. The
autofill save flow (`AutofillSaveActivity`) hosts the same editor.
+### Setup
+
+- Without a store the app opens on a welcome screen: clone a remote repository or create a
+ local store; Settings is reachable from it.
+- The git server screen serves the clone and later edits: URL, authentication mode (SSH key or
+ password; none or password for HTTP(S)), the SSH key's state with "Manage", "Clear saved host
+ key". A failed clone stays on the screen, so URL or key can be fixed and the clone retried.
+- The SSH key screen shows the key's state and, for a key generated on the device, the public
+ key (copy, share); it imports a key file (refusing files sshj cannot read, such as OpenPGP
+ keys) and opens key generation (RSA, ECDSA, Ed25519, optionally behind the screen lock).
+- One PGP keys screen manages keys (import, delete), picks the key of a new local store (the
+ repository is created only then, its `.gpg-id` naming the key by its uppercase long key ID, as
+ `pass init <key ID>` does), and imports the key a store needs: after a clone that no
+ imported key can decrypt, and when an entry is opened with no key imported.
+- Screens outside the graph (Settings, autofill, git operations) and the entry view's key
+ import open these through a `MainActivity` setup intent until steps 6 and 7.
+
## Architecture
### Activities