When duplicating an unnamed request, the resolved name (URL fallback)
was being set as the duplicate's explicit name. Now the raw name field
is preserved, so unnamed duplicates continue to dynamically show the URL.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add .oxfmtignore to skip generated bindings and wasm-pack output.
Add npm format script, update DEVELOPMENT.md for Vite+ toolchain,
and format all non-generated files with oxfmt.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Events from previous WebSocket/gRPC connections and HTTP responses were
persisting in the store and displaying in new connections. Added filter
parameter to mergeModelsInStore that clears old events when switching
connections, plus render-time filtering as a safety net.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Events stream in via model_write listener while also being fetched
from the database. If the DB fetch completed before all events were
persisted, replaceModelsInStore would wipe out events that came in
via model_write.
Added mergeModelsInStore that adds fetched events without removing
existing ones. Applied to HTTP, gRPC, and WebSocket event hooks.