Recent commits to derivepassphrase.git (ef67c2dd0a0216c5da3000278a3888cd1a345e2f) https://git.schokokeks.org/derivepassphrase.git/tree/ef67c2dd0a0216c5da3000278a3888cd1a345e2f Recent commits feed provided by GitList. Merge topic branch 'fix-zsh-completion' into master * t/fix-zsh-completion: Add changelog entry for fixed Zsh completion Fix Zsh completion output, again https://git.schokokeks.org/derivepassphrase.git/commit/ef67c2dd0a0216c5da3000278a3888cd1a345e2f software@the13thletter.info (Marco Ricci) Sun, 19 Jan 2025 12:42:35 +0100 ef67c2dd0a0216c5da3000278a3888cd1a345e2f Add changelog entry for fixed Zsh completion https://git.schokokeks.org/derivepassphrase.git/commit/20afa4a2b571e93ae84bbab68cb1dd6e8adc0f58 software@the13thletter.info (Marco Ricci) Fri, 17 Jan 2025 20:54:28 +0100 20afa4a2b571e93ae84bbab68cb1dd6e8adc0f58 Fix Zsh completion output, again The new Zsh serialization handler in bba4bd075ab5e1d6a6a76d90b129ad0d58425b96 was tested only against completion items with descriptions, and it did not properly take into account that items *without* descriptions would be passed directly to Zsh as unescaped completion entries, i.e., no interpretation of escape sequences would occur. We fix this in both the code and the tests, and include a safeguard against applying this against the wrong Zsh completion script version (at least as far as we can programmatically determine from within Python). References: [click#2703](https://github.com/pallets/click/issues/2703) https://git.schokokeks.org/derivepassphrase.git/commit/760cca228aa3b8f8b6e6610d0334f4b744d4d19f software@the13thletter.info (Marco Ricci) Fri, 17 Jan 2025 20:51:03 +0100 760cca228aa3b8f8b6e6610d0334f4b744d4d19f Merge topic branch 'usage-fixes' into master * t/usage-fixes: Add changelog entry for the recent renaming and recasting of some type Fix usage of `mypy --python-version=3.9` and friends Make key pairs, key sets and key-comment pairs generic Convert `tests.SSHTestKey` into a named tuple Move storeroom helper types into `_types` module, as named tuples Fix formatting and linting issues https://git.schokokeks.org/derivepassphrase.git/commit/c4cb9a418dbd545234b1d3690627507a8ee97225 software@the13thletter.info (Marco Ricci) Thu, 16 Jan 2025 01:52:47 +0100 c4cb9a418dbd545234b1d3690627507a8ee97225 Add changelog entry for the recent renaming and recasting of some type https://git.schokokeks.org/derivepassphrase.git/commit/f78506ee23c6ee6d55ab3ab2bdec8ba12c861d1b software@the13thletter.info (Marco Ricci) Thu, 16 Jan 2025 01:50:18 +0100 f78506ee23c6ee6d55ab3ab2bdec8ba12c861d1b Fix usage of `mypy --python-version=3.9` and friends On the one hand, use a small stub file for `tomli`, because `mypy` is run from all sorts of `hatch` environments or Python virtual environments that are not set up correctly with `tomli`. On the other hand, type checking cannot rely on `try`-`except`-`ImportError` blocks working for type inference purposes, so variables imported as such need an explicit declaration. (In this specific case, this could be alleviated with explicit Python version checks, but I find that decidedly unpythonic.) https://git.schokokeks.org/derivepassphrase.git/commit/032d431a1d6d6fe31749fb281c030e4825eab62d software@the13thletter.info (Marco Ricci) Thu, 16 Jan 2025 01:28:57 +0100 032d431a1d6d6fe31749fb281c030e4825eab62d Make key pairs, key sets and key-comment pairs generic Parametrize `_types.SSHKeyCommentPair`, `_types.StoreroomKeyPair` and `_types.StoreroomMasterKeys` over the exact `Buffer` type being used. Also supply a `.toreadonly()` method (similar to `memoryview.toreadonly()`) that converts all `Buffer`s to `bytes` objects. https://git.schokokeks.org/derivepassphrase.git/commit/d4d62b2708b2895095ff9e2ca71f2d370755d156 software@the13thletter.info (Marco Ricci) Thu, 16 Jan 2025 01:05:38 +0100 d4d62b2708b2895095ff9e2ca71f2d370755d156 Convert `tests.SSHTestKey` into a named tuple Again, this makes the notation more readable, and allows test keys to contain methods. Use this to group keys into always suitable keys and other keys, instead of having to manually define appropriate tables. https://git.schokokeks.org/derivepassphrase.git/commit/11a492e7d9c86097a31c97d78d9751f1d82db377 software@the13thletter.info (Marco Ricci) Thu, 16 Jan 2025 00:55:16 +0100 11a492e7d9c86097a31c97d78d9751f1d82db377 Move storeroom helper types into `_types` module, as named tuples Move `exporter.storeroom.KeyPair` and `exporter.storeroom.MasterKeys` into the `_types` module, as `StoreroomKeyPair` and `StoreroomMasterKeys`, respectively. Also convert them from `TypedDict` to `NamedTuple`. Also rename `_types.KeyCommentPair` to `_types.SSHKeyCommentPair` for consistency. https://git.schokokeks.org/derivepassphrase.git/commit/3389da68ea507ff9bd0d12562e04cb883e9997b9 software@the13thletter.info (Marco Ricci) Wed, 15 Jan 2025 21:07:32 +0100 3389da68ea507ff9bd0d12562e04cb883e9997b9 Fix formatting and linting issues https://git.schokokeks.org/derivepassphrase.git/commit/b65b618949ca77aa0ad481ae2a517d0b469a4d9f software@the13thletter.info (Marco Ricci) Wed, 15 Jan 2025 20:09:20 +0100 b65b618949ca77aa0ad481ae2a517d0b469a4d9f