From 70933a513e094703cb25e2d70f88c3356c216fcb Mon Sep 17 00:00:00 2001 From: Ian Clarke Date: Fri, 21 Aug 2026 18:07:44 -0500 Subject: [PATCH] docs: fix broken River sync module link in the tutorial The tutorial's "Connecting to Freenet" section linked to https://github.com/freenet/river/tree/main/ui/src/sync, which 404s. That path has never existed in River's history -- it was wrong when the line was written in 7e6dc1f (2026-01-17), not the result of a later refactor. River's WebSocket sync code lives at ui/src/components/app/freenet_api/. Point at that and name the files a reader needs, so the link is useful rather than just non-404. Reported by Err0rz on Matrix. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_012S2nM1yfnXpVXpGf68GQ6J --- hugo-site/content/build/manual/tutorial.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/hugo-site/content/build/manual/tutorial.md b/hugo-site/content/build/manual/tutorial.md index cbc81c61..774138a0 100644 --- a/hugo-site/content/build/manual/tutorial.md +++ b/hugo-site/content/build/manual/tutorial.md @@ -443,8 +443,10 @@ fn App() -> Element { ### Connecting to Freenet River's UI communicates with the kernel through a WebSocket API. See -[River's sync module](https://github.com/freenet/river/tree/main/ui/src/sync) for the complete -implementation pattern. +[River's `freenet_api` module](https://github.com/freenet/river/tree/main/ui/src/components/app/freenet_api) +for the complete implementation pattern: `connection_manager.rs` opens and reconnects the socket, +`freenet_synchronizer.rs` drives the sync loop, `room_synchronizer.rs` maps rooms onto contract +GET/PUT/SUBSCRIBE/UPDATE, and `response_handler/` handles each kind of node response. ---