Reckoner Update October 2023
So much progress was made this month!
🚢 Releases
There have been 4 releases of the alpha build this month! Check out the releases page for all the added features! Note that if you installed v0.1.0, you will need to manually uninstall and install the v0.2 versions. The big reason is that I wasn’t using a signing key when building the apk so it would sign it with a random key on each build. Other notable improvements include:
- PocketBase sync support
- Reworked sync settings edit
- Biometrics unlock support (Android only)
- Mobile updates to force numeric keyboard on numeric fields
- Always locking app on manual start
- Delaying locking based on user interaction
- + Lots of bug fixes
Going forward, I plan to make more release more often. This is helping me to get in the habit of shipping fixes and updates when they are ready instead of building a big waterfall release as I was previously doing. I have also started to test the Linux release on a virtual machine and found that I need to bundle in more dependencies to make sure the Flatpak and AppImage versions will work regardless of whether the system has SQLite and other dependencies installed.
🏗 Demo Site
With the stable release of Drift web wasm database, I have released a demo version of Reckoner! Check it out at https://demo.reckoner.finance/. Note that synchronization is disabled and that the database is reset on a page refresh. As a result of this, I have removed the ability to generate data from going to the /generate route. This provides a good way for testing out the application without needing to have any data persistence.
🔄 Sync Updates
So I have the PocketBase synchronization setup and released! The nice thing about revisiting code after having implemented it once before is that you generally find a better, more concise, and more readable way to write the code. I am happy with this version of the PocketBase sync and the patterns I used here can be reused for other synchronization methods (peer and cloud based service).
One thing that was dropped in the reimplementation is the ability to set an encryption key and encrypt the data before saving. That is a task I will need to address before releasing the app. Right now, I am working on a change to the internal data structure where the data IDs will be changed so that they can be used as PocketBase IDs. I was originally using Generate RFC4122 version 4 UUIDs from the pub uuid package. The big issue with this ID is that it is 36 characters long and has 4 of those characters devoted to the ”-” fixed position delimiter. I am in the process of switching over to nanoid2. I plan to use a 15 character uuid which will allow reuse of the IDs as the primary ID for PocketBase sync. There isn’t an issue of ID to data type correlation as the IDs are randomly generated independent of the underlying data type.
Expect this update to come to you next month!
What’s Next
I am going to remove support (at least from me) for FDroid. I will have a future article on why and what I will recommend to people for getting my app. If anything, I may ask it to be added on the IzzyOnDroid F-Droid Repository instead for people on FDroid.
General Tasks
- Make Reckoner documentation website
- Thoroughly test the application over several days using realistic workflows
Next Version Release
- Fix Linux packaging issues
- Reporting Contrast Fixes
âś” Version 0.2: Multi-Device Synchronization
- PocketBase Synchronization Service
-
Peer-to-Peer Sync Service
Version 1.0 (Future)
- Release on FlatHub
- Add to Google Play