Repository navigation
SecretSpace 2.0.0 for Linux: nothing carries the old name any more - #32
Merged
Merged
Conversation
The same change as SecretSpace for Windows 4.0.0, with the shared files byte for byte: a new file format (format 2) whose labels, markers and file names carry the project's own name, and a one-time conversion of an account made by 1.x (SecretSpace 3). The cryptography itself is unchanged. Linux's own part: - The data folder ~/.local/share/passman is renamed to ~/.local/share/secretspace at start (renamed, not copied; used where it is if it cannot be). The package upgrade test in CI now checks that. - SECRETSPACE_DATA_DIR, the smoke test's file names, the temp folders. - The package still replaces the old `passman` package: that is the clean-up of an older install, and stays. Tests: 851 pass locally on Windows (6 skipped: POSIX file modes, the deb build). The conversion is tested on accounts made by the real 3.1.0 with its server 2.0.0 (tests/fixtures/format1) - the Secret Key in them is kept under the master password, as on Linux. Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011ojnyXb6JY4UPVU4waZe1w
Review finding: a sign-in from a server converted an account that no device had converted yet, on the server, without asking - which locks out every device of that account still running SecretSpace 3. Now sign_in raises NeedsConversion (nothing changed, anywhere) unless convert=True, and the window asks with the same "will be converted" question as an unlock, saying that it happens on the server. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011ojnyXb6JY4UPVU4waZe1w
…us one Found in the security review of the new format: compare only once both people have updated. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011ojnyXb6JY4UPVU4waZe1w
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.
Part of the task "rename everything: PassMan → SecretSpace". The Linux side of SecretSpace for Windows 4.0.0: the shared files are byte for byte the same, so that PR's description of the new format and the conversion applies here.
What the user sees
A3-…is accepted, shown asA4-…).~/.local/share/passmanis renamed to~/.local/share/secretspaceat start.Linux's own part
vault.settle_homefor$XDG_DATA_HOME; the CI job that upgrades from the 0.9.0passmanpackage now also checks that the folder is renamed with the vault in it.SECRETSPACE_DATA_DIR; the smoke test's file names.Conflicts / Replaces / Provides: passmanin the package, which is how an old install is replaced.Proof
.debbuild). CI on this PR is the first run on Linux itself, including the package build, the upgrade from the old package and the smoke run.Not done
After the merge
Tag
v2.0.0and release the.debfrom the CI run onmain.🤖 Generated with Claude Code
https://claude.ai/code/session_011ojnyXb6JY4UPVU4waZe1w