Results: browser logs show message received, but the javascript does not process the stream and there's no change in the current DOM.
### PAGE 1
D 2022-07-13T23:43:20.550Z context=node sid=Xyr0A-oFV6UX-7AOOu31Z Websocket closed: websocket: close 1001 (going away)
D 2022-07-13T23:43:20.550Z sid=Xyr0A-oFV6UX-7AOOu31Z WebSocket session completed
D 2022-07-13T23:43:20.550Z channel={"channel":"Turbo::StreamsChannel","signed_stream_name":"..."} context=hub sid=Xyr0A-oFV6UX-7AOOu31Z Unsubscribed
D 2022-07-13T23:43:20.550Z context=node sid=Xyr0A-oFV6UX-7AOOu31Z Disconnect {"user":"..."} http://localhost/cable?jid=.... &map[REMOTE_ADDR:127.0.0.1 cookie:....] [{"channel":"Turbo::StreamsChannel","signed_stream_name":"..."}]
D 2022-07-13T23:43:20.550Z context=hub sid=Xyr0A-oFV6UX-7AOOu31Z Unregistered
E 2022-07-13T23:43:20.550Z context=node sid=Xyr0A-oFV6UX-7AOOu31Z Disconnect error: grpc connection is not ready
D 2022-07-13T23:43:20.742Z sid=rbAW2Y9stR1SyQHsN7h6P WebSocket session established
D 2022-07-13T23:43:20.742Z context=hub sid=rbAW2Y9stR1SyQHsN7h6P Registered with identifiers: {"user":"..."}
D 2022-07-13T23:43:20.748Z context=node sid=rbAW2Y9stR1SyQHsN7h6P Incoming message: &{subscribe {"channel":"Turbo::StreamsChannel","signed_stream_name":"..."} <nil>}
D 2022-07-13T23:43:20.748Z context=turbo identifier={"channel":"Turbo::StreamsChannel","signed_stream_name":"..."} verified stream: user:abc123
D 2022-07-13T23:43:20.748Z context=node sid=rbAW2Y9stR1SyQHsN7h6P Subscribed to channel: {"channel":"Turbo::StreamsChannel","signed_stream_name":"..."}
D 2022-07-13T23:43:20.748Z channel={"channel":"Turbo::StreamsChannel","signed_stream_name":"..."} context=hub sid=rbAW2Y9stR1SyQHsN7h6P stream=user:abc123 Subscribed
### PAGE 2
D 2022-07-13T23:43:49.619Z context=node sid=rbAW2Y9stR1SyQHsN7h6P Incoming message: &{unsubscribe {"channel":"Turbo::StreamsChannel","signed_stream_name":"..."} <nil>}
D 2022-07-13T23:43:49.619Z context=node sid=rbAW2Y9stR1SyQHsN7h6P Unsubscribed from channel: {"channel":"Turbo::StreamsChannel","signed_stream_name":"..."}
D 2022-07-13T23:43:49.619Z channel={"channel":"Turbo::StreamsChannel","signed_stream_name":"..."} context=hub sid=rbAW2Y9stR1SyQHsN7h6P Unsubscribed
D 2022-07-13T23:43:50.125Z context=node sid=rbAW2Y9stR1SyQHsN7h6P Incoming message: &{subscribe {"channel":"Turbo::StreamsChannel","signed_stream_name":"..."} <nil>}
D 2022-07-13T23:43:50.125Z context=turbo identifier={"channel":"Turbo::StreamsChannel","signed_stream_name":"..."} verified stream: user:abc123
D 2022-07-13T23:43:50.125Z context=node sid=rbAW2Y9stR1SyQHsN7h6P Subscribed to channel: {"channel":"Turbo::StreamsChannel","signed_stream_name":"..."}
D 2022-07-13T23:43:50.125Z channel={"channel":"Turbo::StreamsChannel","signed_stream_name":"..."} context=hub sid=rbAW2Y9stR1SyQHsN7h6P stream=user:abc123 Subscribed
### BACK TO PAGE 1 (TURBO PREVIEW)
D 2022-07-13T23:44:03.211Z context=node sid=rbAW2Y9stR1SyQHsN7h6P Incoming message: &{unsubscribe {"channel":"Turbo::StreamsChannel","signed_stream_name":"..."} <nil>}
D 2022-07-13T23:44:03.211Z context=node sid=rbAW2Y9stR1SyQHsN7h6P Unsubscribed from channel: {"channel":"Turbo::StreamsChannel","signed_stream_name":"..."}
D 2022-07-13T23:44:03.211Z channel={"channel":"Turbo::StreamsChannel","signed_stream_name":"..."} context=hub sid=rbAW2Y9stR1SyQHsN7h6P Unsubscribed
D 2022-07-13T23:44:03.711Z context=node sid=rbAW2Y9stR1SyQHsN7h6P Incoming message: &{subscribe {"channel":"Turbo::StreamsChannel","signed_stream_name":"..."} <nil>}
D 2022-07-13T23:44:03.712Z context=turbo identifier={"channel":"Turbo::StreamsChannel","signed_stream_name":"..."} verified stream: user:abc123
D 2022-07-13T23:44:03.712Z context=node sid=rbAW2Y9stR1SyQHsN7h6P Subscribed to channel: {"channel":"Turbo::StreamsChannel","signed_stream_name":"..."}
D 2022-07-13T23:44:03.712Z channel={"channel":"Turbo::StreamsChannel","signed_stream_name":"..."} context=hub sid=rbAW2Y9stR1SyQHsN7h6P stream=user:abc123 Subscribed
### BACK TO PAGE 1 (TURBO FETCH)
D 2022-07-13T23:44:04.089Z context=node sid=rbAW2Y9stR1SyQHsN7h6P Incoming message: &{subscribe {"channel":"Turbo::StreamsChannel","signed_stream_name":"..."} <nil>}
W 2022-07-13T23:44:04.089Z context=node sid=rbAW2Y9stR1SyQHsN7h6P Failed to handle incoming message '{"command":"subscribe","identifier":"{\"channel\":\"Turbo::StreamsChannel\",\"signed_stream_name\":\"...\"}"}' with error: Already subscribed to {"channel":"Turbo::StreamsChannel","signed_stream_name":"..."}
D 2022-07-13T23:44:08.716Z context=node sid=rbAW2Y9stR1SyQHsN7h6P Incoming message: &{subscribe {"channel":"Turbo::StreamsChannel","signed_stream_name":"..."} <nil>}
W 2022-07-13T23:44:08.716Z context=node sid=rbAW2Y9stR1SyQHsN7h6P Failed to handle incoming message '{"command":"subscribe","identifier":"{\"channel\":\"Turbo::StreamsChannel\",\"signed_stream_name\":\"...\"}"}' with error: Already subscribed to {"channel":"Turbo::StreamsChannel","signed_stream_name":"..."}
D 2022-07-13T23:44:09.090Z context=node sid=rbAW2Y9stR1SyQHsN7h6P Incoming message: &{subscribe {"channel":"Turbo::StreamsChannel","signed_stream_name":"..."} <nil>}
W 2022-07-13T23:44:09.090Z context=node sid=rbAW2Y9stR1SyQHsN7h6P Failed to handle incoming message '{"command":"subscribe","identifier":"{\"channel\":\"Turbo::StreamsChannel\",\"signed_stream_name\":\"...\"}"}' with error: Already subscribed to {"channel":"Turbo::StreamsChannel","signed_stream_name":"..."}
### BROADCAST MESSAGE
D 2022-07-14T00:12:05.289Z context=pubsub Incoming pubsub message from Redis: {"stream":"user:abc123","data":"\"\\u003cturbo-stream action=\\\"append\\\" target=\\\"turbo-alerts\\\"....\\u003c/turbo-stream\\u003e\""}
D 2022-07-14T00:12:05.289Z context=node Incoming pubsub message: &{user:abc123 "\u003cturbo-stream action=\"append\" target=\"turbo-alerts\"...\u003c/turbo-stream\u003e"}
D 2022-07-14T00:12:05.289Z context=hub stream=user:abc123 Broadcast message: "\u003cturbo-stream action=\"append\" target=\"turbo-alerts\"...\u003c/turbo-stream\u003e"
On visiting a turbo cached page, turbo loads the cached version (as a preview) and replaces it with the fetched version when loaded. To met it appears that
I confirmed that disabling turbo-cache-control temporarily resolves the issue.
<meta name="turbo-cache-control" content="no-cache">
Not a permanent solution, just narrowing down where the problem exists.