Run fully confined, clone from git, adopt ~/dev Rust conventions #1
Loading…
Reference in a new issue
No description provided.
Delete branch "confined"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Brings the confined build to
main:.gpg-idmatches any non-revoked user ID.rust-ci), cargo audit.Verified on the device (Plinius, UT 24.04). This PR also runs the CI workflow for the first time.
🤖 Generated with Claude Code
passcore:
libgit2 (git2 0.21) built in with vendored libssh2 and
OpenSSL, since a confined app can't run git or ssh. The app has its own
ed25519 SSH key (ssh-key crate, OpenSSH format, 0600) to add as a deploy
key, and a known_hosts of trusted host key fingerprints (SHA256, as
ssh-keygen -l shows them). An unknown host key fails the clone with
UnknownHostKey so the UI can ask; a changed one is a hard error. Clones
go to a .partial folder and are moved into place only when complete.
Store::has_key / Keyring::has_key_for: the wizard now also covers a
store that exists without its key (cloned or copied in), asking for the
recipients' key.
Wizard: clone step (public key + copy, URL, host key confirmation
dialog); after cloning, finish or ask for the key. AppArmor gains the
networking policy group; click-review still passes.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Mirrors doubleo7/pkgwatch: - rustfmt defaults (whole tree reformatted), tracked .githooks/pre-commit running cargo fmt --all; enable with cargo make install-hooks. - [workspace.lints.clippy] all + cognitive_complexity, clippy.toml with complexity 15 / at most 3 arguments; members opt in via [lints]. - Makefile.toml: format(-check), lint (-D warnings), test, coverage-report (llvm-cov), audit, build, release-check, ci (default), plus click / click-install for the phone package. - .forgejo/workflows/ci.yml on rust-ci, triggered on main and PRs; installs Qt 5 + gettext first, which the app crate's build script needs. TouchPass specifics: workspace rust-version 1.94 (clickable's toolchain) so the MSRV-aware resolver keeps Cargo.lock buildable for the phone; the app binary has test = false (Qt glue, no unit tests; avoids linking Qt for tests); QMAKE pinned to Qt 5 in Makefile.toml unless set; RUSTSEC-2023-0071 (rsa Marvin, no fix) ignored in .cargo/audit.toml with the reasoning. Lint fixes: Keyring::generate takes a NewKey struct (validation moved onto it); the QObject moved to src/bridge.rs, which alone allows the useless_transmute qmetaobject's derive generates; 3-argument signals reshaped (decrypted(entry, secret map), failed split into failed + passphrase_needed) and generate_key takes a {name, email, passphrase} map; build.rs if collapsed. Also fix a flaky test that expected a just-closed ephemeral port to refuse connections (TCP self-connect); probe port 1. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>