Repository navigation
4.2.0 release review: High fixes (version bump, stuck Insta360 dialog) - #450
Merged
Merged
Conversation
…n 0025) The release review of PR #423 flagged two high findings. Version: package.json still said 4.1.0, and vite.config.ts bakes VITE_APP_VERSION from it. Production's footer, buildInfo and /version.json would all have reported 4.1.0, and the v4.2.0 tag would point at a tree calling itself 4.1.0. Bump it to 4.2.0 and date the CHANGELOG heading. bun.lock does not record the root version, so it needs no change. Insta360 dialog (plan 0025): the reopen-while-connected resume effect depended on [open, phase]. Its own setPhase("listing") re-ran the effect, and the cleanup flipped `alive` to false, so the guarded setPhase("ready") never fired. The dialog spun forever, and the only way out was unloading the video. The resume now lives in a pure lib/insta360/resumeSession.ts. The effect is keyed on `open` only, and a phase ref stops a late status answer from hijacking a connect the user already started. A failed listing drops back to idle instead of stranding the spinner. The regression test fails if the resume checks its guard again after its own move to "listing". Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NZ3Pt89yubdPtYn5Wc8fjW
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
lapwing | c470d05 | Commit Preview URL Branch Preview URL |
Oct 02 2026, 12:57 AM |
Coverage SummaryLines: 61.97% (9016/14547) · Statements: 61.05% · Functions: 58.14% · Branches: 58.46% Per-file coverage
|
This was referenced Oct 2, 2026
TheAngryRaven
pushed a commit
that referenced
this pull request
Oct 3, 2026
Resolves the conflicts left by #450 and #451 landing first. CHANGELOG keeps both Fixed lists. useDataLoader tests keep the load-precedence tests and the course-clearing ones. countCachedAssets (plan 0027) now takes a predicate, so the readiness hook keeps the revision-aware isDeferredAssetCached check from #451 while the counting stays in the tested lib. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NZ3Pt89yubdPtYn5Wc8fjW
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Dove · project thread
Summary
Fixes the two High findings from the 4.2.0 release review of #423. The Medium and Low fixes come in separate PRs.
Before: BETA called itself 4.1.0, so the footer,
buildInfoand/version.jsonwould all have reported 4.1.0 on a v4.2.0 tag. Reopening the Insta360 import dialog in the Android app while a camera was still connected left the dialog on its spinner indefinitely.After:
package.jsonis4.2.0, and the CHANGELOG heading is dated2026-10-02. The dialog resumes straight to the camera's recording list. If listing fails, it drops back to the connect form.How: the dialog's resume effect depended on
[open, phase]. Its ownsetPhase("listing")therefore re-ran the effect, the cleanup cancelled it, and"ready"was never set. The resume logic now lives in a pure helper,src/lib/insta360/resumeSession.ts. The effect is keyed onopenonly, with a phase ref guarding against a slow status answer overriding a Connect the user already started. The CHANGELOG gets a Fixed entry (plan 0025).Type of Change
Checklist
bun run lintpassesbun run typecheckpassesbun run test:runpasses (3205 tests)bun run buildsucceedsCHANGELOG.md)Notes for Reviewers
resumeSession.test.tshas 5 cases. The regression case fails when the old re-check after"listing"is put back. It hasn't been tested on Insta360 hardware.🤖 Generated with Claude Code
https://claude.ai/code/session_01NZ3Pt89yubdPtYn5Wc8fjW
Generated by Claude Code