docs(server): match the app's connection dialog and its version rule - #199
Merged
Merged
Conversation
docs/server.md and its Chinese version described the desktop app's side of a remote connection in ways the app does not behave: - The settings section is Connection, not Connections, and the add dialog also asks for a name. - "The app tests the connection before saving" is true of Save and switch only. Test connection tests without saving, Save and switch tests before it saves and asks before it switches, and Save stores the connection untested. Switching to a remote connection always tests it first and stays on the current connection on failure. - The app connects only to a core that speaks its control-plane protocol version, which in practice means the core version the app includes. The latest release can be newer than that (core v0.48.0 is protocol 21; ThinkWatch Lite 2026.9.16 includes v0.47.0, protocol 20), so "upgrade the server and the app together" with a plain `twcore upgrade` could break the connection. The page now installs and switches with `--version <version>`, notes that `--version` also installs an older release, and says that recent versions of the app show that command when the versions differ. The claim that the app shows "the command above with the version it needs" is gone: today it shows both versions and a bare `twcore upgrade`. - `twcore upgrade` leaves the data alone, but a version whose request store has another schema starts with an empty request history. The Upgrading section says so. - While connected to a remote core, the app signs ChatGPT accounts in with a device code only; the page now says so next to the three things a remote connection cannot do. The Chinese page also drops a colloquial phrase in the handshake throttling sentence. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…the keychain Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
fylorn
force-pushed
the
docs/seo2-server
branch
from
September 25, 2026 11:07
769b4d7 to
ffa0f77
Compare
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
docs/server.mdanddocs/server.zh-CN.mddescribed the desktop app's side of a remote connection in ways the app does not behave, and told readers to keep the server on the latest release, which can break the connection.What changes
Connecting (section 4)
titlein ThinkWatch Lite'ssrc/connection/connection.i18n.tsxondev). The dialog's Name field is listed with the other three.src/connection/ProfileDialog.tsx: Test connection tests without saving; Save and switch tests first, saves only on success, then asks for confirmation (SwitchDialog); Save stores the connection untested. Switching to a remote connection always tests it first and stays on the current connection when the test fails (SwitchDialog.tsx,connector::test).remote.i18n.tsx,deviceOnly). This now sits next to the three things the server refuses.Versions (Requirements, Install, Upgrading)
The handshake accepts only an exact control-plane protocol match (
tw-linkhandshake.rs:answer.proto != protois aVersionMismatch), so the server has to run the core version the app includes. The latest release can be newer: v0.48.0 is protocol 21, and ThinkWatch Lite 2026.9.16 includes v0.47.0 (protocol 20). The page used to say "upgrade the server and the desktop app together" next totwcore upgrade --restart, which installs the latest release.… | sudo sh -s -- --version <version>installs a particular one, and the app names the version it needs when they differ.sudo twcore upgrade --version <version> --restartand states that--versionalso installs an older release (upgrade::plan, testa_pinned_version_installs_even_when_it_is_older, present since v0.47.0).--checkand--restartwithout--versionare described as working with the latest release.twcore upgrade; the text now says that recent versions of the app showsudo twcore upgrade --version <version> --restartwith the version filled in, which becomes true once the app change that adds it is released.twcore upgradedoes not touch the data, but a version whose request store has another schema starts with an empty request history (tw_store::openremovesdata.dbandblobs/on a schema mismatch; v0.47.0 is schema 19, v0.48.0 is 20). The Upgrading section says so.The Chinese page carries the same changes and replaces a colloquial phrase in the handshake-throttling sentence.
Checked
#upgrading/#升级links point at existing headings.cargo fmt --all -- --checkpasses, andcargo test -p tw-config --test manualpasses (it parses the YAML examples in these two files; none changed).🤖 Generated with Claude Code