Skip to content

Rewrite deadbolt entirely #62

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 103 commits into from
Jan 17, 2025
Merged

Conversation

alichtman
Copy link
Owner

@alichtman alichtman commented Dec 18, 2024

Let's go, in and out, quick 20 minute adventure

Complete rewrite of the app. I really did not know what I was doing when I worked on this the first time around. I re-read the state management code and decided to torch the whole thing.

Non-exhaustive list of changes:

  • deadbolt is now written with / in Typescript 5.7.2, React 18, Node 22, and Electron 31.3.0.

  • Builds for more packaging methods. Mainly excited about rpm -- I'll start my own dnf copr repo for easy install on Fedora once I have it working

  • Better release ergonomics

  • Added a automatic SHA256 checksum to verify no corruption during the data encryption + decryption process. Previously, you'd have to decrypt your file to confirm it was encrypted correctly.

  • File integrity checksum is now actually confirmed on decryption: 9ab1304. We were storing the checksum before, and then ... throwing it away without doing anything with it. Oops.

  • Added ability to pass error messages from backend to frontend, and added a bunch of friendly error messages

  • Added password visibility / invisibility toggle

  • Encryption for folders is possible (they are automatically zipped and encrypted) for drag-and-drop. Not sure how to get selecting folders from the finder working.

Some screenshots:

image image image image image

@github-advanced-security
Copy link

This pull request sets up GitHub code scanning for this repository. Once the scans have completed and the checks have passed, the analysis results for this pull request branch will appear on this overview. Once you merge this pull request, the 'Security' tab will show more code scanning analysis results (for example, for the default branch). Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results. For more information about GitHub code scanning, check out the documentation.

Awaiting `writeFileWithPromise` does not actually await writing the data to a file...

Fucking stupid bug, who hired me to work on this
… verify the file contents after encryption

Summary:

Test Plan:
@alichtman alichtman force-pushed the alichtman/electron-upgrade-refactor branch 3 times, most recently from dc3a858 to a817c56 Compare January 6, 2025 23:27
@alichtman alichtman force-pushed the alichtman/electron-upgrade-refactor branch from c5f4b29 to 1d347ca Compare January 17, 2025 09:51
@alichtman alichtman force-pushed the alichtman/electron-upgrade-refactor branch from b7ac24e to d1048f1 Compare January 17, 2025 18:21
@alichtman alichtman marked this pull request as ready for review January 17, 2025 18:22
@alichtman alichtman merged commit 4ebfb9c into main Jan 17, 2025
2 checks passed
@alichtman alichtman deleted the alichtman/electron-upgrade-refactor branch January 17, 2025 18:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant