Skip to content

Implement client keep-alives watchdog for graphql-transport-ws protocol in juniper_graphql_ws crate#1367

Merged
tyranron merged 15 commits intographql-rust:masterfrom
50U10FCA7:keep-alive-watchdog
Mar 9, 2026
Merged

Implement client keep-alives watchdog for graphql-transport-ws protocol in juniper_graphql_ws crate#1367
tyranron merged 15 commits intographql-rust:masterfrom
50U10FCA7:keep-alive-watchdog

Conversation

@50U10FCA7
Copy link
Contributor

@50U10FCA7 50U10FCA7 commented Mar 4, 2026

Synopsis

Current graphql-transport-ws implementation unable to properly detect client's connection lost (for example if client's unplug power/internet cable). For now it relying on TCP stream's connection lost detection, which has about ~15min timeout duration.

Solution

This PR extends server's keep-alive machinery in graphql-transport-ws protocol implementation to require client to send Pings within specified keep_alive_interval. If client's ping not received within specified interval then connection considered as lost.

Checklist

  • Tests are added
  • Documentation is added (including Book)
  • CHANGELOG is filled

@50U10FCA7
Copy link
Contributor Author

FCM

Implement client keep-alives watchdog for `graphql-transport-ws` protocol in `juniper_graphql_ws` crate (#1367)

@tyranron tyranron assigned 50U10FCA7 and unassigned 50U10FCA7 Mar 6, 2026
@tyranron tyranron added k::api Related to API (application interface) feature New feature or request labels Mar 6, 2026
@tyranron tyranron modified the milestone: 0.18.0 Mar 6, 2026
@tyranron tyranron added the semver::breaking Breaking change in terms of SemVer label Mar 8, 2026
@50U10FCA7 50U10FCA7 marked this pull request as draft March 8, 2026 20:45
@50U10FCA7 50U10FCA7 marked this pull request as ready for review March 9, 2026 00:43
@50U10FCA7 50U10FCA7 requested a review from tyranron March 9, 2026 00:43
@tyranron tyranron enabled auto-merge (squash) March 9, 2026 16:54
@tyranron tyranron added the k::design Related to overall design and/or architecture label Mar 9, 2026
@tyranron tyranron merged commit 4dc4813 into graphql-rust:master Mar 9, 2026
181 checks passed
@50U10FCA7 50U10FCA7 deleted the keep-alive-watchdog branch March 9, 2026 18:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature New feature or request k::api Related to API (application interface) k::design Related to overall design and/or architecture semver::breaking Breaking change in terms of SemVer

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants