When a user navigates away while a form submission is in-flight (WebSocket message sent, response pending), the pending response may arrive on the new handler after navigation, causing state confusion.
Current behavior: disconnect() calls formLifecycleManager.reset() (UI cleanup only). Pending server responses are not tracked or cancelled.
Expected behavior: Track form submission message IDs. After cross-handler navigation, ignore responses for old submissions.
Discovered during cross-handler SPA navigation research (PR #58).
When a user navigates away while a form submission is in-flight (WebSocket message sent, response pending), the pending response may arrive on the new handler after navigation, causing state confusion.
Current behavior:
disconnect()callsformLifecycleManager.reset()(UI cleanup only). Pending server responses are not tracked or cancelled.Expected behavior: Track form submission message IDs. After cross-handler navigation, ignore responses for old submissions.
Discovered during cross-handler SPA navigation research (PR #58).