Repository navigation
[pull] main from Stade-App:main - #21
Merged
Merged
Conversation
Where the app asks for a PIN it can now accept a fingerprint instead, on devices that have a sensor. The option lives in Security settings and is hidden entirely on devices without one. Every prompt offers to continue with the PIN, for wet hands or a sensor that will not read. The PIN is sealed with a key held in the phone's secure hardware that is only released by a fingerprint, and only for a single use. The key is never readable by the app, and the system destroys it the moment a new fingerprint is added to the device, so unlocking falls back to the PIN. Changing the PIN, signing out and the duress wipe all clear it too. Exporting a backup could also write a file that was missing its ending. Opening the file picker sends the app to the background, which starts a routine re-encryption of the database, and the export then read that same database while it was being replaced. The export now takes the same lock the re-encryption does, the database is swapped in a single step rather than removed and rewritten, and an export that cannot finish no longer leaves a half-written file behind.
macOS refuses an application version whose first number is zero, so the Mac build carried a hand-written version that had drifted away from the rest of the app and sat at 1.2.4 across several releases. It is now derived from the app version by raising only that leading zero, so 0.3.3 ships as 1.3.3 and the two move together from here on. The bundle also gained a build number, taken from the same counter Android uses, so macOS can tell one release from the next. The version itself is now written once in the build and checked against the copy the About screen reads, and the disk image is renamed to the released version before it is published, so every platform offers a file named after the same version.
Locking or signing out shut the database while background work was still reading from it, which ended the app with an error about a database that had already been closed. Connections also kept their own worker running that the shutdown never reached. Shutting down now stops that work and waits for it to finish before the database is closed, giving up after a few seconds so locking can never hang. A failure in background work also ended the whole app. Connections, Tor, the local network, Radar and the background service now report such a failure and carry on, rather than taking the app down with them. Opening an invite file while the app had locked itself landed on the home screen instead of the confirmation to add the contact. The invite was handed to the session that was about to be discarded. Anything waiting to be opened, including a tapped notification, now moves across to the session that replaces it.
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )