Files
shorebird/updater
Eric Seidel 337d8c4ceb fix: don't crash repeatedly on bad patches
Combined with the fix in the engine:
https://github.com/shorebirdtech/engine/commit/4288ae1125e38a772c6cc8a918ed020c276534a4
This makes it so the updater no longer crashes repeatedly with bad patches.  Previously
1. the engine was not successfully reporting a patch bad before crashing (now it does just before crashing).
2. With that fixed, the patch was getting marked bad, but because we were sending the "current" patch to the server, the server would tell us to download a new one every time (which we would not check against our bad patches) and we'd repeatedly boot of a "new" known-bad patch.  This is now fixed to both send the latest_installed_patch to the server (as patch_version) as well as refusing to install known bad patches.
3. Fixed the cache to destroy itself on version change (which I expect could hit us when an app upgrades its cache might not get cleared).
4. Also fixed tests being flakey because TempDir cleans up after itself when it goes out of scope (thus needs to be held at the test-lifetime scope rather than inside init_for_testing).
2023-03-21 10:46:07 -07:00
..
2023-03-06 15:06:31 -08:00
2023-03-06 15:06:31 -08:00
2023-03-08 13:03:13 -08:00

Updater library

This is the C/Rust side of the Shorebird code push system. This is built in Rust with a C API for easy calling from other languages, most notably for linking into libflutter.so.

See cli/README.md for more documentation on the library.

Parts

  • cli: Test the updater library via the Rust API (for development).
  • dart_cli: Test ffi wrapping of updater library.
  • library: The rust library that does the actual update work.