VersionWarning - #1086
Conversation
| set({ skipUpdate: false }); | ||
| } else { | ||
| set({ status: s, loaded: true, disconnected: false }); | ||
| if(s.info.version != "0.4.11"){ |
There was a problem hiding this comment.
I would like a more robust version pin than "Remember to update this line before every update"
Finding a way for react to store the poetry version would be ideal, but any way that doesn't require intentional manual upkeep is mandatory for this imo
There was a problem hiding this comment.
#1086 (comment)
Updated this line to:
if(s.info.version != import.meta.env.VITE_BACKEND_VERSION){
|
This PR also has a lot of changes to the various StatusBar style components, that's due to me waffling about which version I should use and wanting them all to have feature parity as I found upgrades I could easily build for my immediate needs |
| echo "Building web app" | ||
| pushd ../web # Change to web directory | ||
| npm install # Install nodejs dependencies | ||
| echo "VITE_BACKEND_VERSION=$(poetry version -s)" > .env # Collect the version number and bake it into the frontend |
There was a problem hiding this comment.
I've learned that Vite can bake environment variables into the compiled webapp if you use a dotenv and prefix the vars with VITE_ so I dynamically grab the poetry version and put it in a .env at build time
862f88e to
e129535
Compare
Should these be at least in a separate commit? Maybe even a separate PR? |
|
Is there a reason the bar on desktop is left aligned? |
At least one batch of changes is useful and belongs in this PR, and given that those components are all slightly different takes on the same base thing* I feel like retaining feature parity without splitting that into multiple PRs could have value (*) They're all notification things, they just have different levels of working out of the box vs granular control schemes |
|
A standard way to do this is to stack the "upgrade" first and then to add the "feature" |
b5bb80e to
7077819
Compare
8015464 to
aa4c2ba
Compare
16ea23c to
e859500
Compare
688d861 to
76370ce
Compare
linknum23
left a comment
There was a problem hiding this comment.
Looks good. Just change this specific message to a warning as discussed. Thanks for pushing this through.
This is the last thing to do on this PR, though due to changes made in the child PR it might be easier / cleaner to change the severity level another time if that's acceptible Or I can cherry pick and wade through a slightly odd rebase situation, but changing that color in a different PR seems simplest |
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1086 +/- ##
==========================================
- Coverage 50.67% 50.34% -0.33%
==========================================
Files 40 41 +1
Lines 7154 7397 +243
==========================================
+ Hits 3625 3724 +99
- Misses 3529 3673 +144
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
OR I can remember that that PR is pointed at this one, so I can merge that and then change it here while having a sensible lineage and call it good |
… that notifies the user when the fix is unsuccessful
When the preamp microcontroller hangs it stops ACKing and every I2C write fails with OSError 121 (EREMOTEIO). The existing fallback only reopens the SMBus handle, which recovers a transient bus glitch but not a hung preamp - zone control stays dead until someone power-cycles the unit. Escalate: when the reopened-bus retry also fails, reset the preamps in place, re-assign I2C addresses, reopen the bus and re-flush all cached register values so zone state (mute/source/volume) survives, then retry the write. Rate-limited to once per 20s so a benign one-off glitch never resets audio. Observed live on our unit 2026-06-04 (zone control dead until manual reboot); with this patch the same wedge self-heals in under a second. Signed-off-by: Stamate Viorel <stamate.viorel@gmail.com> Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
6b6e57f to
c1b9da9
Compare




What does this change intend to accomplish?
If you have a cached version of amplipi, or keep the site open in another tab / in the app before and after an update, your code is liable to be mismatched with the backend and have odd behaviors. This warning surfaces that issue to the user so they know that they're in need of restarting their browser/app or clearing their cache.
Desktop:

Mobile:

Checklist
./scripts/test