You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Source policy tests (isolate-runtime-injection-policy, bridge-registry-policy) read specific source files by path — update them when moving code between files
144
144
- esmModuleCache has a sibling esmModuleReverseCache (Map<ivm.Module, string>) for O(1) module→path lookup — both must be updated together and cleared together in execution.ts
- CallIdRouter (Arc<Mutex<HashMap<u32,String>>>) maps call_id→session_id for BridgeResponse routing; populated by BridgeCallContext, consumed by connection handler
146
+
- CallIdRouter (Arc<Mutex<HashMap<u64,String>>>) maps call_id→session_id for BridgeResponse routing; populated by BridgeCallContext, consumed by connection handler
147
+
- call_id is u64 throughout IPC stack (Rust AtomicU64 + 8-byte BE wire format + TS BigInt↔Number conversion); prevents wrap-around after ~4B calls
147
148
- ChannelResponseReceiver implements ResponseReceiver trait — passes BinaryFrame directly from session channel to sync_call without re-serialization; BridgeCallContext::new() wraps reader in ReaderResponseReceiver (for tests), with_receiver() takes ResponseReceiver directly (production)
148
149
- Per-connection SessionManager: each UDS connection gets its own SharedWriter and CallIdRouter (not global)
149
150
- After iso.terminate_execution() in tests, call iso.cancel_terminate_execution() to allow continued isolate use
- V8 isolate teardown SIGSEGV is pre-existing and test-order-dependent — the process crashes during exit cleanup when both execution and snapshot tests run in the same process, but all test assertions pass before the crash
2811
2812
- `PermissionsExt` import moved to test module only since production code no longer needs it
2812
2813
---
2814
+
2815
+
## 2026-03-19 - US-073
2816
+
- What was implemented:
2817
+
- Changed call_id from u32 to u64 across the entire IPC stack (Rust + TypeScript)
2818
+
- Rust: AtomicU32→AtomicU64 in host_call.rs, HashMap<u32>→HashMap<u64> in CallIdRouter and PendingPromises, updated BinaryFrame types
2819
+
- Rust IPC: added read_u64 helper, BridgeCall/BridgeResponse encode/decode now use 8-byte BE for call_id
2820
+
- TypeScript IPC: readBigUInt64BE/writeBigUInt64BE with Number() conversion for callId in BridgeCall/BridgeResponse
0 commit comments