Skip to content

Nodes advert WS handler: invalidate-then-loadNodes(true) can coalesce onto an in-flight /nodes request (same shape as #243) #279

Closed

Description

@dborup

Follow-up from the round-2 re-review of #263 (#243), finding N3. public/nodes.js (around lines 684 and 711): the advert WebSocket handler calls invalidateApiCache(...) and then a plain loadNodes(true). The #243 fix lives at the call site (api(..., { bust: true })), not inside invalidateApiCache(), so this path can still join an older in-flight /nodes request and render stale data. Apply the same bust pattern, or decide to move the bust into invalidateApiCache() for every caller. Add a unit test with controlled api() timing and a mutant check. The same review also notes (N1) that the revoke-path bust is only pinned transitively, so add a direct test for onRevoked while you are there.

Activity

  1. added
    bugSomething isn't working
    type:bugSomething broken
    on Oct 5, 2026
  2. added a commit that references this issue on Oct 6, 2026
  3. dborup commented on Oct 6, 2026

    @dborup
    OwnerAuthor

    Fixed by #306 (merged as 08393e7dc9e62e1fdeb855a121b850274b44de49).

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingtype:bugSomething broken

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions