fix(dispatcher): advance mint counter past caller-supplied IDs (#3126)
Closed
EL
3mo ago+104+104+012345678901234567890123456789-2-2-0123456789
Summary
- When a caller supplies an integer request ID, eagerly advance
_next_idtomax(_next_id, supplied_id)in bothJsonRpcDispatcherandDirectDispatcher - Prevents minted IDs from colliding with previously-completed caller-supplied IDs (spec requires IDs MUST NOT be reused within a session)
- Minimal 2-line fix per dispatcher โ no behavioral change for string-only IDs
Test plan
- 4 new regression tests (2 per dispatcher via
pair_factoryparametrization) - All 894 tests pass
- Covers both in-flight and completed caller-supplied ID scenarios
Fixes #3126