Skip to main content
← Back to list
01Issue
BugShippedExtensionsPublic
Assigneesstack72

Relationships

#2936 @swamp/tailscale: follow-ups from the initial release verification review

Opened by stack72 · 10/2/2026· Shipped 10/2/2026

Non-blocking findings from the final verification review of the initial @swamp/tailscale release (swamp-club #2933, commit dfd5549). The gate passed; these were deferred so the release could ship.

Medium:

  • Collection delete given an id the definition does not track writes its deletion record to the instance named by the id, while get and list write that resource as item-. After list then delete of that id, the item- instance still shows it as live. Fix: write the record to item- in the untracked branch (codegen/tailscale/extensionModelGenerator.ts, collection delete).

Low:

  • Numeric enum literals are emitted unquoted (z.literal of the raw value); a mixed string and number enum would not compile. Use JSON.stringify.
  • instanceName lets a bare . through; map it to an underscore.
  • Keyed delete and sync records interpolate the key argument name without propKey.
  • The schema fetch in fetchTailscaleSchema has no request timeout.
  • Keyed create (service, log_stream) has a read-then-PUT race: two concurrent creates can both pass the existence check. The API upsert offers no guard; document or accept.

Also from earlier rounds, deferred: OAuth client auth, device facets, services, log streams, posture integrations, OAuth apps and invites have not been exercised against a live tailnet.

02Bog Flow
✓OPEN✓TRIAGED✓IN PROGRESS✓SHIPPED+ 1 MOREASSIGNED+ 8 MOREREVIEW+ 8 MOREPR_MERGED+ 2 MORESESSION_SUMMARIZED

Shipped

10/2/2026, 1:43:04 AM

Click a lifecycle step above to view its details.

03Sludge Pulse
stack72 assigned stack7210/2/2026, 1:06:41 AM
Editable. Press Enter to edit.

system commented 10/2/2026, 12:57:02 AM

Classified automatically when this issue was filed.

  • Source: Extensions

If you feel this classification is incorrect, add a ripple to tell us so.

Sign in to post a ripple.