There was an off-by-one error selecting the new partition, meaning the OTA
update would write to the second partition but the boot would be set to the same
one we're currently in.
I believe this should fixjpirnay/crosspoint-reader#112
While working on enabling OTA for beta updates I kept running into memory issues with the JSON from GitHub. This improves the situation even for the stable OTA releases so I'm putting it up on its own.
- GHA release workflow is updated to use an action for uploading all assets. The
action docs say it updates a release if one already exists, and since this
triggers on release and we pass a release tag we know the release already
exists.
- GHA release candidate workflow is updated to auto-publish a pre-release
release on push to a `release/**` branch. A script is added and used to
generate a release message made up of the commits since the last release of
any kind.
- ACT profiles are added to allow locally testing these workflows without
needing to push and wait for GHA to run.
- Docs are updated to note how to test the workflows locally.
When downloading a book via OPDS, the last acquisition link is chosen when there are multiple. This allows choosing which format to download when there are many. Having only one format will automatically download that.
Fix potential use-after-free or double-free issue in the OPDS parser by
nulling it after free and guarding against using a nullptr parser in
`flush()`.
After running `pio run --target compiledb` to generate `compile_commands.json`, clangd (at least in neovim) throws errors that `-fno-tree-switch-conversion` and `-fstrict-volatile-bitfields` are not valid flags.