Pulse/internal/updates
courtmanr@gmail.com 119ac49d10 Keep the update progress modal moving when the update stream goes quiet
Updating to v6.4.5-rc.5 and then v6.4.5 left the progress modal on
"Downloading update... 10%" even though the update finished in the
background. The status stream could go silent behind a proxy (Tailscale
Serve, nginx buffering) and the modal only advanced on stream events.

Backend: the update SSE endpoint now sends the current status on connect,
writes events through one ordered writer with an explicit flush, sends a
15s heartbeat and sets X-Accel-Buffering: no.

Frontend: a silence watchdog falls back to status polling, the restart
phase is entered only on real restart evidence (restarting status, the
server going away, or a version change) rather than a single failed poll,
and the page never auto-reloads on unconfirmed completion without a
pre-update version baseline to compare against.
2026-09-30 23:39:35 +01:00
..
adapter_installsh.go feat(updates): surface digest-pinned Pro Docker update commands from the broker 2026-07-10 16:03:59 +01:00
adapter_installsh_more_test.go Delete the unreachable adapter Execute/Rollback update path and the unused UpdateQueue 2026-07-10 01:14:40 +01:00
adapter_installsh_test.go Delete the unreachable adapter Execute/Rollback update path and the unused UpdateQueue 2026-07-10 01:14:40 +01:00
check_observation.go Report update channel and last update check outcome in telemetry (#2285) 2026-09-27 23:50:23 +01:00
history.go Harden update history persistence root 2026-03-29 14:39:11 +01:00
history_test.go chore(deps): qualify ID OAuth and concurrency updates 2026-09-10 00:39:00 +01:00
issue2282_release_metadata_stream_test.go fix(updates): require exact server archive for update download 2026-09-27 23:08:56 +01:00
issue2285_update_check_observation_test.go Give update-check test fixtures the exact runtime archive 2026-09-28 08:28:16 +01:00
manager.go Keep the update progress modal moving when the update stream goes quiet 2026-09-30 23:39:35 +01:00
manager_additional_test.go test: expand backend coverage 2026-01-25 21:08:44 +00:00
manager_applyupdate_test.go test: Add comprehensive test coverage across packages 2026-01-19 19:26:18 +00:00
manager_backup_runtime_test.go Harden self-hosted update runtime against low-disk drift 2026-04-22 09:40:49 +01:00
manager_check_updates_test.go Give update-check test fixtures the exact runtime archive 2026-09-28 08:28:16 +01:00
manager_checksum_test.go Delete the unreachable adapter Execute/Rollback update path and the unused UpdateQueue 2026-07-10 01:14:40 +01:00
manager_edition_test.go Update the Pro binary in-app from the license server download broker 2026-07-08 23:39:37 +01:00
manager_fileops_test.go Harden update manager directory scans 2026-03-29 14:23:13 +01:00
manager_more_test.go Enforce upgrade readiness before v6 updates 2026-05-28 17:22:01 +01:00
manager_pro_update_test.go Pro updater requests its channel from the dual-channel broker 2026-07-22 00:16:43 +01:00
manager_retry_test.go Verify feed fallback release assets 2026-09-04 13:18:54 +01:00
manager_rollback_test.go Block silent downgrades on apply and give the updater a sanctioned rollback path 2026-07-10 01:46:08 +01:00
manager_runtime_arch_test.go fix(updates): select ARM release archive from build variant 2026-09-27 23:29:44 +01:00
manager_sse_helpers_test.go test: expand backend coverage 2026-01-25 21:08:44 +00:00
manager_stranded_upgrade_test.go fix(updates): preserve install URL on feed fallback 2026-08-28 14:50:28 +01:00
manager_test.go Reframe prerelease update copy 2026-03-25 11:25:41 +00:00
mock_updater.go Delete the unreachable adapter Execute/Rollback update path and the unused UpdateQueue 2026-07-10 01:14:40 +01:00
mock_updater_test.go Delete the unreachable adapter Execute/Rollback update path and the unused UpdateQueue 2026-07-10 01:14:40 +01:00
pro_update.go fix(updates): report installability-aware update checks 2026-09-28 00:53:28 +01:00
release_metadata.go fix(updates): require exact server archive for update download 2026-09-27 23:08:56 +01:00
release_notes.go Stream release metadata so update checks see stable releases (#2282) 2026-09-27 22:07:42 +01:00
release_notes_test.go Bound PDM and updater metadata responses 2026-09-01 12:20:52 +01:00
retryable_error_branchcov0722am_test.go Cover the Unraid merge, setup classifier and retry helpers left untested 2026-07-22 08:06:56 +01:00
selftest.go Self-test the new binary before the in-app update swaps it in 2026-07-10 00:44:01 +01:00
selftest_test.go Self-test the new binary before the in-app update swaps it in 2026-07-10 00:44:01 +01:00
signature.go Delete the unreachable adapter Execute/Rollback update path and the unused UpdateQueue 2026-07-10 01:14:40 +01:00
signature_test.go Delete the unreachable adapter Execute/Rollback update path and the unused UpdateQueue 2026-07-10 01:14:40 +01:00
sse.go Keep the update progress modal moving when the update stream goes quiet 2026-09-30 23:39:35 +01:00
sse_test.go Keep the update progress modal moving when the update stream goes quiet 2026-09-30 23:39:35 +01:00
updater.go Delete the unreachable adapter Execute/Rollback update path and the unused UpdateQueue 2026-07-10 01:14:40 +01:00
updater_test.go Delete the unreachable adapter Execute/Rollback update path and the unused UpdateQueue 2026-07-10 01:14:40 +01:00
version.go Keep diagnostic source builds out of release update flows 2026-09-10 17:06:27 +01:00
version_additional_test.go Keep diagnostic source builds out of release update flows 2026-09-10 17:06:27 +01:00
version_test.go Classify every 0.0.0 sentinel build as a development build 2026-09-04 08:00:52 +01:00