Skip to content

fix: preserve tags across plugin updates - #17

Draft
yattdev wants to merge 4 commits into
mainfrom
feature/the-tags-plugin-upda-sww
Draft

fix: preserve tags across plugin updates#17
yattdev wants to merge 4 commits into
mainfrom
feature/the-tags-plugin-upda-sww

Conversation

@yattdev

@yattdev yattdev commented Sep 9, 2026

Copy link
Copy Markdown
Owner

Changing the installed Tags package could make intact shared tags appear lost when a transient action failure switched the UI to an empty private compatibility store. Shared state now remains authoritative through network and 502/503/504 failures, retries only the idempotent catalog read, and still falls back on the host's definitive undeclared-action 404.

Important Changes

  • Preserve the last confirmed shared catalog and task applications during runtime replacement, with bounded retries and generation checks that prevent obsolete requests from reviving timers after re-initialization or destruction.
  • Lock the persisted plugin id, state capabilities, shared action contract, and agent-tags workspace key with automated tests.
  • Document the supported in-place update and compatible rollback lifecycle, including destructive uninstall behavior and the pre-0.9 compatibility boundary.

Validation

  • make test — Go tests and 132/132 JavaScript tests passed; fresh runtime 828 ms.
  • make fmt
  • make vet
  • make package-host
  • go test -count=1 -race ./server/...
  • Fresh Chromium QA at 0f80d2175b4cfde5ede60c05f738fc0253200aa3 verified that human and agent chips remain visible during a structured HTTP 503 and after recovery.
  • Current GitHub jobs fail before feature tests because the unpinned Kandev SDK now changes go.mod/go.sum during go mod tidy; package building reports that module updates are required.

Screenshots

During transient HTTP 503; the last confirmed shared catalog remains visible and no legacy write occurs:

Shared tags retained during a transient HTTP 503

After the shared read succeeds; the same catalog is restored without reload or user mutation:

Shared tags visible after retry recovery

Possible Improvements

Medium risk: pin or regularly refresh the Kandev SDK dependency set so upstream transitive dependency changes do not break otherwise unchanged plugin workflows.

Checklist

  • I have performed a self-review of my code.
  • I have manually tested my changes and they work as expected.
  • My changes have tests that cover the new functionality and edge cases (make test).
  • I updated README.md if this changes user-facing behavior.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants