Repository navigation
Conversation
|
🚅 Deployed to the rivet-pr-5825 environment in rivet-frontend
|
|
Stack for rivet-dev/rivet Current stack:
Dependencies: Get stack: change ruyuonlz |
ReviewThe fix looks correct. Keying Suggestions
No security or performance concerns. The tuple-key allocation per context construction is negligible. |
|
|
||
| static ACTOR_CONTEXT_SHARED: LazyLock<SccHashMap<String, Weak<ActorContextShared>>> = | ||
| LazyLock::new(SccHashMap::new); | ||
| // Keyed by generation so a newer generation of the same actor never shares, resets, or clears the | ||
| // JS runtime state of an older generation that is still shutting down on this host. |
There was a problem hiding this comment.
🟠 Medium · Format the shared-state declaration so Rustfmt passes
The required Rustfmt check fails on this declaration at this head. Apply the formatter’s single-line generic layout (with the initializer on the next line) so the Rust CI gate can pass.
| } finally { | ||
| stopObservingClears(); | ||
| heldSleep = undefined; |
There was a problem hiding this comment.
🔵 Low · Release the held sleep during failure cleanup
If any wait or assertion fails after heldSleep is installed but before releaseOldSleep() runs, assigning undefined here does not resolve the promise already awaited by onSleep. That leaves the old generation’s shutdown task permanently suspended and can leak native/registry work into the rest of the shared-engine suite. Keep the resolver in teardown scope and invoke it in finally before clearing the fixture.
976d08b to
dcf7fcb
Compare
No description provided.