镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

NEXUS-4337: Expose retained plugin update reviews - #3075

Merged
kazemek21 merged 1 commit into
mainfrom
kylez_NEXUS-4337_expose_plugin_update_queue
Nov 10, 2026
Merged

kazemek21 merged 1 commit into
mainfrom
kylez_NEXUS-4337_expose_plugin_update_queue

Conversation

@kazemek21

@kazemek21 kazemek21 commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor

TL;DR

Expose optional plugin update discovery and explicit review queues through the existing pluginInstaller service. Reuse the host's retained checker and importer; a missing result remains unknown, not proof that a plugin is current.

What

  • getSnapshot, subscribe, and refresh expose aggregate status, known candidates, and known errors. Plugin-triggered refreshes share a one-minute minimum interval.
  • queueUpdates accepts 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.
  • Queue snapshots support observation and cancellation. A confirmed import keeps its review slot until the native operation settles, including after the watchdog, cancellation, or consumer unmount.
  • Stable provider and request IDs bind replay to the exact ordered, deduplicated token list. Request IDs are namespaced by calling plugin ID; a remounted consumer can reconcile its prior request. Both subscriptions are released with the caller's lifetime.
  • getQueueRequest returns admitted, not-admitted, unknown, or conflict without submitting. Only not-admitted from the same live provider proves non-admission. Replacement, restart, or queue eviction stays unknown and cannot create a duplicate on replay.
  • A fresh snapshot miss does not establish that an individual plugin was checked, is eligible, or is current. Distinct submissions retain independent confirmation and cancellation; only an exact identified replay shares a queue.

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

@kazemek21
kazemek21 force-pushed the kylez_NEXUS-4337_expose_plugin_update_queue branch from 8279899 to d46ac9a Compare November 9, 2026 11:06
@kazemek21 kazemek21 changed the title Expose retained plugin updates and serialized review queue NEXUS-4337: Expose retained plugin update reviews Nov 9, 2026
@kazemek21
kazemek21 force-pushed the kylez_NEXUS-4337_expose_plugin_update_queue branch 8 times, most recently from 4bb57cc to f4f7d0b Compare November 10, 2026 20:16
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
kazemek21 force-pushed the kylez_NEXUS-4337_expose_plugin_update_queue branch from f4f7d0b to affbcd7 Compare November 10, 2026 20:28
@kazemek21
kazemek21 marked this pull request as ready for review November 10, 2026 20:53
@kazemek21
kazemek21 requested a review from a team as a code owner November 10, 2026 20:53

@gilgtm gilgtm left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 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 dr0uleau left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 approved at this commit. CI is green. Native and visual checks remain unverified

@kazemek21
kazemek21 merged commit f9f06e6 into main Nov 10, 2026
64 checks passed
@kazemek21
kazemek21 deleted the kylez_NEXUS-4337_expose_plugin_update_queue branch November 10, 2026 23:19
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.

3 participants