Repository navigation
fix: actions survive client disconnect, rate-limit burst honored, delete errors shown, sync badge only with git sync - #124
Merged
Conversation
…onnects Run these compose operations under a context detached from the request (context.WithoutCancel + 30 min timeout) so closing the tab no longer kills docker compose mid-way. Audit rows use the same context.
The backend runs docker compose restart. Also correct the restart/pull API docs (202 started) and note that sync actions survive disconnects.
confirmDelete navigated to the app list even when removeApp returned an error. Show the reason inline and only navigate on success.
The label was parsed but ignored. Once a window's requests are used up, up to burst more pass; the burst refills only after a whole window within requests, so sustained traffic stays at the steady rate. burst 0 (label unset) keeps the plain fixed window. Docs: correct label defaults and mark config.yaml ratelimit.burst/by as ignored (management API only).
The recorder marked config changes pending even with git sync off, so Activity showed a pending badge forever. Recorder.SetSyncTracking takes api.Server.GitSyncPushing (kept in step with SetGitSync/ReloadGitSync); rows are pending only while a syncer with auto-push runs.
ReloadGitSync started the new syncer with the request context, so its worker and poll loop stopped as soon as the settings response was sent.
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.
Found by the E2E audit.
docker composeunder the request context, so navigating away mid-scale could leave e.g. 1 of 2 replicas. They now run detached (30 min cap), and their activity rows are still recorded.simpledeploy.ratelimit.burstwas parsed but ignored, while docs promised a short-spike allowance. Implemented: afterrequestsare used up, up toburstmore pass; the burst refills only after a whole window within the limit, so a client that keeps exceeding it stays at the steady rate. Apps without the label behave exactly as before (the server-levelratelimitblock never reached the proxy). Label defaults in the docs corrected.ReloadGitSyncstarted the syncer with the request context, so its worker and poll loop ended once the response was sent. Fixed.Docs: reference/api.md, rate-limiting.md, compose-labels.md, configuration.md, small-vps-tuning.md, architecture/proxy.md and auth.md, activity-log.md, security-audit.md.
Tests: disconnect survival (real deployer, blocking runner), burst and no-burst limiter, delete error vitests, sync-pending recorder, git sync reload outliving the request. All failing before. Full vitest and affected Go packages pass.