In TinyPilot Pro (not yet released), users can create new accounts, log in, and log out
Added support for a local sqlite database for credential information.
Added PBKDF2 password hashing.
Added secure settings for session cookies.
Added validation for usernames and passwords.
Still TODO: support removing users, better UI, better error handling
Switched to using a CA-signed TLS cert
It’s still basically a self-signed cert, but signing with a CA means that the user can install the device CA as a trusted root CA and avoid seeing the browser warnings about a self-signed cert
Ansible allows you to define dependencies through the meta folder, which causes any parent roles to install and run automatically before yours. The problem is that if you do it that way, you can’t parameterize the installs of the parent roles.
The TinyPilot role now calls the nginx role (one of its parent roles) explicitly via import_role, which gives me more control over the nginx installation.
Cut a new release, 1.3.0, which improves keyboard compatibility
Upgraded the stock TinyPilot image to the December release of Raspberry Pi OS
Stressed about inventory
I was backordered several days on Voyagers and then USPS delivered a critical component two days late (eep!)
Going forward, I’m cranking up the amount I keep in stock and using DHL instead of 4PX (usually 1 week turnaround vs. 2-4 weeks)
This was surprisingly hard, given that the CI environment differs from the Raspberry Pi OS environment in several tricky ways that make it hard to replicate the logic.