Repository navigation
Description
Problem
Opening Eve cold at /#/voice-chat (the iOS Action Button deep link) launches nothing. Setting the same hash on an already-loaded page works. Reproduced on main at 2bf3731.
Root cause
Confirmed: the app's startup URL syncing rewrote location.hash before App#_handleHashRoute ran, so the handler saw an empty hash and returned.
This was fixed on main by ec6b008 (#31), which landed after this report. App now captures location.hash in its constructor (_initialHash) and restores it in _restoreInitialHash just before _handleHashRoute runs, once projects and sessions have loaded. On current main, a cold page.goto('/#/voice-chat') in the e2e harness, with a favourite template set, sends exactly one create_session. That was checked with a scratch probe.
Still missing: no test covers the cold #/voice-chat path. The #31 tests cover a cold #session/<id> only. Also, chat-defaults.spec.js has a comment that still describes the old bug ("a hash present at cold load is dropped…").
Fix
Add the cold-load regression test the issue asked for, and correct the stale test comment. No production code changes. The native iOS Action Button path runs in relayClient's WKWebView, which isn't on the devbox, so it needs a devbox pass.
Contract
T1 · Cold voice-chat deep-link e2e (test writer; test/e2e/chat-defaults.spec.js, same fixture)
- The favourite template is set in
localStorageeve-settingsbefore load. A coldpage.goto(baseUrl + '/#/voice-chat')produces exactly one relayedcreate_session, with the favourite's model. It stays at one after a short settle. The hash is cleared afterwards. - With a voice session already present, a cold load of the same URL switches to it and creates nothing. Skip this case if the fixture can't seed a
sessionType: 'voice'session without code changes.
T2 · Stale comment (test/e2e/chat-defaults.spec.js)
- Reword the comment above the hashchange presses in "the favourite launch waits for models" so it describes what that test covers (the hashchange path), not the old cold-load bug.
Tasks
- T1 · Cold voice-chat deep-link e2e [Completed - Verified]
- T2 · Correct the stale cold-load comment [Completed - Verified]
Activity
Merge pull request #47 from barelyworkingcode/fix/29-cold-voice-deeplink