Eric Seidel
dc2cd0a86a
docs: warn that checkForUpdate/update make network calls ( #311 )
...
Users sometimes gate app startup on checkForUpdate() or update()
completing (e.g. awaiting in initState before showing content), which
can cause the app to appear stuck on the splash screen when the
network is slow.
Add warning doc comments to both methods recommending the .then()
pattern for startup code, and update README examples to use .then().
Fixes https://github.com/shorebirdtech/shorebird/issues/3179
2026-02-10 16:55:24 -08:00
Brandon DeRosier
eeec42efb7
feat: add enhanced error messages for file operations ( #310 )
...
* feat: add enhanced error messages for file operations
Add a file_errors module that provides context-aware error messages
for file operations. When file operations fail, users now see:
- The specific operation that failed (create, read, write, rename, etc.)
- The full path involved
- Helpful hints about possible causes based on error type
- Android-specific hints for permission errors (SELinux, Work Profile,
MDM/Knox policies, app cloning features)
This helps diagnose issues like "Permission denied (os error 13)" by
indicating which operation failed and suggesting possible causes.
2026-02-04 12:36:39 -08:00
Eric Seidel
08fb9df932
fix: Rare bug if rollback happens during second update call
...
The scenario is:
1. User is running patch 2 (booted successfully, so last_booted_patch = 2)
2. While the app is still running, they call the check-for-update API
3. Patch 3 is downloaded and installed (next_boot_patch = 3)
4. Before the app restarts, they check again and patch 4 is available
5. The buggy code is supposed to delete patch 3 (never booted), but instead deletes patch 2 (the last known-good patch)
6. Patch 4 is set as next_boot_patch
If patch 4 boots fine, nobody notices. But if patch 4 fails to boot and the system tries to roll back to patch 2, those artifacts are gone.
2026-01-29 10:18:14 -08:00
Eric Seidel
8691c8f60e
feat: add verification_mode config option ( #308 )
...
* feat: move patch verification from boot time to install time
* feat: make it switchable
* chore: update comments
* fix: test invalid yaml
* chore: update readme
* feat: add more comments to readme
* doc: more readme updates
* chore: rename to patch_verification
2026-01-11 15:04:59 -08:00
Bryan Oltman
9db198a634
fix: checking for update should not overwrite good next patch ( #307 )
...
* chore: remove unnecessary mutability of self in next_boot_patch
* fix: checking for update should not overwrite good next patch
2025-12-19 13:18:08 -05:00
Bryan Oltman
58a5bcc0b0
chore: remove unnecessary mutability of self in next_boot_patch ( #305 )
2025-12-19 10:02:33 -05:00
dawn-ducky
504a0af1f6
Chore: Revise README for better structure and links ( #303 )
...
Updated README.md to improve branding, formatting and clarity.
2025-12-03 16:50:36 -06:00
Bryan Oltman
76f005940d
feat: add uuid to updater state, patch check request ( #300 )
...
* feat: add uuid to updater state
* add client_id to patch check request
* cleanup
* comments
* cleanup
* more comments
* delete commented-out code
* Update library/src/cache/updater_state.rs
Co-authored-by: Eric Seidel <eric@shorebird.dev >
* formatting
---------
Co-authored-by: Eric Seidel <eric@shorebird.dev >
2025-10-29 15:57:06 -04:00
Bryan Oltman
8bfe1bac47
fix: separate validation checks from next_boot_patch getter ( #297 )
...
* fix: separate validation checks from next_boot_patch getter
* coverage
* coverage
* coverage
2025-10-08 17:55:29 -04:00
Felix Angelov
b2fbf7c3ee
chore: various platforms updates ( #295 )
2025-09-17 16:48:24 -05:00
Eric Seidel
abfc76662d
fix(example): analysis warning ( #293 )
...
Co-authored-by: Felix Angelov <felix@shorebird.dev >
2025-09-12 16:58:13 -05:00
Felix Angelov
dffafaff7a
chore(shorebird_code_push): v2.0.5 ( #294 )
2025-09-12 16:51:27 -05:00
Nguyễn Văn Biên
d47321b633
Update README.md: Update Discord logo ( #283 )
2025-06-22 04:43:32 +00:00
Bryan Oltman
5d7690cd37
chore: draft release 2.0.4 ( #282 )
2025-05-30 14:58:02 -04:00
Bryan Oltman
f7b157f56f
feat: allow for arbitrary track names ( #281 )
...
* feat: allow for arbitrary track names
* update readme
2025-05-29 17:58:05 -04:00
Albin PK
12f697d08b
fix(shorebird_code_push): update error message to reflect desktop support ( #279 )
...
Co-authored-by: Bryan Oltman <bryanoltman@gmail.com >
2025-05-19 15:32:45 +00:00
Felix Angelov
8ec886b409
chore(example): update gradle
2025-05-16 10:16:13 -05:00
Bryan Oltman
ab23721e35
fix: roll back patches in check_for_downloadable_update ( #270 )
...
* fix: roll back patches in check_for_downloadable_update
* Update docs
2025-02-12 20:29:06 +00:00
Felix Angelov
6edfb6eb78
refactor(shorebird_code_push): upgrade analysis_options ( #269 )
2025-02-07 16:09:32 -06:00
Felix Angelov
cbe348ce3f
chore(shorebird_code_push): v2.0.3 ( #268 )
2025-02-07 15:51:50 -06:00
0xcf2f
38efba0e6a
feat(shorebird_code_push): override toString in exceptions ( #266 )
...
Co-authored-by: Felix Angelov <felix@shorebird.dev >
2025-02-07 15:47:56 -06:00
Bryan Oltman
78c84e5bf7
chore: more logging
2025-02-07 14:18:03 -05:00
Bryan Oltman
67f8643242
chore: add more info-level logging around patch downloads ( #267 )
2025-02-07 14:07:19 -05:00
dependabot[bot]
4ca08d31bf
chore(deps): bump very_good_analysis ( #260 )
...
Bumps the shorebird_code_push-deps group in /shorebird_code_push with 1 update: [very_good_analysis](https://github.com/VeryGoodOpenSource/very_good_analysis ).
Updates `very_good_analysis` from 6.0.0 to 7.0.0
- [Release notes](https://github.com/VeryGoodOpenSource/very_good_analysis/releases )
- [Changelog](https://github.com/VeryGoodOpenSource/very_good_analysis/blob/main/CHANGELOG.md )
- [Commits](https://github.com/VeryGoodOpenSource/very_good_analysis/compare/v6.0.0...v7.0.0 )
---
updated-dependencies:
- dependency-name: very_good_analysis
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: shorebird_code_push-deps
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-02 17:43:34 -08:00
bryanoltman
d735d107eb
update gradle
2025-01-30 10:24:02 -05:00
bryanoltman
dd6d4352d0
chore: update macOS project entitlements
2025-01-30 10:22:07 -05:00
Bryan Oltman
a4a7255796
feat: configure logging on linux ( #263 )
2025-01-28 10:28:48 -05:00
Bryan Oltman
69468a0c9f
fix multiple definitions of patch_base
2025-01-24 15:00:09 -05:00
Bryan Oltman
707346df33
fix multiple definitions of patch_base
2025-01-24 14:55:41 -05:00
Bryan Oltman
ba52a62b5d
feat: change updater to support intel macs ( #262 )
...
* feat: change updater to support intel macs
* cleanup
* Fix targeting in patch_base function
2025-01-24 13:58:30 -05:00
Bryan Oltman
71b5ed65fa
feat: add windows support ( #259 )
...
* feat: add windows support
* Cleanup
2024-12-20 14:35:28 -08:00
Felix Angelov
54e1e2ce2f
fix(updater): re-export shorebird_check_for_update for backward compat ( #258 )
2024-12-19 15:51:07 -06:00
Bryan Oltman
38aadee1c5
feat: enable updater logging on windows ( #256 )
2024-12-18 14:10:37 -08:00
Bryan Oltman
a6c761f50f
fix: build updater with static runtime to prevent flutter engine build linking errors ( #254 )
...
* fix: build updater with static runtime to prevent flutter engine build linking errors
* Update library/.cargo/config.toml
Co-authored-by: Eric Seidel <eric@shorebird.dev >
* cspell
---------
Co-authored-by: Eric Seidel <eric@shorebird.dev >
2024-12-17 21:34:20 +00:00
dependabot[bot]
c112de1229
chore(deps): bump ffigen ( #245 )
...
Bumps the shorebird_code_push-deps group in /shorebird_code_push with 1 update: [ffigen](https://github.com/dart-lang/native/tree/main/pkgs ).
Updates `ffigen` from 15.0.0 to 16.0.0
- [Release notes](https://github.com/dart-lang/native/releases )
- [Commits](https://github.com/dart-lang/native/commits/HEAD/pkgs )
---
updated-dependencies:
- dependency-name: ffigen
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: shorebird_code_push-deps
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-16 09:24:59 -08:00
Bryan Oltman
1e4efce65f
fix: make tests pass on Windows ( #252 )
...
* fix: make tests pass on Windows
* Run ci on all supported building OSes
* Add os name to CI step
* Build rust crates on all oses
* tweak
* Only run rust on multiple oses for now
2024-12-11 12:09:04 -05:00
Bryan Oltman
b4775d30dd
feat: support macOS ( #247 )
...
* feat: support macOS
* fix tests
2024-12-05 17:53:45 -05:00
Eric Seidel
6298d37d86
chore: add cspell checking and make pass ( #244 )
...
* chore: add cspell checking and make pass
* chore(shorebird_code_push): minor improvements to example (#242 )
* chore(shorebird_code_push): v2.0.2 (#243 )
* chore: fix cspell
---------
Co-authored-by: Felix Angelov <felix@shorebird.dev >
2024-11-20 13:50:16 -05:00
Felix Angelov
7b124114ea
chore(shorebird_code_push): v2.0.2 ( #243 )
2024-11-20 11:56:45 -06:00
Felix Angelov
e0b533c3d6
chore(shorebird_code_push): minor improvements to example ( #242 )
2024-11-20 11:53:07 -06:00
Eric Seidel
2ae6afbb65
fix: unbreak web build for 2.x ( #241 )
...
* fix: unbreak web build
* chore: add cspell config
2024-11-20 11:35:49 -06:00
Bryan Oltman
8e40228558
fix typo
2024-11-20 09:51:02 -05:00
Bryan Oltman
60c38dc647
feat: 2.0.1
2024-11-20 09:50:21 -05:00
Bryan Oltman
acfa307a94
fix: increase minimum flutter version to 3.24.5 ( #240 )
2024-11-20 09:47:18 -05:00
Bryan Oltman
7648128a1e
chore: remove upper Flutter bound in shorebird_code_push as per pub validation warning
2024-11-14 16:33:49 -05:00
Bryan Oltman
47dd248f0e
chore: prep version 2.0 ( #237 )
2024-11-14 16:31:05 -05:00
Bryan Oltman
13536daea1
docs: fix code sample in readme
2024-11-14 16:15:24 -05:00
Felix Angelov
ee3f5ec669
feat(shorebird_code_push): track support ( #232 )
...
* feat(shorebird_code_push): track support
* cleanup and add todos
* docs
* run ffigen
* use c_char instead of char
* Add channel support
* tests
* tests
* update podfile.lock
* Update example to include tracks selector
---------
Co-authored-by: Bryan Oltman <bryan@shorebird.dev >
Co-authored-by: Bryan Oltman <bryanoltman@gmail.com >
2024-11-12 14:58:50 -05:00
Eric Seidel
59bcb311d5
docs: Clarify that update() Future only completes when download is done. ( #236 )
2024-11-11 14:56:10 -06:00
Bryan Oltman
c06b5df4e9
fix: reset patches when updater state fails to deserialize ( #233 )
...
* fix: reset patches when updater state fails to deserialize
* cleanup
2024-11-08 22:10:30 +00:00