Repository navigation
NEXUS-4337: Expose retained plugin update reviews - #3075
Merged
Merged
Conversation
kazemek21
force-pushed
the
kylez_NEXUS-4337_expose_plugin_update_queue
branch
from
November 9, 2026 11:06
8279899 to
d46ac9a
Compare
kazemek21
force-pushed
the
kylez_NEXUS-4337_expose_plugin_update_queue
branch
8 times, most recently
from
November 10, 2026 20:16
4bb57cc to
f4f7d0b
Compare
Expose the retained checker through an optional caller-owned capability and serialize explicit update reviews. Bind request recovery to provider, plugin identity and exact candidate tokens; preserve unknown results after replacement or restart. Keep confirmation and native settlement custody intact, refresh failed reviews, and retain existing source, publisher, access and enabled-choice guards. Co-authored-by: Codex <noreply@openai.com> Signed-off-by: Kyle Zemek <kylez@squareup.com>
kazemek21
force-pushed
the
kylez_NEXUS-4337_expose_plugin_update_queue
branch
from
November 10, 2026 20:28
f4f7d0b to
affbcd7
Compare
kazemek21
marked this pull request as ready for review
November 10, 2026 20:53
gilgtm
approved these changes
Nov 10, 2026
gilgtm
left a comment
Contributor
There was a problem hiding this comment.
🤖 No P0/P1 findings from the completed deep-dual review of affbcd7. Reviewed the full PR against main@e02509fbe173cd60872e2addaa098a57cbee4f63 using read-only code and test inspection. Native app behavior was not exercised.
Posted by duel-review skill [driver: codex(high), mode: deep-dual, review synthesized by codex(high)]
dr0uleau
approved these changes
Nov 10, 2026
dr0uleau
left a comment
Contributor
There was a problem hiding this comment.
🤖 approved at this commit. CI is green. Native and visual checks remain unverified
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.
TL;DR
Expose optional plugin update discovery and explicit review queues through the existing
pluginInstallerservice. Reuse the host's retained checker and importer; a missing result remains unknown, not proof that a plugin is current.What
getSnapshot,subscribe, andrefreshexpose aggregate status, known candidates, and known errors. Plugin-triggered refreshes share a one-minute minimum interval.queueUpdatesaccepts opaque tokens for current candidates from a recent completed check. Each item opens the existing confirmation dialog, identifies its requesting plugin, and preserves source, publisher, access, and saved enabled-choice guards.getQueueRequestreturnsadmitted,not-admitted,unknown, orconflictwithout submitting. Onlynot-admittedfrom the same live provider proves non-admission. Replacement, restart, or queue eviction stays unknown and cannot create a duplicate on replay.Validation and limits
Focused regression coverage covers review drift and missing candidates, busy-manager admission, late native settlement, caller cleanup, request isolation, and provider replacement. Hosted CI passed on
affbcd72, including all JavaScript shards and changed-file repetitions. The repairs were not run locally; normal precommit checks passed.No native installed/runtime or fail-before/pass-after proof is claimed. Queue state lasts only for the host provider lifetime. The frontend checks and immutable prepared import preserve the existing boundary; this does not add native enforcement or cross-restart idempotency. No second checker or per-plugin checked-current result is added.
Tracking
Fixes NEXUS-4337
Pinned-link classification and ref-change disclosure are in #3024.
Generated with Codex (gpt-6.1-sol, high) on behalf of kylez