From 7f89b4e1fcc2177329af9010c96288364ddaf76e Mon Sep 17 00:00:00 2001 From: MrBeldum <157205701+MrBeldum@users.noreply.github.com> Date: Fri, 2 Oct 2026 02:08:16 -0700 Subject: [PATCH 1/6] Rename BroLink to Latch, by Bardbro The product is now Latch, made by Bardbro (bardbro.com), with the new logo. Crates, executables, bundle and service identifiers, environment variables, release assets, docs and deploy kits all carry the new name. An installed BroLink upgrades in place: crates/core/src/legacy.rs and crates/host/src/legacy.rs hold every old name, and the data folder, the launch agent and user unit, the Mac bundle, the Windows service, task, firewall rules and engine folder are all recognised and replaced. Peers on either name still find each other, and the update push sends both header sets. The release workflow also publishes the old asset names, which a 4.0 updater needs. Version 4.1.0. Co-Authored-By: Claude Sonnet 5.5 --- .cargo/config.toml | 6 +- .github/workflows/ci.yml | 22 +- .github/workflows/release.yml | 50 ++- CHANGELOG.md | 100 +++--- CONTRIBUTING.md | 52 +-- Cargo.lock | 194 ++++++------ Cargo.toml | 16 +- NOTICE | 8 +- README.md | 93 ++++-- crates/client/BroLink.icns | Bin 972113 -> 0 bytes crates/client/Cargo.toml | 14 +- crates/client/Latch.icns | Bin 0 -> 49474 bytes crates/client/src/app.rs | 136 ++++---- crates/client/src/clipboard.rs | 6 +- crates/client/src/config.rs | 20 +- crates/client/src/display.rs | 4 +- crates/client/src/handover.rs | 40 +-- crates/client/src/input.rs | 6 +- crates/client/src/lib.rs | 10 +- crates/client/src/main.rs | 10 +- crates/client/src/path.rs | 10 +- crates/client/src/session.rs | 67 ++-- crates/client/src/settings.rs | 2 +- crates/client/src/share.rs | 2 +- crates/client/src/stream.rs | 54 ++-- crates/client/src/update.rs | 70 ++--- crates/client/src/video.rs | 22 +- crates/core/Cargo.toml | 4 +- crates/core/assets/logo-1024.png | Bin 298428 -> 6347 bytes crates/core/src/api.rs | 14 +- crates/core/src/config.rs | 156 ++++++++- crates/core/src/http.rs | 8 +- crates/core/src/icon.rs | 80 ++--- crates/core/src/legacy.rs | 93 ++++++ crates/core/src/lib.rs | 15 +- crates/core/src/tailscale.rs | 6 +- crates/core/src/update.rs | 34 +- crates/host/Cargo.toml | 14 +- crates/host/build.rs | 12 +- crates/host/src/app.rs | 50 +-- crates/host/src/audio.rs | 18 +- crates/host/src/brand.rs | 22 +- crates/host/src/clipboard.rs | 2 +- crates/host/src/config.rs | 6 +- crates/host/src/legacy.rs | 119 +++++++ crates/host/src/lib.rs | 3 +- crates/host/src/logfile.rs | 6 +- crates/host/src/main.rs | 42 +-- crates/host/src/migrate.rs | 18 +- crates/host/src/power.rs | 4 +- crates/host/src/product.rs | 12 +- crates/host/src/service.rs | 69 ++-- crates/host/src/setup.rs | 249 ++++++++------- crates/host/src/streamer.rs | 31 +- crates/host/src/unix_setup.rs | 296 ++++++++++++++---- crates/host/src/update.rs | 39 +-- crates/host/src/verinfo.rs | 26 +- crates/host/src/virtual_display.rs | 2 +- crates/host/src/wake.rs | 4 +- crates/host/windows/take-over-engine.cmd | 2 +- crates/host/windows/take-over-engine.ps1 | 16 +- crates/host/windows/take-over-engine.vbs | 2 +- crates/stream/Cargo.toml | 4 +- crates/stream/build.rs | 4 +- crates/stream/src/audio.rs | 2 +- crates/stream/src/identity.rs | 4 +- crates/stream/src/lib.rs | 2 +- crates/stream/src/nvhttp.rs | 20 +- crates/stream/src/session.rs | 42 +-- crates/stream/src/video/openh264.rs | 2 +- crates/ui/Cargo.toml | 6 +- crates/ui/src/lib.rs | 2 +- crates/ui/src/theme.rs | 9 +- crates/ui/src/widgets.rs | 68 ++-- deploy/native/README.md | 30 +- deploy/native/brolink-display.service | 11 - deploy/native/brolink.service.d/desktop.conf | 12 - ...-desktop.service => latch-desktop.service} | 8 +- deploy/native/latch-display.service | 11 + ...nk-engine.service => latch-engine.service} | 8 +- deploy/native/latch.service.d/desktop.conf | 12 + deploy/native/wait-engine.py | 4 +- deploy/node/Dockerfile | 14 +- deploy/node/NODE.md | 18 +- deploy/node/bootstrap.py | 8 +- deploy/node/docker-compose.yml | 10 +- deploy/node/entrypoint.sh | 24 +- deploy/node/env.example | 6 +- deploy/node/selftest.sh | 8 +- deploy/node/test_bootstrap.py | 4 +- deploy/relay/RELAY.md | 22 +- deploy/relay/docker-compose.yml | 6 +- deploy/relay/install-relay.sh | 12 +- deploy/relay/relay-entrypoint.sh | 8 +- deploy/relay/selftest.sh | 20 +- docs/MACOS.md | 86 ++--- docs/ROADMAP.md | 2 +- docs/WINDOWS.md | 48 +-- docs/brand/logo-ink.png | Bin 0 -> 20003 bytes docs/brand/logo-ink.svg | 6 + docs/brand/logo-knockout.png | Bin 0 -> 19996 bytes docs/brand/logo-knockout.svg | 6 + docs/brand/logo-rails-ink.svg | 8 + docs/brand/logo-rails.png | Bin 0 -> 18101 bytes docs/brand/logo-rails.svg | 8 + docs/brand/logo.png | Bin 0 -> 20012 bytes docs/brand/logo.svg | 6 + docs/design/AUDIT.md | 14 +- scripts/bundle-macos.sh | 32 +- scripts/install-host.ps1 | 45 ++- scripts/install-macos-release.sh | 43 +-- scripts/install-macos.sh | 27 +- scripts/make-icons.py | 82 +++++ scripts/make-macos-icon.py | 63 ---- third_party/moonlight-common-c/VERSION | 10 +- .../moonlight-common-c/src/ControlStream.c | 4 +- .../moonlight-common-c/src/SdpGenerator.c | 2 +- 117 files changed, 2069 insertions(+), 1332 deletions(-) delete mode 100644 crates/client/BroLink.icns create mode 100644 crates/client/Latch.icns create mode 100644 crates/core/src/legacy.rs create mode 100644 crates/host/src/legacy.rs delete mode 100644 deploy/native/brolink-display.service delete mode 100644 deploy/native/brolink.service.d/desktop.conf rename deploy/native/{brolink-desktop.service => latch-desktop.service} (64%) create mode 100644 deploy/native/latch-display.service rename deploy/native/{brolink-engine.service => latch-engine.service} (66%) create mode 100644 deploy/native/latch.service.d/desktop.conf create mode 100644 docs/brand/logo-ink.png create mode 100644 docs/brand/logo-ink.svg create mode 100644 docs/brand/logo-knockout.png create mode 100644 docs/brand/logo-knockout.svg create mode 100644 docs/brand/logo-rails-ink.svg create mode 100644 docs/brand/logo-rails.png create mode 100644 docs/brand/logo-rails.svg create mode 100644 docs/brand/logo.png create mode 100644 docs/brand/logo.svg create mode 100644 scripts/make-icons.py delete mode 100755 scripts/make-macos-icon.py diff --git a/.cargo/config.toml b/.cargo/config.toml index 77c4490..45b4bab 100644 --- a/.cargo/config.toml +++ b/.cargo/config.toml @@ -3,9 +3,9 @@ CMAKE_POLICY_VERSION_MINIMUM = "3.5" # `cargo test` and `cargo run` keep settings, identities and logs under # target/ rather than in the real per-user data directory, so a test run -# never reads or rewrites an installed BroLink's files. A shipped binary -# does not see this; see `brolink_core::config::data_dir`. -BROLINK_DATA_DIR = { value = "target/brolink-data", relative = true } +# never reads or rewrites an installed Latch's files. A shipped binary +# does not see this; see `latch_core::config::data_dir`. +LATCH_DATA_DIR = { value = "target/latch-data", relative = true } # The host is a standalone exe. Without this it needs vcruntime140.dll, # which is not inbox on a fresh Windows install. diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 301e77e..ad7143e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,17 +31,17 @@ jobs: shell: powershell run: | $ErrorActionPreference = 'Stop' - $env:BROLINK_DUMP_EXE = "C:\Users\O'Brien `$lab\AppData\Local\BroLink\brolink-host.exe" - $env:BROLINK_DUMP_ADAPTER = "Ethernet 'Realtek' `"2`" `$(x)" - $env:BROLINK_DUMP_ADAPTER_DESC = "Realtek PCIe GbE (`"x`")" + $env:LATCH_DUMP_EXE = "C:\Users\O'Brien `$lab\AppData\Local\Latch\latch-host.exe" + $env:LATCH_DUMP_ADAPTER = "Ethernet 'Realtek' `"2`" `$(x)" + $env:LATCH_DUMP_ADAPTER_DESC = "Realtek PCIe GbE (`"x`")" $files = @('scripts\install-host.ps1', 'crates\host\windows\take-over-engine.ps1') foreach ($migrate in '0', '1') { foreach ($dry in '0', '1') { $out = Join-Path $env:RUNNER_TEMP "setup-$migrate$dry.ps1" - $env:BROLINK_DUMP_SETUP_SCRIPT = $out - $env:BROLINK_DUMP_MIGRATE = $migrate - $env:BROLINK_DUMP_DRY_RUN = $dry - cargo test -q -p brolink-host --lib the_generated_script_can_be_dumped_for_a_syntax_check + $env:LATCH_DUMP_SETUP_SCRIPT = $out + $env:LATCH_DUMP_MIGRATE = $migrate + $env:LATCH_DUMP_DRY_RUN = $dry + cargo test -q -p latch-host --lib the_generated_script_can_be_dumped_for_a_syntax_check if ($LASTEXITCODE -ne 0) { throw "dumping the setup script failed" } $files += $out } @@ -56,8 +56,8 @@ jobs: run: cargo build --workspace --release - uses: actions/upload-artifact@v4 with: - name: brolink-host-windows - path: target/release/brolink-host.exe + name: latch-host-windows + path: target/release/latch-host.exe if-no-files-found: error test-macos: @@ -74,7 +74,7 @@ jobs: - name: test run: cargo test --workspace - name: release app - run: cargo build --release -p brolink-host --target aarch64-apple-darwin + run: cargo build --release -p latch-host --target aarch64-apple-darwin - name: bundle run: bash scripts/bundle-macos.sh @@ -93,7 +93,7 @@ jobs: - name: test run: cargo test --workspace - name: release host - run: cargo build --release -p brolink-host + run: cargo build --release -p latch-host deploy-selftest: runs-on: ubuntu-latest diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 68ba400..6501c90 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -30,7 +30,7 @@ jobs: - name: test run: cargo test --workspace - name: build app - run: cargo build --release -p brolink-host --target aarch64-apple-darwin + run: cargo build --release -p latch-host --target aarch64-apple-darwin # bundle-macos.sh ad-hoc signs and verifies the bundle itself. - name: bundle run: bash scripts/bundle-macos.sh @@ -38,11 +38,25 @@ jobs: run: | cp docs/MACOS.md dist/README-MACOS.md cp LICENSE NOTICE dist/ - cd dist && tar czf brolink-macos-arm64.tar.gz BroLink.app README-MACOS.md LICENSE NOTICE + cd dist && tar czf latch-macos-arm64.tar.gz Latch.app README-MACOS.md LICENSE NOTICE + # A 4.0 updater downloads brolink-macos-arm64.tar.gz and installs the + # BroLink.app inside it. The same app under that folder name is what + # lets it update at all; on its first run it moves itself to Latch.app + # and takes over the launch agent (crates/host/src/unix_setup.rs, + # adopt_legacy_bundle). Nothing in 4.1 or later reads this asset. + - name: package for 4.0 updaters + run: | + mkdir dist/legacy + ditto dist/Latch.app dist/legacy/BroLink.app + cp docs/MACOS.md dist/legacy/README-MACOS.md + cp LICENSE NOTICE dist/legacy/ + cd dist/legacy && tar czf ../brolink-macos-arm64.tar.gz BroLink.app README-MACOS.md LICENSE NOTICE - uses: actions/upload-artifact@v4 with: - name: brolink-macos-arm64 - path: dist/brolink-macos-arm64.tar.gz + name: latch-macos-arm64 + path: | + dist/latch-macos-arm64.tar.gz + dist/brolink-macos-arm64.tar.gz if-no-files-found: error windows: @@ -54,7 +68,7 @@ jobs: - name: test run: cargo test --workspace - name: build - run: cargo build --release -p brolink-host + run: cargo build --release -p latch-host - name: pin matches setup.rs shell: pwsh run: | @@ -74,22 +88,36 @@ jobs: shell: pwsh run: | New-Item -ItemType Directory -Force dist | Out-Null - Copy-Item target\release\brolink-host.exe dist\ + Copy-Item target\release\latch-host.exe dist\ Copy-Item docs\WINDOWS.md dist\README-WINDOWS.md Copy-Item scripts\install-host.ps1, LICENSE, NOTICE dist\ $zip = Join-Path dist $env:ENGINE_ZIP $url = "https://github.com/LizardByte/Sunshine/releases/download/$($env:ENGINE_TAG)/$($env:ENGINE_ZIP)" - curl.exe -sSL -A brolink -o $zip $url + curl.exe -sSL -A latch -o $zip $url if ($LASTEXITCODE -ne 0) { throw "downloading $url failed (curl exit $LASTEXITCODE)" } $got = (Get-FileHash -Algorithm SHA256 -LiteralPath $zip).Hash.ToLower() if ($got -ne $env:ENGINE_SHA256) { throw "engine archive is not $($env:ENGINE_TAG): expected $($env:ENGINE_SHA256), got $got" } - Compress-Archive -Path dist\* -DestinationPath brolink-windows-x64.zip + Compress-Archive -Path dist\* -DestinationPath latch-windows-x64.zip + # A 4.0 Mac takes brolink-host.exe out of brolink-windows-x64.zip and + # sends it to each PC. The new program under the old name is what lets + # it update the PC; nothing in 4.1 or later reads this asset. + - name: package for 4.0 updaters + shell: pwsh + run: | + New-Item -ItemType Directory -Force legacy | Out-Null + Copy-Item target\release\latch-host.exe legacy\brolink-host.exe + Copy-Item docs\WINDOWS.md legacy\README-WINDOWS.md + Copy-Item scripts\install-host.ps1, LICENSE, NOTICE legacy\ + Copy-Item (Join-Path dist $env:ENGINE_ZIP) legacy\ + Compress-Archive -Path legacy\* -DestinationPath brolink-windows-x64.zip - uses: actions/upload-artifact@v4 with: - name: brolink-windows-x64 - path: brolink-windows-x64.zip + name: latch-windows-x64 + path: | + latch-windows-x64.zip + brolink-windows-x64.zip if-no-files-found: error publish: @@ -133,7 +161,7 @@ jobs: esac gh release create "${GITHUB_REF_NAME}" \ --repo "${GITHUB_REPOSITORY}" \ - --title "BroLink ${GITHUB_REF_NAME}" \ + --title "Latch ${GITHUB_REF_NAME}" \ $NOTES \ $PRE \ artifacts/*/* diff --git a/CHANGELOG.md b/CHANGELOG.md index dfd24f5..10b5637 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,12 +4,36 @@ The release workflow publishes the section that matches the tag as the GitHub release notes, so each version gets a heading of the form `## X.Y.Z (date)`. -## Unreleased - +## 4.1.0 (2026-10-02) + +- **BroLink is now Latch, by Bardbro.** The app, the repository + (`github.com/MrBeldum/latch`), the release files (`latch-macos-arm64.tar.gz`, + `latch-windows-x64.zip`), the executables (`Latch.app`, `latch-host.exe`), + the services and login items, the environment variables (`LATCH_*`) and + bardbro.com all carry the new name, with a new logo: a square with a + corner cut away, and a blue square in the cut. Bardbro is the + project behind it, for cloud gaming. +- An installed BroLink updates itself to Latch. Settings, the pairing + identity, paired devices and the streaming engine carry over. On a Mac + the app moves from `BroLink.app` to `Latch.app` the first time it runs + and its login item with it; on Linux `latch.service` replaces + `brolink.service`; on Windows the host keeps working in place, and + `install-host.ps1` followed by **Set up as administrator** moves it to + `%LOCALAPPDATA%\Latch`, the `LatchStream` service and the new firewall + rule names. Machines on either name still find each other, and a 4.1 Mac + can still update a 4.0 PC. The release also carries + `brolink-macos-arm64.tar.gz` and `brolink-windows-x64.zip`, which are the + same builds under the old file names, because a 4.0 updater looks for + nothing else. Everything that still says BroLink is in + `crates/core/src/legacy.rs` and `crates/host/src/legacy.rs`. +- `LATCH_DATA_DIR` and `LATCH_GITHUB_TOKEN` replace the `BROLINK_` names, + which still work. The Docker node and relay read `LATCH_*`. +- The About page names Bardbro and links to bardbro.com. The accent + colour for focus and progress is the logo's blue, where it was violet. - The window is redesigned around one design system, in the product site's black, white and hairlines, set in Geist and Geist Mono. Colour now means something: green for ready, amber for needs attention, red - for broken, and the logo's violet only for keyboard focus and + for broken, and the logo's blue only for keyboard focus and progress. Every text colour meets WCAG AA on every surface it sits on; the old footer and captions did not. - Tabs across the top: **Machines**, **Sharing** and **Settings** @@ -65,7 +89,7 @@ GitHub release notes, so each version gets a heading of the form Tailscale account. Since 4.0.0 it answered any machine Tailscale could name, so a machine shared in from someone else's tailnet could pair with the PC, sleep or restart it, read and write its clipboard, and push it a - new `brolink-host.exe`. A tagged server such as the relay VPS belongs to + new `latch-host.exe`. A tagged server such as the relay VPS belongs to no account, so it answers the members of its own tailnet, which keeps a Mac able to open the VPS desktop. - Text copied on a Mac or Linux machine you are streaming from now reaches @@ -77,15 +101,15 @@ GitHub release notes, so each version gets a heading of the form - A Windows PC whose pushed update crashes on start keeps the version it had. The service used to exit as soon as the new executable had been launched, so a replacement that died straight away left the PC with no - BroLink service until someone logged in again. It now waits two seconds, + Latch service until someone logged in again. It now waits two seconds, and puts the previous executable back if the new one has already exited. The PC's log says so, and the Mac warns once instead of sending the same release again every three minutes. - Update downloads try each of a server's addresses in turn. Only the first one the name resolved to was ever tried, so one unreachable address (an IPv6 one on a network without IPv6, say) failed the whole update check. -- `brolink-host.exe`'s version details (Explorer's Details tab) named the - wrong licence, MIT; they now say GPL-3.0-or-later, the licence BroLink +- `latch-host.exe`'s version details (Explorer's Details tab) named the + wrong licence, MIT; they now say GPL-3.0-or-later, the licence Latch and moonlight-common-c are under. - Windows setup no longer breaks on a network adapter whose name holds a `"` or a `$`. The name was written into a double-quoted PowerShell @@ -100,7 +124,7 @@ GitHub release notes, so each version gets a heading of the form would try to send other Windows PCs their update with a Mac-only unzip, failing every few minutes. Its settings now say that updates arrive from the Mac. -- Installing BroLink Host through the stream (for a PC on 3.0) can finish +- Installing Latch Host through the stream (for a PC on 3.0) can finish on a Mac. The Mac served the file from a socket that macOS left non-blocking, so sending the executable stopped as soon as the network buffer filled and the PC rejected the truncated download. @@ -117,10 +141,10 @@ GitHub release notes, so each version gets a heading of the form and the network line only when the NAT itself changes. - When the Mac's sound output changes mid-stream (AirPods connect, say), the stream's stats name the device the sound moved to. macOS already - moved it; BroLink kept naming the old one and logged a warning. + moved it; Latch kept naming the old one and logged a warning. - A host update that lands is no longer reported as a failure. A PC can take the new executable and restart before its reply reaches the Mac; - the Mac then retried, heard "this PC already runs BroLink Host 4.0.2", + the Mac then retried, heard "this PC already runs Latch Host 4.0.2", and showed "Could not update" in red. It now asks the PC which version it runs before calling a push failed. - Cancel stops a connection attempt straight away while the PC is not @@ -176,11 +200,11 @@ GitHub release notes, so each version gets a heading of the form duplicate every ten seconds for the rest of the session and a service launchd started at login is no longer killed by its own registration. Turning the login item off in the panel leaves the running service alone. -- Only a Windows PC accepts a pushed `brolink-host.exe`; a Mac or a +- Only a Windows PC accepts a pushed `latch-host.exe`; a Mac or a container answers 400 instead of trying to swap it in, and the Mac only sends one to Windows machines. - Elevated Windows setup approved with another administrator's password - reads and writes the launching user's BroLink folder, so the engine login + reads and writes the launching user's Latch folder, so the engine login it configures is that user's. - The updater takes the window's locks in the window's order; the reverse could hang the app when an update was ready just as a stream ended. @@ -206,15 +230,15 @@ GitHub release notes, so each version gets a heading of the form packets, no extra 500 kbps tax, and the bitrate is sent at launch as well as over RTSP. - The streaming engine is not a second app. Status, logs, the Dock and - the app list say BroLink; only Desktop is launched. + the app list say Latch; only Desktop is launched. -- BroLink is a mesh. Every install lists every other machine on the +- Latch is a mesh. Every install lists every other machine on the Tailscale account — Windows, Mac, Linux, a VPS container — and Connect opens that desktop. The same app shares this machine: Mac and Linux install the streaming engine; Windows still does. There is no designated host or client role. - `deploy/node/` is a Docker kit for a VPS or any container: a virtual - desktop, the streaming engine, BroLink's control service, and optional + desktop, the streaming engine, Latch's control service, and optional Tailscale userspace so the container is its own machine. Several copies on one host are several machines. The packet relay stays `deploy/relay/`. - Stream bitrate holds the target instead of swinging with the scene. @@ -245,7 +269,7 @@ GitHub release notes, so each version gets a heading of the form - Every Tailscale CLI call is bounded (10 s; the per-request `whois` 2 s), and its output is drained while it runs, so a slow or chatty CLI cannot hang the window or the control service. -- Host setup runs `brolink-host --setup-elevated` after UAC, writes its +- Host setup runs `latch-host --setup-elevated` after UAC, writes its script under `%SystemRoot%\Temp` (administrators only) and passes the engine take-over helper as an encoded command, instead of running a user-writable `setup.ps1`. Repair setup registers the engine service when @@ -254,7 +278,7 @@ GitHub release notes, so each version gets a heading of the form username is not expanded. The logon task for the take-over helper runs with limited rights. - The engine login is written as the engine's own hashed credentials file - (`brolink-web.json`, `credentials_file =` in `sunshine.conf`) instead of + (`latch-web.json`, `credentials_file =` in `sunshine.conf`) instead of `sunshine --creds` on a command line, and the engine's web API is called with the password on stdin (`curl --config -`), so neither the setup log nor the process list shows it. The Docker node does the same through @@ -268,7 +292,7 @@ GitHub release notes, so each version gets a heading of the form until moonlight's detached termination thread has nowhere to call; a decode unit whose buffer list overruns its declared length is refused. - The migration check reads the installed engine's real kind instead of - labelling every install "BroLink". The macOS launch agent and Linux user + labelling every install "Latch". The macOS launch agent and Linux user unit escape the executable path, and a failure to register them is reported instead of ignored. Spawned engine and service processes are reaped. A settings save failure shows in the window. @@ -300,7 +324,7 @@ GitHub release notes, so each version gets a heading of the form - The Dock icon is the bundle icns, in macOS's rounded app-icon shape. eframe was replacing it at runtime with a 64-pixel square of the logo, and the icns had been pre-masked with transparent corners, which macOS - 26 draws as a square plate. `scripts/make-macos-icon.py` now fills the + 26 draws as a square plate. `scripts/make-icons.py` now fills the canvas and lets the system apply the shape. - The Windows host icon (Explorer, taskbar, Alt-Tab, the window, and the in-app header) is the same filled tile. The logo's outer pad had left a @@ -320,7 +344,7 @@ GitHub release notes, so each version gets a heading of the form your relay or through Tailscale's; a long round trip adds delay, not a bitrate or frame-rate cap. The engine's own bitrate ceiling is cleared and it is asked to keep frames flowing while the desktop is still. A PC set up - by an earlier BroLink gets the same profile applied once by the service, + by an earlier Latch gets the same profile applied once by the service, between sessions. The quick profiles are now Smooth (1080p · 60 fps · 12 Mbps), Balanced (match screen · 60 · 35) and Sharp (match screen · 60 · 65). @@ -349,7 +373,7 @@ GitHub release notes, so each version gets a heading of the form - A private Tailscale peer relay you run yourself. `deploy/relay/` is a Docker kit for a VPS (UDP 40000, iptables above the cloud REJECT, state volume, wait-for-Running before `tailscale set`). Tailscale's own DERP - stays the fallback; BroLink adds no relay protocol of its own. Settings + stays the fallback; Latch adds no relay protocol of its own. Settings shows a Relay card with the exact state: no relay on this network, a relay that this device is not granted, or ready. Needs Tailscale 1.86 or later on every device. @@ -357,14 +381,14 @@ GitHub release notes, so each version gets a heading of the form goes up to 1440p60 at 40 Mbps by round trip; the DERP and direct tiers are unchanged. Tagged relay nodes never appear in the PC list. - The Windows streaming engine now unpacks from the pinned lite archive to - `C:\Program Files\BroLink\engine` as the "BroLink Streaming" service: + `C:\Program Files\Latch\engine` as the "Latch Streaming" service: no Apps & Features entry, Start Menu shortcut, tray icon or web-UI link. - Firewall rules are named "BroLink". An engine installed earlier by an + Firewall rules are named "Latch". An engine installed earlier by an MSI is migrated in order — copy state, verify, start, prove it listens, then uninstall the MSI — and keeps its pairing and web login; a `config.bak` is left beside it and the old install folder is removed - once the MSI is gone. The engine's processes appear as "BroLink - Streaming" with BroLink's icon in Task Manager, the volume mixer and + once the MSI is gone. The engine's processes appear as "Latch + Streaming" with Latch's icon in Task Manager, the volume mixer and firewall prompts: setup rewrites their version block and icon in place and keeps their copyright and licence strings. The host offers **Update this PC** after @@ -420,7 +444,7 @@ GitHub release notes, so each version gets a heading of the form A hardening release: both apps parse the network more strictly, update themselves more carefully, and the stream validates what the PC sends -before acting on it. Nothing changes in how you use BroLink. +before acting on it. Nothing changes in how you use Latch. ### Control API @@ -428,7 +452,7 @@ before acting on it. Nothing changes in how you use BroLink. proper HTTP line endings and versions, and are refused when they carry chunked encoding, duplicate framing headers or a malformed `Content-Length`. Bodies grow only as bytes arrive. -- BroLink Host checks who is asking before it reads a single header, +- Latch Host checks who is asking before it reads a single header, keeps at most sixteen connections open, and turns away browser requests (including ones a rebound hostname makes look local). @@ -438,10 +462,10 @@ before acting on it. Nothing changes in how you use BroLink. publishes before installing it, stages the new app on the same volume so a failed copy cannot leave a half-installed app, and no longer passes its own path through a shell when relaunching. -- BroLink Host accepts only a 64-bit Windows executable image, installs +- Latch Host accepts only a 64-bit Windows executable image, installs one update at a time, and puts the previous executable back if the new one fails to start. -- BroLink Host no longer rewrites the Windows power plan every few +- Latch Host no longer rewrites the Windows power plan every few seconds; **Keep this PC awake while plugged in** now does exactly that. ### Stream @@ -473,15 +497,15 @@ you across. - The Mac checks GitHub about every six hours and twenty seconds after it starts (Settings has the switch and **Check now**). A newer app is downloaded, checked against the SHA-256 GitHub publishes and against its - own code signature, moved over `/Applications/BroLink.app` once no + own code signature, moved over `/Applications/Latch.app` once no stream is running, and relaunched. -- The Mac sends the new `brolink-host.exe` to every PC whose BroLink Host +- The Mac sends the new `latch-host.exe` to every PC whose Latch Host reports an older version, over the same Tailscale-authenticated control API that can put the PC to sleep (`POST /v1/update`). The host verifies the digest, that the bytes are a Windows executable and a newer version, swaps the file in beside itself and restarts; a running stream is not interrupted. A PC that is asleep gets it the next time the Mac sees it. -- A PC still on 3.0 has no update route. **PC → Update BroLink Host…** in +- A PC still on 3.0 has no update route. **PC → Update Latch Host…** in the stream toolbar installs 3.1 through the stream: the Mac serves the executable on its own Tailscale address to that PC only, presses Win+R, types one PowerShell line and presses Enter; the script checks the @@ -504,12 +528,12 @@ you across. HEVC reference-frame invalidation, so a lost packet costs a repair frame rather than a keyframe. An explicit HEVC choice no longer falls back to H.264. Stats show packet loss, path and quality. -- BroLink Host reads which encoder Sunshine settled on from its log; the +- Latch Host reads which encoder Sunshine settled on from its log; the lobby and the host window warn when it is software encoding. ### Clipboard -- BroLink Host serves `/v1/clipboard` (text only, up to 32 KB). While +- Latch Host serves `/v1/clipboard` (text only, up to 32 KB). While streaming, text copied on the PC is in the Mac's clipboard within a second, and ⌘V on the PC first sends the Mac's text across, then presses Ctrl+V there. Notices under the toolbar say when something @@ -524,7 +548,7 @@ you across. ### Staying reachable -- BroLink Host starts with Windows by default and sets that again at every +- Latch Host starts with Windows by default and sets that again at every service start unless the owner turned it off. It holds the PC awake while plugged in (a new setting, on by default; setup also zeroes the AC sleep timers). The Mac's offer to sleep the PC after a session is off by @@ -539,7 +563,7 @@ you across. format (48 kHz stereo f32 that the DAC refused was silence, with the reason only in the log). A short pre-roll avoids a click on the first packet; stats and a toast say where sound goes, or why it does not. -- BroLink Host reads Sunshine's log for a failed audio capture (no +- Latch Host reads Sunshine's log for a failed audio capture (no speakers, a missing sink). The lobby and the host window say so, with how to add a virtual device. @@ -564,7 +588,7 @@ you across. held. - VideoToolbox recreates its session after sleep/wake or a GPU reset instead of staying on a black picture until reconnect. -- An old BroLink Host window no longer kills a just-updated service in a +- An old Latch Host window no longer kills a just-updated service in a loop; it relaunches itself from the new exe. - Setup scripts are UTF-8 with a BOM, so a Korean Windows username or adapter name is not mangled, and the Sunshine installer path is quoted @@ -593,7 +617,7 @@ you across. ## 2.0.0 (2026-09-05) -- Built on Sunshine, Moonlight and Tailscale; BroLink keeps wake, pairing +- Built on Sunshine, Moonlight and Tailscale; Latch keeps wake, pairing and power. ## 1.2.0 (2026-09-05) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d648c2f..16bc832 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -12,16 +12,16 @@ cargo clippy --workspace --all-targets -- -D warnings cargo test --workspace ``` -`BROLINK_SKIP_C=1` skips the C build for a quick cross-target check, for -example `BROLINK_SKIP_C=1 cargo check -p brolink-client --target +`LATCH_SKIP_C=1` skips the C build for a quick cross-target check, for +example `LATCH_SKIP_C=1 cargo check -p latch-client --target aarch64-apple-darwin` from Windows after `rustup target add`. -`cargo test` and `cargo run` keep BroLink's settings, pairing identity and -logs in `target/brolink-data` (`.cargo/config.toml` sets -`BROLINK_DATA_DIR`), so neither touches an installed BroLink's files. To +`cargo test` and `cargo run` keep Latch's settings, pairing identity and +logs in `target/latch-data` (`.cargo/config.toml` sets +`LATCH_DATA_DIR`), so neither touches an installed Latch's files. To point a development build at an installed one's data on purpose, set -`BROLINK_DATA_DIR` yourself, for example to `%LOCALAPPDATA%\BroLink` on -the development PC before `cargo run -p brolink-host -- --background`. +`LATCH_DATA_DIR` yourself, for example to `%LOCALAPPDATA%\Latch` on +the development PC before `cargo run -p latch-host -- --background`. ## Where things live @@ -31,11 +31,11 @@ the development PC before `cargo run -p brolink-host -- --background`. windows or Tailscale. The vendored moonlight-common-c, what was trimmed from it and its two local patches are described in `third_party/moonlight-common-c/VERSION`. -- `crates/client`: the viewer UI (a library plus `brolink-client`). +- `crates/client`: the viewer UI (a library plus `latch-client`). `session.rs` is the path from a listed machine to a live stream; `stream.rs` is the toolbar and input while streaming; `video.rs` draws frames with wgpu. -- `crates/host`: the node (`brolink-host`): control service, engine setup, +- `crates/host`: the node (`latch-host`): control service, engine setup, and the unified window that both views other machines and shares this one. Windows administrator work stays in the generated setup script in `setup.rs`. macOS/Linux setup is `unix_setup.rs`. @@ -51,7 +51,7 @@ keep their meaning. ## Seeing the UI without a Mac or a PC ```bash -cargo test -p brolink-client -p brolink-host snapshots -- --ignored +cargo test -p latch-client -p latch-host snapshots -- --ignored ``` renders every screen to `target/ui-snapshots/*.png`: each state of the @@ -69,19 +69,19 @@ something new adds it there, with accesskit info and a focus ring. ## Tests against a real Sunshine -With Sunshine running on the development PC and BroLink Host's service -started (`cargo run -p brolink-host -- --background`, pointed at the +With Sunshine running on the development PC and Latch Host's service +started (`cargo run -p latch-host -- --background`, pointed at the installed data directory as above so it has the engine login): ```bash -cargo test -p brolink-stream pair_real -- --ignored --nocapture # five-phase pairing -cargo test -p brolink-stream stream_real -- --ignored --nocapture # ten seconds of video -BROLINK_DEV_LOCAL=1 cargo test -p brolink-client stream_snapshot -- --ignored --nocapture -cargo test -p brolink-client wake_test_real -- --ignored # wake packet round trip +cargo test -p latch-stream pair_real -- --ignored --nocapture # five-phase pairing +cargo test -p latch-stream stream_real -- --ignored --nocapture # ten seconds of video +LATCH_DEV_LOCAL=1 cargo test -p latch-client stream_snapshot -- --ignored --nocapture +cargo test -p latch-client wake_test_real -- --ignored # wake packet round trip ``` -`BROLINK_DEV_LOCAL=1` also makes the client app list this PC at 127.0.0.1, -so `cargo run -p brolink-client` on Windows streams the PC to itself for +`LATCH_DEV_LOCAL=1` also makes the client app list this PC at 127.0.0.1, +so `cargo run -p latch-client` on Windows streams the PC to itself for trying the toolbar and input. The Windows client decodes with OpenH264 in software; that path exists for @@ -91,18 +91,18 @@ On a Mac, the snapshot test can use an already saved PC and its existing pairing. It verifies decoded video, renders the stream, and disconnects: ```bash -BROLINK_TEST_PC='Gaming-PC' cargo test -p brolink-client stream_snapshot -- --ignored --nocapture -cargo test -p brolink-client decoded_frame_reaches -- --ignored +LATCH_TEST_PC='Gaming-PC' cargo test -p latch-client stream_snapshot -- --ignored --nocapture +cargo test -p latch-client decoded_frame_reaches -- --ignored ``` -`stream_real` streams from another machine too: `BROLINK_TEST_IP` is its -Tailscale address, `BROLINK_TEST_DIR` a directory holding copies of the files in the +`stream_real` streams from another machine too: `LATCH_TEST_IP` is its +Tailscale address, `LATCH_TEST_DIR` a directory holding copies of the files in the Mac's `identity/` directory and the PC's certificate as `server.der`, and -`BROLINK_TEST_WIDTH`, `_HEIGHT`, `_FPS`, `_BITRATE_KBPS`, `_SECONDS` and -`BROLINK_TEST_HEVC=1` shape the stream. +`LATCH_TEST_WIDTH`, `_HEIGHT`, `_FPS`, `_BITRATE_KBPS`, `_SECONDS` and +`LATCH_TEST_HEVC=1` shape the stream. -`BROLINK_TEST_CODEC=h264` or `hevc` selects the codec. A black capture fails -the live test by default; `BROLINK_TEST_EXPECT_BLACK=1` instead verifies the +`LATCH_TEST_CODEC=h264` or `hevc` selects the codec. A black capture fails +the live test by default; `LATCH_TEST_EXPECT_BLACK=1` instead verifies the persistent black-picture diagnosis when testing a PC without an active display. The GPU test uses a synthetic NV12 image to check that the picture is drawn with the correct orientation and range and retained between frames. diff --git a/Cargo.lock b/Cargo.lock index c4f01d0..195261e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -688,103 +688,6 @@ dependencies = [ "piper", ] -[[package]] -name = "brolink-client" -version = "4.0.2" -dependencies = [ - "anyhow", - "brolink-core", - "brolink-stream", - "brolink-ui", - "eframe", - "egui", - "egui-wgpu", - "egui_kittest", - "image", - "parking_lot", - "rand", - "semver", - "serde", - "serde_json", - "toml 0.8.23", - "tracing", - "tracing-subscriber", -] - -[[package]] -name = "brolink-core" -version = "4.0.2" -dependencies = [ - "anyhow", - "directories", - "if-addrs", - "image", - "rustls", - "semver", - "serde", - "serde_json", - "sha2", - "toml 0.8.23", - "tracing", - "webpki-roots", -] - -[[package]] -name = "brolink-host" -version = "4.0.2" -dependencies = [ - "anyhow", - "arboard", - "brolink-client", - "brolink-core", - "brolink-ui", - "clap", - "eframe", - "egui_kittest", - "image", - "parking_lot", - "rand", - "semver", - "serde", - "serde_json", - "toml 0.8.23", - "tracing", - "tracing-subscriber", - "windows 0.58.0", - "winresource", -] - -[[package]] -name = "brolink-stream" -version = "4.0.2" -dependencies = [ - "aes", - "aes-gcm", - "anyhow", - "audiopus_sys", - "brolink-core", - "cbc", - "cc", - "cpal", - "openh264", - "parking_lot", - "rand", - "rcgen", - "rsa", - "rustls", - "sha2", - "tracing", - "x509-parser", -] - -[[package]] -name = "brolink-ui" -version = "4.0.2" -dependencies = [ - "brolink-core", - "egui", -] - [[package]] name = "bumpalo" version = "3.20.3" @@ -2209,6 +2112,103 @@ dependencies = [ "parking_lot", ] +[[package]] +name = "latch-client" +version = "4.1.0" +dependencies = [ + "anyhow", + "eframe", + "egui", + "egui-wgpu", + "egui_kittest", + "image", + "latch-core", + "latch-stream", + "latch-ui", + "parking_lot", + "rand", + "semver", + "serde", + "serde_json", + "toml 0.8.23", + "tracing", + "tracing-subscriber", +] + +[[package]] +name = "latch-core" +version = "4.1.0" +dependencies = [ + "anyhow", + "directories", + "if-addrs", + "image", + "rustls", + "semver", + "serde", + "serde_json", + "sha2", + "toml 0.8.23", + "tracing", + "webpki-roots", +] + +[[package]] +name = "latch-host" +version = "4.1.0" +dependencies = [ + "anyhow", + "arboard", + "clap", + "eframe", + "egui_kittest", + "image", + "latch-client", + "latch-core", + "latch-ui", + "parking_lot", + "rand", + "semver", + "serde", + "serde_json", + "toml 0.8.23", + "tracing", + "tracing-subscriber", + "windows 0.58.0", + "winresource", +] + +[[package]] +name = "latch-stream" +version = "4.1.0" +dependencies = [ + "aes", + "aes-gcm", + "anyhow", + "audiopus_sys", + "cbc", + "cc", + "cpal", + "latch-core", + "openh264", + "parking_lot", + "rand", + "rcgen", + "rsa", + "rustls", + "sha2", + "tracing", + "x509-parser", +] + +[[package]] +name = "latch-ui" +version = "4.1.0" +dependencies = [ + "egui", + "latch-core", +] + [[package]] name = "lazy_static" version = "1.5.0" diff --git a/Cargo.toml b/Cargo.toml index be660af..d37bdff 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,20 +9,20 @@ members = [ ] [workspace.package] -version = "4.0.2" +version = "4.1.0" edition = "2021" license = "GPL-3.0-or-later" -authors = ["BroLink Contributors"] +authors = ["Latch Contributors"] description = "Your machines, on any of your machines" -repository = "https://github.com/MrBeldum/brolink" -homepage = "https://github.com/MrBeldum/brolink" +repository = "https://github.com/MrBeldum/latch" +homepage = "https://github.com/MrBeldum/latch" readme = "README.md" [workspace.dependencies] -brolink-core = { path = "crates/core", version = "4.0.0" } -brolink-stream = { path = "crates/stream", version = "4.0.0" } -brolink-ui = { path = "crates/ui", version = "4.0.0" } -brolink-client = { path = "crates/client", version = "4.0.0" } +latch-core = { path = "crates/core", version = "4.0.0" } +latch-stream = { path = "crates/stream", version = "4.0.0" } +latch-ui = { path = "crates/ui", version = "4.0.0" } +latch-client = { path = "crates/client", version = "4.0.0" } anyhow = "1" serde = { version = "1", features = ["derive"] } serde_json = "1" diff --git a/NOTICE b/NOTICE index cd702ec..bb57af1 100644 --- a/NOTICE +++ b/NOTICE @@ -1,5 +1,5 @@ -BroLink -Copyright (c) 2026 BroLink Contributors +Latch +Copyright (c) 2026 Latch Contributors Licensed under the GNU General Public License, version 3 or later (LICENSE). Compiled into the client (crates/stream): @@ -15,14 +15,14 @@ Compiled into the client (crates/stream): It is built from source, so Cisco's binary patent grant does not cover it. https://github.com/cisco/openh264 -Shipped inside brolink-windows-x64.zip and installed by setup: +Shipped inside latch-windows-x64.zip and installed by setup: Sunshine, GPL-3.0, LizardByte. The unmodified Windows lite archive (Sunshine-Windows-AMD64-lite.zip); the version is pinned in crates/host/src/setup.rs and .github/workflows/release.yml and its source is at https://github.com/LizardByte/Sunshine On the PC, setup gives the unpacked sunshine.exe and sunshinesvc.exe - BroLink's description, product name and icon (crates/host/src/brand.rs); + Latch's description, product name and icon (crates/host/src/brand.rs); their copyright, licence and version strings are kept as shipped. Used when present, never redistributed: diff --git a/README.md b/README.md index 707e74f..d2b63f1 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,20 @@ -# BroLink + + + Latch + + +# Latch + +Latch is made by [Bardbro](https://bardbro.com), a personal project for +cloud gaming. Your machines, on any of your machines: stream a desktop full screen over -Tailscale. Mac, Windows, Linux, and a VPS container all run the same BroLink +Tailscale. Mac, Windows, Linux, and a VPS container all run the same Latch app. Each one lists the others and can Connect; each one can share its own desktop. On a Mac, frames are decoded with VideoToolbox. On Windows and Linux the -viewer uses OpenH264. Sharing uses the streaming engine BroLink installs +viewer uses OpenH264. Sharing uses the streaming engine Latch installs (Sunshine): bundled in the Windows zip, downloaded on first Mac setup, and shipped in the Docker node image for a VPS. @@ -15,11 +23,11 @@ machine answers only peers signed in to the same Tailscale account. ## How a session goes -1. Open BroLink. **Machines** lists every machine on your Tailscale +1. Open Latch. **Machines** lists every machine on your Tailscale account, with a dot and a line for what it can do right now. The **Sharing** tab sets up the streaming engine so others can Connect here. -2. Click **Connect**. If a Windows PC is asleep, BroLink wakes it and waits. - The first time, it pairs by itself: the PIN goes to BroLink on that +2. Click **Connect**. If a Windows PC is asleep, Latch wakes it and waits. + The first time, it pairs by itself: the PIN goes to Latch on that machine over Tailscale, which enters it for you. 3. The desktop appears, full screen by default, and nothing else: the mouse is captured the moment you click the picture, as in a game, so @@ -43,18 +51,18 @@ machine answers only peers signed in to the same Tailscale account. 1. Install [Tailscale](https://tailscale.com/download/windows) and sign in with the account you use on the Mac. -2. Download `brolink-windows-x64.zip` from the - [latest release](https://github.com/MrBeldum/brolink/releases/latest) - and unzip it. Run `brolink-host.exe`, or `install-host.ps1` for +2. Download `latch-windows-x64.zip` from the + [latest release](https://github.com/MrBeldum/latch/releases/latest) + and unzip it. Run `latch-host.exe`, or `install-host.ps1` for shortcuts and start-at-logon. 3. On the **Sharing** tab, click **Set up as administrator**. One administrator prompt installs the bundled streaming engine as a Windows service (if none is installed), gives - BroLink a login to it, opens the control port to your tailnet only, + Latch a login to it, opens the control port to your tailnet only, turns Fast Startup off and arms the network card for Wake-on-LAN. The same window lists every other machine on the account; **Connect** opens their desktop. -Advanced engine settings are not exposed; BroLink configures the engine +Advanced engine settings are not exposed; Latch configures the engine itself. Details in [docs/WINDOWS.md](docs/WINDOWS.md). ### Mac (Apple Silicon) @@ -64,20 +72,20 @@ command downloads the app, clears the quarantine flag and copies it to `/Applications`: ```bash -curl -fsSL https://raw.githubusercontent.com/MrBeldum/brolink/main/scripts/install-macos-release.sh | bash +curl -fsSL https://raw.githubusercontent.com/MrBeldum/latch/main/scripts/install-macos-release.sh | bash ``` -Or download `brolink-macos-arm64.tar.gz` from the -[latest release](https://github.com/MrBeldum/brolink/releases/latest) and +Or download `latch-macos-arm64.tar.gz` from the +[latest release](https://github.com/MrBeldum/latch/releases/latest) and ```bash -tar xzf brolink-macos-arm64.tar.gz -xattr -dr com.apple.quarantine BroLink.app -open BroLink.app +tar xzf latch-macos-arm64.tar.gz +xattr -dr com.apple.quarantine Latch.app +open Latch.app ``` The `xattr` step is needed for a browser download because the app is -ad-hoc signed rather than Developer-ID signed. Open BroLink and set up +ad-hoc signed rather than Developer-ID signed. Open Latch and set up sharing on the **Sharing** tab so a Windows PC (or another Mac) can Connect here; macOS will ask for Screen Recording the first time. Details, including the toolbar and keyboard behaviour, in [docs/MACOS.md](docs/MACOS.md). @@ -85,7 +93,7 @@ toolbar and keyboard behaviour, in [docs/MACOS.md](docs/MACOS.md). ### Linux / VPS (Docker) A container that shares a virtual desktop on the tailnet, so Mac and -Windows BroLink can Connect to it. Several copies on one host are several +Windows Latch can Connect to it. Several copies on one host are several machines. See [deploy/node/NODE.md](deploy/node/NODE.md). ```bash @@ -99,16 +107,35 @@ relay, as this project's own VPS does: [deploy/native/README.md](deploy/native/R The packet relay (when two NATs cannot punch through) is a separate kit: [deploy/relay/RELAY.md](deploy/relay/RELAY.md). +## Coming from BroLink + +Latch was called BroLink until 4.1.0. An installed BroLink updates itself +to Latch and keeps its settings, its pairing and its streaming engine, and +every machine that updates can still talk to one that has not yet. + +- **Mac:** the app moves from `BroLink.app` to `Latch.app` the first time + it runs, and its login item with it. +- **Windows:** the host updates in place and keeps working. To move it to + the new folder and names (`%LOCALAPPDATA%\Latch`, `latch-host.exe`, the + `LatchStream` service), run `install-host.ps1` from the new zip, then + **Set up as administrator** once on the **Sharing** tab. +- **Linux:** the first start registers `latch.service` and retires + `brolink.service`. The files in `deploy/native/` have new names; see + [deploy/native/README.md](deploy/native/README.md). + +The environment variables beginning `BROLINK_` are now `LATCH_`; for +`LATCH_DATA_DIR` and `LATCH_GITHUB_TOKEN` the old names still work. + ## Updates -BroLink keeps itself current. Every few hours the Mac app asks GitHub for +Latch keeps itself current. Every few hours the Mac app asks GitHub for the latest release. A newer app is downloaded, checked against the digest GitHub publishes and its own code signature, swapped into `/Applications` -once no stream is running, and relaunched. A newer BroLink Host is sent +once no stream is running, and relaunched. A newer Latch Host is sent from the Mac to every PC whose host reports an older version, over the same Tailscale-authenticated control API that can put the PC to sleep; the host verifies the digest, replaces its executable and restarts. That path -updates only `brolink-host.exe`. The Windows zip on GitHub also contains +updates only `latch-host.exe`. The Windows zip on GitHub also contains the pinned engine archive for first-time setup; a host update does not install or migrate the engine. A PC that is asleep gets the host update the next time the Mac sees it. Nothing is downloaded on the PC, and @@ -116,7 +143,7 @@ no GitHub login is needed there. Public releases need no GitHub login. If the repository is private, the Mac uses the GitHub token git has stored for github.com, -`BROLINK_GITHUB_TOKEN`, or `github_token` in `client.toml`. Settings has the +`LATCH_GITHUB_TOKEN`, or `github_token` in `client.toml`. Settings has the switch and a **Check now** button. Hosts installed before 3.1 do not have the update route: install that release on the PC once (through the stream works), after which updates are automatic. @@ -124,14 +151,14 @@ after which updates are automatic. ## Staying reachable A PC nobody can get to in person stays reachable when three things hold. -BroLink Host starts with Windows by default and turns this back on at every +Latch Host starts with Windows by default and turns this back on at every start unless the owner switches it off in the host window. The streaming engine runs as a Windows service, so streaming works even before anyone logs in. And the PC's Tailscale node key must not expire: Tailscale keys expire after 180 days unless key expiry is disabled for that machine in the [admin console](https://login.tailscale.com/admin/machines), and an expired -key needs a sign-in at the PC. BroLink shows the expiry of every machine it +key needs a sign-in at the PC. Latch shows the expiry of every machine it lists, this Mac included, until expiry is disabled. Pairing and the PC's addresses are saved on the Mac, so PCs stay listed even while Tailscale on the Mac is off. @@ -140,7 +167,7 @@ the Mac is off. A wake packet has to reach the PC's network card on the PC's own network. Tailscale cannot deliver it, because the sleeping PC's Tailscale is asleep -too. BroLink sends the packet to the LAN broadcast, to the PC's LAN address +too. Latch sends the packet to the LAN broadcast, to the PC's LAN address and to the PC's public address. | Where the Mac is | Asleep | Shut down | @@ -149,7 +176,7 @@ and to the PC's public address. | Elsewhere | needs the PC's router to forward UDP 9 to the PC, or a Tailscale subnet router on that network | same, and the firmware condition | **Test waking it from this network** in a machine's **…** menu settles it for the network you are -on: it sends the packet while the PC is awake and asks BroLink there whether +on: it sends the packet while the PC is awake and asks Latch there whether it arrived. Setup on the PC takes care of Windows' side (Fast Startup off, the adapter's wake keywords, wake allowed in power management). Wired Ethernet is strongly preferred; most Wi-Fi adapters cannot wake a PC. @@ -165,9 +192,9 @@ Ethernet is strongly preferred; most Wi-Fi adapters cannot wake a PC. firewall rule setup adds is scoped to `100.64.0.0/10`. - The stream is the GameStream protocol (moonlight-common-c on the viewer, Sunshine on the host), encrypted, inside Tailscale (WireGuard), with - certificate pairing on top; BroLink pins the PC's certificate after the + certificate pairing on top; Latch pins the PC's certificate after the first pairing. -- No BroLink account or password exists. The engine login BroLink +- No Latch account or password exists. The engine login Latch generates stays on the PC. - Remote power actions can be turned off in the host window. @@ -177,7 +204,7 @@ Needs Rust, a C compiler (MSVC Build Tools or Xcode command line tools) and CMake (for the Opus decoder). ```powershell -cargo build --release -p brolink-host # Windows +cargo build --release -p latch-host # Windows ``` ```bash @@ -200,7 +227,7 @@ crates/stream the stream client: pairing, launch, protocol, decode, audio crates/host node: control service, engine setup, unified window (view + share) crates/client viewer UI: machine list, wake, pair, stream window and toolbar crates/ui theme and widgets shared by both windows -deploy/node/ Docker kit: virtual desktop + engine + BroLink on a VPS +deploy/node/ Docker kit: virtual desktop + engine + Latch on a VPS deploy/native/ systemd user units for the same desktop without Docker deploy/relay/ Docker kit: Tailscale peer relay third_party/ moonlight-common-c (GPL-3.0), vendored; VERSION says what and why @@ -210,8 +237,8 @@ scripts/ installers and the macOS bundle ## License -GPL-3.0-or-later; see [LICENSE](LICENSE). BroLink compiles in +GPL-3.0-or-later; see [LICENSE](LICENSE). Latch compiles in moonlight-common-c (GPL-3.0) and ships Sunshine's Windows lite archive (GPL-3.0) unmodified; on the PC, setup gives the unpacked executables -BroLink's name and icon and keeps their copyright and licence strings. +Latch's name and icon and keeps their copyright and licence strings. Third-party notices are in [NOTICE](NOTICE). diff --git a/crates/client/BroLink.icns b/crates/client/BroLink.icns deleted file mode 100644 index 5a6d0617bf46e46ac5f462f766c1309f448d9636..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 972113 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�t@X%Q<5XQ-PH;DlqDRk5W1*cjBqIcorZG0iq!R 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�_)(Vfkxr(YkhYkh}y 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

  • Zy|7&EzVpauAunJL! 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ξ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Ⓢxu+2lHEK>NB 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 Ci6YVf diff --git a/crates/client/Cargo.toml b/crates/client/Cargo.toml index 8615bf5..7cf0a4b 100644 --- a/crates/client/Cargo.toml +++ b/crates/client/Cargo.toml @@ -1,23 +1,23 @@ [package] -name = "brolink-client" +name = "latch-client" version.workspace = true edition.workspace = true license.workspace = true authors.workspace = true -description = "BroLink: view and share machines on your tailnet" +description = "Latch: view and share machines on your tailnet" [lib] -name = "brolink_client" +name = "latch_client" path = "src/lib.rs" [[bin]] -name = "brolink-client" +name = "latch-client" path = "src/main.rs" [dependencies] -brolink-core.workspace = true -brolink-stream.workspace = true -brolink-ui.workspace = true +latch-core.workspace = true +latch-stream.workspace = true +latch-ui.workspace = true anyhow.workspace = true serde = { workspace = true } serde_json.workspace = true diff --git a/crates/client/Latch.icns b/crates/client/Latch.icns new file mode 100644 index 0000000000000000000000000000000000000000..8fc96c491cca79c72cc9f04b266a2bc9eb497a39 GIT binary patch literal 49474 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 XZ0_vlQwpXIU&i_Ww1tOXe~11TWGrD^ literal 0 HcmV?d00001 diff --git a/crates/client/src/app.rs b/crates/client/src/app.rs index ecb3131..34ed685 100644 --- a/crates/client/src/app.rs +++ b/crates/client/src/app.rs @@ -12,29 +12,30 @@ use crate::session::{ use crate::share; use crate::stream::{self, Action, Env}; use crate::update; -use brolink_core::api::PowerAction; -use brolink_core::tailscale; -use brolink_stream::Event; -use brolink_ui::{self as ui, column, space, Icon, Tone, PALETTE as P}; use eframe::egui; +use latch_core::api::PowerAction; +use latch_core::tailscale; +use latch_stream::Event; +use latch_ui::{self as ui, column, space, Icon, Tone, PALETTE as P}; use parking_lot::Mutex; use semver::Version; use std::sync::atomic::{AtomicBool, Ordering}; use std::sync::Arc; use std::time::{Duration, Instant}; -const RELAY_NONE: &str = "When two machines can't reach each other directly, Tailscale's relays carry the stream. For a shorter detour, run your own relay with BroLink's deploy kit."; +const RELAY_NONE: &str = "When two machines can't reach each other directly, Tailscale's relays carry the stream. For a shorter detour, run your own relay with Latch's deploy kit."; const RELAY_READY: &str = "Your relay carries streams between machines that can't connect directly."; const RELAY_OFFLINE: &str = "Your relay is offline. Until it is back, Tailscale's relays carry streams between machines that can't connect directly."; -const RELAY_CHECKING: &str = "A relay is on this tailnet, but BroLink couldn't confirm that this device may use it. That does not mean access is denied. Peer relays need Tailscale 1.86 or later on every device."; +const RELAY_CHECKING: &str = "A relay is on this tailnet, but Latch couldn't confirm that this device may use it. That does not mean access is denied. Peer relays need Tailscale 1.86 or later on every device."; const RELAY_UNAVAILABLE: &str = "A relay is on this tailnet but isn't available to this device yet. That does not mean access is denied: check that the relay is configured, and add this grant to the tailnet policy if it is missing."; #[cfg(test)] const RELAY_UNGRANTED: &str = "A relay node is online but this device is not granted access."; const RELAY_GRANT: &str = "{\n \"src\": [\"autogroup:member\"],\n \"dst\": [\"tag:relay\"],\n \"app\": {\n \"tailscale.com/cap/relay\": []\n }\n}"; const RELAY_DOCS: &str = "https://tailscale.com/docs/features/peer-relay"; -const DOWNLOAD_URL: &str = "https://github.com/MrBeldum/brolink/releases/latest"; -const SOURCE_URL: &str = "https://github.com/MrBeldum/brolink"; +const DOWNLOAD_URL: &str = "https://github.com/MrBeldum/latch/releases/latest"; +const SOURCE_URL: &str = "https://github.com/MrBeldum/latch"; +const MAKER_URL: &str = "https://bardbro.com"; /// How long a one-line result stays on the machine list. const NOTICE_FOR: Duration = Duration::from_secs(12); @@ -117,7 +118,7 @@ pub struct ClientApp { /// its way. Asked for once per stream, by the thread that answers. video_help: Arc>>, asked_about_video: bool, - /// An install of BroLink Host through the stream, while it runs and a + /// An install of Latch Host through the stream, while it runs and a /// little after. handover: Option, display_at_connect: (u32, u32), @@ -225,7 +226,7 @@ impl ClientApp { tracing::warn!("could not save settings: {e:#}"); self.notice = Some(( Tone::Danger, - format!("Couldn't save settings: {e}. They apply until BroLink quits."), + format!("Couldn't save settings: {e}. They apply until Latch quits."), Instant::now(), )); } @@ -420,7 +421,7 @@ impl ClientApp { self.view.toast( Tone::Warning, format!( - "{} has no sound to send: it reports “{problem}”. Its Sharing page in BroLink says more.", + "{} has no sound to send: it reports “{problem}”. Its Sharing page in Latch says more.", live.pc ), ); @@ -665,7 +666,7 @@ impl eframe::App for ClientApp { self.shortcuts(ctx); ui::top_bar(ctx, "top", |ui| { - self.brand.lockup(ui, "BroLink"); + self.brand.lockup(ui, "Latch"); ui.add_space(space::XL); let mut pages = vec![(Page::Machines, "Machines", chord("1"))]; if self.share_page.is_some() { @@ -692,7 +693,7 @@ impl eframe::App for ClientApp { }); ui::bottom_bar(ctx, "bottom", |ui| { - let mut line = format!("BroLink {}", env!("CARGO_PKG_VERSION")); + let mut line = format!("Latch {}", env!("CARGO_PKG_VERSION")); if !disc.login.is_empty() { line.push_str(&format!(" · {}", disc.login)); } @@ -782,7 +783,7 @@ impl ClientApp { ui, Tone::Danger, "Tailscale isn't installed", - Some("BroLink finds your machines and connects to them through Tailscale. Install it and sign in with the account your other machines use; they appear here within seconds."), + Some("Latch finds your machines and connects to them through Tailscale. Install it and sign in with the account your other machines use; they appear here within seconds."), |ui| { if ui::primary_button(ui, "Get Tailscale").clicked() { let url = if cfg!(windows) { @@ -896,10 +897,10 @@ impl ClientApp { ui::strong(ui, "No other machines yet"); ui::caption( ui, - "Install BroLink on another computer and sign in to Tailscale there with the same account. It appears here within a few seconds.", + "Install Latch on another computer and sign in to Tailscale there with the same account. It appears here within a few seconds.", ); ui.add_space(space::XS); - if ui::link(ui, "Download BroLink").clicked() { + if ui::link(ui, "Download Latch").clicked() { ui.ctx().open_url(egui::OpenUrl::new_tab(DOWNLOAD_URL)); } } @@ -929,7 +930,7 @@ impl ClientApp { ), None => ( Tone::Neutral, - "Starting BroLink's background service…".to_string(), + "Starting Latch's background service…".to_string(), ), Some(_) if running => (Tone::Accent, format!("{noun} · Setting up sharing…")), Some(s) if shared && s.setup.is_empty() => ( @@ -1064,14 +1065,14 @@ impl ClientApp { }); } - /// Start installing the newest BroLink Host on the PC through the + /// Start installing the newest Latch Host on the PC through the /// stream. See `handover.rs`. fn start_handover( &mut self, ctx: &egui::Context, ip: std::net::Ipv4Addr, name: &str, - input: brolink_stream::Input, + input: latch_stream::Input, disc: &Discovery, ) { let Some(mac_ip) = disc.self_ip else { @@ -1095,7 +1096,7 @@ impl ClientApp { return; } } - let token = brolink_core::update::token(self.cfg.github_token.as_deref()); + let token = latch_core::update::token(self.cfg.github_token.as_deref()); self.handover = Some(Handover::start( release, token, @@ -1106,7 +1107,7 @@ impl ClientApp { )); self.view.toast( Tone::Neutral, - format!("Installing BroLink Host on {name} through the stream…"), + format!("Installing Latch Host on {name} through the stream…"), ); } @@ -1125,7 +1126,7 @@ impl ClientApp { self.view.toast( Tone::Success, format!( - "{name} now runs BroLink Host {}. Updates arrive by themselves from here on.", + "{name} now runs Latch Host {}. Updates arrive by themselves from here on.", p.version.map(|v| v.to_string()).unwrap_or_default() ), ); @@ -1140,8 +1141,8 @@ impl ClientApp { ui::banner( ui, Tone::Accent, - "Installing a BroLink update", - Some("BroLink restarts itself in a moment. New connections wait until it has."), + "Installing a Latch update", + Some("Latch restarts itself in a moment. New connections wait until it has."), |_| {}, ); return; @@ -1150,7 +1151,7 @@ impl ClientApp { let (title, explain) = match &prog.step { Step::Waking => ( format!("Waking {pc}"), - "BroLink sends wake packets every few seconds. A sleeping machine can take up to two minutes to come back.", + "Latch sends wake packets every few seconds. A sleeping machine can take up to two minutes to come back.", ), Step::Waiting => ( format!("Waiting for {pc}"), @@ -1158,7 +1159,7 @@ impl ClientApp { ), Step::Pairing { .. } => ( format!("Pairing with {pc}"), - "This happens once per machine. BroLink on that machine enters this PIN by itself; nothing needs typing unless it says otherwise below.", + "This happens once per machine. Latch on that machine enters this PIN by itself; nothing needs typing unless it says otherwise below.", ), _ => (format!("Connecting to {pc}"), ""), }; @@ -1370,7 +1371,7 @@ impl ClientApp { if ui::toggle_row( ui, &mut self.cfg.auto_update, - "Keep BroLink up to date", + "Keep Latch up to date", Some("Checks GitHub every few hours, installs new versions of this app, and sends updates to your other machines over Tailscale."), ) { self.dirty = true; @@ -1442,7 +1443,7 @@ impl ClientApp { ui::section(ui, "About", |ui| { ui::setting_row( ui, - &format!("BroLink {}", env!("CARGO_PKG_VERSION")), + &format!("Latch {}", env!("CARGO_PKG_VERSION")), Some("Free software under the GNU GPL, version 3 or later. It builds on Moonlight, Sunshine, Opus and the Geist typeface."), |ui| { if ui::link(ui, "Source code").clicked() { @@ -1451,6 +1452,17 @@ impl ClientApp { }, ); ui::row_separator(ui); + ui::setting_row( + ui, + "Bardbro", + Some("Latch is made by Bardbro, a personal project for cloud gaming."), + |ui| { + if ui::link(ui, "bardbro.com").clicked() { + ui.ctx().open_url(egui::OpenUrl::new_tab(MAKER_URL)); + } + }, + ); + ui::row_separator(ui); ui.add_space(space::XS); ui::disclosure(ui, "about-notices", "Open-source notices", false, |ui| { ui::well(ui, |ui| { @@ -1485,7 +1497,7 @@ fn sentence(s: &str) -> String { } } -/// "This Mac", "This PC": what to call the machine BroLink runs on. +/// "This Mac", "This PC": what to call the machine Latch runs on. fn this_noun(os: &str) -> &'static str { let os = if os.is_empty() { if cfg!(windows) { @@ -1652,7 +1664,7 @@ fn describe(pc: &Pc) -> (Tone, String) { let os = os_label(&pc.os); let at = pc.ip.map(|ip| format!(" · {ip}")).unwrap_or_default(); // A phone on the tailnet is listed, but it will never share a desktop: - // "BroLink isn't installed" would send someone looking for an app. + // "Latch isn't installed" would send someone looking for an app. let lower = pc.os.to_ascii_lowercase(); if lower == "ios" || lower == "android" || lower == "ipados" { let name = if lower == "android" { "Android" } else { "iOS" }; @@ -1666,7 +1678,7 @@ fn describe(pc: &Pc) -> (Tone, String) { return ( Tone::Neutral, match seen { - Some(t) => format!("{os} · Last seen {}", brolink_core::dates::ymd(t)), + Some(t) => format!("{os} · Last seen {}", latch_core::dates::ymd(t)), None => format!("{os} · Not seen yet"), }, ); @@ -1675,7 +1687,7 @@ fn describe(pc: &Pc) -> (Tone, String) { return if pc.can_wake() { ( Tone::Neutral, - format!("{os} · Asleep or off · BroLink can wake it"), + format!("{os} · Asleep or off · Latch can wake it"), ) } else { ( @@ -1696,8 +1708,8 @@ fn describe(pc: &Pc) -> (Tone, String) { format!("{os}{at} · Sharing needs attention there"), ), (Some(_), false) => (Tone::Neutral, format!("{os}{at} · Not shared yet")), - (None, true) => (Tone::Success, format!("{os}{at}{path} · Without BroLink")), - (None, false) => (Tone::Neutral, format!("{os}{at} · BroLink isn't installed")), + (None, true) => (Tone::Success, format!("{os}{at}{path} · Without Latch")), + (None, false) => (Tone::Neutral, format!("{os}{at} · Latch isn't installed")), } } @@ -1726,7 +1738,7 @@ fn path_warnings(disc: &Discovery) -> Vec { if let Some(h) = &pc.host { if h.streamer.encoder == "software" { out.push(format!( - "{} encodes video in software: it has no GPU encoder BroLink can use, so every CPU core does the work. A still desktop holds the bitrate you set; fast motion may drop frames.", + "{} encodes video in software: it has no GPU encoder Latch can use, so every CPU core does the work. A still desktop holds the bitrate you set; fast motion may drop frames.", pc.name )); } @@ -1737,7 +1749,7 @@ fn path_warnings(disc: &Discovery) -> Vec { )); } if let Ok(v) = Version::parse(&h.version) { - if !brolink_core::update::host_can_receive_update(&v) { + if !latch_core::update::host_can_receive_update(&v) { out.push(update::old_host_message(&pc.name, &v)); } } @@ -1812,12 +1824,12 @@ mod tests { assert!(line(&pc).contains("Asleep")); assert!(line(&pc).contains("can wake it")); pc.online = true; - assert!(line(&pc).contains("BroLink isn't installed")); + assert!(line(&pc).contains("Latch isn't installed")); assert_eq!(describe(&pc).0, Tone::Neutral); pc.sunshine = true; - assert!(line(&pc).contains("Without BroLink")); + assert!(line(&pc).contains("Without Latch")); assert!(line(&pc).len() < 80, "{}", line(&pc)); - pc.host = Some(brolink_core::api::Status::default()); + pc.host = Some(latch_core::api::Status::default()); assert_eq!( describe(&pc), (Tone::Success, "Unknown · 203.0.113.10".to_string()) @@ -1859,9 +1871,9 @@ mod tests { rtt_ms: Some(200), ..Default::default() }, - host: Some(brolink_core::api::Status { + host: Some(latch_core::api::Status { version: "3.0.0".into(), - streamer: brolink_core::api::Streamer { + streamer: latch_core::api::Streamer { encoder: "software".into(), audio_problem: "Unable to initialize audio capture. The stream will not have audio.".into(), @@ -1884,7 +1896,7 @@ mod tests { "{}", w[2] ); - assert!(w[3].contains("Update BroLink Host"), "{}", w[3]); + assert!(w[3].contains("Update Latch Host"), "{}", w[3]); assert_eq!( host_audio_problem(&Mutex::new(disc.clone()), &gaming_pc.node_id).as_deref(), Some("Unable to initialize audio capture. The stream will not have audio.") @@ -1939,7 +1951,7 @@ mod tests { ); for s in [RELAY_NONE, RELAY_READY, RELAY_UNAVAILABLE] { assert!(!s.to_lowercase().contains("shared")); - assert!(!s.contains("BroLink relay")); + assert!(!s.contains("Latch relay")); } assert_eq!( @@ -2077,7 +2089,7 @@ mod tests { /// ignored ones write PNGs for review: /// /// ```text -/// cargo test -p brolink-client -p brolink-host snapshots -- --ignored +/// cargo test -p latch-client -p latch-host snapshots -- --ignored /// ``` /// /// Files land in `target/ui-snapshots/` as @@ -2089,8 +2101,8 @@ pub(crate) mod snapshots { use super::*; use crate::config::KnownPc; use crate::session::Relay; - use brolink_core::api::{Status, Streamer}; use egui_kittest::kittest::Queryable; + use latch_core::api::{Status, Streamer}; pub const MIN: egui::Vec2 = egui::vec2(640.0, 420.0); pub const TYPICAL: egui::Vec2 = egui::vec2(1280.0, 800.0); @@ -2130,13 +2142,13 @@ pub(crate) mod snapshots { fn a_status(name: &str, os: &str) -> Status { Status { - app: "brolink".into(), + app: latch_core::APP_ID.into(), version: env!("CARGO_PKG_VERSION").into(), name: name.into(), os: os.into(), power_allowed: true, streamer: Streamer { - kind: "BroLink".into(), + kind: latch_core::STREAMER_KIND.into(), installed: true, running: true, api_ok: true, @@ -2195,7 +2207,7 @@ pub(crate) mod snapshots { } /// The three machines most screens show: one ready and relayed, one - /// asleep, one that streams without BroLink. + /// asleep, one that streams without Latch. pub fn pcs() -> Discovery { let mut gaming = ready_pc("n1", "Gaming-PC", "windows", "100.64.0.10", 210, false); gaming.key_expiry_days = Some(176); @@ -2213,7 +2225,7 @@ pub(crate) mod snapshots { ..Default::default() }; let mut d = found(vec![gaming, asleep_pc("n2", "Office"), den]); - d.self_nat = Some(brolink_core::api::NatReport { + d.self_nat = Some(latch_core::api::NatReport { udp: true, ipv4: true, ipv6: false, @@ -2522,12 +2534,12 @@ pub(crate) mod snapshots { Setup::new(pcs()).step( "Gaming-PC", Step::Pairing { pin: "4821".into() }, - "BroLink on that machine isn't answering, so it can't enter the PIN. Open BroLink there and set up sharing, then try again.", + "Latch on that machine isn't answering, so it can't enter the PIN. Open Latch there and set up sharing, then try again.", ), ), ( "failed", - failed("Office", "Office didn't wake up. A wake packet reaches it only from its own network, or through a router that forwards UDP port 9 to it. Its Sharing tab in BroLink shows whether Wake-on-LAN is ready."), + failed("Office", "Office didn't wake up. A wake packet reaches it only from its own network, or through a router that forwards UDP port 9 to it. Its Sharing tab in Latch shows whether Wake-on-LAN is ready."), ), ( "disconnected", @@ -2561,7 +2573,7 @@ pub(crate) mod snapshots { u.ready = Some(Version::new(4, 1, 0)); u.notice = Some(( Tone::Info, - "BroLink 4.1.0 is downloaded and installs when no stream is running." + "Latch 4.1.0 is downloaded and installs when no stream is running." .into(), )); }), @@ -2885,7 +2897,7 @@ pub(crate) mod snapshots { }}"#; fn discovery_from_status(json: &str) -> Discovery { - let st = brolink_core::tailscale::parse_status(json).expect("fixture"); + let st = latch_core::tailscale::parse_status(json).expect("fixture"); Discovery { login: "user@example.com".into(), refreshed: Some(Instant::now()), @@ -3142,7 +3154,7 @@ mod window_fit { /// Streams from the Sunshine on this machine into the window for a few /// seconds and saves what the window shows: -/// `BROLINK_DEV_LOCAL=1 cargo test -p brolink-client stream_snapshot -- --ignored --nocapture` +/// `LATCH_DEV_LOCAL=1 cargo test -p latch-client stream_snapshot -- --ignored --nocapture` #[cfg(test)] mod live_snapshot { use super::*; @@ -3164,28 +3176,28 @@ mod live_snapshot { move |cc| { let mut app = ClientApp::with_shared(cc, disc, prog, ClientConfig::load()); app.cfg.stream.fullscreen = false; - if std::env::var_os("BROLINK_TEST_PC").is_none() { + if std::env::var_os("LATCH_TEST_PC").is_none() { app.cfg.stream.resolution = Resolution::P1080; app.cfg.stream.codec = Codec::H264; } - if let Ok(codec) = std::env::var("BROLINK_TEST_CODEC") { + if let Ok(codec) = std::env::var("LATCH_TEST_CODEC") { app.cfg.stream.codec = match codec.as_str() { "h264" => Codec::H264, "hevc" => Codec::Hevc, - _ => panic!("BROLINK_TEST_CODEC must be h264 or hevc"), + _ => panic!("LATCH_TEST_CODEC must be h264 or hevc"), }; } app } }); harness.run_steps(2); - let pc = if let Ok(name) = std::env::var("BROLINK_TEST_PC") { + let pc = if let Ok(name) = std::env::var("LATCH_TEST_PC") { let cfg = ClientConfig::load(); let (id, known) = cfg .pcs .iter() .find(|(id, pc)| **id == name || pc.name == name) - .expect("BROLINK_TEST_PC must name a saved PC"); + .expect("LATCH_TEST_PC must name a saved PC"); Pc { node_id: id.clone(), name: known.name.clone(), @@ -3204,10 +3216,10 @@ mod live_snapshot { sunshine: true, known: Some(KnownPc { server_cert: std::fs::read( - std::env::temp_dir().join("brolink-pair-test/server.der"), + std::env::temp_dir().join("latch-pair-test/server.der"), ) .ok() - .map(|d| brolink_stream::nvhttp::hex(&d)), + .map(|d| latch_stream::nvhttp::hex(&d)), ..Default::default() }), ..Default::default() @@ -3262,7 +3274,7 @@ mod live_snapshot { std::thread::sleep(Duration::from_millis(16)); } eprintln!("decoded {decoded} frames"); - let expect_black = std::env::var_os("BROLINK_TEST_EXPECT_BLACK").is_some(); + let expect_black = std::env::var_os("LATCH_TEST_EXPECT_BLACK").is_some(); let mut restarted = !expect_black; if expect_black && black == Some(true) { use egui_kittest::kittest::Queryable; diff --git a/crates/client/src/clipboard.rs b/crates/client/src/clipboard.rs index 0298b29..264581c 100644 --- a/crates/client/src/clipboard.rs +++ b/crates/client/src/clipboard.rs @@ -1,4 +1,4 @@ -//! The clipboard both ways while a stream runs, through BroLink Host's +//! The clipboard both ways while a stream runs, through Latch Host's //! `/v1/clipboard` on the PC. //! //! The Moonlight protocol carries keys and pictures, not clipboards, so ⌘V @@ -9,8 +9,8 @@ //! then presses Ctrl+V there. Hosts before 3.1 have no such route; the //! worker notices the 404 and says so once. -use brolink_core::api::{Ack, Clipboard, CLIPBOARD_PATH}; -use brolink_core::{http, CONTROL_PORT}; +use latch_core::api::{Ack, Clipboard, CLIPBOARD_PATH}; +use latch_core::{http, CONTROL_PORT}; use parking_lot::Mutex; use std::net::Ipv4Addr; use std::sync::atomic::{AtomicBool, AtomicU32, Ordering}; diff --git a/crates/client/src/config.rs b/crates/client/src/config.rs index ddc0e1f..8c781f0 100644 --- a/crates/client/src/config.rs +++ b/crates/client/src/config.rs @@ -1,5 +1,5 @@ //! Settings and what has been learned about each PC, in -//! `~/Library/Application Support/dev.brolink.BroLink/client.toml`. +//! `~/Library/Application Support/com.bardbro.Latch/client.toml`. use serde::{Deserialize, Serialize}; use std::collections::BTreeMap; @@ -18,14 +18,14 @@ pub enum Resolution { impl Resolution { /// This choice applied to a screen of `native` pixels: the standard /// 16:9 sizes are exactly that, and "Match screen" is the screen - /// itself. See `brolink_core::screens`. + /// itself. See `latch_core::screens`. pub fn pixels(self, native: (u32, u32)) -> (u32, u32) { - let [p1080, p1440, p2160] = brolink_core::screens::STANDARD; + let [p1080, p1440, p2160] = latch_core::screens::STANDARD; match self { Resolution::P1080 => p1080, Resolution::P1440 => p1440, Resolution::P2160 => p2160, - Resolution::Native => brolink_core::screens::even(native), + Resolution::Native => latch_core::screens::even(native), } } @@ -215,7 +215,7 @@ impl Default for ClientConfig { impl ClientConfig { pub fn load() -> Self { - let mut c: Self = brolink_core::config::load(FILE); + let mut c: Self = latch_core::config::load(FILE); if c.stream.quality == Quality::Auto { c.stream.resolution = Resolution::Native; } @@ -256,11 +256,11 @@ impl ClientConfig { /// One read-modify-write of the file, under the process-wide config lock. pub fn update(edit: impl FnOnce(&mut Self)) -> anyhow::Result<()> { - brolink_core::config::update(FILE, edit) + latch_core::config::update(FILE, edit) } pub fn forget_pin_on_mismatch(&mut self, node_id: &str, err: &anyhow::Error) -> bool { - if !brolink_stream::nvhttp::is_pin_mismatch(err) { + if !latch_stream::nvhttp::is_pin_mismatch(err) { return false; } if let Some(pc) = self.pcs.get_mut(node_id) { @@ -316,14 +316,14 @@ mod tests { Resolution::P1080.describe((3024, 1964)), "1080p · 1920 × 1080" ); - let modes = brolink_core::screens::stream_modes(); + let modes = latch_core::screens::stream_modes(); for r in [ Resolution::P1080, Resolution::P1440, Resolution::P2160, Resolution::Native, ] { - for &screen in brolink_core::screens::SCREENS { + for &screen in latch_core::screens::SCREENS { assert!( modes.contains(&r.pixels(screen)), "{r:?} on {screen:?} is a listed mode" @@ -399,7 +399,7 @@ mod tests { ..Default::default() }, ); - let mismatch = anyhow::Error::from(brolink_stream::nvhttp::PinMismatch); + let mismatch = anyhow::Error::from(latch_stream::nvhttp::PinMismatch); assert!(c.forget_pin_on_mismatch("n", &mismatch)); assert_eq!(c.pcs["n"].server_cert, None); diff --git a/crates/client/src/display.rs b/crates/client/src/display.rs index 1b6aaaf..a7396fb 100644 --- a/crates/client/src/display.rs +++ b/crates/client/src/display.rs @@ -6,8 +6,8 @@ //! sentence a person can act on rather than a dump of display settings. use anyhow::Result; -use brolink_core::api::DisplayRequest; -use brolink_core::{http, CONTROL_PORT}; +use latch_core::api::DisplayRequest; +use latch_core::{http, CONTROL_PORT}; use serde_json::Value; use std::net::Ipv4Addr; use std::time::Duration; diff --git a/crates/client/src/handover.rs b/crates/client/src/handover.rs index 4737612..a18e430 100644 --- a/crates/client/src/handover.rs +++ b/crates/client/src/handover.rs @@ -1,7 +1,7 @@ -//! Getting a new BroLink Host onto a PC whose host is too old to take +//! Getting a new Latch Host onto a PC whose host is too old to take //! `/v1/update`, with nobody at the PC: the stream itself is the way in. //! -//! The Mac serves the new `brolink-host.exe` and a small PowerShell script +//! The Mac serves the new `latch-host.exe` and a small PowerShell script //! on its own Tailscale address, to that one PC only, for a few minutes. //! Then it presses Win+R on the PC through the stream, types one line //! (`powershell … irm http://:47851/u.ps1 | iex`) and presses Enter. @@ -13,10 +13,10 @@ use crate::input::{self, press_chord}; use anyhow::{anyhow, Context, Result}; -use brolink_core::http; -use brolink_core::update::{self, Release}; -use brolink_core::HANDOVER_PORT; -use brolink_stream::Input; +use latch_core::http; +use latch_core::update::{self, Release}; +use latch_core::HANDOVER_PORT; +use latch_stream::Input; use parking_lot::Mutex; use semver::Version; use std::net::{Ipv4Addr, SocketAddr, TcpListener, TcpStream}; @@ -114,7 +114,7 @@ impl Handover { .version .as_ref() .map(|v| v.to_string()) - .unwrap_or_else(|| "the new BroLink Host".into()); + .unwrap_or_else(|| "the new Latch Host".into()); match &p.phase { Phase::Preparing => format!("Fetching {v} from GitHub…"), Phase::Serving => format!( @@ -154,30 +154,30 @@ pub fn command(mac_ip: Ipv4Addr) -> String { /// the usual install folder, and replaces that file. pub fn script(mac_ip: Ipv4Addr, version: &Version, sha256_hex: &str) -> String { format!( - r#"# BroLink Host {version}: installed from your Mac through the stream. + r#"# Latch Host {version}: installed from your Mac through the stream. $ErrorActionPreference = 'Stop' $src = 'http://{mac_ip}:{port}' -$host.UI.RawUI.WindowTitle = 'BroLink Host update' -Write-Host "Installing BroLink Host {version} from your Mac..." -$p = (Get-Process brolink-host -ErrorAction SilentlyContinue | Select-Object -First 1).Path -if (-not $p) {{ $p = Join-Path $env:LOCALAPPDATA 'BroLink\brolink-host.exe' }} +$host.UI.RawUI.WindowTitle = 'Latch Host update' +Write-Host "Installing Latch Host {version} from your Mac..." +$p = (Get-Process latch-host -ErrorAction SilentlyContinue | Select-Object -First 1).Path +if (-not $p) {{ $p = Join-Path $env:LOCALAPPDATA 'Latch\latch-host.exe' }} $dir = Split-Path -Parent $p New-Item -ItemType Directory -Force -Path $dir | Out-Null Write-Host "Downloading to $p.new" -Invoke-WebRequest -UseBasicParsing "$src/brolink-host.exe" -OutFile "$p.new" +Invoke-WebRequest -UseBasicParsing "$src/latch-host.exe" -OutFile "$p.new" $h = (Get-FileHash "$p.new" -Algorithm SHA256).Hash if ($h -ne '{sha}') {{ Remove-Item "$p.new" -Force; throw "the download did not match its SHA-256" }} Write-Host "Stopping the old service" try {{ Invoke-RestMethod -Method Post -Uri http://127.0.0.1:47850/v1/quit -ContentType 'application/json' -Body '{{}}' -TimeoutSec 3 | Out-Null }} catch {{}} Start-Sleep -Milliseconds 800 -Get-Process brolink-host -ErrorAction SilentlyContinue | Stop-Process -Force +Get-Process latch-host -ErrorAction SilentlyContinue | Stop-Process -Force Start-Sleep -Milliseconds 400 if (Test-Path $p) {{ Move-Item $p "$p.old" -Force }} Move-Item "$p.new" $p -Force Remove-Item "$p.old" -Force -ErrorAction SilentlyContinue -New-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Run' -Name BroLinkHost -Value "`"$p`" --background" -PropertyType String -Force | Out-Null +New-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Run' -Name LatchHost -Value "`"$p`" --background" -PropertyType String -Force | Out-Null Start-Process -FilePath $p -ArgumentList '--background' -WorkingDirectory $dir -Write-Host "Done: BroLink Host {version} is running. This window closes in 5 seconds." +Write-Host "Done: Latch Host {version} is running. This window closes in 5 seconds." Start-Sleep 5 "#, version = version, @@ -221,7 +221,7 @@ fn run( }; progress.lock().version = Some(rel.version.clone()); ctx.request_repaint(); - let exe = crate::update::host_exe(&rel, token).context("fetch brolink-host.exe")?; + let exe = crate::update::host_exe(&rel, token).context("fetch latch-host.exe")?; let sha = update::sha256_hex(&exe); let script = script(mac_ip, &rel.version, &sha); let listener = TcpListener::bind(SocketAddr::from((mac_ip, HANDOVER_PORT))) @@ -277,7 +277,7 @@ fn run( script.as_bytes(), ); } - ("GET", "/brolink-host.exe") => { + ("GET", "/latch-host.exe") => { tracing::info!("handover: {peer} fetching the executable"); let r = http::write_bytes(&mut stream, 200, "application/octet-stream", &exe); @@ -332,8 +332,8 @@ mod tests { let s = script(ip, &Version::new(3, 1, 0), "abcdef"); assert!(s.contains("$src = 'http://100.64.0.20:47851'"), "{s}"); assert!(s.contains("-ne 'ABCDEF'"), "the hash is compared uppercase"); - assert!(s.contains("Get-Process brolink-host"), "{s}"); - assert!(s.contains("BroLink\\brolink-host.exe"), "{s}"); + assert!(s.contains("Get-Process latch-host"), "{s}"); + assert!(s.contains("Latch\\latch-host.exe"), "{s}"); assert!(s.contains("/v1/quit"), "{s}"); assert!(s.contains("--background"), "{s}"); assert!(!s.contains("ghp_"), "no token in the script"); diff --git a/crates/client/src/input.rs b/crates/client/src/input.rs index fb9aa37..611d537 100644 --- a/crates/client/src/input.rs +++ b/crates/client/src/input.rs @@ -1,11 +1,11 @@ //! Keyboard and mouse translation: egui events in, Moonlight input calls out. -use brolink_stream::ffi::{ +use egui::{Key, Modifiers, PointerButton}; +use latch_stream::ffi::{ BUTTON_LEFT, BUTTON_MIDDLE, BUTTON_RIGHT, BUTTON_X1, BUTTON_X2, MODIFIER_ALT, MODIFIER_CTRL, MODIFIER_META, MODIFIER_SHIFT, }; -use brolink_stream::Input; -use egui::{Key, Modifiers, PointerButton}; +use latch_stream::Input; use std::collections::BTreeSet; use std::ffi::c_char; diff --git a/crates/client/src/lib.rs b/crates/client/src/lib.rs index 283fd84..aeb3c0c 100644 --- a/crates/client/src/lib.rs +++ b/crates/client/src/lib.rs @@ -1,4 +1,4 @@ -//! BroLink viewer: machine list, pairing, stream window. +//! Latch viewer: machine list, pairing, stream window. pub mod app; pub mod clipboard; @@ -14,17 +14,17 @@ pub mod stream; pub mod update; pub mod video; -/// How a BroLink window opens: the brolink-host app and the development +/// How a Latch window opens: the latch-host app and the development /// viewer alike. pub fn native_options() -> eframe::NativeOptions { let icon = if cfg!(target_os = "macos") { // eframe calls NSApplication.setApplicationIconImage with this - // bitmap, which replaces BroLink.icns in the Dock with an unmasked + // bitmap, which replaces Latch.icns in the Dock with an unmasked // square. An empty icon leaves the bundle icon in place. egui::IconData::default() } else { egui::IconData { - rgba: brolink_core::icon::render(64), + rgba: latch_core::icon::render(64), width: 64, height: 64, } @@ -33,7 +33,7 @@ pub fn native_options() -> eframe::NativeOptions { viewport: egui::ViewportBuilder::default() .with_inner_size([1100.0, 720.0]) .with_min_inner_size([640.0, 420.0]) - .with_title("BroLink") + .with_title("Latch") .with_icon(icon), renderer: eframe::Renderer::Wgpu, // A decoded frame goes to the screen as soon as it is drawn rather diff --git a/crates/client/src/main.rs b/crates/client/src/main.rs index ccd9771..89515d7 100644 --- a/crates/client/src/main.rs +++ b/crates/client/src/main.rs @@ -1,7 +1,7 @@ #![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] -//! The viewer on its own, for development: `cargo run -p brolink-client`. -//! What ships is `brolink-host`, which is this window plus sharing. +//! The viewer on its own, for development: `cargo run -p latch-client`. +//! What ships is `latch-host`, which is this window plus sharing. fn main() -> anyhow::Result<()> { tracing_subscriber::fmt() @@ -12,9 +12,9 @@ fn main() -> anyhow::Result<()> { .with_target(false) .init(); eframe::run_native( - "BroLink", - brolink_client::native_options(), - Box::new(|cc| Ok(Box::new(brolink_client::app::ClientApp::new(cc)))), + "Latch", + latch_client::native_options(), + Box::new(|cc| Ok(Box::new(latch_client::app::ClientApp::new(cc)))), ) .map_err(|e| anyhow::anyhow!("{e}")) } diff --git a/crates/client/src/path.rs b/crates/client/src/path.rs index 5f62f82..3381542 100644 --- a/crates/client/src/path.rs +++ b/crates/client/src/path.rs @@ -9,9 +9,9 @@ //! never turn a high RTT or the presence of a relay into a quality cap. use crate::config::{Quality, Resolution, StreamSettings}; -use brolink_core::api::NatReport; -use brolink_core::tailscale::derp_city; -use brolink_ui::Tone; +use latch_core::api::NatReport; +use latch_core::tailscale::derp_city; +use latch_ui::Tone; #[derive(Debug, Clone, Default, PartialEq, Eq)] pub struct Path { @@ -151,7 +151,7 @@ pub fn explain( } (None, Some(m)) => { let mut t = format!( - "BroLink Host 3.1 on {pc} would report that side of the network and say which router is in the way." + "Latch Host 3.1 on {pc} would report that side of the network and say which router is in the way." ); if m.hard == Some(true) && !m.portmap { t.push_str(" This Mac's network is a hard NAT with no UPnP, which is often enough on its own; another network here may connect directly."); @@ -399,7 +399,7 @@ mod tests { // An old host reports nothing: say so, and what the Mac knows. let t = explain("Gaming-PC", &relayed, None, Some(&mac_hard)).unwrap(); - assert!(t.contains("BroLink Host 3.1"), "{t}"); + assert!(t.contains("Latch Host 3.1"), "{t}"); assert!(t.contains("often enough on its own"), "{t}"); let t = explain("Gaming-PC", &relayed, None, None).unwrap(); assert!(t.contains("UPnP"), "{t}"); diff --git a/crates/client/src/session.rs b/crates/client/src/session.rs index fb09f01..ef00e62 100644 --- a/crates/client/src/session.rs +++ b/crates/client/src/session.rs @@ -5,10 +5,10 @@ use crate::clipboard; use crate::config::{ClientConfig, Codec, KnownPc, StreamSettings}; use crate::path::{self, Path}; use anyhow::{anyhow, bail, Result}; -use brolink_core::api::{Ack, NatReport, PinRequest, PowerAction, PowerRequest, Status}; -use brolink_core::{http, tailscale, wake, CONTROL_PORT, SUNSHINE_PORT}; -use brolink_stream::session::Server; -use brolink_stream::{Client, Event, FrameSlot, Identity, Input, Session, Settings}; +use latch_core::api::{Ack, NatReport, PinRequest, PowerAction, PowerRequest, Status}; +use latch_core::{http, tailscale, wake, CONTROL_PORT, SUNSHINE_PORT}; +use latch_stream::session::Server; +use latch_stream::{Client, Event, FrameSlot, Identity, Input, Session, Settings}; use parking_lot::Mutex; use std::collections::BTreeMap; use std::net::{IpAddr, Ipv4Addr, SocketAddr, TcpStream}; @@ -29,7 +29,7 @@ const NETCHECK_EVERY: Duration = Duration::from_secs(15 * 60); /// cheap local call; the ACL changes rarely, so 30 s is plenty. const PEER_RELAY_EVERY: Duration = Duration::from_secs(30); -/// A machine on the tailnet BroLink can open, as far as this node can tell. +/// A machine on the tailnet Latch can open, as far as this node can tell. #[derive(Debug, Clone, Default, PartialEq)] pub struct Pc { pub node_id: String, @@ -39,7 +39,7 @@ pub struct Pc { pub ip: Option, /// Tailscale's view; lags a wake-up by up to half a minute. pub online: bool, - /// The BroLink control service answered. + /// The Latch control service answered. pub host: Option, /// Sunshine's port answered. pub sunshine: bool, @@ -200,7 +200,7 @@ fn learn(scan: &Discovery) { } if pc.online { // Coarse on purpose: the file is rewritten only when this moves. - let now = brolink_core::dates::now_unix(); + let now = latch_core::dates::now_unix(); if entry .last_seen_unix .is_none_or(|t| now.saturating_sub(t) > 600) @@ -241,10 +241,10 @@ pub fn scan(cfg: &ClientConfig) -> Discovery { }; let mut peers = st.machine_peers(); let local; - if std::env::var_os("BROLINK_DEV_LOCAL").is_some() { + if std::env::var_os("LATCH_DEV_LOCAL").is_some() { local = tailscale::Node { id: "local".into(), - host_name: format!("{} (this machine)", brolink_core::config::machine_name()), + host_name: format!("{} (this machine)", latch_core::config::machine_name()), os: std::env::consts::OS.into(), tailscale_ips: vec!["127.0.0.1".into()], online: true, @@ -253,7 +253,7 @@ pub fn scan(cfg: &ClientConfig) -> Discovery { peers.push(&local); } let mut pcs: Vec = peers.into_iter().map(|n| probe_peer(cfg, n)).collect(); - // A tag:relay node that also runs BroLink (a VPS desktop on the same + // A tag:relay node that also runs Latch (a VPS desktop on the same // box as the packet relay) belongs in the machine list too. for n in st.relay_peers() { let pc = probe_peer(cfg, n); @@ -342,7 +342,7 @@ fn probe_peer(cfg: &ClientConfig, n: &tailscale::Node) -> Pc { fn host_status(ip: Ipv4Addr, timeout: Duration) -> Option { http::get_json::((ip, CONTROL_PORT), "/v1/status", timeout) .ok() - .filter(|s| s.app == "brolink") + .filter(|s| latch_core::legacy::is_node_app(&s.app)) } fn port_open(ip: Ipv4Addr, port: u16, timeout: Duration) -> bool { @@ -458,7 +458,7 @@ pub struct Live { pub settings: StreamSettings, /// The path as measured right before connecting. pub path: Path, - /// Clipboard both ways, through BroLink Host on the PC. + /// Clipboard both ways, through Latch Host on the PC. pub clipboard: clipboard::Sync, } @@ -499,7 +499,7 @@ impl Target { public_ip: parse(k.and_then(|k| k.public_ip.as_ref())), server_cert: k .and_then(|k| k.server_cert.as_deref()) - .and_then(brolink_stream::nvhttp::unhex), + .and_then(latch_stream::nvhttp::unhex), path: pc.path.clone(), }) } @@ -570,7 +570,7 @@ fn run(c: &Connect, generation: u64) -> Result<()> { // 1. Wake it if nothing answers. if !t.online && !port_open(t.ip, SUNSHINE_PORT, Duration::from_millis(1200)) { let mac = t.mac.ok_or_else(|| { - anyhow!("{} isn't answering, and BroLink doesn't know how to wake it yet. Turn it on once while BroLink runs there, so this machine can learn how.", t.name) + anyhow!("{} isn't answering, and Latch doesn't know how to wake it yet. Turn it on once while Latch runs there, so this machine can learn how.", t.name) })?; let start = Instant::now(); let mut last_wake = Instant::now() - Duration::from_secs(60); @@ -594,7 +594,7 @@ fn run(c: &Connect, generation: u64) -> Result<()> { } if start.elapsed() > Duration::from_secs(120) { bail!( - "{} didn't wake up. A wake packet reaches it only from its own network, or through a router that forwards UDP port 9 to it. Its Sharing tab in BroLink shows whether Wake-on-LAN is ready.", + "{} didn't wake up. A wake packet reaches it only from its own network, or through a router that forwards UDP port 9 to it. Its Sharing tab in Latch shows whether Wake-on-LAN is ready.", t.name ); } @@ -614,7 +614,7 @@ fn run(c: &Connect, generation: u64) -> Result<()> { ); if start.elapsed() > Duration::from_secs(60) { bail!( - "{} is on, but nothing is streaming from it. Open BroLink there and set up sharing on its Sharing tab.", + "{} is on, but nothing is streaming from it. Open Latch there and set up sharing on its Sharing tab.", t.name ); } @@ -623,11 +623,11 @@ fn run(c: &Connect, generation: u64) -> Result<()> { // 3. Pair if this Mac is not known to the PC yet. report(Step::Launching, "Checking pairing…".into()); - let identity = Identity::load_or_create(&brolink_core::config::data_dir()?.join("identity"))?; + let identity = Identity::load_or_create(&latch_core::config::data_dir()?.join("identity"))?; let mut client = Client::new(&identity, IpAddr::V4(t.ip), t.server_cert.clone())?; let mut info = match client.server_info() { Ok(i) => i, - Err(e) if brolink_stream::nvhttp::is_pin_mismatch(&e) => { + Err(e) if latch_stream::nvhttp::is_pin_mismatch(&e) => { // The engine was reinstalled; the saved cert is the old one. // Forget it and pair again so the user does not have to edit // client.toml. @@ -645,7 +645,7 @@ fn run(c: &Connect, generation: u64) -> Result<()> { if !info.paired || client.server_cert().is_none() { let pin = format!("{:04}", rand::random::() % 10_000); report(Step::Pairing { pin: pin.clone() }, String::new()); - let der = client.pair_cancellable(&pin, &brolink_core::config::machine_name(), || { + let der = client.pair_cancellable(&pin, &latch_core::config::machine_name(), || { submit_pin(t.ip, &pin, &c.progress, &c.ctx); stale(&c.progress, generation) })?; @@ -781,8 +781,7 @@ fn wants_hevc(codec: Codec, server_codecs: i32) -> bool { const SCM_HEVC_MASK: i32 = 0x0F00; codec != Codec::H264 && server_codecs & SCM_HEVC_MASK != 0 - && brolink_stream::video::supported_formats() & brolink_stream::ffi::VIDEO_FORMAT_MASK_H265 - != 0 + && latch_stream::video::supported_formats() & latch_stream::ffi::VIDEO_FORMAT_MASK_H265 != 0 } /// `f` until it succeeds, `times` tries at most, giving up early once the @@ -807,12 +806,12 @@ fn retry( Err(last) } -/// Hand the PIN to BroLink Host on the PC, which types it into Sunshine. If -/// there is no BroLink Host, the PIN stays on screen for someone at the PC. +/// Hand the PIN to Latch Host on the PC, which types it into Sunshine. If +/// there is no Latch Host, the PIN stays on screen for someone at the PC. fn submit_pin(ip: Ipv4Addr, pin: &str, progress: &Mutex, ctx: &egui::Context) { let req = PinRequest { pin: pin.into(), - name: brolink_core::config::machine_name(), + name: latch_core::config::machine_name(), }; // Pairing draws no spinner, so a new reason has to ask for its frame. let show = |detail: String| { @@ -837,8 +836,8 @@ fn submit_pin(ip: Ipv4Addr, pin: &str, progress: &Mutex, ctx: &egui::C show(reason); } Err(e) => { - tracing::info!("BroLink Host did not take the PIN: {e}"); - show("BroLink on that machine isn't answering, so it can't enter the PIN. Open BroLink there and set up sharing, then try again.".into()); + tracing::info!("Latch Host did not take the PIN: {e}"); + show("Latch on that machine isn't answering, so it can't enter the PIN. Open Latch there and set up sharing, then try again.".into()); } } std::thread::sleep(Duration::from_millis(800)); @@ -849,7 +848,7 @@ fn remember_cert(node_id: &str, name: &str, der: &[u8]) { if let Err(e) = ClientConfig::update(|cfg| { let e = cfg.pcs.entry(node_id.to_string()).or_default(); e.name = name.to_string(); - e.server_cert = Some(brolink_stream::nvhttp::hex(der)); + e.server_cert = Some(latch_stream::nvhttp::hex(der)); }) { tracing::warn!("could not save the PC's certificate: {e:#}"); } @@ -870,14 +869,14 @@ pub fn power(ip: Ipv4Addr, action: PowerAction) -> Result<()> { } } -/// Send the wake packet to a PC that is awake and ask BroLink Host on it +/// Send the wake packet to a PC that is awake and ask Latch Host on it /// whether the packet arrived: the same path a real wake would take. pub fn wake_test(pc: &Pc) -> Result { let ip = pc.ip.ok_or_else(|| anyhow!("no address for {}", pc.name))?; wake_only(pc)?; std::thread::sleep(Duration::from_millis(1500)); let st = host_status(ip, Duration::from_secs(3)) - .ok_or_else(|| anyhow!("BroLink on {} isn't answering", pc.name))?; + .ok_or_else(|| anyhow!("Latch on {} isn't answering", pc.name))?; Ok(st.wake_packet_age_secs.is_some_and(|s| s <= 5)) } @@ -886,7 +885,7 @@ pub fn wake_only(pc: &Pc) -> Result { let t = Target::from_pc(pc).ok_or_else(|| anyhow!("no address for {}", pc.name))?; let mac = t.mac.ok_or_else(|| { anyhow!( - "BroLink doesn't know how to wake {} yet; turn it on once while BroLink runs there", + "Latch doesn't know how to wake {} yet; turn it on once while Latch runs there", pc.name ) })?; @@ -923,10 +922,10 @@ mod tests { } } - /// Against BroLink Host running on this machine: the packet goes out on - /// the LAN and the host reports it. `cargo test -p brolink-client wake_test_real -- --ignored` + /// Against Latch Host running on this machine: the packet goes out on + /// the LAN and the host reports it. `cargo test -p latch-client wake_test_real -- --ignored` #[test] - #[ignore = "needs BroLink Host running on this machine"] + #[ignore = "needs Latch Host running on this machine"] fn wake_test_real() { let ip: Ipv4Addr = "127.0.0.1".parse().unwrap(); let host = host_status(ip, Duration::from_secs(2)).expect("host status"); @@ -988,7 +987,7 @@ mod tests { assert_eq!(t.server_cert, Some(vec![0x30, 0x82])); } - /// `cargo test -p brolink-client scan_real -- --ignored --nocapture` + /// `cargo test -p latch-client scan_real -- --ignored --nocapture` #[test] #[ignore = "needs Tailscale"] fn scan_real_tailnet() { diff --git a/crates/client/src/settings.rs b/crates/client/src/settings.rs index 80f6b6b..b9d0a38 100644 --- a/crates/client/src/settings.rs +++ b/crates/client/src/settings.rs @@ -2,7 +2,7 @@ //! two cannot drift apart. Rows only: the caller supplies the group. use crate::config::{Codec, Preset, Quality, Resolution, StreamSettings}; -use brolink_ui::{self as ui, space}; +use latch_ui::{self as ui, space}; /// The one-line choice at the top: a named profile, or the values as set. #[derive(Debug, Clone, Copy, PartialEq, Eq)] diff --git a/crates/client/src/share.rs b/crates/client/src/share.rs index 6a41048..17b4cd2 100644 --- a/crates/client/src/share.rs +++ b/crates/client/src/share.rs @@ -3,7 +3,7 @@ //! Sharing page through [`SharePage`]; the viewer only shows a summary row //! in the machine list and hosts the page in its window. -use brolink_core::api::Status; +use latch_core::api::Status; use parking_lot::Mutex; use std::sync::Arc; diff --git a/crates/client/src/stream.rs b/crates/client/src/stream.rs index 5486b87..047c7cd 100644 --- a/crates/client/src/stream.rs +++ b/crates/client/src/stream.rs @@ -16,12 +16,12 @@ use crate::input::{self, press_chord, Held}; use crate::path::Path; use crate::session::Live; use crate::video; -use brolink_core::api::PowerAction; -use brolink_ui::{self as ui, size, space, theme, Kv, Tone, PALETTE as P}; use egui::{ Align2, Color32, CursorIcon, Event, Frame, Id, Margin, Pos2, Rect, RichText, Vec2, ViewportCommand, }; +use latch_core::api::PowerAction; +use latch_ui::{self as ui, size, space, theme, Kv, Tone, PALETTE as P}; use semver::Version; use std::time::{Duration, Instant}; @@ -77,7 +77,7 @@ pub enum Action { Power(PowerAction), Fullscreen(bool), ToggleCmd, - /// Install a new BroLink Host on the PC through the stream. + /// Install a new Latch Host on the PC through the stream. InstallHost, ApplySettings(StreamSettings), /// Whether a click on the picture captures the mouse. @@ -285,7 +285,7 @@ impl View { )); } #[cfg(test)] - let stats = brolink_stream::Stats { + let stats = latch_stream::Stats { video_problem: stats.video_problem.clone().or(self.problem.clone()), ..stats }; @@ -414,7 +414,7 @@ impl View { ctx: &egui::Context, env: &Env<'_>, region: Rect, - stats: &brolink_stream::Stats, + stats: &latch_stream::Stats, ) { let live = env.live; let mut close = false; @@ -474,7 +474,7 @@ impl View { } ui.add_space(space::XS); if ui::secondary_button(ui, "Copy diagnostics").clicked() { - ctx.copy_text(format!("BroLink {}\n{}\nRequested: {} × {}, {} fps, {} Mbps\n{stats:#?}", + ctx.copy_text(format!("Latch {}\n{}\nRequested: {} × {}, {} fps, {} Mbps\n{stats:#?}", env!("CARGO_PKG_VERSION"), path.label(), live.requested.0, live.requested.1, live.requested.2, live.settings.bitrate_kbps / 1000)); } @@ -547,7 +547,7 @@ impl View { if !overflow { let tag = ui::tag(ui, Some(path.tone()), &path.label()); if path.relayed() { - tag.on_hover_text("The route in use right now. A relay adds delay; BroLink never lowers the bitrate for it."); + tag.on_hover_text("The route in use right now. A relay adds delay; Latch never lowers the bitrate for it."); } else if path.direct == Some(true) { tag.on_hover_text("Packets go straight to the machine."); } @@ -622,7 +622,7 @@ impl View { question(ctx, "stream-install", rect, w, |ui| { ui.label( RichText::new(format!( - "Install BroLink Host {} on {}?", + "Install Latch Host {} on {}?", latest.as_deref().unwrap_or("(latest)"), live.pc )) @@ -632,7 +632,7 @@ impl View { ui::muted( ui, format!( - "{} runs {running}, which can't take updates over the network. BroLink presses Win+R on it, types one line that fetches the new version from this machine over Tailscale, and presses Enter. A PowerShell window opens there, swaps the file and restarts the service; the stream stays up.", + "{} runs {running}, which can't take updates over the network. Latch presses Win+R on it, types one line that fetches the new version from this machine over Tailscale, and presses Enter. A PowerShell window opens there, swaps the file and restarts the service; the stream stays up.", live.pc ), ); @@ -722,9 +722,9 @@ impl View { } if let Some((running, _)) = &env.old_host { ui::menu_separator(ui); - let label = format!("Update BroLink Host… (runs {running})"); + let label = format!("Update Latch Host… (runs {running})"); if ui::menu_item_enabled(ui, env.handover.is_none(), &label) - .on_hover_text("Installs the newest BroLink Host through this stream, so later updates arrive by themselves.") + .on_hover_text("Installs the newest Latch Host through this stream, so later updates arrive by themselves.") .clicked() { self.confirm_install = true; @@ -750,7 +750,7 @@ impl View { if live.clipboard.unsupported() { ui::menu_note( ui, - "Clipboard sync needs BroLink Host 3.1 or later there (PC menu → Update BroLink Host).", + "Clipboard sync needs Latch Host 3.1 or later there (PC menu → Update Latch Host).", ); } else { ui::menu_note( @@ -943,7 +943,7 @@ impl View { screen: Rect, video: Rect, env: &Env<'_>, - stats: &brolink_stream::Stats, + stats: &latch_stream::Stats, in_gap: bool, ) { let live = env.live; @@ -1097,7 +1097,7 @@ impl View { } return; } - // Ctrl+Alt is BroLink's host key. It is read before the keys-to-PC + // Ctrl+Alt is Latch's host key. It is read before the keys-to-PC // gate so it works even if an overlay took focus, and while it is // held nothing is forwarded: the PC must not see a held chord after // the toolbar opens (games and the Start menu react to one). @@ -1277,7 +1277,7 @@ pub fn old_host( latest: Option<&Version>, ) -> Option<(Version, Option)> { let v = Version::parse(host_version).ok()?; - if brolink_core::update::host_can_receive_update(&v) { + if latch_core::update::host_can_receive_update(&v) { return None; } Some((v, latest.cloned())) @@ -1434,7 +1434,7 @@ pub(crate) mod tests { /// toolbar and overlays with no picture behind them. pub(crate) fn dummy_live(ctx: &egui::Context) -> Live { let (tx, rx) = std::sync::mpsc::channel(); - let frames = std::sync::Arc::new(brolink_stream::FrameSlot::default()); + let frames = std::sync::Arc::new(latch_stream::FrameSlot::default()); let path = crate::path::Path { direct: Some(false), relay: "tok".into(), @@ -1442,15 +1442,15 @@ pub(crate) mod tests { ..Default::default() }; let settings = crate::config::StreamSettings::default(); - let session = brolink_stream::Session::start( - brolink_stream::session::Server { + let session = latch_stream::Session::start( + latch_stream::session::Server { address: "10.255.255.1".into(), app_version: "7.1.431.-1".into(), gfe_version: "3.23.0.74".into(), rtsp_url: "rtsp://10.255.255.1:48010".into(), codec_mode_support: 1, }, - brolink_stream::Settings { + latch_stream::Settings { width: 1920, height: 1080, fps: 60, @@ -1484,7 +1484,7 @@ pub(crate) mod tests { fn paint(ctx: &egui::Context, f: &mut Fixture) { if !f.applied { - brolink_ui::apply(ctx); + latch_ui::apply(ctx); f.applied = true; return; } @@ -1766,10 +1766,10 @@ pub(crate) mod tests { let screen = Rect::from_min_size(Pos2::ZERO, size); h.get_by_label(trigger).simulate_click(); h.run_steps(3); - let menu = brolink_ui::open_menu_rect(&h.ctx).expect("the menu is open"); + let menu = latch_ui::open_menu_rect(&h.ctx).expect("the menu is open"); assert_inside(&format!("{trigger} menu at {size:?}"), menu, screen); tab_to(h, last); - let menu = brolink_ui::open_menu_rect(&h.ctx).expect("Tab keeps the menu open"); + let menu = latch_ui::open_menu_rect(&h.ctx).expect("Tab keeps the menu open"); assert_inside(&format!("{trigger} menu after Tab"), menu, screen); let item = node_rect(&h.get_by_label(last)); assert_inside(&format!("{last:?} in the {trigger} menu"), item, menu); @@ -1785,7 +1785,7 @@ pub(crate) mod tests { /// The last item each toolbar menu can show: the power items end the /// More menu, and with an old host the update item ends them. - const LAST_POWER_ITEM: &str = "Update BroLink Host… (runs 3.0.0)"; + const LAST_POWER_ITEM: &str = "Update Latch Host… (runs 3.0.0)"; #[test] fn every_toolbar_menu_fits_the_smallest_window_and_scrolls_to_its_end() { @@ -1990,10 +1990,10 @@ pub(crate) mod tests { .simulate_click(); h.run_steps(3); let screen = Rect::from_min_size(Pos2::ZERO, min); - let list = brolink_ui::open_menu_rect(&h.ctx).expect("the list is open"); + let list = latch_ui::open_menu_rect(&h.ctx).expect("the list is open"); assert_inside("the frame rate list", list, screen); tab_to(&mut h, "240 fps"); - let list = brolink_ui::open_menu_rect(&h.ctx).expect("Tab keeps the list open"); + let list = latch_ui::open_menu_rect(&h.ctx).expect("Tab keeps the list open"); assert_inside("240 fps", node_rect(&h.get_by_label("240 fps")), list); save( h.render().unwrap(), @@ -2100,12 +2100,12 @@ pub(crate) mod tests { "toasts", { let mut v = View::default(); - v.toast(Tone::Warning, "Gaming-PC has no sound to send: it reports “Unable to initialize audio capture”. Its Sharing page in BroLink says more."); + v.toast(Tone::Warning, "Gaming-PC has no sound to send: it reports “Unable to initialize audio capture”. Its Sharing page in Latch says more."); v.set_poor(true); v }, Extra { - handover: Some("Installing BroLink Host 4.0.2 on Gaming-PC: waiting for it to fetch the file…".into()), + handover: Some("Installing Latch Host 4.1.0 on Gaming-PC: waiting for it to fetch the file…".into()), ..windows() }, None, diff --git a/crates/client/src/update.rs b/crates/client/src/update.rs index fe34d7b..2421258 100644 --- a/crates/client/src/update.rs +++ b/crates/client/src/update.rs @@ -1,11 +1,11 @@ -//! Keeping this app and every BroLink Host it can see on the newest release. +//! Keeping this app and every Latch Host it can see on the newest release. //! //! The Mac does the fetching for everyone (with a GitHub login if the -//! repository is private; see `brolink_core::update`). Every few hours it asks +//! repository is private; see `latch_core::update`). Every few hours it asks //! GitHub for the latest release. A newer app is downloaded, verified against //! GitHub's digest and its own code signature, and swapped into place once no //! stream is running; the app then relaunches itself. A newer host is -//! downloaded once, and `brolink-host.exe` is sent to each PC whose host +//! downloaded once, and `latch-host.exe` is sent to each PC whose host //! already speaks `/v1/update` (3.1+) and reports an older version, over //! the same Tailscale-authenticated control API that can put the PC to //! sleep. A 3.0 host cannot take that (it caps request bodies at 64 KiB @@ -16,10 +16,10 @@ use crate::config::ClientConfig; use crate::session::{Discovery, Live, Progress}; use anyhow::{anyhow, bail, Context, Result}; -use brolink_core::api::{Ack, Status, UPDATE_PATH, UPDATE_SHA256_HEADER, UPDATE_VERSION_HEADER}; -use brolink_core::update::{self, Release, HOST_EXE, MAC_ASSET, WINDOWS_ASSET}; -use brolink_core::{http, CONTROL_PORT}; -use brolink_ui::Tone; +use latch_core::api::{Ack, Status, UPDATE_PATH, UPDATE_SHA256_HEADER, UPDATE_VERSION_HEADER}; +use latch_core::update::{self, Release, HOST_EXE, MAC_ASSET, WINDOWS_ASSET}; +use latch_core::{http, legacy, CONTROL_PORT}; +use latch_ui::Tone; use parking_lot::Mutex; use semver::Version; use std::collections::{BTreeMap, BTreeSet}; @@ -79,7 +79,7 @@ pub fn spawn( state.lock().message = if cfg!(windows) { "New versions arrive from the Mac on your Tailscale account.".into() } else { - "BroLink updates itself on a Mac; install new releases here by hand.".into() + "Latch updates itself on a Mac; install new releases here by hand.".into() }; return; } @@ -110,7 +110,7 @@ pub fn spawn( st.latest = Some(r.version.clone()); st.release = Some(r.clone()); st.message = if r.is_newer_than(&update::current()) { - format!("BroLink {} is available.", r.version) + format!("Latch {} is available.", r.version) } else { format!("Up to date (v{}).", update::current()) }; @@ -138,19 +138,19 @@ pub fn spawn( st.notice = Some(( Tone::Info, format!( - "BroLink {v} is downloaded and installs when no stream is running." + "Latch {v} is downloaded and installs when no stream is running." ), )); } Ok(None) => { state.lock().message = format!( - "BroLink {} is available. This copy is not in an app bundle, so it is not replaced.", + "Latch {} is available. This copy is not in an app bundle, so it is not replaced.", rel.version ); } Err(e) => { state.lock().message = - format!("Could not download BroLink {}: {e}.", rel.version); + format!("Could not download Latch {}: {e}.", rel.version); tracing::warn!("self-update: {e:#}"); // Try again at the next check rather than every tick. release = None; @@ -183,7 +183,7 @@ pub fn spawn( let mut st = state.lock(); st.ready = None; st.notice = None; - st.message = format!("Could not install BroLink {v}: {e}."); + st.message = format!("Could not install Latch {v}: {e}."); tracing::error!("self-update: {e:#}"); progress.lock().updating = false; release = None; @@ -245,7 +245,7 @@ pub fn spawn( st.rolled_back .insert(pc.node_id.clone(), rel.version.clone()); st.message = format!( - "BroLink Host {} did not start on {}, so it kept {v}. It is not sent again until BroLink restarts; its log says why.", + "Latch Host {} did not start on {}, so it kept {v}. It is not sent again until Latch restarts; its log says why.", rel.version, pc.name ); st.notice = Some((Tone::Warning, st.message.clone())); @@ -262,7 +262,7 @@ pub fn spawn( Ok(()) => { st.delivered.insert(pc.node_id.clone(), rel.version.clone()); st.message = format!( - "Sent BroLink Host {} to {}; it restarts by itself.", + "Sent Latch Host {} to {}; it restarts by itself.", rel.version, pc.name ); st.notice = Some((Tone::Info, st.message.clone())); @@ -293,7 +293,7 @@ pub fn spawn( /// Where downloads for `rel` live: `/updates//`. fn updates_dir(rel: &Release) -> Result { - let dir = brolink_core::config::data_dir()? + let dir = latch_core::config::data_dir()? .join("updates") .join(&rel.tag); std::fs::create_dir_all(&dir)?; @@ -346,7 +346,7 @@ fn fetch_asset(rel: &Release, name: &str, token: Option<&str>) -> Result Option { let exe = std::env::current_exe().ok()?; - // .../BroLink.app/Contents/MacOS/BroLink + // .../Latch.app/Contents/MacOS/Latch let app = exe.parent()?.parent()?.parent()?; (app.extension().is_some_and(|e| e == "app")).then(|| app.to_path_buf()) } @@ -373,7 +373,7 @@ fn prepare_self(rel: &Release, token: Option<&str>) -> Result> { } let tarball = fetch_asset(rel, MAC_ASSET, token)?; let unpacked = updates_dir(rel)?.join("unpacked"); - let app = unpacked.join("BroLink.app"); + let app = unpacked.join("Latch.app"); if !app.exists() { let _ = std::fs::remove_dir_all(&unpacked); std::fs::create_dir_all(&unpacked)?; @@ -388,7 +388,7 @@ fn prepare_self(rel: &Release, token: Option<&str>) -> Result> { )?; } let verified = (|| -> Result { - anyhow::ensure!(app.exists(), "the download holds no BroLink.app"); + anyhow::ensure!(app.exists(), "the download holds no Latch.app"); run( "/usr/bin/codesign", &["--verify", "--deep", "--strict", &app.display().to_string()], @@ -428,7 +428,7 @@ fn prepare_self(rel: &Release, token: Option<&str>) -> Result> { /// alive across the rename, so the swap is safe while we are still up. fn install_self(rel: &Release) -> Result<()> { let bundle = bundle_path().ok_or_else(|| anyhow!("not running from an app bundle"))?; - let new = updates_dir(rel)?.join("unpacked").join("BroLink.app"); + let new = updates_dir(rel)?.join("unpacked").join("Latch.app"); anyhow::ensure!(new.exists(), "nothing is downloaded"); replace_bundle(&bundle, &new, |new, staged| { run( @@ -456,9 +456,9 @@ fn replace_bundle( let parent = bundle .parent() .ok_or_else(|| anyhow!("app has no parent"))?; - let stage = parent.join(format!(".brolink-update-{:016x}", rand::random::())); + let stage = parent.join(format!(".latch-update-{:016x}", rand::random::())); std::fs::create_dir(&stage).context("create update staging directory")?; - let staged = stage.join("BroLink.app"); + let staged = stage.join("Latch.app"); let parked = stage.join("previous.app"); let outcome = (|| -> Result<()> { copy(new, &staged).context("stage the new app")?; @@ -499,16 +499,12 @@ fn relaunch_command(bundle: &std::path::Path) -> std::process::Command { let mut command = std::process::Command::new("/bin/sh"); // The bundle is an argument, never shell source (paths can contain $, ", // backticks and newlines). $0 is a diagnostic command name. - command.args([ - "-c", - "sleep 1; exec /usr/bin/open \"$1\"", - "brolink-relaunch", - ]); + command.args(["-c", "sleep 1; exec /usr/bin/open \"$1\"", "latch-relaunch"]); command.arg(bundle); command } -/// Extract `brolink-host.exe` from the verified Windows archive. An extracted +/// Extract `latch-host.exe` from the verified Windows archive. An extracted /// cache has no published digest, so never trust one from an earlier run. pub(crate) fn host_exe(rel: &Release, token: Option<&str>) -> Result> { let zip = fetch_asset(rel, WINDOWS_ASSET, token)?; @@ -529,7 +525,7 @@ fn should_push(running: &Version, rel: &Release) -> bool { pub fn old_host_message(name: &str, version: &Version) -> String { format!( - "{name} runs BroLink Host {version}, which cannot take an update over the network. Connect to it and choose PC → Update BroLink Host in the toolbar: this machine installs the new version through the stream. After that, updates are automatic." + "{name} runs Latch Host {version}, which cannot take an update over the network. Connect to it and choose PC → Update Latch Host in the toolbar: this machine installs the new version through the stream. After that, updates are automatic." ) } @@ -602,6 +598,10 @@ fn send_host(ip: Ipv4Addr, version: &str, sha: &str, exe: &[u8]) -> Result<()> { &[ (UPDATE_VERSION_HEADER, version), (UPDATE_SHA256_HEADER, sha), + // A host older than 4.1 knows only the headers' old names, and + // is the one this push is most likely for. + (legacy::UPDATE_VERSION_HEADER, version), + (legacy::UPDATE_SHA256_HEADER, sha), ("Content-Type", "application/octet-stream"), ], exe, @@ -650,9 +650,9 @@ mod tests { #[test] fn a_partial_update_copy_preserves_the_working_app() { - let dir = std::env::temp_dir().join(format!("brolink-swap-{:016x}", rand::random::())); + let dir = std::env::temp_dir().join(format!("latch-swap-{:016x}", rand::random::())); std::fs::create_dir(&dir).unwrap(); - let bundle = dir.join("BroLink.app"); + let bundle = dir.join("Latch.app"); std::fs::create_dir(&bundle).unwrap(); std::fs::write(bundle.join("version"), "original").unwrap(); let outcome = replace_bundle(&bundle, &dir.join("download"), |_, staged| { @@ -671,9 +671,9 @@ mod tests { #[test] fn a_staged_update_replaces_the_app_and_removes_the_backup() { - let dir = std::env::temp_dir().join(format!("brolink-swap-{:016x}", rand::random::())); + let dir = std::env::temp_dir().join(format!("latch-swap-{:016x}", rand::random::())); std::fs::create_dir(&dir).unwrap(); - let bundle = dir.join("BroLink.app"); + let bundle = dir.join("Latch.app"); std::fs::create_dir(&bundle).unwrap(); std::fs::write(bundle.join("version"), "original").unwrap(); replace_bundle(&bundle, &dir.join("download"), |_, staged| { @@ -731,7 +731,7 @@ mod tests { let msg = old_host_message("Gaming-PC", &Version::new(3, 0, 0)); assert!(msg.contains("Gaming-PC"), "{msg}"); assert!(msg.contains("3.0.0"), "{msg}"); - assert!(msg.contains("Update BroLink Host"), "{msg}"); + assert!(msg.contains("Update Latch Host"), "{msg}"); assert!(!msg.contains("Broken pipe"), "{msg}"); assert!(!msg.contains("os error"), "{msg}"); } @@ -745,7 +745,7 @@ mod tests { for mut s in listener.incoming().flatten() { let mut buf = [0u8; 1024]; let _ = s.read(&mut buf); - let body = format!(r#"{{"app":"brolink","version":"{version}"}}"#); + let body = format!(r#"{{"app":"latch","version":"{version}"}}"#); let _ = write!( s, "HTTP/1.1 200 OK\r\nContent-Length: {}\r\nConnection: close\r\n\r\n{body}", diff --git a/crates/client/src/video.rs b/crates/client/src/video.rs index 29e3b79..1f48c08 100644 --- a/crates/client/src/video.rs +++ b/crates/client/src/video.rs @@ -1,8 +1,8 @@ //! Drawing decoded frames with wgpu inside an egui rect: two textures (Y and //! interleaved UV) and a shader that does the BT.709 conversion. -use brolink_stream::FrameSlot; use egui_wgpu::wgpu; +use latch_stream::FrameSlot; use std::sync::Arc; const SHADER: &str = r#" @@ -104,7 +104,7 @@ pub struct Resources { impl Resources { pub fn new(device: &wgpu::Device, target: wgpu::TextureFormat) -> Self { let shader = device.create_shader_module(wgpu::ShaderModuleDescriptor { - label: Some("brolink video"), + label: Some("latch video"), source: wgpu::ShaderSource::Wgsl(SHADER.into()), }); let texture_entry = |binding| wgpu::BindGroupLayoutEntry { @@ -118,7 +118,7 @@ impl Resources { count: None, }; let layout = device.create_bind_group_layout(&wgpu::BindGroupLayoutDescriptor { - label: Some("brolink video"), + label: Some("latch video"), entries: &[ texture_entry(0), texture_entry(1), @@ -141,12 +141,12 @@ impl Resources { ], }); let pipeline_layout = device.create_pipeline_layout(&wgpu::PipelineLayoutDescriptor { - label: Some("brolink video"), + label: Some("latch video"), bind_group_layouts: &[&layout], push_constant_ranges: &[], }); let pipeline = device.create_render_pipeline(&wgpu::RenderPipelineDescriptor { - label: Some("brolink video"), + label: Some("latch video"), layout: Some(&pipeline_layout), vertex: wgpu::VertexState { module: &shader, @@ -171,7 +171,7 @@ impl Resources { cache: None, }); let sampler = device.create_sampler(&wgpu::SamplerDescriptor { - label: Some("brolink video"), + label: Some("latch video"), mag_filter: wgpu::FilterMode::Linear, min_filter: wgpu::FilterMode::Linear, address_mode_u: wgpu::AddressMode::ClampToEdge, @@ -179,7 +179,7 @@ impl Resources { ..Default::default() }); let uniforms = device.create_buffer(&wgpu::BufferDescriptor { - label: Some("brolink video"), + label: Some("latch video"), size: std::mem::size_of::() as u64, usage: wgpu::BufferUsages::UNIFORM | wgpu::BufferUsages::COPY_DST, mapped_at_creation: false, @@ -216,15 +216,15 @@ impl Resources { view_formats: &[], }) }; - let y = make(width, height, wgpu::TextureFormat::R8Unorm, "brolink y"); + let y = make(width, height, wgpu::TextureFormat::R8Unorm, "latch y"); let uv = make( width.div_ceil(2), height.div_ceil(2), wgpu::TextureFormat::Rg8Unorm, - "brolink uv", + "latch uv", ); let bind_group = device.create_bind_group(&wgpu::BindGroupDescriptor { - label: Some("brolink video"), + label: Some("latch video"), layout: &self.layout, entries: &[ wgpu::BindGroupEntry { @@ -377,7 +377,7 @@ mod tests { } } let frames = Arc::new(FrameSlot::default()); - frames.publish(brolink_stream::Frame { + frames.publish(latch_stream::Frame { width: 64, height: 64, y: (0..64) diff --git a/crates/core/Cargo.toml b/crates/core/Cargo.toml index ced2cad..74e35c5 100644 --- a/crates/core/Cargo.toml +++ b/crates/core/Cargo.toml @@ -1,10 +1,10 @@ [package] -name = "brolink-core" +name = "latch-core" version.workspace = true edition.workspace = true license.workspace = true authors.workspace = true -description = "Shared pieces of BroLink: the control API, Tailscale, wake packets" +description = "Shared pieces of Latch: the control API, Tailscale, wake packets" [dependencies] anyhow.workspace = true diff --git a/crates/core/assets/logo-1024.png b/crates/core/assets/logo-1024.png index 56f8445bed98dfca9653f33c3f28e73d175c0cf7..5453259d548948294a5a8115fa620cf0cd4aa99d 100644 GIT binary patch literal 6347 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 diff --git a/crates/core/src/api.rs b/crates/core/src/api.rs index a071f37..2bd8420 100644 --- a/crates/core/src/api.rs +++ b/crates/core/src/api.rs @@ -1,6 +1,6 @@ //! The JSON the host serves and the client reads. Plain HTTP over Tailscale: //! WireGuard already encrypts it, and `tailscale whois` already says who is -//! asking, so BroLink adds neither a cipher nor a password of its own. +//! asking, so Latch adds neither a cipher nor a password of its own. //! //! Routes (all JSON, all on [`crate::CONTROL_PORT`]): //! @@ -10,7 +10,7 @@ //! | POST | /v1/pin | [`PinRequest`] | [`Ack`] | //! | POST | /v1/power | [`PowerRequest`]| [`Ack`] | //! | POST | /v1/quit | | [`Ack`] (loopback only) | -//! | POST | /v1/update | `brolink-host.exe` bytes | [`Ack`] | +//! | POST | /v1/update | `latch-host.exe` bytes | [`Ack`] | //! | GET | /v1/clipboard | | [`Clipboard`] | //! | POST | /v1/clipboard | [`Clipboard`] | [`Ack`] | //! | GET | /v1/display | | display report (JSON) | @@ -32,11 +32,11 @@ use serde::{Deserialize, Serialize}; pub const UPDATE_PATH: &str = "/v1/update"; -pub const UPDATE_VERSION_HEADER: &str = "x-brolink-version"; -pub const UPDATE_SHA256_HEADER: &str = "x-brolink-sha256"; +pub const UPDATE_VERSION_HEADER: &str = "x-latch-version"; +pub const UPDATE_SHA256_HEADER: &str = "x-latch-sha256"; /// The largest host executable accepted; the real one is a tenth of this. pub const UPDATE_MAX_BYTES: usize = 128 * 1024 * 1024; -/// Oldest BroLink Host that serves [`UPDATE_PATH`]. Older hosts cap the +/// Oldest Latch Host that serves [`UPDATE_PATH`]. Older hosts cap the /// body at 64 KiB and close; a Mac that POSTs the executable anyway sees /// a broken pipe (and on macOS, a socket timeout as EAGAIN). pub const FIRST_UPDATE_VERSION: &str = "3.1.0"; @@ -136,11 +136,11 @@ pub struct Status { pub log: Vec, } -/// The streaming engine BroLink runs on this machine. +/// The streaming engine Latch runs on this machine. #[derive(Debug, Clone, Default, Serialize, Deserialize, PartialEq)] #[serde(default)] pub struct Streamer { - /// "BroLink" when sharing is set up; empty when no engine is installed. + /// "Latch" when sharing is set up; empty when no engine is installed. pub kind: String, pub installed: bool, /// Its GameStream port answers. diff --git a/crates/core/src/config.rs b/crates/core/src/config.rs index 3999223..d636eba 100644 --- a/crates/core/src/config.rs +++ b/crates/core/src/config.rs @@ -1,14 +1,14 @@ //! Where each app keeps its few settings: one TOML file in the per-user data -//! directory (`%LOCALAPPDATA%\BroLink` on Windows, `~/Library/Application -//! Support/dev.brolink.BroLink` on macOS, `~/.local/share/brolink` on Linux). +//! directory (`%LOCALAPPDATA%\Latch` on Windows, `~/Library/Application +//! Support/com.bardbro.Latch` on macOS, `~/.local/share/latch` on Linux). use anyhow::{Context, Result}; use serde::{de::DeserializeOwned, Serialize}; use std::io::Write; -use std::path::PathBuf; +use std::path::{Path, PathBuf}; use std::sync::{ atomic::{AtomicU64, Ordering}, - Mutex, + Mutex, Once, }; static CONFIG_LOCK: Mutex<()> = Mutex::new(()); @@ -16,22 +16,39 @@ static TEMP_ID: AtomicU64 = AtomicU64::new(0); /// The per-user data directory, created private to this user. /// -/// `BROLINK_DATA_DIR` replaces it when set. The workspace's +/// `LATCH_DATA_DIR` replaces it when set. The workspace's /// `.cargo/config.toml` sets it for `cargo test` and `cargo run`, so a test -/// run on a machine with BroLink installed leaves that install's settings, +/// run on a machine with Latch installed leaves that install's settings, /// pairing identity and logs alone. +/// +/// The first call by a copy that finds the folder 4.0 and older used, and +/// none of its own, takes that folder over: see [`adopt`]. pub fn data_dir() -> Result { - let dir = if let Some(dir) = std::env::var_os("BROLINK_DATA_DIR").filter(|d| !d.is_empty()) { - Some(PathBuf::from(dir)) + let explicit = crate::legacy::env("LATCH_DATA_DIR").map(PathBuf::from); + let adopting = explicit.is_none(); + let dir = if let Some(dir) = explicit { + Some(dir) } else if cfg!(windows) { std::env::var_os("LOCALAPPDATA") .map(PathBuf::from) .map(|p| p.join(crate::APP_NAME)) } else { - directories::ProjectDirs::from("dev", "brolink", crate::APP_NAME) + directories::ProjectDirs::from("com", "bardbro", crate::APP_NAME) .map(|d| d.data_dir().to_path_buf()) } .context("no per-user data directory")?; + if adopting { + static ONCE: Once = Once::new(); + ONCE.call_once(|| { + if let Some(old) = crate::legacy::data_dir() { + match adopt(&old, &dir) { + Ok(true) => tracing::info!("took over {} as {}", old.display(), dir.display()), + Ok(false) => {} + Err(e) => tracing::warn!("could not take over {}: {e:#}", old.display()), + } + } + }); + } std::fs::create_dir_all(&dir).with_context(|| dir.display().to_string())?; #[cfg(unix)] { @@ -41,6 +58,63 @@ pub fn data_dir() -> Result { Ok(dir) } +/// Make the folder an older install left at `old` the one at `new`, when +/// `old` exists and `new` does not. Settings, the pairing identity, the +/// paired devices and the streaming engine all come along. Returns whether +/// it did. +/// +/// A folder is moved. On Windows the old one holds the running +/// `latch-host.exe` of an install that has not been set up again, and +/// Windows will not move a folder with a running program in it, so it is +/// copied without its executables and the old one is left for setup to +/// remove. +pub fn adopt(old: &Path, new: &Path) -> Result { + if new.exists() || !old.is_dir() { + return Ok(false); + } + if let Some(parent) = new.parent() { + std::fs::create_dir_all(parent)?; + } + if !cfg!(windows) && std::fs::rename(old, new).is_ok() { + return Ok(true); + } + // Staged beside the destination, so that a copy cut short never leaves a + // half-filled folder that the next start mistakes for the real one. + let stage = new.with_extension(format!("adopting-{}", std::process::id())); + let _ = std::fs::remove_dir_all(&stage); + let copied = copy_tree(old, &stage) + .and_then(|()| std::fs::rename(&stage, new).with_context(|| new.display().to_string())); + if copied.is_err() { + let _ = std::fs::remove_dir_all(&stage); + } + copied.map(|()| true) +} + +/// Copy `from` to `to`, leaving out programs and the swap files an update +/// makes of them. A file that cannot be read (another process holds it +/// open) is skipped, not fatal: it is a log, not a setting. +fn copy_tree(from: &Path, to: &Path) -> Result<()> { + std::fs::create_dir_all(to)?; + for entry in std::fs::read_dir(from)? { + let entry = entry?; + let name = entry.file_name(); + let lower = name.to_string_lossy().to_ascii_lowercase(); + let src = entry.path(); + let dst = to.join(&name); + if entry.file_type()?.is_dir() { + copy_tree(&src, &dst)?; + } else if lower.ends_with(".exe") + || lower.ends_with(".exe.old") + || lower.ends_with(".exe.new") + { + continue; + } else if let Err(e) = std::fs::copy(&src, &dst) { + tracing::warn!("skipped {}: {e}", src.display()); + } + } + Ok(()) +} + /// Read `name` from the data directory; defaults when the file is missing /// or damaged, because refusing to start over a setting is worse than /// re-picking it. @@ -223,12 +297,12 @@ mod tests { std::fs::remove_file(path).unwrap(); } - /// `.cargo/config.toml` points `cargo test` at `target/brolink-data`. + /// `.cargo/config.toml` points `cargo test` at `target/latch-data`. /// Without it every test that loads or saves settings would read and /// rewrite the real install's files on the machine running the tests. #[test] fn tests_run_against_a_data_directory_under_target() { - let want = std::env::var_os("BROLINK_DATA_DIR").expect("cargo test sets BROLINK_DATA_DIR"); + let want = std::env::var_os("LATCH_DATA_DIR").expect("cargo test sets LATCH_DATA_DIR"); let dir = data_dir().unwrap(); assert_eq!(dir, PathBuf::from(want)); assert!( @@ -238,6 +312,66 @@ mod tests { ); } + #[test] + fn a_new_install_takes_over_the_folder_an_older_one_left() { + let root = std::env::temp_dir().join(format!("latch-adopt-{}", std::process::id())); + let _ = std::fs::remove_dir_all(&root); + let old = root.join("old"); + let new = root.join("nested/new"); + std::fs::create_dir_all(old.join("engine/config")).unwrap(); + std::fs::write(old.join("host.toml"), "sunshine_user = \"brolink\"\n").unwrap(); + std::fs::write(old.join("engine/config/state.json"), "{}").unwrap(); + std::fs::write(old.join("brolink-host.exe"), "program").unwrap(); + + assert!(adopt(&old, &new).unwrap()); + assert_eq!( + std::fs::read_to_string(new.join("host.toml")).unwrap(), + "sunshine_user = \"brolink\"\n" + ); + assert!(new.join("engine/config/state.json").exists()); + if cfg!(windows) { + // Copied: programs stay behind in the old folder. + assert!(!new.join("brolink-host.exe").exists()); + assert!(old.join("host.toml").exists()); + } else { + assert!(new.join("brolink-host.exe").exists()); + assert!(!old.exists()); + } + + // Once there is a folder of its own, nothing is taken again. + std::fs::create_dir_all(&old).unwrap(); + std::fs::write(old.join("host.toml"), "other").unwrap(); + assert!(!adopt(&old, &new).unwrap()); + assert_ne!( + std::fs::read_to_string(new.join("host.toml")).unwrap(), + "other" + ); + // No old folder, nothing to take. + assert!(!adopt(&root.join("missing"), &root.join("elsewhere")).unwrap()); + assert!(!root.join("elsewhere").exists()); + std::fs::remove_dir_all(&root).unwrap(); + } + + #[test] + fn copying_a_folder_leaves_programs_out_and_is_staged() { + let root = std::env::temp_dir().join(format!("latch-copy-{}", std::process::id())); + let _ = std::fs::remove_dir_all(&root); + let old = root.join("old"); + std::fs::create_dir_all(&old).unwrap(); + for f in ["a.toml", "x.exe", "x.exe.old", "x.exe.new", "X.EXE"] { + std::fs::write(old.join(f), f).unwrap(); + } + copy_tree(&old, &root.join("new")).unwrap(); + let mut got: Vec = std::fs::read_dir(root.join("new")) + .unwrap() + .flatten() + .map(|e| e.file_name().to_string_lossy().into_owned()) + .collect(); + got.sort(); + assert_eq!(got, ["a.toml"]); + std::fs::remove_dir_all(&root).unwrap(); + } + #[test] fn machine_name_is_never_empty() { assert!(!machine_name().is_empty()); diff --git a/crates/core/src/http.rs b/crates/core/src/http.rs index 9b3e0c0..f6b3228 100644 --- a/crates/core/src/http.rs +++ b/crates/core/src/http.rs @@ -8,14 +8,14 @@ use std::io::{BufRead, BufReader, ErrorKind, Read, Write}; use std::net::{SocketAddr, TcpListener, TcpStream, ToSocketAddrs}; use std::time::Duration; -/// Larger bodies are refused; nothing BroLink sends comes close, except the +/// Larger bodies are refused; nothing Latch sends comes close, except the /// host executable on [`crate::api::UPDATE_PATH`], which has its own limit. const MAX_BODY: usize = 64 * 1024; const MAX_HEADER: usize = 16 * 1024; const MAX_CONNECTIONS: usize = 16; /// Time to read headers and a small JSON body, and to write the reply. const IDLE_TIMEOUT: Duration = Duration::from_secs(15); -/// Time to read `brolink-host.exe` after the headers. Tailscale plus a +/// Time to read `latch-host.exe` after the headers. Tailscale plus a /// 10–30 MB body does not fit in [`IDLE_TIMEOUT`]. const UPDATE_BODY_TIMEOUT: Duration = Duration::from_secs(120); @@ -640,7 +640,7 @@ mod tests { 200, &serde_json::json!({ "len": req.body.len(), - "ver": req.header("X-BroLink-Version"), + "ver": req.header("X-Latch-Version"), "first": req.body.first(), }), ) @@ -652,7 +652,7 @@ mod tests { addr, "POST", crate::api::UPDATE_PATH, - &[("X-BroLink-Version", "3.1.0")], + &[("X-Latch-Version", "3.1.0")], &body, t, ) diff --git a/crates/core/src/icon.rs b/crates/core/src/icon.rs index ceefe7b..dd79ceb 100644 --- a/crates/core/src/icon.rs +++ b/crates/core/src/icon.rs @@ -1,5 +1,5 @@ //! The application icon: the checked-in logo, decoded once and resized on -//! demand. Shared by the windows (via `brolink_core::icon`) and by the host +//! demand. Shared by the windows (via `latch_core::icon`) and by the host //! build script, which includes this file by path, so it must not refer to //! anything else in this crate. @@ -8,10 +8,11 @@ use std::sync::{Mutex, OnceLock}; use image::{Rgba, RgbaImage}; -/// The 1024x1024 logo, a rounded tile on a near-black pad. +/// The 1024x1024 icon: a full-bleed ink tile with the logo knocked out in +/// white and its blue square. `scripts/make-icons.py` draws it. const LOGO_PNG: &[u8] = include_bytes!("../assets/logo-1024.png"); -/// The decoded logo. PNG inflate is the expensive part; a resize is cheap. +/// The decoded icon. PNG inflate is the expensive part; a resize is cheap. fn logo() -> &'static RgbaImage { static LOGO: OnceLock = OnceLock::new(); LOGO.get_or_init(|| { @@ -21,49 +22,11 @@ fn logo() -> &'static RgbaImage { }) } -/// Bounding box of the rounded tile: where the pad colour ends on the -/// middle row and column. -fn tile_bounds(im: &RgbaImage) -> (u32, u32, u32, u32) { - let pad = *im.get_pixel(0, 0); - let mid_x = im.width() / 2; - let mid_y = im.height() / 2; - let mut x0 = 0; - let mut x1 = im.width(); - for x in 0..im.width() { - if *im.get_pixel(x, mid_y) != pad { - x0 = x; - break; - } - } - for x in (0..im.width()).rev() { - if *im.get_pixel(x, mid_y) != pad { - x1 = x + 1; - break; - } - } - let mut y0 = 0; - let mut y1 = im.height(); - for y in 0..im.height() { - if *im.get_pixel(mid_x, y) != pad { - y0 = y; - break; - } - } - for y in (0..im.height()).rev() { - if *im.get_pixel(mid_x, y) != pad { - y1 = y + 1; - break; - } - } - (x0, y0, x1, y1) -} - /// Render the icon at `size` pixels square as straight (unpremultiplied) RGBA. /// /// The tile fills the canvas. Windows (taskbar, Explorer, the window) and /// the in-app header all draw this bitmap; macOS 26 also wants a filled -/// square and applies the rounded app-icon shape itself. Pre-padding left -/// a square plate around the mark. +/// square and applies the rounded app-icon shape itself. pub fn render(size: u32) -> Vec { // Each window's header and the window icon ask for the same size at // startup, before the first frame; the resize is the slow part. @@ -76,11 +39,8 @@ fn draw(size: u32) -> Vec { if size == 0 { return Vec::new(); } - let logo = logo(); - let (x0, y0, x1, y1) = tile_bounds(logo); - let cropped = image::imageops::crop_imm(logo, x0, y0, x1 - x0, y1 - y0).to_image(); let mut out = - image::imageops::resize(&cropped, size, size, image::imageops::FilterType::Lanczos3); + image::imageops::resize(logo(), size, size, image::imageops::FilterType::Lanczos3); // Opaque fill so the OS, not our alpha, defines the shape. for p in out.pixels_mut() { let Rgba([r, g, b, a]) = *p; @@ -106,12 +66,16 @@ mod tests { [rgba[i], rgba[i + 1], rgba[i + 2], rgba[i + 3]] } - fn is_brand_violet(p: [u8; 4]) -> bool { - p[3] == 255 && p[2] > 140 && p[0] > 80 && p[1] + 40 < p[2] + fn is_brand_blue(p: [u8; 4]) -> bool { + p[3] == 255 && p[2] > 180 && p[0] < 110 && p[1] > 100 && p[1] < 180 + } + + fn is_white(p: [u8; 4]) -> bool { + p[3] == 255 && p[0] > 240 && p[1] > 240 && p[2] > 240 } #[test] - fn renders_the_requested_size_with_opaque_corners_and_the_violet_mark() { + fn renders_the_requested_size_with_an_ink_tile_and_the_white_and_blue_mark() { for size in [16, 256] { let rgba = render(size); assert_eq!(rgba.len(), (size * size * 4) as usize); @@ -119,17 +83,15 @@ mod tests { // Windows (and the in-app header) are not a transparent hole. let [r, g, b, a] = pixel(&rgba, size, 0, 0); assert!( - r < 16 && g < 16 && b < 20 && a == 255, + r < 40 && g < 40 && b < 40 && a == 255, "corner {r},{g},{b},{a}" ); - assert!( - rgba.chunks(4) - .any(|p| is_brand_violet([p[0], p[1], p[2], p[3]])), - "no violet at {size}" - ); + let any = |f: fn([u8; 4]) -> bool| rgba.chunks(4).any(|p| f([p[0], p[1], p[2], p[3]])); + assert!(any(is_brand_blue), "no blue square at {size}"); + assert!(any(is_white), "no white mark at {size}"); } - // Cropping the pad makes the mark fill the tile: at 256, violet - // reaches outside the inner half. The old padded render did not. + // The mark fills the tile: at 256 the white square's corner lies + // well outside the inner half of the canvas. let size = 256u32; let rgba = render(size); let outside = (0..size) @@ -139,8 +101,8 @@ mod tests { let dy = y as i32 - 128; dx * dx + dy * dy > 100 * 100 }) - .any(|(x, y)| is_brand_violet(pixel(&rgba, size, x, y))); - assert!(outside, "mark still sits in a padded hole"); + .any(|(x, y)| is_white(pixel(&rgba, size, x, y))); + assert!(outside, "the mark sits in a padded hole"); } #[test] diff --git a/crates/core/src/legacy.rs b/crates/core/src/legacy.rs new file mode 100644 index 0000000..811336d --- /dev/null +++ b/crates/core/src/legacy.rs @@ -0,0 +1,93 @@ +//! What Latch answered to before 4.1.0, when it was called BroLink. +//! +//! Installed copies, other machines on the tailnet and old settings +//! folders keep the old names for a while after an upgrade, so the code +//! that recognises or retires them is all here and nowhere else. Nothing +//! in this file is shown to a person except as part of a migration. + +use std::ffi::OsString; +use std::path::PathBuf; + +/// `Status::app` from a 4.0 host or older. +pub const APP_ID: &str = "brolink"; +/// `Streamer::kind` of an engine that an old Latch set up. +pub const STREAMER_KIND: &str = "BroLink"; +/// The update push's headers, which a 4.0 host requires and a 4.0 Mac sends. +pub const UPDATE_VERSION_HEADER: &str = "x-brolink-version"; +pub const UPDATE_SHA256_HEADER: &str = "x-brolink-sha256"; + +/// Whether `app` is what a Latch node (this version or an older one) puts in +/// `Status::app`. +pub fn is_node_app(app: &str) -> bool { + app == crate::APP_ID || app == APP_ID +} + +/// Whether `kind` names a streaming engine that Latch set up, under either name. +pub fn is_own_streamer_kind(kind: &str) -> bool { + kind == crate::STREAMER_KIND || kind == STREAMER_KIND +} + +/// A setting from the environment under its current name, else under the +/// old one: `LATCH_DATA_DIR`, then `BROLINK_DATA_DIR`. Unset and empty are +/// the same. +pub fn env(name: &str) -> Option { + let current = std::env::var_os(name).filter(|v| !v.is_empty()); + current.or_else(|| { + let rest = name.strip_prefix("LATCH_")?; + std::env::var_os(format!("BROLINK_{rest}")).filter(|v| !v.is_empty()) + }) +} + +/// Where 4.0 and older kept their settings, pairing identity and logs. +/// `None` when this platform has no per-user data directory. +pub fn data_dir() -> Option { + if cfg!(windows) { + std::env::var_os("LOCALAPPDATA").map(|p| PathBuf::from(p).join("BroLink")) + } else { + directories::ProjectDirs::from("dev", "brolink", "BroLink") + .map(|d| d.data_dir().to_path_buf()) + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn both_names_identify_a_node() { + assert!(is_node_app("latch")); + assert!(is_node_app("brolink")); + assert!(!is_node_app("sunshine")); + assert!(!is_node_app("")); + } + + #[test] + fn both_names_identify_our_own_engine() { + assert!(is_own_streamer_kind("Latch")); + assert!(is_own_streamer_kind("BroLink")); + assert!(!is_own_streamer_kind("Sunshine")); + assert!(!is_own_streamer_kind("Apollo")); + } + + #[test] + fn the_old_environment_name_is_a_fallback_and_the_new_one_wins() { + std::env::remove_var("LATCH_LEGACY_TEST_A"); + std::env::remove_var("BROLINK_LEGACY_TEST_A"); + assert_eq!(env("LATCH_LEGACY_TEST_A"), None); + std::env::set_var("BROLINK_LEGACY_TEST_A", "old"); + assert_eq!(env("LATCH_LEGACY_TEST_A"), Some("old".into())); + std::env::set_var("LATCH_LEGACY_TEST_A", "new"); + assert_eq!(env("LATCH_LEGACY_TEST_A"), Some("new".into())); + std::env::set_var("LATCH_LEGACY_TEST_A", ""); + assert_eq!(env("LATCH_LEGACY_TEST_A"), Some("old".into())); + std::env::remove_var("LATCH_LEGACY_TEST_A"); + std::env::remove_var("BROLINK_LEGACY_TEST_A"); + } + + #[test] + fn the_old_data_directory_is_where_4_0_kept_it() { + let dir = data_dir().expect("a per-user data directory"); + let name = dir.file_name().unwrap().to_string_lossy().to_lowercase(); + assert!(name.contains("brolink"), "{}", dir.display()); + } +} diff --git a/crates/core/src/lib.rs b/crates/core/src/lib.rs index 0f0facf..ca9a6d4 100644 --- a/crates/core/src/lib.rs +++ b/crates/core/src/lib.rs @@ -1,7 +1,7 @@ -//! What BroLink nodes share: the control API they speak, the Tailscale CLI, +//! What Latch nodes share: the control API they speak, the Tailscale CLI, //! wake packets, config files, the icon. //! -//! The picture never passes through here. `brolink-stream` speaks the +//! The picture never passes through here. `latch-stream` speaks the //! GameStream protocol to the streaming engine and Tailscale carries it; //! this crate holds the rest: finding machines, waking them, pairing //! without touching them, turning them off again, and fetching new releases. @@ -11,15 +11,22 @@ pub mod config; pub mod dates; pub mod http; pub mod icon; +pub mod legacy; pub mod screens; pub mod tailscale; pub mod update; pub mod wake; -pub const APP_NAME: &str = "BroLink"; +pub const APP_NAME: &str = "Latch"; +/// `Status::app` of a Latch node, so a scan can tell one from any other +/// service that answers on the control port. +pub const APP_ID: &str = "latch"; +/// `Streamer::kind` of the streaming engine Latch itself set up, as opposed +/// to a Sunshine or Apollo it found installed. +pub const STREAMER_KIND: &str = "Latch"; /// TCP port of the host's control API, on loopback and on its Tailscale IP. pub const CONTROL_PORT: u16 = 47850; -/// TCP port a Mac serves a BroLink Host install from, on its Tailscale IP, +/// TCP port a Mac serves a Latch Host install from, on its Tailscale IP, /// for a PC whose host is too old to take `/v1/update`. pub const HANDOVER_PORT: u16 = 47851; /// Sunshine's HTTP port (pairing and launch); its web UI is one up. diff --git a/crates/core/src/tailscale.rs b/crates/core/src/tailscale.rs index 843ec78..02350f8 100644 --- a/crates/core/src/tailscale.rs +++ b/crates/core/src/tailscale.rs @@ -1,4 +1,4 @@ -//! Reading Tailscale through its own CLI. The tailnet is BroLink's network +//! Reading Tailscale through its own CLI. The tailnet is Latch's network //! *and* its list of trusted machines, so both apps lean on it entirely. use anyhow::{bail, Context, Result}; @@ -11,7 +11,7 @@ use std::process::{Command, Stdio}; use std::sync::OnceLock; use std::time::{Duration, Instant}; -/// The ACL tag BroLink uses for a tailnet peer-relay node. +/// The ACL tag Latch uses for a tailnet peer-relay node. pub const RELAY_TAG: &str = "tag:relay"; /// Short deadline for the optional relay probe. Other CLI calls are bounded too. @@ -59,7 +59,7 @@ fn find_cli() -> Option { }) } -/// `tailscale status --json`, the parts BroLink reads. +/// `tailscale status --json`, the parts Latch reads. #[derive(Debug, Clone, Default, Deserialize)] #[serde(default, rename_all = "PascalCase")] pub struct Status { diff --git a/crates/core/src/update.rs b/crates/core/src/update.rs index 724cfe9..733fd45 100644 --- a/crates/core/src/update.rs +++ b/crates/core/src/update.rs @@ -1,12 +1,12 @@ -//! Finding and fetching BroLink releases on GitHub, for both apps' updaters. +//! Finding and fetching Latch releases on GitHub, for both apps' updaters. //! //! A public repository needs no login. For a private one the calls carry a -//! token: the caller's setting, `BROLINK_GITHUB_TOKEN`, or on macOS whatever +//! token: the caller's setting, `LATCH_GITHUB_TOKEN`, or on macOS whatever //! git has stored for github.com, which is the login the install script //! uses too. Without one the requests still go out. //! //! Only the Mac talks to GitHub. It replaces its own bundle and sends each -//! PC the new `brolink-host.exe` over the control API; see +//! PC the new `latch-host.exe` over the control API; see //! [`crate::api::UPDATE_PATH`]. use anyhow::{anyhow, bail, Context, Result}; @@ -19,15 +19,15 @@ use std::path::Path; use std::sync::Arc; use std::time::Duration; -pub const REPO: &str = "MrBeldum/brolink"; -pub const MAC_ASSET: &str = "brolink-macos-arm64.tar.gz"; -pub const WINDOWS_ASSET: &str = "brolink-windows-x64.zip"; +pub const REPO: &str = "MrBeldum/latch"; +pub const MAC_ASSET: &str = "latch-macos-arm64.tar.gz"; +pub const WINDOWS_ASSET: &str = "latch-windows-x64.zip"; /// The host executable inside [`WINDOWS_ASSET`]. -pub const HOST_EXE: &str = "brolink-host.exe"; +pub const HOST_EXE: &str = "latch-host.exe"; const TIMEOUT: Duration = Duration::from_secs(30); const MAX_HOPS: usize = 5; -/// Nothing BroLink ships comes near this. +/// Nothing Latch ships comes near this. const MAX_DOWNLOAD: u64 = 512 * 1024 * 1024; #[derive(Debug, Clone, PartialEq, Eq)] @@ -70,12 +70,12 @@ pub fn first_update() -> Version { Version::parse(crate::api::FIRST_UPDATE_VERSION).expect("FIRST_UPDATE_VERSION is semver") } -/// Whether a running host can take `brolink-host.exe` from the Mac. +/// Whether a running host can take `latch-host.exe` from the Mac. pub fn host_can_receive_update(running: &Version) -> bool { *running >= first_update() } -/// Whether a peer takes a pushed `brolink-host.exe` over `/v1/update`: +/// Whether a peer takes a pushed `latch-host.exe` over `/v1/update`: /// Windows only. `os` is the peer's `Status.os` (Tailscale's string), or /// empty from a host older than 4.0, which was always Windows. pub fn takes_pushed_host(os: &str) -> bool { @@ -90,8 +90,8 @@ pub fn token(configured: Option<&str>) -> Option { .filter(|t| !t.is_empty()) .map(str::to_string) .or_else(|| { - std::env::var("BROLINK_GITHUB_TOKEN") - .ok() + crate::legacy::env("LATCH_GITHUB_TOKEN") + .and_then(|t| t.into_string().ok()) .filter(|t| !t.trim().is_empty()) }) .or_else(git_token) @@ -320,7 +320,7 @@ pub fn fetch(url: &str, token: Option<&str>, accept: &str, sink: &mut dyn Write) let auth = token.filter(|_| host == first_host); let mut tls = connect(&host)?; let mut head = format!( - "GET {path} HTTP/1.1\r\nHost: {host}\r\nUser-Agent: brolink/{}\r\nAccept: {accept}\r\nConnection: close\r\n", + "GET {path} HTTP/1.1\r\nHost: {host}\r\nUser-Agent: latch/{}\r\nAccept: {accept}\r\nConnection: close\r\n", env!("CARGO_PKG_VERSION") ); if let Some(t) = auth { @@ -406,9 +406,9 @@ mod tests { const RELEASE: &str = r#"{ "tag_name": "v3.1.0", "prerelease": false, "assets": [ - {"name": "brolink-macos-arm64.tar.gz", "url": "https://api.github.com/repos/x/y/releases/assets/1", + {"name": "latch-macos-arm64.tar.gz", "url": "https://api.github.com/repos/x/y/releases/assets/1", "size": 5243666, "digest": "sha256:226CE7321E5185D10F6F83CD38916D25485D1734794119B279A72A9AF3CC4AB7"}, - {"name": "brolink-windows-x64.zip", "url": "https://api.github.com/repos/x/y/releases/assets/2", "size": 28514670} + {"name": "latch-windows-x64.zip", "url": "https://api.github.com/repos/x/y/releases/assets/2", "size": 28514670} ] }"#; @@ -547,7 +547,7 @@ mod tests { #[test] fn a_cached_asset_is_rechecked_before_use() { - let dir = std::env::temp_dir().join(format!("brolink-verify-{}", std::process::id())); + let dir = std::env::temp_dir().join(format!("latch-verify-{}", std::process::id())); std::fs::create_dir_all(&dir).unwrap(); let path = dir.join("x.bin"); std::fs::write(&path, b"abc").unwrap(); @@ -570,7 +570,7 @@ mod tests { #[test] fn a_bad_download_leaves_nothing_behind() { - let dir = std::env::temp_dir().join(format!("brolink-dl-{}", std::process::id())); + let dir = std::env::temp_dir().join(format!("latch-dl-{}", std::process::id())); let dest = dir.join("x.bin"); let asset = Asset { name: "x.bin".into(), diff --git a/crates/host/Cargo.toml b/crates/host/Cargo.toml index 40e3c53..e9174a9 100644 --- a/crates/host/Cargo.toml +++ b/crates/host/Cargo.toml @@ -1,24 +1,24 @@ [package] -name = "brolink-host" +name = "latch-host" version.workspace = true edition.workspace = true license.workspace = true authors.workspace = true -description = "BroLink: share this machine and connect to the others" +description = "Latch: share this machine and connect to the others" build = "build.rs" [lib] -name = "brolink_host" +name = "latch_host" path = "src/lib.rs" [[bin]] -name = "brolink-host" +name = "latch-host" path = "src/main.rs" [dependencies] -brolink-core.workspace = true -brolink-client.workspace = true -brolink-ui.workspace = true +latch-core.workspace = true +latch-client.workspace = true +latch-ui.workspace = true anyhow.workspace = true serde = { workspace = true } serde_json.workspace = true diff --git a/crates/host/build.rs b/crates/host/build.rs index 4ccbd10..15e97e7 100644 --- a/crates/host/build.rs +++ b/crates/host/build.rs @@ -14,18 +14,18 @@ fn main() { println!("cargo:rerun-if-changed=../core/assets/logo-1024.png"); #[cfg(windows)] if std::env::var("CARGO_CFG_TARGET_OS").as_deref() == Ok("windows") { - let out = std::path::PathBuf::from(std::env::var("OUT_DIR").unwrap()).join("brolink.ico"); + let out = std::path::PathBuf::from(std::env::var("OUT_DIR").unwrap()).join("latch.ico"); std::fs::write(&out, ico(&[16, 24, 32, 48, 64, 256])).expect("write icon"); let mut res = winresource::WindowsResource::new(); res.set_icon(out.to_str().unwrap()) - .set("ProductName", "BroLink") - .set("FileDescription", "BroLink Host") - .set("CompanyName", "BroLink Contributors") + .set("ProductName", "Latch") + .set("FileDescription", "Latch Host") + .set("CompanyName", "Latch Contributors") .set( "LegalCopyright", - "Copyright (c) 2026 BroLink Contributors. GPL-3.0-or-later", + "Copyright (c) 2026 Latch Contributors. GPL-3.0-or-later", ) - .set("OriginalFilename", "brolink-host.exe"); + .set("OriginalFilename", "latch-host.exe"); if let Err(e) = res.compile() { println!("cargo:warning=no Windows resources embedded: {e}"); } diff --git a/crates/host/src/app.rs b/crates/host/src/app.rs index 7190ad7..7b1d24c 100644 --- a/crates/host/src/app.rs +++ b/crates/host/src/app.rs @@ -6,11 +6,11 @@ use crate::config::{self, HostConfig}; use crate::setup; use crate::streamer::Api; -use brolink_core::api::Status; -use brolink_core::http; -use brolink_core::CONTROL_PORT; -use brolink_ui::{self as ui, space, Kv, Tone}; use eframe::egui; +use latch_core::api::Status; +use latch_core::http; +use latch_core::CONTROL_PORT; +use latch_ui::{self as ui, space, Kv, Tone}; use parking_lot::Mutex; use semver::Version; use std::cmp::Ordering; @@ -205,7 +205,7 @@ impl HostApp { return; } if !self.cfg.has_creds() && !migrate { - self.cfg.sunshine_user = "brolink".into(); + self.cfg.sunshine_user = "latch".into(); self.cfg.sunshine_pass = config::random_password(); if let Err(e) = self.cfg.save() { tracing::warn!("could not save engine login: {e:#}"); @@ -265,7 +265,7 @@ impl HostApp { tracing::warn!("autostart: {e:#}"); self.note = Some(( Tone::Danger, - format!("Couldn't change whether BroLink starts at login: {e}."), + format!("Couldn't change whether Latch starts at login: {e}."), Instant::now(), )); } @@ -306,7 +306,7 @@ impl HostApp { if !self.live { return; } - let Ok(dir) = brolink_core::config::data_dir() else { + let Ok(dir) = latch_core::config::data_dir() else { return; }; let opener = match self.os { @@ -372,7 +372,7 @@ impl HostApp { ui, Tone::Neutral, &format!( - "The background service runs BroLink {} and this window {}; BroLink is restarting the older one.", + "The background service runs Latch {} and this window {}; Latch is restarting the older one.", s.version, env!("CARGO_PKG_VERSION") ), @@ -482,11 +482,11 @@ impl HostApp { ), Os::Mac => ( "Share this Mac", - "BroLink installs the streaming engine for you. macOS then asks once to let it record the screen.", + "Latch installs the streaming engine for you. macOS then asks once to let it record the screen.", ), Os::Linux => ( "Share this machine", - "BroLink installs the streaming engine for this user and keeps it running.", + "Latch installs the streaming engine for this user and keeps it running.", ), }; let title = if done { "Sharing is set up" } else { title }; @@ -552,7 +552,7 @@ impl HostApp { Some("Keeps this PC's pairings and web login.") } else if !s.streamer.installed { Some(match (self.os, self.bundled_engine) { - (Os::Windows, true) => "Installs the engine that ships with BroLink.", + (Os::Windows, true) => "Installs the engine that ships with Latch.", _ => "Downloads the streaming engine and installs it.", }) } else { @@ -622,7 +622,7 @@ impl HostApp { } else if !s.streamer.api_ok { ( Tone::Warning, - "Running, but BroLink can't sign in to it".to_string(), + "Running, but Latch can't sign in to it".to_string(), ) } else { let encoder = match s.streamer.encoder.as_str() { @@ -832,7 +832,7 @@ impl HostApp { if ui::toggle_row( ui, &mut auto, - "Start BroLink when you log in", + "Start Latch when you log in", Some(&format!( "So others can connect after this {noun} restarts, with nobody at the keyboard." )), @@ -899,8 +899,8 @@ impl HostApp { /// What this machine's NAT means for the others, in a sentence that names /// the right kind of machine (the service log's version says "a Mac"). -fn network_sentence(n: &brolink_core::api::NatReport, noun: &str) -> String { - let city = brolink_core::tailscale::derp_city(&n.derp); +fn network_sentence(n: &latch_core::api::NatReport, noun: &str) -> String { + let city = latch_core::tailscale::derp_city(&n.derp); if !n.udp { format!("UDP is blocked here, so other machines reach this {noun} only through a Tailscale relay.") } else if n.hard == Some(true) && !n.portmap { @@ -1177,7 +1177,7 @@ mod tests { /// The Sharing page inside the unified window, rendered without a PC: /// /// ```text -/// cargo test -p brolink-host snapshots -- --ignored +/// cargo test -p latch-host snapshots -- --ignored /// ``` /// /// Nothing here reads or writes real settings or reaches the service: the @@ -1186,9 +1186,9 @@ mod tests { mod snapshots { use super::*; use crate::product::NodeApp; - use brolink_client::app::Page; - use brolink_core::api::Streamer; use egui_kittest::kittest::Queryable; + use latch_client::app::Page; + use latch_core::api::Streamer; const MIN: egui::Vec2 = egui::vec2(640.0, 420.0); const TYPICAL: egui::Vec2 = egui::vec2(1280.0, 800.0); @@ -1209,7 +1209,7 @@ mod snapshots { fn ready_status(os: &str) -> Status { Status { - app: "brolink".into(), + app: latch_core::APP_ID.into(), version: env!("CARGO_PKG_VERSION").into(), name: if os == "windows" { "GAMING-PC".into() @@ -1227,7 +1227,7 @@ mod snapshots { wake_packet_age_secs: Some(42), fast_startup: Some(false), streamer: Streamer { - kind: "BroLink".into(), + kind: latch_core::STREAMER_KIND.into(), installed: true, running: true, api_ok: true, @@ -1239,7 +1239,7 @@ mod snapshots { audio_problem: String::new(), }, power_allowed: true, - nat: Some(brolink_core::api::NatReport { + nat: Some(latch_core::api::NatReport { udp: true, ipv4: true, ipv6: false, @@ -1249,10 +1249,10 @@ mod snapshots { }), setup: vec![], log: vec![ - "BroLink 4.0.2 listening on TCP 47850".into(), + "Latch 4.1.0 listening on TCP 47850".into(), "listening for wake packets on UDP 9".into(), "Tailscale up as user@example.com (100.64.0.10)".into(), - "the streaming engine is running and BroLink is signed in".into(), + "the streaming engine is running and Latch is signed in".into(), "Wake-on-LAN ready on Ethernet (02:00:00:00:00:01)".into(), "paired \"MacBook-Pro\"".into(), ], @@ -1299,9 +1299,9 @@ mod snapshots { ]; Shared { status: Some(st), - setup_result: Some(Err("the administrator prompt was declined or setup failed (see C:\\Users\\Example User\\AppData\\Local\\BroLink\\setup.log)".into())), + setup_result: Some(Err("the administrator prompt was declined or setup failed (see C:\\Users\\Example User\\AppData\\Local\\Latch\\setup.log)".into())), setup_log: vec![ - "[14:02:11] BroLink setup started".into(), + "[14:02:11] Latch setup started".into(), "[14:02:11] Downloading the streaming engine".into(), " engine: curl: (6) Could not resolve host: api.github.com".into(), ], diff --git a/crates/host/src/audio.rs b/crates/host/src/audio.rs index 9264a4d..e7585f9 100644 --- a/crates/host/src/audio.rs +++ b/crates/host/src/audio.rs @@ -11,7 +11,7 @@ mod win { use std::process::Command; use std::sync::atomic::{AtomicBool, Ordering}; - const TASK: &str = "BroLinkEngineUser"; + const TASK: &str = "LatchEngineUser"; const CREATE_NO_WINDOW: u32 = 0x0800_0000; /// The helper scripts, written into the data directory when they are @@ -21,7 +21,7 @@ mod win { /// three files and re-register the task each time. pub fn install_helpers() -> Result { static TASK_REGISTERED: AtomicBool = AtomicBool::new(false); - let dir = brolink_core::config::data_dir()?; + let dir = latch_core::config::data_dir()?; let script = dir.join("take-over-engine.ps1"); write_if_changed(&script, include_str!("../windows/take-over-engine.ps1"))?; let launcher = dir.join("take-over-engine.vbs"); @@ -38,6 +38,11 @@ mod win { let tr = format!("wscript.exe //B //Nologo \"{}\"", launcher.display()); if create_logon_task(&tr) { TASK_REGISTERED.store(true, Ordering::Relaxed); + // An earlier version's task runs its own copy of the helper + // from the old folder, and two would race to start the + // engine. One an administrator registered survives this; + // setup removes it. + delete_logon_task(crate::legacy::WINDOWS_ENGINE_TASK); } else { tracing::info!("could not register {TASK}; the host will start the engine itself"); } @@ -52,6 +57,15 @@ mod win { std::fs::write(path, text).with_context(|| path.display().to_string()) } + fn delete_logon_task(name: &str) { + let _ = Command::new("schtasks") + .args(["/Delete", "/TN", name, "/F"]) + .creation_flags(CREATE_NO_WINDOW) + .stdout(std::process::Stdio::null()) + .stderr(std::process::Stdio::null()) + .status(); + } + fn create_logon_task(tr: &str) -> bool { // These helpers live in the user's profile and must never gain an // elevated token through a scheduled task, including on upgrades. diff --git a/crates/host/src/brand.rs b/crates/host/src/brand.rs index 5126809..1e80955 100644 --- a/crates/host/src/brand.rs +++ b/crates/host/src/brand.rs @@ -1,11 +1,11 @@ //! The engine's executables carry the name and icon they were built with, //! and Task Manager, the volume mixer and a firewall prompt show exactly -//! that. Setup runs `brolink-host --brand-engine ` elevated, with the +//! that. Setup runs `latch-host --brand-engine ` elevated, with the //! engine stopped, and this module rewrites two resources in each file in -//! place. The version block gets BroLink's description and product name, +//! place. The version block gets Latch's description and product name, //! and every other string it carried (copyright, licence, version numbers) //! is read out first and written back unchanged. The first icon group is -//! replaced by BroLink's own, copied out of this executable. Nothing else +//! replaced by Latch's own, copied out of this executable. Nothing else //! in the files changes, and the archive they came from is never touched. use anyhow::Result; @@ -14,8 +14,8 @@ use std::path::Path; use std::time::{Duration, Instant}; /// What the engine process is called once branded. -pub const DESCRIPTION: &str = "BroLink Streaming"; -pub const SERVICE_DESCRIPTION: &str = "BroLink Streaming Service"; +pub const DESCRIPTION: &str = "Latch Streaming"; +pub const SERVICE_DESCRIPTION: &str = "Latch Streaming Service"; /// Files under the engine directory and the description each gets. pub const TARGETS: [(&str, &str); 2] = [ @@ -23,13 +23,15 @@ pub const TARGETS: [(&str, &str); 2] = [ (r"tools\sunshinesvc.exe", SERVICE_DESCRIPTION), ]; -/// True when the engine in `dir` already presents itself as BroLink. +/// True when the engine in `dir` already presents itself as Latch. pub fn is_branded(dir: &Path) -> bool { description(&dir.join(TARGETS[0].0)).as_deref() == Some(DESCRIPTION) } /// [`is_branded`], re-read at most every ten seconds: the status is polled -/// often and the answer changes only when setup runs. +/// often and the answer changes only when setup runs. An engine that an +/// earlier version branded counts: it shows Latch's name under the old +/// spelling, and setup rewrites it the next time it runs. pub fn is_branded_cached(dir: &Path) -> bool { static CACHE: Mutex> = Mutex::new(None); let mut c = CACHE.lock(); @@ -38,7 +40,9 @@ pub fn is_branded_cached(dir: &Path) -> bool { return v; } } - let v = is_branded(dir); + let v = is_branded(dir) + || description(&dir.join(TARGETS[0].0)).as_deref() + == Some(crate::legacy::ENGINE_DESCRIPTION); *c = Some((Instant::now(), v)); v } @@ -220,7 +224,7 @@ mod win { } } - /// BroLink's icon out of this executable: each group entry's header + /// Latch's icon out of this executable: each group entry's header /// with its image. fn own_icon() -> Result)>> { let me = unsafe { GetModuleHandleW(PCWSTR::null()) }.context("this executable's module")?; diff --git a/crates/host/src/clipboard.rs b/crates/host/src/clipboard.rs index 8e1cb1a..5caeb79 100644 --- a/crates/host/src/clipboard.rs +++ b/crates/host/src/clipboard.rs @@ -6,7 +6,7 @@ //! handled; an image or a file on the clipboard reads as empty text. use anyhow::Result; -use brolink_core::api::Clipboard; +use latch_core::api::Clipboard; /// Windows ends lines with CRLF; the Mac with LF. Both directions convert, /// so a paste never carries stray carriage returns. diff --git a/crates/host/src/config.rs b/crates/host/src/config.rs index 9f62130..897b5c3 100644 --- a/crates/host/src/config.rs +++ b/crates/host/src/config.rs @@ -1,4 +1,4 @@ -//! The host's few settings, in `%LOCALAPPDATA%\BroLink\host.toml`. +//! The host's few settings, in `%LOCALAPPDATA%\Latch\host.toml`. use serde::{Deserialize, Serialize}; @@ -37,14 +37,14 @@ impl Default for HostConfig { impl HostConfig { pub fn load() -> Self { - brolink_core::config::load(FILE) + latch_core::config::load(FILE) } /// Overlay this copy's settings on the file rather than replacing it: /// `--setup` or a container's bootstrap may have written the engine /// login since this copy was loaded, and an empty login here never /// erases one on disk. pub fn save(&self) -> anyhow::Result<()> { - brolink_core::config::update(FILE, |disk: &mut Self| { + latch_core::config::update(FILE, |disk: &mut Self| { disk.power_allowed = self.power_allowed; disk.start_with_windows = self.start_with_windows; disk.stay_awake = self.stay_awake; diff --git a/crates/host/src/legacy.rs b/crates/host/src/legacy.rs new file mode 100644 index 0000000..e066902 --- /dev/null +++ b/crates/host/src/legacy.rs @@ -0,0 +1,119 @@ +//! What this host registered with the operating system before 4.1.0, when +//! Latch was called BroLink, and how an upgraded copy retires it. +//! +//! An upgrade by the updater swaps the program and nothing else, so the +//! launch agent, the user unit, the Windows service, the scheduled task, +//! the firewall rules and the engine's folder all still carry the old +//! name. Every one is recognised here and replaced by its new name when +//! the new copy first runs or when setup next does. Until then the old +//! registrations keep pointing at things that still exist, so a host that +//! was updated and never set up again keeps working. + +/// What an engine that an old setup branded calls itself. +pub const ENGINE_DESCRIPTION: &str = "BroLink Streaming"; +/// The engine's renamed program as an old setup left it on disk: the Mac's +/// app binary, and the Linux package's. +pub const ENGINE_EXE_NAMES: [&str; 2] = ["BroLinkStreaming", "brolink-engine"]; + +/// The folder a 4.0 Windows setup unpacked the engine into. +pub const WINDOWS_ENGINE_DIR: &str = r"C:\Program Files\BroLink\engine"; +pub const WINDOWS_SERVICE: &str = "BroLinkStream"; +/// The logon task that runs the engine as the signed-in user. +pub const WINDOWS_ENGINE_TASK: &str = "BroLinkEngineUser"; +/// The value under `HKCU\...\Run` that starts the host at logon. +pub const WINDOWS_RUN_VALUE: &str = "BroLinkHost"; +/// Firewall rules a 4.0 setup opened, by name. +pub const WINDOWS_RULES: [&str; 6] = [ + "BroLink Host", + "BroLink wake", + "BroLink Streaming TCP", + "BroLink Streaming UDP", + "BroLink Sunshine TCP", + "BroLink Sunshine UDP", +]; + +/// The Mac app's folder and its launch agent's label. +#[cfg_attr(not(target_os = "macos"), allow(dead_code))] +pub const MAC_BUNDLE: &str = "BroLink.app"; +#[cfg_attr(not(target_os = "macos"), allow(dead_code))] +pub const MAC_LAUNCH_AGENT: &str = "dev.brolink.node"; +/// The Linux user unit. +#[cfg_attr(not(target_os = "linux"), allow(dead_code))] +pub const LINUX_USER_UNIT: &str = "brolink.service"; + +/// PowerShell for the elevated setup script, run before it looks for an +/// engine: removes the old logon task and firewall rules, stops and +/// deletes the old service, and moves the engine's folder, with the pairing +/// state in its `config`, to `engine_dir`. Safe on a PC with none of it. +pub fn retire_windows_ps(engine_dir: &str) -> String { + let rules = WINDOWS_RULES + .iter() + .map(|r| format!("'{r}'")) + .collect::>() + .join(", "); + format!( + r#"Step "Retiring what an earlier version registered" +foreach ($t in '{task}') {{ + if (Get-ScheduledTask -TaskName $t -ErrorAction SilentlyContinue) {{ + Stop-ScheduledTask -TaskName $t -ErrorAction SilentlyContinue + Unregister-ScheduledTask -TaskName $t -Confirm:$false -ErrorAction SilentlyContinue + }} +}} +foreach ($r in {rules}) {{ netsh advfirewall firewall delete rule name="$r" | Out-Null }} +$oldEngine = '{old}' +if (Test-Path -LiteralPath (Join-Path $oldEngine 'sunshine.exe')) {{ + Stop-Service -Name '{service}' -Force -ErrorAction SilentlyContinue + Get-CimInstance Win32_Process -Filter "Name='sunshine.exe'" | Where-Object {{ $_.ExecutablePath -like ($oldEngine + '\*') }} | ForEach-Object {{ Stop-Process -Id $_.ProcessId -Force -ErrorAction SilentlyContinue }} + if (Get-Service -Name '{service}' -ErrorAction SilentlyContinue) {{ sc.exe delete '{service}' | Out-Null }} + if (-not (Test-Path -LiteralPath (Join-Path '{engine}' 'sunshine.exe'))) {{ + Step "Moving the streaming engine to {engine}" + try {{ + New-Item -ItemType Directory -Force -Path (Split-Path '{engine}') | Out-Null + Start-Sleep -Seconds 1 + Move-Item -LiteralPath $oldEngine -Destination '{engine}' -ErrorAction Stop + }} catch {{ Write-Output " could not move the engine: $_" }} + }} + $oldRoot = Split-Path $oldEngine + if (-not (Get-ChildItem -LiteralPath $oldRoot -Force -ErrorAction SilentlyContinue)) {{ + Remove-Item -LiteralPath $oldRoot -Force -ErrorAction SilentlyContinue + }} +}} +"#, + task = WINDOWS_ENGINE_TASK, + rules = rules, + old = WINDOWS_ENGINE_DIR, + service = WINDOWS_SERVICE, + engine = engine_dir, + ) +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn the_windows_fragment_removes_every_old_registration_and_moves_the_engine() { + let s = retire_windows_ps(r"C:\Program Files\Latch\engine"); + for rule in WINDOWS_RULES { + assert!(s.contains(&format!("'{rule}'")), "{rule}: {s}"); + } + assert!(s.contains("Unregister-ScheduledTask"), "{s}"); + assert!(s.contains("sc.exe delete 'BroLinkStream'"), "{s}"); + assert!( + s.contains( + r"Move-Item -LiteralPath $oldEngine -Destination 'C:\Program Files\Latch\engine'" + ), + "{s}" + ); + // The old folder is only emptied after it has been moved from, and + // an engine already in the new place is never overwritten. + assert!(s.contains(r"-not (Test-Path -LiteralPath (Join-Path 'C:\Program Files\Latch\engine' 'sunshine.exe'))")); + assert!(!s.contains("Remove-Item -Recurse"), "{s}"); + } + + #[test] + fn an_old_engine_program_is_still_recognised() { + assert!(ENGINE_EXE_NAMES.contains(&"BroLinkStreaming")); + assert!(ENGINE_EXE_NAMES.contains(&"brolink-engine")); + } +} diff --git a/crates/host/src/lib.rs b/crates/host/src/lib.rs index cc83cc2..742e6fd 100644 --- a/crates/host/src/lib.rs +++ b/crates/host/src/lib.rs @@ -1,4 +1,4 @@ -//! BroLink node: control service, streaming engine setup, and the unified +//! Latch node: control service, streaming engine setup, and the unified //! window that both views other machines and shares this one. pub mod app; @@ -7,6 +7,7 @@ pub mod brand; pub mod clipboard; pub mod config; pub mod display; +pub mod legacy; pub mod logfile; pub mod migrate; pub mod power; diff --git a/crates/host/src/logfile.rs b/crates/host/src/logfile.rs index cab521c..4684bf5 100644 --- a/crates/host/src/logfile.rs +++ b/crates/host/src/logfile.rs @@ -121,7 +121,7 @@ mod tests { use super::*; fn tmpdir(name: &str) -> PathBuf { - let d = std::env::temp_dir().join(format!("brolink-logfile-{name}-{}", std::process::id())); + let d = std::env::temp_dir().join(format!("latch-logfile-{name}-{}", std::process::id())); let _ = std::fs::remove_dir_all(&d); std::fs::create_dir_all(&d).unwrap(); d @@ -175,8 +175,8 @@ mod tests { #[test] fn the_previous_generation_sits_beside_the_log() { assert_eq!( - rotated_path(Path::new("/var/brolink/panel.log")), - PathBuf::from("/var/brolink/panel.log.1") + rotated_path(Path::new("/var/latch/panel.log")), + PathBuf::from("/var/latch/panel.log.1") ); } } diff --git a/crates/host/src/main.rs b/crates/host/src/main.rs index f25e85c..dce85ae 100644 --- a/crates/host/src/main.rs +++ b/crates/host/src/main.rs @@ -1,4 +1,4 @@ -//! BroLink. One executable, two jobs: +//! Latch. One executable, two jobs: //! //! * `--background`: the control service other machines talk to. //! * no flags: the window — a list of machines to connect to, and setup @@ -9,18 +9,18 @@ #![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] use anyhow::Result; -use brolink_core::config::data_dir; -use brolink_host::brand; -use brolink_host::logfile::RotatingLog; -use brolink_host::product::NodeApp; -use brolink_host::service::{self, Service}; use clap::Parser; +use latch_core::config::data_dir; +use latch_host::brand; +use latch_host::logfile::RotatingLog; +use latch_host::product::NodeApp; +use latch_host::service::{self, Service}; #[derive(Parser, Debug)] #[command( - name = "brolink-host", + name = "latch-host", version, - about = "BroLink: your machines, on any of your machines" + about = "Latch: your machines, on any of your machines" )] struct Args { /// Run the control service with no window. @@ -29,7 +29,7 @@ struct Args { /// Started by an update: wait for this process to give up the port. #[arg(long, requires = "background")] replaces: Option, - /// Give the streaming engine in DIR BroLink's name and icon. Run by + /// Give the streaming engine in DIR Latch's name and icon. Run by /// setup, elevated, with the engine stopped; exits non-zero with the /// reason on stderr. #[arg(long, value_name = "DIR", conflicts_with = "background")] @@ -45,7 +45,7 @@ struct Args { setup_elevated: bool, /// The launching user's %LOCALAPPDATA%, so an elevated setup approved /// with another administrator's password still uses that user's - /// BroLink folder (host.toml, setup.log). + /// Latch folder (host.toml, setup.log). #[arg(long, value_name = "DIR", requires = "setup_elevated")] local_app_data: Option, } @@ -63,6 +63,12 @@ fn main() -> Result<()> { } else { "panel.log" }); + #[cfg(target_os = "macos")] + if let Err(e) = latch_host::unix_setup::adopt_legacy_bundle(args.background) { + // Only returns when there was nothing to move or the move failed; + // either way this copy runs from where it is. + tracing::warn!("could not move into Latch.app: {e:#}"); + } if args.background { return Service::new().run_arc(args.replaces.is_some()); } @@ -70,7 +76,7 @@ fn main() -> Result<()> { return run_setup(); } if args.setup_elevated { - return brolink_host::setup::run_as_admin(); + return latch_host::setup::run_as_admin(); } if let Some(dir) = &args.brand_engine { return brand::brand(dir).map_err(|e| { @@ -80,22 +86,22 @@ fn main() -> Result<()> { } service::ensure_service_running(); eframe::run_native( - "BroLink", - brolink_client::native_options(), + "Latch", + latch_client::native_options(), Box::new(|cc| Ok(Box::new(NodeApp::new(cc)))), ) .map_err(|e| anyhow::anyhow!("{e}")) } fn run_setup() -> Result<()> { - let mut cfg = brolink_host::config::HostConfig::load(); + let mut cfg = latch_host::config::HostConfig::load(); if !cfg.has_creds() { - cfg.sunshine_user = "brolink".into(); - cfg.sunshine_pass = brolink_host::config::random_password(); + cfg.sunshine_user = "latch".into(); + cfg.sunshine_pass = latch_host::config::random_password(); cfg.save()?; } let exe = std::env::current_exe()?; - brolink_host::setup::run(&brolink_host::setup::Plan { + latch_host::setup::run(&latch_host::setup::Plan { exe: &exe, install_engine: true, migrate: false, @@ -113,7 +119,7 @@ fn run_setup() -> Result<()> { /// swapchain reports suboptimal (`wgpu-hal`, `vulkan/mod.rs`). On Hermes /// that is every frame the window draws, and it was **every line** of a /// 32 MB `panel.log` — the condition is normal and wgpu recreates the -/// swapchain itself, so there is nothing to act on. BroLink stays at info +/// swapchain itself, so there is nothing to act on. Latch stays at info /// and that one target is heard from only when it is an error. const DEFAULT_LOG: &str = "info,wgpu_hal=error"; diff --git a/crates/host/src/migrate.rs b/crates/host/src/migrate.rs index 8ee5047..3ec39a7 100644 --- a/crates/host/src/migrate.rs +++ b/crates/host/src/migrate.rs @@ -22,10 +22,10 @@ pub const OLD_CONFIG: &[&str] = &[ r"C:\Program Files\Apollo\config", ]; -/// Restart-Service match after a creds write; includes the BroLink service. -pub const SERVICE_MATCH: &str = "Sunshine|Apollo|BroLinkStream"; +/// Restart-Service match after a creds write; includes the Latch service. +pub const SERVICE_MATCH: &str = "Sunshine|Apollo|LatchStream"; -/// Stop+disable only the upstream engines, never BroLinkStream. +/// Stop+disable only the upstream engines, never LatchStream. pub const OLD_SERVICE_MATCH: &str = "Sunshine|Apollo"; pub fn uses_old_engine(kind: &str) -> bool { @@ -38,7 +38,7 @@ fn ps_rel(parts: &[&str]) -> String { pub fn stop_old_ps() -> String { format!( - r#"Step "Stopping the old streaming service so only BroLink listens" + r#"Step "Stopping the old streaming service so only Latch listens" Get-Service | Where-Object {{ $_.Name -match '{OLD_SERVICE_MATCH}' }} | ForEach-Object {{ Stop-Service -Name $_.Name -Force -ErrorAction SilentlyContinue Set-Service -Name $_.Name -StartupType Disabled -ErrorAction SilentlyContinue @@ -64,7 +64,7 @@ pub fn copy_ps(engine_dir: &str) -> String { .collect::>() .join(", "); format!( - r#"Step "Copying streaming state into BroLink" + r#"Step "Copying streaming state into Latch" $src = @({sources}) | Where-Object {{ Test-Path (Join-Path $_ 'sunshine_state.json') }} | Select-Object -First 1 if (-not $src) {{ throw "no previous engine state to migrate" }} $dest = Join-Path '{engine}' 'config' @@ -134,7 +134,7 @@ if (-not (Test-Path -LiteralPath (Join-Path $oldRoot 'sunshine.exe'))) {{ }} }} "#, - port = brolink_core::SUNSHINE_PORT, + port = latch_core::SUNSHINE_PORT, code = PRODUCT_CODE, ) } @@ -147,7 +147,7 @@ mod tests { fn only_upstream_engines_need_migration() { assert!(uses_old_engine("Sunshine")); assert!(uses_old_engine("Apollo")); - assert!(!uses_old_engine("BroLink")); + assert!(!uses_old_engine("Latch")); assert!(!uses_old_engine("")); } @@ -180,13 +180,13 @@ mod tests { "{line}" ); } - assert!(!s.contains("BroLink\\engine"), "{s}"); + assert!(!s.contains("Latch\\engine"), "{s}"); assert!(after_start_ps(true).is_empty()); } #[test] fn copy_ps_names_the_live_inventory() { - let s = copy_ps(r"C:\Program Files\BroLink\engine"); + let s = copy_ps(r"C:\Program Files\Latch\engine"); assert!(s.contains("sunshine_state.json"), "{s}"); assert!(s.contains(r"credentials\cacert.pem"), "{s}"); assert!(s.contains(r"credentials\cakey.pem"), "{s}"); diff --git a/crates/host/src/power.rs b/crates/host/src/power.rs index ca89c88..f2d830a 100644 --- a/crates/host/src/power.rs +++ b/crates/host/src/power.rs @@ -1,9 +1,9 @@ //! Remote power actions, and keeping the PC from idle-sleeping. use anyhow::Result; -use brolink_core::api::PowerAction; +use latch_core::api::PowerAction; -/// Prevent Windows from idle-sleeping while BroLink Host is running, so +/// Prevent Windows from idle-sleeping while Latch Host is running, so /// Tailscale stays up. User-initiated Sleep (Start menu or the Mac) still /// works. Call this from the background service, not the control panel: /// the execution state is per-thread, and `refresh_loop` is the one caller. diff --git a/crates/host/src/product.rs b/crates/host/src/product.rs index f1e6163..1308382 100644 --- a/crates/host/src/product.rs +++ b/crates/host/src/product.rs @@ -1,12 +1,12 @@ -//! The one BroLink window: the machine list to connect from, this -//! machine's Sharing page, and settings. The viewer (`brolink-client`) +//! The one Latch window: the machine list to connect from, this +//! machine's Sharing page, and settings. The viewer (`latch-client`) //! draws the window; the Sharing page is drawn by [`HostApp`] through //! [`SharePage`], and a summary of it is handed over for the machine list. use crate::app::{HostApp, Os, Shared}; -use brolink_client::app::ClientApp; -use brolink_client::share::{LocalShare, SharePage, Slot}; use eframe::egui; +use latch_client::app::ClientApp; +use latch_client::share::{LocalShare, SharePage, Slot}; use parking_lot::Mutex; use std::cell::RefCell; use std::rc::Rc; @@ -54,7 +54,7 @@ impl NodeApp { #[doc(hidden)] pub fn headless( cc: &eframe::CreationContext<'_>, - discovery: brolink_client::session::Discovery, + discovery: latch_client::session::Discovery, shared: Shared, os: Os, ) -> Self { @@ -62,7 +62,7 @@ impl NodeApp { cc, discovery, Default::default(), - brolink_client::config::ClientConfig::default(), + latch_client::config::ClientConfig::default(), ); let host = HostApp::headless(Arc::new(Mutex::new(shared)), os); Self::assemble(client, host) diff --git a/crates/host/src/service.rs b/crates/host/src/service.rs index 00e5f08..23f9eb9 100644 --- a/crates/host/src/service.rs +++ b/crates/host/src/service.rs @@ -15,13 +15,13 @@ use crate::streamer::{self, Api, Install}; use crate::update; use crate::wake::{self, WakeInfo}; use anyhow::{Context, Result}; -use brolink_core::api::{ +use latch_core::api::{ Ack, Clipboard, DisplayRequest, NatReport, PinRequest, PowerRequest, Status, Streamer, CLIPBOARD_PATH, UPDATE_PATH, }; -use brolink_core::http::{self, Request, Response}; -use brolink_core::tailscale::{self, is_tailnet_ip}; -use brolink_core::CONTROL_PORT; +use latch_core::http::{self, Request, Response}; +use latch_core::tailscale::{self, is_tailnet_ip}; +use latch_core::CONTROL_PORT; use parking_lot::Mutex; use std::collections::{HashMap, VecDeque}; use std::net::{IpAddr, Ipv4Addr, SocketAddr, TcpListener}; @@ -68,7 +68,7 @@ impl Service { pub fn new() -> Self { Self { cfg: Mutex::new(HostConfig::load()), - name: Mutex::new(brolink_core::config::machine_name()), + name: Mutex::new(latch_core::config::machine_name()), tailscale: Mutex::new(Err("not checked yet".into())), wake: Mutex::new(WakeInfo::default()), wake_seen: Mutex::new(None), @@ -129,7 +129,7 @@ impl Service { // restarts on failure then leaves the running one alone // instead of respawning this one every few seconds. self.log(format!( - "another BroLink service already answers on TCP {CONTROL_PORT}; this copy exits ({e})" + "another Latch service already answers on TCP {CONTROL_PORT}; this copy exits ({e})" )); return Ok(()); } @@ -137,7 +137,7 @@ impl Service { } }; self.log(format!( - "BroLink Host {} listening on TCP {CONTROL_PORT}", + "Latch Host {} listening on TCP {CONTROL_PORT}", env!("CARGO_PKG_VERSION") )); if let Ok(exe) = std::env::current_exe() { @@ -167,6 +167,8 @@ impl Service { /// A PC nobody can reach in person has to come back by itself after a /// restart, so the logon entry is kept unless the owner turned it off. fn ensure_autostart(&self, exe: &std::path::Path) { + #[cfg(not(windows))] + crate::unix_setup::repair_adopted_engine_config(); if !self.cfg.lock().start_with_windows { return; } @@ -235,10 +237,10 @@ impl Service { } else { running && self.streamer.lock().api_ok }; - // Apply the streaming profile on any engine BroLink can log into, + // Apply the streaming profile on any engine Latch can log into, // after any old app has ended. The marker survives panel/config saves. if tick.is_multiple_of(6) && api_ok && install.is_some() { - if let Ok(dir) = brolink_core::config::data_dir() { + if let Ok(dir) = latch_core::config::data_dir() { let marker = dir.join("stream-profile-v3"); if !marker.exists() { let api = Api { @@ -292,11 +294,11 @@ impl Service { if (cur.installed, cur.running, cur.api_ok) != (st.installed, st.running, st.api_ok) { self.log(match (&st.installed, &st.running, &st.api_ok) { (false, _, _) => "the streaming engine is not installed".to_string(), - (true, false, _) => "BroLink is installed but not sharing yet".to_string(), + (true, false, _) => "Latch is installed but not sharing yet".to_string(), (true, true, false) => { - "BroLink is running; the streaming engine has no working login yet".into() + "Latch is running; the streaming engine has no working login yet".into() } - (true, true, true) => "BroLink is sharing this machine".to_string(), + (true, true, true) => "Latch is sharing this machine".to_string(), }); } if cur.encoder != st.encoder && !st.encoder.is_empty() { @@ -334,7 +336,7 @@ impl Service { } if tick.is_multiple_of(12) { - *self.name.lock() = brolink_core::config::machine_name(); + *self.name.lock() = latch_core::config::machine_name(); let w = wake::probe(); let mut cur = self.wake.lock(); if *cur != w { @@ -385,7 +387,7 @@ impl Service { } /// A magic packet arrived while awake: remember when, for the status. - fn wake_packet(&self, mac: brolink_core::wake::MacAddr, from: SocketAddr) { + fn wake_packet(&self, mac: latch_core::wake::MacAddr, from: SocketAddr) { let own = self.wake.lock().mac.clone(); if own.as_deref() != Some(mac.to_string().as_str()) { return; @@ -411,10 +413,11 @@ impl Service { } else if !streamer.running { setup.push("The streaming engine is installed but not running.".into()); } else if !streamer.api_ok { - setup.push("BroLink has no working login for the streaming engine.".into()); + setup.push("Latch has no working login for the streaming engine.".into()); } else if cfg!(windows) - && streamer.kind == "BroLink" - && !crate::brand::is_branded_cached(std::path::Path::new(crate::streamer::ENGINE_DIR)) + && latch_core::legacy::is_own_streamer_kind(&streamer.kind) + && !crate::streamer::find() + .is_some_and(|install| crate::brand::is_branded_cached(&install.dir)) { setup.push( "The streaming engine still shows its upstream name and icon in Task Manager." @@ -433,7 +436,7 @@ impl Service { ); } Status { - app: "brolink".into(), + app: latch_core::APP_ID.into(), version: env!("CARGO_PKG_VERSION").into(), name: self.name.lock().clone(), os: ts @@ -570,14 +573,14 @@ impl Service { // A web page open in a browser on an authorised machine (this PC, // or the Mac) can POST here without asking: a cross-origin form // post needs no preflight, and sleep, quit or a clipboard write - // happen whether or not the page can read the reply. BroLink's own + // happen whether or not the page can read the reply. Latch's own // callers send JSON or an executable, neither of which a browser // can send cross-origin without a preflight that nothing here // answers. - if req.method == "POST" && !sent_by_brolink(req) { + if req.method == "POST" && !sent_by_latch(req) { return Response::json( 403, - &Ack::err("a BroLink request carries JSON or an executable"), + &Ack::err("a Latch request carries JSON or an executable"), ); } let local = peer.ip().is_loopback(); @@ -611,7 +614,7 @@ impl Service { } } - /// A newer `brolink-host.exe` from the Mac: stage it, answer, then swap + /// A newer `latch-host.exe` from the Mac: stage it, answer, then swap /// it in and hand over. See [`crate::update`]. fn update(&self, from: IpAddr, req: &Request) -> Response { if !cfg!(windows) { @@ -620,7 +623,9 @@ impl Service { // fail to start and be retried. return Response::json( 400, - &Ack::err("only a Windows PC takes a pushed brolink-host.exe; this machine updates itself"), + &Ack::err( + "only a Windows PC takes a pushed latch-host.exe; this machine updates itself", + ), ); } if self.update_running.swap(true, Ordering::AcqRel) { @@ -645,7 +650,7 @@ impl Service { match update::stage(req, &exe) { Ok(version) => { self.log(format!( - "updating to {version}: {from} sent the new BroLink Host" + "updating to {version}: {from} sent the new Latch Host" )); let running = self.update_running.clone(); let log = self.log.clone(); @@ -684,7 +689,7 @@ impl Service { return Response::json( 502, &Ack::err( - "BroLink cannot log in to the streaming engine on this PC; run setup there", + "Latch cannot log in to the streaming engine on this PC; run setup there", ), ); } @@ -909,10 +914,10 @@ pub fn ensure_service_running() { } } -/// The `Content-Type` BroLink's own callers send: JSON, or the executable +/// The `Content-Type` Latch's own callers send: JSON, or the executable /// on the update route. A browser cannot send either cross-origin without /// a CORS preflight, so this keeps web pages from driving the service. -fn sent_by_brolink(req: &Request) -> bool { +fn sent_by_latch(req: &Request) -> bool { let ct = req .header("content-type") .unwrap_or("") @@ -1050,7 +1055,7 @@ mod tests { headers: vec![("content-type".into(), "application/json-not-really".into())], ..Default::default() }; - assert!(!sent_by_brolink(&req)); + assert!(!sent_by_latch(&req)); } #[test] @@ -1074,7 +1079,7 @@ mod tests { #[test] fn wake_evidence_requires_a_known_matching_adapter() { let svc = Service::new(); - let mac = brolink_core::wake::MacAddr::parse("02:00:00:00:00:01").unwrap(); + let mac = latch_core::wake::MacAddr::parse("02:00:00:00:00:01").unwrap(); let from = "192.168.1.2:9".parse().unwrap(); svc.wake_packet(mac, from); assert!(svc.wake_seen.lock().is_none()); @@ -1099,7 +1104,7 @@ mod tests { let r = svc.handle("127.0.0.1:5".parse().unwrap(), &req); assert_eq!(r.status, 200); let st: Status = r.parse().unwrap(); - assert_eq!(st.app, "brolink"); + assert_eq!(st.app, "latch"); assert!(!st.name.is_empty()); } @@ -1140,7 +1145,7 @@ mod tests { method: "POST".into(), path: UPDATE_PATH.into(), headers: vec![ - ("x-brolink-version".into(), "0.0.1".into()), + ("x-latch-version".into(), "0.0.1".into()), ("content-type".into(), "application/octet-stream".into()), ], body: b"MZ".to_vec(), @@ -1191,7 +1196,7 @@ mod tests { assert_eq!(r.status, 403, "{path} with {ct:?}: {}", r.body); } } - // BroLink's own callers are unaffected, whatever the case of the header. + // Latch's own callers are unaffected, whatever the case of the header. let r = svc.handle( local, &Request { diff --git a/crates/host/src/setup.rs b/crates/host/src/setup.rs index 0eaa73a..b63a68d 100644 --- a/crates/host/src/setup.rs +++ b/crates/host/src/setup.rs @@ -2,7 +2,7 @@ //! //! Everything that needs elevation is done by a single PowerShell script //! behind a single UAC prompt: install the bundled Sunshine if none is -//! present, give it the login BroLink will use, open the control port to the +//! present, give it the login Latch will use, open the control port to the //! tailnet, list the Mac screen sizes on the virtual display, turn Fast //! Startup off and arm the network card for Wake-on-LAN. //! Each step logs and carries on, so one failure does not undo the others; @@ -12,8 +12,8 @@ #[cfg(windows)] use anyhow::Context; use anyhow::Result; -use brolink_core::config::data_dir; -use brolink_core::CONTROL_PORT; +use latch_core::config::data_dir; +use latch_core::CONTROL_PORT; use std::path::{Path, PathBuf}; pub struct Plan<'a> { @@ -36,9 +36,9 @@ pub fn log_path() -> Option { data_dir().ok().map(|d| d.join("setup.log")) } -/// The engine archive shipped beside `brolink-host.exe`. The lite archive +/// The engine archive shipped beside `latch-host.exe`. The lite archive /// is a plain zip: no Add/Remove Programs entry, no Start Menu shortcut and -/// no service or firewall rule of its own, so BroLink names all three. +/// no service or firewall rule of its own, so Latch names all three. pub const ENGINE_ZIP: &str = "Sunshine-Windows-AMD64-lite.zip"; /// The upstream release the engine is pinned to, and the SHA-256 GitHub @@ -55,18 +55,18 @@ pub const ENGINE_ZIP_ROOT: &str = "Sunshine"; /// the copy in `ENGINE_DIR`, because the copy is what the service points at. pub const ENGINE_REQUIRED: [&str; 2] = ["sunshine.exe", r"tools\sunshinesvc.exe"]; -/// The service BroLink registers, and the name it shows under. The engine's +/// The service Latch registers, and the name it shows under. The engine's /// service wrapper is `SERVICE_WIN32_OWN_PROCESS`, for which Windows ignores /// the name the process passes to `StartServiceCtrlDispatcher`, so the SCM -/// name is BroLink's to pick. `UPSTREAM_SERVICE` is the name that wrapper +/// name is Latch's to pick. `UPSTREAM_SERVICE` is the name that wrapper /// was compiled with, kept only as the name the script falls back *to* /// after proving `SERVICE` will not start. -pub const SERVICE: &str = "BroLinkStream"; -pub const SERVICE_DISPLAY: &str = "BroLink Streaming"; +pub const SERVICE: &str = "LatchStream"; +pub const SERVICE_DISPLAY: &str = "Latch Streaming"; pub const UPSTREAM_SERVICE: &str = "SunshineService"; -pub const TCP_RULE: &str = "BroLink Streaming TCP"; -pub const UDP_RULE: &str = "BroLink Streaming UDP"; +pub const TCP_RULE: &str = "Latch Streaming TCP"; +pub const UDP_RULE: &str = "Latch Streaming UDP"; /// Keys written into `config\sunshine.conf` before the engine first starts. /// From Sunshine v2026.906.222525 (`cb72dff`): `system_tray` is the tray @@ -105,7 +105,7 @@ pub const ENGINE_CONF: &[(&str, &str)] = &[ ("vt_realtime", "enabled"), ]; -/// The only streamable app BroLink launches. Upstream ships extra entries +/// The only streamable app Latch launches. Upstream ships extra entries /// (Steam, a low-res desktop) that would show as a second product. pub const DESKTOP_APPS_JSON: &str = r#"{ "apps": [ @@ -229,8 +229,12 @@ fn win_dir(path: &Path) -> String { pub fn script(p: &Plan<'_>) -> String { let q = |s: &str| s.replace('\'', "''"); let exe_dir = win_dir(p.exe); + // The folder an earlier version used is left out: the retire step has + // moved it to ENGINE_DIR by now, and an engine that could not be moved + // must not be mistaken for one to keep, with its pairing state missing. let dirs = crate::streamer::INSTALL_DIRS .iter() + .filter(|(_, d)| *d != crate::legacy::WINDOWS_ENGINE_DIR) .map(|(_, d)| format!("'{d}'")) .collect::>() .join(", "); @@ -271,19 +275,19 @@ if ($needFiles -or -not $svcUp) {{ # (LocalSystem's TEMP is C:\Windows\Temp) would let one run delete another # run's staging, and -Recurse -Force on a guessable shared path is a # footgun even when nothing else is running. - $staging = Join-Path $env:TEMP ('brolink-engine-' + [guid]::NewGuid().ToString('N')) + $staging = Join-Path $env:TEMP ('latch-engine-' + [guid]::NewGuid().ToString('N')) New-Item -ItemType Directory -Force -Path $staging | Out-Null $zip = Join-Path '{exe_dir}' '{zip}' if (Test-Path $zip) {{ - Step "Installing the streaming engine that ships with BroLink" + Step "Installing the streaming engine that ships with Latch" }} else {{ Step "Downloading the streaming engine {tag}" - $json = curl.exe -sSL -A brolink https://api.github.com/repos/{repo}/releases/tags/{tag} + $json = curl.exe -sSL -A latch https://api.github.com/repos/{repo}/releases/tags/{tag} if ($LASTEXITCODE -ne 0) {{ throw "could not reach GitHub for engine release {tag} (curl exit $LASTEXITCODE)" }} $asset = ($json | ConvertFrom-Json).assets | Where-Object {{ $_.name -like '*lite.zip' }} | Select-Object -First 1 if (-not $asset) {{ throw "no lite archive in engine release {tag}" }} $zip = Join-Path $staging 'engine.zip' - curl.exe -sSL -A brolink -o $zip $asset.browser_download_url + curl.exe -sSL -A latch -o $zip $asset.browser_download_url if ($LASTEXITCODE -ne 0) {{ throw "downloading the engine archive failed (curl exit $LASTEXITCODE)" }} }} if (-not (Test-Path $zip)) {{ throw "the engine archive is missing: $zip" }} @@ -318,7 +322,7 @@ if ($needFiles -or -not $svcUp) {{ # should dispatch fine. That is proven here rather than assumed: if the # service will not reach Running it is removed and re-registered under # '{upstream}', the name the wrapper was built with, still displayed as - # "{display}". An existing '{upstream}' belongs to an engine BroLink did + # "{display}". An existing '{upstream}' belongs to an engine Latch did # not install and is never touched - migrating that one is a later step. $svcBin = '"' + (Join-Path $dir 'tools\sunshinesvc.exe') + '"' $svc = '{service}' @@ -329,7 +333,7 @@ if ($needFiles -or -not $svcUp) {{ $deadline = (Get-Date).AddSeconds(15) while ((Get-Service -Name $svc -ErrorAction SilentlyContinue) -and ((Get-Date) -lt $deadline)) {{ Start-Sleep -Milliseconds 400 }} }} - New-Service -Name $svc -BinaryPathName $svcBin -DisplayName '{display}' -StartupType Automatic -Description 'Streams this PC to BroLink.' | Out-Null + New-Service -Name $svc -BinaryPathName $svcBin -DisplayName '{display}' -StartupType Automatic -Description 'Streams this PC to Latch.' | Out-Null Start-Service -Name $svc -ErrorAction SilentlyContinue if ((Get-Service -Name $svc -ErrorAction SilentlyContinue).Status -ne 'Running') {{ Step " '{service}' would not start; re-registering under the engine's own service name" @@ -339,7 +343,7 @@ if ($needFiles -or -not $svcUp) {{ while ((Get-Service -Name $svc -ErrorAction SilentlyContinue) -and ((Get-Date) -lt $deadline)) {{ Start-Sleep -Milliseconds 400 }} if (Get-Service -Name '{upstream}' -ErrorAction SilentlyContinue) {{ throw "'{service}' would not start and '{upstream}' already exists; leaving that engine alone" }} $svc = '{upstream}' - New-Service -Name $svc -BinaryPathName $svcBin -DisplayName '{display}' -StartupType Automatic -Description 'Streams this PC to BroLink.' | Out-Null + New-Service -Name $svc -BinaryPathName $svcBin -DisplayName '{display}' -StartupType Automatic -Description 'Streams this PC to Latch.' | Out-Null Start-Service -Name $svc -ErrorAction SilentlyContinue }} if ((Get-Service -Name $svc -ErrorAction SilentlyContinue).Status -ne 'Running') {{ throw "the {display} service did not start" }} @@ -368,7 +372,7 @@ if ($needFiles -or -not $svcUp) {{ } else { String::new() }; - // Only the engine BroLink installed is ever branded: an engine someone + // Only the engine Latch installed is ever branded: an engine someone // else put in Program Files is theirs. A dry run changes no files. let brand_existing = if p.dry_run { String::new() @@ -419,7 +423,7 @@ try {{ powercfg /deviceenablewake $wakeDevice | Out-Null }} catch {{ Write-Outpu " Step \"Keeping the migrated web login\"\n".to_string() } else { format!( - r#" Step "Setting the engine login BroLink uses" + r#" Step "Setting the engine login Latch uses" Push-Location $dir & (Join-Path $dir 'sunshine.exe') --creds '{user}' '{pass}' 2>&1 | Out-Null Pop-Location @@ -432,12 +436,12 @@ try {{ powercfg /deviceenablewake $wakeDevice | Out-Null }} catch {{ Write-Outpu ) }; format!( - r#"# BroLink setup. Generated; re-run "Set up this PC" in BroLink Host rather than editing. + r#"# Latch setup. Generated; re-run "Set up this PC" in Latch Host rather than editing. $ErrorActionPreference = 'Continue' function Step($m) {{ Write-Output "[$(Get-Date -Format HH:mm:ss)] $m" }} function Brand-Engine($d) {{ # Task Manager, the volume mixer and a firewall prompt show a program's - # version block and icon. The engine's executables get BroLink's, in + # version block and icon. The engine's executables get Latch's, in # place, with their copyright and licence strings kept; the archive they # were unpacked from is untouched. The engine has to be stopped for the # rewrite, so only services whose binary is inside this directory are @@ -445,12 +449,12 @@ function Brand-Engine($d) {{ # cosmetic: streaming works either way, so it is reported, not thrown. $exe = Join-Path $d 'sunshine.exe' if ((Get-Item -LiteralPath $exe -ErrorAction SilentlyContinue).VersionInfo.FileDescription -eq '{description}') {{ return }} - Step "Giving the engine BroLink's name and icon" + Step "Giving the engine Latch's name and icon" $held = @() try {{ $held = @(Get-CimInstance Win32_Service | Where-Object {{ $_.State -eq 'Running' -and $_.PathName -like ('*' + $d + '*') }} | ForEach-Object {{ $_.Name }}) foreach ($s in $held) {{ Stop-Service -Name $s -Force -ErrorAction SilentlyContinue }} - $errFile = Join-Path $env:TEMP ('brolink-brand-' + [guid]::NewGuid().ToString('N') + '.txt') + $errFile = Join-Path $env:TEMP ('latch-brand-' + [guid]::NewGuid().ToString('N') + '.txt') $p = Start-Process -FilePath '{host_exe}' -ArgumentList @('--brand-engine', ('"' + $d + '"')) -Wait -PassThru -WindowStyle Hidden -RedirectStandardError $errFile if ($p.ExitCode -ne 0) {{ $why = Get-Content -LiteralPath $errFile -Raw -ErrorAction SilentlyContinue @@ -464,9 +468,9 @@ function Brand-Engine($d) {{ }} }} {conceal} -Step "BroLink setup started" +Step "Latch setup started" $migrate = {migrate_flag} -$dir = @({dirs}) | Where-Object {{ Test-Path (Join-Path $_ 'sunshine.exe') }} | Select-Object -First 1 +{retire}$dir = @({dirs}) | Where-Object {{ Test-Path (Join-Path $_ 'sunshine.exe') }} | Select-Object -First 1 # Set when the engine step fails. The wake and host-firewall steps below are # independent and still run, but the script exits non-zero at the end so the # caller does not report a successful setup over a broken engine. @@ -490,19 +494,19 @@ try {{ $ErrorActionPreference = $keepEAP if ($staging -and (Test-Path $staging)) {{ Remove-Item $staging -Recurse -Force -ErrorAction SilentlyContinue }} }} -Step "Opening TCP {port} to the tailnet for BroLink Host" -netsh advfirewall firewall delete rule name="BroLink Host" | Out-Null -netsh advfirewall firewall add rule name="BroLink Host" dir=in action=allow protocol=TCP localport={port} remoteip=100.64.0.0/10 program='{exe}' | Out-Null +Step "Opening TCP {port} to the tailnet for Latch Host" +netsh advfirewall firewall delete rule name="Latch Host" | Out-Null +netsh advfirewall firewall add rule name="Latch Host" dir=in action=allow protocol=TCP localport={port} remoteip=100.64.0.0/10 program='{exe}' | Out-Null Step "Opening UDP 9 so a Mac can check its wake path while this PC is awake" -netsh advfirewall firewall delete rule name="BroLink wake" | Out-Null -netsh advfirewall firewall add rule name="BroLink wake" dir=in action=allow protocol=UDP localport=9 program='{exe}' | Out-Null +netsh advfirewall firewall delete rule name="Latch wake" | Out-Null +netsh advfirewall firewall add rule name="Latch wake" dir=in action=allow protocol=UDP localport=9 program='{exe}' | Out-Null if ($dir) {{ - # BroLink names and scopes these itself rather than running the engine's + # Latch names and scopes these itself rather than running the engine's # own add-firewall-rule script, which opens every TCP and UDP port under # the name "Sunshine". The engine web UI port is deliberately absent: it # is reachable on loopback only. Step "Opening the streaming ports to the tailnet" - foreach ($old in 'BroLink Sunshine TCP', 'BroLink Sunshine UDP', '{tcp_rule}', '{udp_rule}') {{ + foreach ($old in 'Latch Sunshine TCP', 'Latch Sunshine UDP', '{tcp_rule}', '{udp_rule}') {{ netsh advfirewall firewall delete rule name="$old" | Out-Null }} $engineExe = Join-Path $dir 'sunshine.exe' @@ -515,13 +519,14 @@ Step "Never idle-sleep when plugged in, so Tailscale stays up from anywhere" powercfg /change standby-timeout-ac 0 powercfg /change hibernate-timeout-ac 0 {adapter}if ($engineError) {{ - Step "BroLink setup FAILED: $engineError" + Step "Latch setup FAILED: $engineError" exit 1 }} -Step "BroLink setup finished" +Step "Latch setup finished" exit 0 "#, dirs = dirs, + retire = crate::legacy::retire_windows_ps(crate::streamer::ENGINE_DIR), conceal = conceal_ps(), description = crate::brand::DESCRIPTION, host_exe = q(&p.exe.display().to_string()), @@ -569,7 +574,7 @@ pub fn run(p: &Plan<'_>) -> Result<()> { // user, so the unelevated panel installs it. let _ = crate::audio::install_helpers(); let exe = q(&p.exe.display().to_string()); - let log = log_path().unwrap_or_else(|| std::env::temp_dir().join("brolink-setup.log")); + let log = log_path().unwrap_or_else(|| std::env::temp_dir().join("latch-setup.log")); // UAC may run the helper as another administrator, whose profile // holds no host.toml: pass this user's folder so the engine login // and setup.log stay with the account that shares the machine. @@ -586,7 +591,7 @@ pub fn run(p: &Plan<'_>) -> Result<()> { .args(["-NoProfile", "-NonInteractive", "-Command", &launch]) .creation_flags(0x0800_0000) .status() - .context("launch elevated BroLink Host")?; + .context("launch elevated Latch Host")?; anyhow::ensure!( status.success(), "the administrator prompt was declined or setup failed (see {})", @@ -704,14 +709,14 @@ pub fn run_as_admin() -> Result<()> { .map(|root| PathBuf::from(root).join("Temp")) .filter(|dir| dir.is_dir()) .unwrap_or_else(std::env::temp_dir); - let tmp = tmp_dir.join(format!("brolink-setup-{}.ps1", std::process::id())); + let tmp = tmp_dir.join(format!("latch-setup-{}.ps1", std::process::id())); // PowerShell 5.1 reads a BOM-less file as the system ANSI code page, so // a Korean/Japanese username or adapter name ("이더넷") would be mangled // and the firewall rule would point at a path that does not exist. let mut bytes = b"\xEF\xBB\xBF".to_vec(); bytes.extend(script(&plan).as_bytes()); std::fs::write(&tmp, &bytes)?; - let log = log_path().unwrap_or_else(|| std::env::temp_dir().join("brolink-setup.log")); + let log = log_path().unwrap_or_else(|| std::env::temp_dir().join("latch-setup.log")); let out = std::fs::File::create(&log)?; let err = out.try_clone()?; let status = std::process::Command::new("powershell") @@ -736,34 +741,39 @@ pub fn run_as_admin() -> Result<()> { anyhow::bail!("setup runs on Windows only") } -/// Register or remove `brolink-host.exe --background` under the current +/// Register or remove `latch-host.exe --background` under the current /// user's Run key. pub fn set_start_with_windows(enable: bool, exe: &Path) -> Result<()> { #[cfg(windows)] { use std::os::windows::process::CommandExt; const KEY: &str = r"HKCU\Software\Microsoft\Windows\CurrentVersion\Run"; - let mut c = std::process::Command::new("reg"); - if enable { - c.args([ + let reg = |args: &[&str]| { + std::process::Command::new("reg") + .args(args) + .creation_flags(0x0800_0000) + .stdout(std::process::Stdio::null()) + .stderr(std::process::Stdio::null()) + .status() + }; + // An earlier version's value goes either way: on, it is replaced; + // off, it would still start the host. + let _ = reg(&["delete", KEY, "/v", crate::legacy::WINDOWS_RUN_VALUE, "/f"]); + let status = if enable { + reg(&[ "add", KEY, "/v", - "BroLinkHost", + "LatchHost", "/t", "REG_SZ", "/d", &run_value(exe), "/f", - ]); + ])? } else { - c.args(["delete", KEY, "/v", "BroLinkHost", "/f"]); - } - let status = c - .creation_flags(0x0800_0000) - .stdout(std::process::Stdio::null()) - .stderr(std::process::Stdio::null()) - .status()?; + reg(&["delete", KEY, "/v", "LatchHost", "/f"])? + }; anyhow::ensure!( status.success() || (!enable && !starts_with_windows()), "could not update the Run key" @@ -790,17 +800,21 @@ pub fn starts_with_windows() -> bool { #[cfg(windows)] { use std::os::windows::process::CommandExt; - std::process::Command::new("reg") - .args([ - "query", - r"HKCU\Software\Microsoft\Windows\CurrentVersion\Run", - "/v", - "BroLinkHost", - ]) - .creation_flags(0x0800_0000) - .output() - .map(|o| o.status.success()) - .unwrap_or(false) + ["LatchHost", crate::legacy::WINDOWS_RUN_VALUE] + .iter() + .any(|value| { + std::process::Command::new("reg") + .args([ + "query", + r"HKCU\Software\Microsoft\Windows\CurrentVersion\Run", + "/v", + value, + ]) + .creation_flags(0x0800_0000) + .output() + .map(|o| o.status.success()) + .unwrap_or(false) + }) } #[cfg(not(windows))] crate::unix_setup::autostart_enabled() @@ -857,17 +871,17 @@ mod tests { #[test] fn run_value_quotes_the_path_and_asks_for_background() { - let p = PathBuf::from(r"C:\Users\Ada\AppData\Local\BroLink\brolink-host.exe"); + let p = PathBuf::from(r"C:\Users\Ada\AppData\Local\Latch\latch-host.exe"); assert_eq!( run_value(&p), - r#""C:\Users\Ada\AppData\Local\BroLink\brolink-host.exe" --background"# + r#""C:\Users\Ada\AppData\Local\Latch\latch-host.exe" --background"# ); } /// Position of `needle` after the preamble's function definitions, so /// an ordering test reads the steps as they run, not the helpers. fn find_in_body(s: &str, needle: &str) -> Option { - let at = s.find("BroLink setup started")?; + let at = s.find("Latch setup started")?; s[at..].find(needle).map(|i| i + at) } @@ -895,15 +909,15 @@ mod tests { #[test] fn script_escapes_quotes_and_skips_what_is_not_wanted() { - let exe = PathBuf::from(r"C:\x\brolink-host.exe"); + let exe = PathBuf::from(r"C:\x\latch-host.exe"); let s = script(&Plan { - sunshine_user: "brolink", + sunshine_user: "latch", sunshine_pass: "p'w", adapter: "Ethernet", adapter_description: "Realtek PCIe GbE", ..plan(&exe, false) }); - assert!(s.contains("--creds 'brolink' 'p''w'"), "{s}"); + assert!(s.contains("--creds 'latch' 'p''w'"), "{s}"); assert!(!s.contains("Downloading the streaming engine")); assert!(s.contains("$wakeAdapter = 'Ethernet'"), "{s}"); assert!(s.contains("Set-NetAdapterPowerManagement -Name $wakeAdapter")); @@ -912,7 +926,7 @@ mod tests { assert!(s.contains("HiberbootEnabled -Value 0")); assert!(s.contains("powercfg /change standby-timeout-ac 0")); assert!(s.contains("powercfg /change hibernate-timeout-ac 0")); - assert!(s.contains("protocol=UDP localport=9 program='C:\\x\\brolink-host.exe'")); + assert!(s.contains("protocol=UDP localport=9 program='C:\\x\\latch-host.exe'")); assert!(s.contains("$wakeDevice = 'Realtek PCIe GbE'")); assert!(s.contains("powercfg /deviceenablewake $wakeDevice")); // A name only ever appears as a single-quoted literal: in a @@ -929,12 +943,12 @@ mod tests { assert!(named.contains("$wakeDevice = 'NIC $env:TEMP'"), "{named}"); assert_eq!(named.matches("Stop-Computer").count(), 1, "{named}"); assert!( - s.contains("localport=47850 remoteip=100.64.0.0/10 program='C:\\x\\brolink-host.exe'") + s.contains("localport=47850 remoteip=100.64.0.0/10 program='C:\\x\\latch-host.exe'") ); - let dollar = PathBuf::from(r"C:\Users\joe$lab\BroLink\brolink-host.exe"); + let dollar = PathBuf::from(r"C:\Users\joe$lab\Latch\latch-host.exe"); let s = script(&plan(&dollar, false)); assert!( - s.contains("program='C:\\Users\\joe$lab\\BroLink\\brolink-host.exe'"), + s.contains("program='C:\\Users\\joe$lab\\Latch\\latch-host.exe'"), "firewall path must be a single-quoted PowerShell literal:\n{s}" ); assert!( @@ -950,7 +964,7 @@ mod tests { #[test] fn a_fresh_install_unpacks_the_pinned_lite_archive_and_leaves_no_upstream_traces() { - let exe = PathBuf::from(r"C:\x\brolink-host.exe"); + let exe = PathBuf::from(r"C:\x\latch-host.exe"); let s = script(&plan(&exe, true)); assert!(s.contains(ENGINE_ZIP), "{s}"); @@ -979,7 +993,7 @@ mod tests { #[test] fn a_missing_or_wrong_archive_throws_before_anything_is_unpacked() { - let exe = PathBuf::from(r"C:\x\brolink-host.exe"); + let exe = PathBuf::from(r"C:\x\latch-host.exe"); let s = code(&script(&plan(&exe, true))); let missing = s @@ -1014,7 +1028,7 @@ mod tests { #[test] fn a_failed_extract_throws_before_the_service_is_registered() { - let exe = PathBuf::from(r"C:\x\brolink-host.exe"); + let exe = PathBuf::from(r"C:\x\latch-host.exe"); let s = code(&script(&plan(&exe, true))); assert!( @@ -1043,18 +1057,18 @@ mod tests { } #[test] - fn the_service_is_brolinks_and_the_fallback_is_proven_not_assumed() { - let exe = PathBuf::from(r"C:\x\brolink-host.exe"); + fn the_service_is_latchs_and_the_fallback_is_proven_not_assumed() { + let exe = PathBuf::from(r"C:\x\latch-host.exe"); let s = script(&plan(&exe, true)); - assert_eq!(SERVICE, "BroLinkStream"); - assert_eq!(SERVICE_DISPLAY, "BroLink Streaming"); + assert_eq!(SERVICE, "LatchStream"); + assert_eq!(SERVICE_DISPLAY, "Latch Streaming"); assert!(s.contains(&format!("$svc = '{SERVICE}'")), "{s}"); assert_eq!( s.matches(&format!("-DisplayName '{SERVICE_DISPLAY}'")) .count(), 2, - "both registrations show the BroLink name:\n{s}" + "both registrations show the Latch name:\n{s}" ); assert!(!code(&s).contains("Sunshine Service"), "{s}"); @@ -1084,7 +1098,7 @@ mod tests { #[test] fn the_virtual_display_learns_every_size_a_mac_can_ask_for() { - let exe = PathBuf::from(r"C:\x\brolink-host.exe"); + let exe = PathBuf::from(r"C:\x\latch-host.exe"); let s = script(&plan(&exe, false)); let body = code(&s); let step = find_in_body(&body, "Listing the sizes a Mac can ask for").expect("step"); @@ -1107,8 +1121,8 @@ mod tests { } #[test] - fn firewall_rules_are_named_for_brolink_and_leave_the_web_ui_on_loopback() { - let exe = PathBuf::from(r"C:\x\brolink-host.exe"); + fn firewall_rules_are_named_for_latch_and_leave_the_web_ui_on_loopback() { + let exe = PathBuf::from(r"C:\x\latch-host.exe"); let s = script(&plan(&exe, false)); assert!(s.contains(&format!(r#"name="{TCP_RULE}" dir=in action=allow protocol=TCP localport=47984,47989,48010 remoteip=100.64.0.0/10 program="$engineExe""#)), "{s}"); @@ -1124,14 +1138,14 @@ mod tests { "the old range included the web UI port:\n{s}" ); assert!( - s.contains("'BroLink Sunshine TCP', 'BroLink Sunshine UDP'"), + s.contains("'Latch Sunshine TCP', 'Latch Sunshine UDP'"), "the rules this replaces are cleaned up:\n{s}" ); } #[test] - fn setup_looks_for_brolinks_own_engine_before_any_other() { - let exe = PathBuf::from(r"C:\x\brolink-host.exe"); + fn setup_looks_for_latchs_own_engine_before_any_other() { + let exe = PathBuf::from(r"C:\x\latch-host.exe"); let s = script(&plan(&exe, false)); let line = s .lines() @@ -1148,7 +1162,7 @@ mod tests { #[test] fn a_failed_copy_is_checked_on_the_destination_before_the_service_is_registered() { - let exe = PathBuf::from(r"C:\x\brolink-host.exe"); + let exe = PathBuf::from(r"C:\x\latch-host.exe"); let s = code(&script(&plan(&exe, true))); let dest = s .find(r#"throw "the engine did not copy to"#) @@ -1169,7 +1183,7 @@ mod tests { #[test] fn engine_failures_are_terminating_and_reported_as_nonzero_exit() { - let exe = PathBuf::from(r"C:\x\brolink-host.exe"); + let exe = PathBuf::from(r"C:\x\latch-host.exe"); let s = code(&script(&plan(&exe, true))); let stop = s @@ -1200,15 +1214,15 @@ mod tests { #[test] fn staging_is_unique_per_run_and_cleaned_in_finally() { - let exe = PathBuf::from(r"C:\x\brolink-host.exe"); + let exe = PathBuf::from(r"C:\x\latch-host.exe"); let s = script(&plan(&exe, true)); assert!(s.contains("[guid]::NewGuid()"), "{s}"); assert!( - !code(&s).contains("brolink-engine-unpack"), + !code(&s).contains("latch-engine-unpack"), "fixed staging name is gone:\n{s}" ); assert!( - !code(&s).contains("brolink-engine.zip"), + !code(&s).contains("latch-engine.zip"), "fixed download name is gone:\n{s}" ); assert!( @@ -1219,7 +1233,7 @@ mod tests { #[test] fn native_command_failures_are_checked() { - let exe = PathBuf::from(r"C:\x\brolink-host.exe"); + let exe = PathBuf::from(r"C:\x\latch-host.exe"); let s = script(&plan(&exe, true)); assert!(s.contains("if ($LASTEXITCODE -ne 0) { throw \"could not reach GitHub")); assert!( @@ -1270,7 +1284,7 @@ system_tray = enabled #[test] fn the_engine_conf_is_written_before_the_service_starts() { - let exe = PathBuf::from(r"C:\x\brolink-host.exe"); + let exe = PathBuf::from(r"C:\x\latch-host.exe"); let s = script(&plan(&exe, true)); for (k, v) in ENGINE_CONF { assert!( @@ -1295,7 +1309,7 @@ system_tray = enabled #[test] fn the_script_does_not_bind_the_engine_to_loopback() { - let exe = PathBuf::from(r"C:\x\brolink-host.exe"); + let exe = PathBuf::from(r"C:\x\latch-host.exe"); let s = code(&script(&plan(&exe, true))); assert!( !s.contains("bind_address"), @@ -1314,7 +1328,7 @@ system_tray = enabled #[test] fn old_engine_is_disabled_before_the_new_one_starts() { - let exe = PathBuf::from(r"C:\x\brolink-host.exe"); + let exe = PathBuf::from(r"C:\x\latch-host.exe"); let s = script(&plan(&exe, true)); let disable = s .find("StartupType Disabled") @@ -1334,13 +1348,13 @@ system_tray = enabled .expect("creds restart"); assert!( restart.contains(crate::migrate::SERVICE_MATCH), - "creds restart must see BroLinkStream:\n{restart}" + "creds restart must see LatchStream:\n{restart}" ); } #[test] fn setup_starts_the_engine_as_the_signed_in_user_after_the_service() { - let exe = PathBuf::from(r"C:\x\brolink-host.exe"); + let exe = PathBuf::from(r"C:\x\latch-host.exe"); let s = script(&plan(&exe, true)); let restart = s .lines() @@ -1367,7 +1381,7 @@ system_tray = enabled #[test] fn migrate_skips_creds_and_fresh_install_still_sets_them() { - let exe = PathBuf::from(r"C:\x\brolink-host.exe"); + let exe = PathBuf::from(r"C:\x\latch-host.exe"); let fresh = script(&plan(&exe, true)); assert!(fresh.contains("--creds 'u' 'p'"), "{fresh}"); assert!(fresh.contains("$migrate = $false"), "{fresh}"); @@ -1384,7 +1398,7 @@ system_tray = enabled #[test] fn migrate_uninstalls_only_after_prove_and_dry_run_never_calls_msiexec() { - let exe = PathBuf::from(r"C:\x\brolink-host.exe"); + let exe = PathBuf::from(r"C:\x\latch-host.exe"); let mig = script(&migrate_plan(&exe, false)); let copy = mig.find("Copy-EngineState").expect("copy"); let verify = mig.find("Assert-EngineState").expect("verify"); @@ -1405,7 +1419,7 @@ system_tray = enabled assert!(mig.contains("/x"), "{mig}"); assert!( mig.contains("$needFiles = (-not $dir) -or ($dir -ne '"), - "Sunshine already installed must still unpack BroLink:\n{mig}" + "Sunshine already installed must still unpack Latch:\n{mig}" ); assert!( mig.contains("Stop-Service -Name $svc -Force"), @@ -1426,8 +1440,8 @@ system_tray = enabled } #[test] - fn branding_follows_the_copy_touches_only_brolinks_engine_and_skips_dry_runs() { - let exe = PathBuf::from(r"C:\x\brolink-host.exe"); + fn branding_follows_the_copy_touches_only_latchs_engine_and_skips_dry_runs() { + let exe = PathBuf::from(r"C:\x\latch-host.exe"); let fresh = code(&script(&plan(&exe, true))); let copied = fresh .find("the engine did not copy to") @@ -1436,16 +1450,15 @@ system_tray = enabled let register = fresh.find("Registering the").expect("register"); assert!(copied < brand && brand < register, "{fresh}"); assert!( - fresh - .contains(r"if ($dir -eq 'C:\Program Files\BroLink\engine') { Brand-Engine $dir }"), + fresh.contains(r"if ($dir -eq 'C:\Program Files\Latch\engine') { Brand-Engine $dir }"), "{fresh}" ); assert!( - fresh.contains(".VersionInfo.FileDescription -eq 'BroLink Streaming'"), + fresh.contains(".VersionInfo.FileDescription -eq 'Latch Streaming'"), "{fresh}" ); assert!( - fresh.contains(r"-FilePath 'C:\x\brolink-host.exe'"), + fresh.contains(r"-FilePath 'C:\x\latch-host.exe'"), "{fresh}" ); assert!(fresh.contains("'--brand-engine'"), "{fresh}"); @@ -1472,22 +1485,22 @@ system_tray = enabled /// The seam CI's PowerShell syntax check runs through (see /// `.github/workflows/ci.yml`): the generated script is the real /// artefact, so it has to be obtainable without running setup. - /// `BROLINK_DUMP_SETUP_SCRIPT=/tmp/setup.ps1` writes one; the other - /// `BROLINK_DUMP_*` variables pick the plan. + /// `LATCH_DUMP_SETUP_SCRIPT=/tmp/setup.ps1` writes one; the other + /// `LATCH_DUMP_*` variables pick the plan. #[test] fn the_generated_script_can_be_dumped_for_a_syntax_check() { - let Ok(out) = std::env::var("BROLINK_DUMP_SETUP_SCRIPT") else { + let Ok(out) = std::env::var("LATCH_DUMP_SETUP_SCRIPT") else { return; }; let var = |k: &str, default: &str| std::env::var(k).unwrap_or_else(|_| default.into()); - let exe = PathBuf::from(var("BROLINK_DUMP_EXE", r"C:\x\brolink-host.exe")); - let user = var("BROLINK_DUMP_USER", "u"); - let pass = var("BROLINK_DUMP_PASS", "p"); - let adapter = var("BROLINK_DUMP_ADAPTER", ""); - let desc = var("BROLINK_DUMP_ADAPTER_DESC", ""); + let exe = PathBuf::from(var("LATCH_DUMP_EXE", r"C:\x\latch-host.exe")); + let user = var("LATCH_DUMP_USER", "u"); + let pass = var("LATCH_DUMP_PASS", "p"); + let adapter = var("LATCH_DUMP_ADAPTER", ""); + let desc = var("LATCH_DUMP_ADAPTER_DESC", ""); let p = Plan { - migrate: var("BROLINK_DUMP_MIGRATE", "0") == "1", - dry_run: var("BROLINK_DUMP_DRY_RUN", "0") == "1", + migrate: var("LATCH_DUMP_MIGRATE", "0") == "1", + dry_run: var("LATCH_DUMP_DRY_RUN", "0") == "1", sunshine_user: &user, sunshine_pass: &pass, adapter: &adapter, diff --git a/crates/host/src/streamer.rs b/crates/host/src/streamer.rs index 2978c22..690c506 100644 --- a/crates/host/src/streamer.rs +++ b/crates/host/src/streamer.rs @@ -1,23 +1,26 @@ //! Sunshine (or Apollo, its fork) on this PC: where it is, whether it is up, -//! and the two web-API calls BroLink needs. The API is HTTPS with a +//! and the two web-API calls Latch needs. The API is HTTPS with a //! self-signed certificate on localhost, so calls go through `curl.exe -k` //! rather than a TLS stack of our own. use anyhow::{bail, Context, Result}; -use brolink_core::{SUNSHINE_PORT, SUNSHINE_WEB_PORT}; +use latch_core::{SUNSHINE_PORT, SUNSHINE_WEB_PORT}; use std::net::{SocketAddr, TcpStream}; use std::path::PathBuf; use std::process::Command; use std::time::Duration; -/// Where BroLink unpacks its own copy of the streaming engine. Setup +/// Where Latch unpacks its own copy of the streaming engine. Setup /// installs here; an engine installed by someone else stays where it is. -pub const ENGINE_DIR: &str = r"C:\Program Files\BroLink\engine"; +pub const ENGINE_DIR: &str = r"C:\Program Files\Latch\engine"; /// Install directories, in the order they are preferred when several -/// exist. BroLink's own engine wins: it is the one setup configured. -pub const INSTALL_DIRS: [(&str, &str); 3] = [ - ("BroLink", ENGINE_DIR), +/// exist. Latch's own engine wins: it is the one setup configured. The +/// folder an earlier version used comes next: it is Latch's engine until +/// setup moves it. +pub const INSTALL_DIRS: [(&str, &str); 4] = [ + ("Latch", ENGINE_DIR), + ("Latch", crate::legacy::WINDOWS_ENGINE_DIR), ("Sunshine", r"C:\Program Files\Sunshine"), ("Apollo", r"C:\Program Files\Apollo"), ]; @@ -560,16 +563,20 @@ mod tests { } #[test] - fn discovery_prefers_the_brolink_engine_over_sunshine() { - assert_eq!(INSTALL_DIRS[0], ("BroLink", ENGINE_DIR)); - assert_eq!(INSTALL_DIRS[1].0, "Sunshine"); - assert_eq!(INSTALL_DIRS[2].0, "Apollo"); + fn discovery_prefers_the_latch_engine_over_sunshine() { + assert_eq!(INSTALL_DIRS[0], ("Latch", ENGINE_DIR)); + assert_eq!( + INSTALL_DIRS[1], + ("Latch", crate::legacy::WINDOWS_ENGINE_DIR) + ); + assert_eq!(INSTALL_DIRS[2].0, "Sunshine"); + assert_eq!(INSTALL_DIRS[3].0, "Apollo"); let existing = [ENGINE_DIR, r"C:\Program Files\Sunshine"]; let winner = INSTALL_DIRS .iter() .find(|(_, d)| existing.contains(d)) .expect("both exist"); - assert_eq!(*winner, ("BroLink", ENGINE_DIR)); + assert_eq!(*winner, ("Latch", ENGINE_DIR)); let _ = SUNSHINE_PORT; } diff --git a/crates/host/src/unix_setup.rs b/crates/host/src/unix_setup.rs index 2272647..7d05e02 100644 --- a/crates/host/src/unix_setup.rs +++ b/crates/host/src/unix_setup.rs @@ -1,12 +1,12 @@ //! Install and start the streaming engine on macOS and Linux. //! //! Windows still uses the elevated PowerShell script. Here there is no UAC -//! prompt: BroLink unpacks Sunshine next to its own data, writes the same +//! prompt: Latch unpacks Sunshine next to its own data, writes the same //! conf keys, and keeps the process up from the background service. use anyhow::{bail, Context, Result}; #[cfg(target_os = "macos")] -use brolink_core::update::sha256_hex; +use latch_core::update::sha256_hex; use std::fs; use std::path::{Path, PathBuf}; use std::process::{Command, Stdio}; @@ -24,7 +24,7 @@ pub const MAC_DMG_SHA256: &str = "b630d35a184d8eaff39c5104f3c6a0c40e91ddc447ccf7 fn write_engine_login(path: &Path, user: &str, password: &str) -> Result<()> { use std::io::Write; let salt = crate::config::random_password(); - let hash = brolink_core::update::sha256_hex(format!("{password}{salt}").as_bytes()); + let hash = latch_core::update::sha256_hex(format!("{password}{salt}").as_bytes()); let hash: String = hash .as_bytes() .as_chunks::<2>() @@ -59,28 +59,65 @@ fn write_engine_login(path: &Path, user: &str, password: &str) -> Result<()> { } pub fn engine_dir() -> Result { - Ok(brolink_core::config::data_dir()?.join("engine")) + Ok(latch_core::config::data_dir()?.join("engine")) } pub fn conf_path() -> Result { Ok(engine_dir()?.join("config").join("sunshine.conf")) } -/// Candidate engine installs, BroLink's copy first. +/// After this copy took over an older install's data folder, the engine's +/// `sunshine.conf` still names the engine login by the old folder's path. +/// Point it at the folder it is in now, and give the login file the new +/// name, so the engine finds the login it was set up with. Nothing happens +/// on an install that was never moved. +pub fn repair_adopted_engine_config() { + let (Ok(conf), Ok(data), Some(old)) = ( + conf_path(), + latch_core::config::data_dir(), + latch_core::legacy::data_dir(), + ) else { + return; + }; + let Ok(text) = fs::read_to_string(&conf) else { + return; + }; + let old = old.display().to_string(); + if !text.contains(&old) { + return; + } + let config = conf.parent().unwrap_or(&data).to_path_buf(); + let (old_login, login) = ( + config.join("brolink-web.json"), + config.join("latch-web.json"), + ); + if old_login.exists() && !login.exists() { + let _ = fs::rename(&old_login, &login); + } + let fixed: Vec = text + .lines() + .map(|line| match line.split_once('=') { + Some((key, _)) if key.trim() == "credentials_file" => { + format!("credentials_file = {}", login.display()) + } + _ => line.replace(&old, &data.display().to_string()), + }) + .collect(); + let _ = fs::write(&conf, fixed.join("\n") + "\n"); +} + +/// Candidate engine installs, Latch's copy first. pub fn candidates() -> Vec { let mut v = Vec::new(); if let Ok(dir) = engine_dir() { - v.push(Install { - kind: "BroLink", - dir, - }); + v.push(Install { kind: "Latch", dir }); } #[cfg(target_os = "linux")] { - // BroLink's renamed engine binary, then the distro package we wrap. + // Latch's renamed engine binary, then the distro package we wrap. for p in ["/usr/local/bin", "/usr/bin"] { v.push(Install { - kind: "BroLink", + kind: "Latch", dir: PathBuf::from(p), }); } @@ -88,8 +125,17 @@ pub fn candidates() -> Vec { v } +/// The names the engine's program may have, Latch's first, an earlier +/// version's after it, and Sunshine's own last. +fn engine_exe_names() -> impl Iterator { + ["LatchStreaming", "latch-engine"] + .into_iter() + .chain(crate::legacy::ENGINE_EXE_NAMES) + .chain(std::iter::once("sunshine")) +} + pub fn exe_in(dir: &Path) -> PathBuf { - for name in ["BroLinkStreaming", "brolink-engine", "sunshine"] { + for name in engine_exe_names() { let app = dir.join("Contents/MacOS").join(name); if app.exists() { return app; @@ -103,12 +149,12 @@ pub fn exe_in(dir: &Path) -> PathBuf { return bin; } } - dir.join("brolink-engine") + dir.join("latch-engine") } pub fn run(p: &Plan<'_>) -> Result<()> { let log = - crate::setup::log_path().unwrap_or_else(|| std::env::temp_dir().join("brolink-setup.log")); + crate::setup::log_path().unwrap_or_else(|| std::env::temp_dir().join("latch-setup.log")); let mut lines = Vec::new(); let result = run_inner(p, &mut lines); let body = lines.join("\n") + "\n"; @@ -134,7 +180,7 @@ fn run_inner(p: &Plan<'_>, log: &mut Vec) -> Result<()> { stop_engine(); let conf = conf_path()?; let existing = fs::read_to_string(&conf).unwrap_or_default(); - let credentials = conf.with_file_name("brolink-web.json"); + let credentials = conf.with_file_name("latch-web.json"); let profile = conceal_conf(&existing) .lines() .filter(|line| { @@ -173,7 +219,7 @@ fn run_inner(p: &Plan<'_>, log: &mut Vec) -> Result<()> { if let Ok(exe) = std::env::current_exe() { set_autostart(true, &exe)?; - step(log, "BroLink starts at login so others can connect"); + step(log, "Latch starts at login so others can connect"); } Ok(()) } @@ -189,12 +235,12 @@ fn install_engine(dir: &Path, log: &mut Vec) -> Result<()> { } #[cfg(target_os = "linux")] { - if which("brolink-engine").is_some() || which("sunshine").is_some() { + if engine_exe_names().any(|n| which(n).is_some()) { log.push("using the system streaming engine".into()); return Ok(()); } bail!( - "the streaming engine is not installed. On this VPS use the BroLink node Docker image, or run setup again." + "the streaming engine is not installed. On this VPS use the Latch node Docker image, or run setup again." ); } #[cfg(not(any(target_os = "macos", target_os = "linux")))] @@ -208,9 +254,9 @@ fn install_engine(dir: &Path, log: &mut Vec) -> Result<()> { /// or Activity Monitor. The on-disk `.app` folder keeps its upstream name /// because the engine looks up resources next to that bundle. pub fn conceal_info_plist(xml: &str) -> String { - let mut xml = set_plist_string(xml, "CFBundleName", "BroLink"); - xml = set_plist_string(&xml, "CFBundleDisplayName", "BroLink"); - xml = set_plist_string(&xml, "CFBundleExecutable", "BroLinkStreaming"); + let mut xml = set_plist_string(xml, "CFBundleName", "Latch"); + xml = set_plist_string(&xml, "CFBundleDisplayName", "Latch"); + xml = set_plist_string(&xml, "CFBundleExecutable", "LatchStreaming"); if xml.contains("LSUIElement") { xml } else { @@ -239,9 +285,7 @@ fn set_plist_string(xml: &str, key: &str, value: &str) -> String { #[cfg(target_os = "macos")] fn install_macos(dir: &Path, log: &mut Vec) -> Result<()> { let dest = dir.join("Sunshine.app"); - if dest.join("Contents/MacOS/BroLinkStreaming").exists() - || dest.join("Contents/MacOS/sunshine").exists() - { + if engine_exe_names().any(|n| dest.join("Contents/MacOS").join(n).exists()) { conceal_engine_bundle(&dest)?; log.push("streaming engine already unpacked".into()); return Ok(()); @@ -253,7 +297,7 @@ fn install_macos(dir: &Path, log: &mut Vec) -> Result<()> { ); log.push("downloading the streaming engine".into()); let status = Command::new("curl") - .args(["-fsSL", "-A", "brolink", "-o"]) + .args(["-fsSL", "-A", "latch", "-o"]) .arg(&dmg) .arg(&url) .status() @@ -265,7 +309,7 @@ fn install_macos(dir: &Path, log: &mut Vec) -> Result<()> { got.eq_ignore_ascii_case(MAC_DMG_SHA256), "streaming engine digest mismatch: expected {MAC_DMG_SHA256}, got {got}" ); - let mount = std::env::temp_dir().join(format!("brolink-engine-{}", std::process::id())); + let mount = std::env::temp_dir().join(format!("latch-engine-{}", std::process::id())); let _ = fs::create_dir_all(&mount); let attach = Command::new("hdiutil") .args(["attach", "-nobrowse", "-readonly", "-mountpoint"]) @@ -294,17 +338,20 @@ fn install_macos(dir: &Path, log: &mut Vec) -> Result<()> { let _ = fs::remove_file(&dmg); copied?; conceal_engine_bundle(&dest)?; - log.push("streaming engine unpacked into BroLink's data folder".into()); + log.push("streaming engine unpacked into Latch's data folder".into()); Ok(()) } #[cfg(target_os = "macos")] fn conceal_engine_bundle(app: &Path) -> Result<()> { let macos = app.join("Contents/MacOS"); - let src = macos.join("sunshine"); - let dest = macos.join("BroLinkStreaming"); - if src.exists() && !dest.exists() { - fs::rename(&src, &dest).context("rename engine binary")?; + let dest = macos.join("LatchStreaming"); + // Upstream's name, or the name an earlier version gave it. + for from in ["sunshine", "BroLinkStreaming"] { + let src = macos.join(from); + if src.exists() && !dest.exists() { + fs::rename(&src, &dest).context("rename engine binary")?; + } } let plist = app.join("Contents/Info.plist"); if plist.exists() { @@ -327,7 +374,7 @@ fn which(name: &str) -> Option { } pub fn stop_engine() { - for name in ["brolink-engine", "BroLinkStreaming", "sunshine"] { + for name in engine_exe_names() { let _ = Command::new("pkill") .args(["-x", name]) .stdout(Stdio::null()) @@ -363,16 +410,19 @@ pub fn set_autostart(enable: bool, exe: &Path) -> Result<()> { pub fn register_autostart(exe: &Path) -> Result<()> { #[cfg(target_os = "macos")] { - write_launch_agent(exe).map(|_| ()) + write_launch_agent(exe)?; + retire_legacy_launch_agent(); + Ok(()) } #[cfg(target_os = "linux")] { write_user_unit(exe)?; // Links the unit into default.target; without `--now` nothing starts. anyhow::ensure!( - systemctl_user(&["enable", "brolink.service"])?, - "could not enable BroLink service" + systemctl_user(&["enable", "latch.service"])?, + "could not enable Latch service" ); + retire_legacy_user_unit(); Ok(()) } #[cfg(not(any(target_os = "macos", target_os = "linux")))] @@ -386,10 +436,12 @@ pub fn autostart_enabled() -> bool { #[cfg(target_os = "macos")] { launch_agent_path().is_ok_and(|p| p.exists()) + || legacy_launch_agent_path().is_ok_and(|p| p.exists()) } #[cfg(target_os = "linux")] { user_unit_path().is_ok_and(|p| p.exists()) + || legacy_user_unit_path().is_ok_and(|p| p.exists()) } #[cfg(not(any(target_os = "macos", target_os = "linux")))] { @@ -398,7 +450,7 @@ pub fn autostart_enabled() -> bool { } #[cfg(target_os = "macos")] -const LAUNCH_AGENT_LABEL: &str = "dev.brolink.node"; +const LAUNCH_AGENT_LABEL: &str = "com.bardbro.latch.node"; #[cfg(target_os = "macos")] fn launch_agent_path() -> Result { @@ -406,6 +458,110 @@ fn launch_agent_path() -> Result { Ok(home.join(format!("Library/LaunchAgents/{LAUNCH_AGENT_LABEL}.plist"))) } +/// The launch agent file 4.0 and older wrote. +#[cfg(target_os = "macos")] +fn legacy_launch_agent_path() -> Result { + let home = dirs_home()?; + Ok(home.join(format!( + "Library/LaunchAgents/{}.plist", + crate::legacy::MAC_LAUNCH_AGENT + ))) +} + +/// Stop launchd starting the old agent at login, by removing its file. The +/// job launchd already has loaded is left alone: it may be the process that +/// is calling this. +#[cfg(target_os = "macos")] +fn retire_legacy_launch_agent() { + if let Ok(old) = legacy_launch_agent_path() { + if old.exists() { + let _ = fs::remove_file(&old); + } + } +} + +/// A copy running from the app folder 4.0 and older used, `BroLink.app`, +/// moves into `Latch.app` beside it and carries on from there. The release +/// publishes the new app under the old name as well, because a 4.0 updater +/// installs only a folder of that name, and the first run lands here. +/// +/// The login item goes with it: the new launch agent is written (only if +/// the old one was there, so a Mac that never started at login does not +/// begin to), the old file removed, the old job unloaded and the new one +/// loaded. Run from the window, that is done before the window starts; +/// run by launchd under the old label, it only re-registers, because +/// unloading the label would end this very process, and `exec`s the new +/// path under the old label for this session. Returns only when there was +/// nothing to adopt or something failed, in which case the copy runs on +/// where it is. +#[cfg(target_os = "macos")] +pub fn adopt_legacy_bundle(background: bool) -> Result<()> { + use std::os::unix::process::CommandExt; + let Some(old) = latch_client::update::bundle_path().filter(|b| { + b.file_name() + .is_some_and(|n| n == crate::legacy::MAC_BUNDLE) + }) else { + return Ok(()); + }; + let new = old.with_file_name("Latch.app"); + if new.exists() { + tracing::warn!( + "{} is here as well as {}; leaving both", + new.display(), + old.display() + ); + return Ok(()); + } + fs::rename(&old, &new).with_context(|| format!("rename {}", old.display()))?; + tracing::info!("moved {} to {}", old.display(), new.display()); + let exe = new.join("Contents/MacOS/Latch"); + let had_agent = legacy_launch_agent_path().is_ok_and(|p| p.exists()) + || launch_agent_path().is_ok_and(|p| p.exists()); + if had_agent { + write_launch_agent(&exe)?; + } + retire_legacy_launch_agent(); + if !background { + let uid = Command::new("id") + .arg("-u") + .output() + .ok() + .map(|o| String::from_utf8_lossy(&o.stdout).trim().to_string()) + .unwrap_or_default(); + // The old job, which launchd runs from the path that no longer exists. + let _ = Command::new("launchctl") + .args([ + "bootout", + &format!("gui/{uid}/{}", crate::legacy::MAC_LAUNCH_AGENT), + ]) + .stdout(Stdio::null()) + .stderr(Stdio::null()) + .status(); + // A service nobody supervised, started by an earlier window. + let _ = latch_core::http::request( + ("127.0.0.1", latch_core::CONTROL_PORT), + "POST", + "/v1/quit", + None, + Duration::from_secs(2), + ); + std::thread::sleep(Duration::from_millis(600)); + if had_agent { + if let Ok(plist) = launch_agent_path() { + let _ = Command::new("launchctl") + .args(["bootstrap", &format!("gui/{uid}")]) + .arg(&plist) + .stdout(Stdio::null()) + .stderr(Stdio::null()) + .status(); + } + } + } + let args: Vec<_> = std::env::args_os().skip(1).collect(); + let error = Command::new(&exe).args(args).exec(); + bail!("could not start {}: {error}", exe.display()) +} + /// The launch agent: start at login, and restart only after a failure. A /// copy that finds the port taken exits 0 (see `Service::run`), which with /// `SuccessfulExit = false` is where launchd leaves it; `KeepAlive = true` @@ -425,7 +581,7 @@ fn launch_agent_plist(exe: &Path) -> String { - Labeldev.brolink.node + Labelcom.bardbro.latch.node ProgramArguments {exe} @@ -479,9 +635,11 @@ fn macos_launch_agent(enable: bool, exe: &Path) -> Result<()> { if path.exists() { fs::remove_file(&path)?; } + retire_legacy_launch_agent(); return Ok(()); } write_launch_agent(exe)?; + retire_legacy_launch_agent(); if launch_agent_loaded() { return Ok(()); } @@ -493,15 +651,39 @@ fn macos_launch_agent(enable: bool, exe: &Path) -> Result<()> { .stdout(Stdio::null()) .stderr(Stdio::null()) .status() - .context("load BroLink launch agent")?; - anyhow::ensure!(loaded.success(), "could not load BroLink launch agent"); + .context("load Latch launch agent")?; + anyhow::ensure!(loaded.success(), "could not load Latch launch agent"); Ok(()) } #[cfg(target_os = "linux")] fn user_unit_path() -> Result { let home = dirs_home()?; - Ok(home.join(".config/systemd/user/brolink.service")) + Ok(home.join(".config/systemd/user/latch.service")) +} + +/// The user unit 4.0 and older wrote. +#[cfg(target_os = "linux")] +fn legacy_user_unit_path() -> Result { + let home = dirs_home()?; + Ok(home.join(format!( + ".config/systemd/user/{}", + crate::legacy::LINUX_USER_UNIT + ))) +} + +/// Stop systemd starting the old unit at login: disabled and its file +/// removed. It is not stopped, because it may be the one running this. +#[cfg(target_os = "linux")] +fn retire_legacy_user_unit() { + let Ok(old) = legacy_user_unit_path() else { + return; + }; + if old.exists() { + let _ = systemctl_user(&["disable", crate::legacy::LINUX_USER_UNIT]); + let _ = fs::remove_file(&old); + let _ = systemctl_user(&["daemon-reload"]); + } } #[cfg(target_os = "linux")] @@ -525,7 +707,7 @@ fn write_user_unit(exe: &Path) -> Result<()> { fs::create_dir_all(dir)?; } let unit = format!( - "[Unit]\nDescription=BroLink\nAfter=network.target\n\n[Service]\nExecStart=\"{}\" --background\nRestart=on-failure\n\n[Install]\nWantedBy=default.target\n", + "[Unit]\nDescription=Latch\nAfter=network.target\n\n[Service]\nExecStart=\"{}\" --background\nRestart=on-failure\n\n[Install]\nWantedBy=default.target\n", exe.display().to_string().replace('\\', "\\\\").replace('"', "\\\"") .replace('%', "%%").replace('$', "$$").replace('\n', "\\n").replace('\r', "\\r") ); @@ -544,17 +726,19 @@ fn write_user_unit(exe: &Path) -> Result<()> { fn linux_user_unit(enable: bool, exe: &Path) -> Result<()> { let path = user_unit_path()?; if !enable { - let _ = systemctl_user(&["disable", "brolink.service"]); + let _ = systemctl_user(&["disable", "latch.service"]); if path.exists() { fs::remove_file(&path)?; } + retire_legacy_user_unit(); let _ = systemctl_user(&["daemon-reload"]); return Ok(()); } write_user_unit(exe)?; + retire_legacy_user_unit(); anyhow::ensure!( - systemctl_user(&["enable", "--now", "brolink.service"])?, - "could not enable BroLink service" + systemctl_user(&["enable", "--now", "latch.service"])?, + "could not enable Latch service" ); Ok(()) } @@ -572,7 +756,7 @@ mod tests { #[test] fn launch_agent_restarts_only_after_a_failure_and_escapes_the_path() { let plist = launch_agent_plist(Path::new( - "/Applications/B&L's .app/Contents/MacOS/BroLink", + "/Applications/B&L's .app/Contents/MacOS/Latch", )); assert!( plist.contains("SuccessfulExit"), @@ -586,10 +770,8 @@ mod tests { #[test] fn engine_login_uses_sunshine_hash_format_without_plaintext() { - let dir = std::env::temp_dir().join(format!( - "brolink-login-{}", - crate::config::random_password() - )); + let dir = + std::env::temp_dir().join(format!("latch-login-{}", crate::config::random_password())); fs::create_dir(&dir).unwrap(); let path = dir.join("login.json"); write_engine_login(&path, "user", "secret").unwrap(); @@ -597,7 +779,7 @@ mod tests { let value: serde_json::Value = serde_json::from_str(&text).unwrap(); assert!(!text.contains("secret")); assert_eq!(value["username"], "user"); - let expected = brolink_core::update::sha256_hex( + let expected = latch_core::update::sha256_hex( format!("secret{}", value["salt"].as_str().unwrap()).as_bytes(), ); let stored = value["password"].as_str().unwrap(); @@ -639,17 +821,13 @@ mod tests { #[test] fn exe_in_prefers_app_bundle_then_bare_binary() { - let tmp = std::env::temp_dir().join(format!("brolink-exe-{}", std::process::id())); + let tmp = std::env::temp_dir().join(format!("latch-exe-{}", std::process::id())); let _ = fs::remove_dir_all(&tmp); fs::create_dir_all(tmp.join("Sunshine.app/Contents/MacOS")).unwrap(); fs::write(tmp.join("Sunshine.app/Contents/MacOS/sunshine"), b"").unwrap(); assert!(exe_in(&tmp).ends_with("Contents/MacOS/sunshine")); - fs::write( - tmp.join("Sunshine.app/Contents/MacOS/BroLinkStreaming"), - b"", - ) - .unwrap(); - assert!(exe_in(&tmp).ends_with("Contents/MacOS/BroLinkStreaming")); + fs::write(tmp.join("Sunshine.app/Contents/MacOS/LatchStreaming"), b"").unwrap(); + assert!(exe_in(&tmp).ends_with("Contents/MacOS/LatchStreaming")); let _ = fs::remove_dir_all(&tmp); } @@ -668,8 +846,8 @@ mod tests { "#; let got = conceal_info_plist(xml); - assert!(got.contains("BroLink"), "{got}"); - assert!(got.contains("BroLinkStreaming"), "{got}"); + assert!(got.contains("Latch"), "{got}"); + assert!(got.contains("LatchStreaming"), "{got}"); assert!(got.contains("LSUIElement"), "{got}"); assert!( got.contains("dev.lizardbyte.sunshine"), diff --git a/crates/host/src/update.rs b/crates/host/src/update.rs index d113cd7..8cffb80 100644 --- a/crates/host/src/update.rs +++ b/crates/host/src/update.rs @@ -1,4 +1,4 @@ -//! Taking a new `brolink-host.exe` from a Mac on the tailnet and swapping it +//! Taking a new `latch-host.exe` from a Mac on the tailnet and swapping it //! in. //! //! The Mac does the fetching (it has the GitHub login; the PC has none) and @@ -12,9 +12,10 @@ //! old one put back, still serving. use anyhow::{Context, Result}; -use brolink_core::api::{UPDATE_MAX_BYTES, UPDATE_SHA256_HEADER, UPDATE_VERSION_HEADER}; -use brolink_core::http::Request; -use brolink_core::update; +use latch_core::api::{UPDATE_MAX_BYTES, UPDATE_SHA256_HEADER, UPDATE_VERSION_HEADER}; +use latch_core::http::Request; +use latch_core::legacy; +use latch_core::update; use semver::Version; use std::io::ErrorKind; use std::path::{Path, PathBuf}; @@ -50,12 +51,12 @@ impl Rejected { } } -/// Where the upload waits: `brolink-host.exe.new`. +/// Where the upload waits: `latch-host.exe.new`. pub fn staged(exe: &Path) -> PathBuf { with_suffix(exe, ".new") } -/// Where the running executable goes during the swap: `brolink-host.exe.old`. +/// Where the running executable goes during the swap: `latch-host.exe.old`. pub fn retired(exe: &Path) -> PathBuf { with_suffix(exe, ".old") } @@ -75,17 +76,19 @@ pub fn refuse_self_update(engine_running: bool, session_active: bool) -> bool { pub fn stage(req: &Request, exe: &Path) -> Result { let version = req .header(UPDATE_VERSION_HEADER) + .or_else(|| req.header(legacy::UPDATE_VERSION_HEADER)) .ok_or_else(|| Rejected::Bad(format!("missing {UPDATE_VERSION_HEADER}")))?; let version = Version::parse(version.trim()) .map_err(|_| Rejected::Bad(format!("{version:?} is not a version")))?; let current = update::current(); if version <= current { return Err(Rejected::NotNewer(format!( - "this PC already runs BroLink Host {current}" + "this PC already runs Latch Host {current}" ))); } let want = req .header(UPDATE_SHA256_HEADER) + .or_else(|| req.header(legacy::UPDATE_SHA256_HEADER)) .ok_or_else(|| Rejected::Bad(format!("missing {UPDATE_SHA256_HEADER}")))?; if req.body.len() < MIN_SIZE || req.body.len() > UPDATE_MAX_BYTES @@ -258,7 +261,7 @@ mod tests { } Request { method: "POST".into(), - path: brolink_core::api::UPDATE_PATH.into(), + path: latch_core::api::UPDATE_PATH.into(), headers, body, } @@ -302,22 +305,22 @@ mod tests { #[test] fn names_sit_beside_the_executable() { - let exe = Path::new(r"C:\Users\Ada\AppData\Local\BroLink\brolink-host.exe"); + let exe = Path::new(r"C:\Users\Ada\AppData\Local\Latch\latch-host.exe"); assert_eq!( staged(exe), - Path::new(r"C:\Users\Ada\AppData\Local\BroLink\brolink-host.exe.new") + Path::new(r"C:\Users\Ada\AppData\Local\Latch\latch-host.exe.new") ); assert_eq!( retired(exe), - Path::new(r"C:\Users\Ada\AppData\Local\BroLink\brolink-host.exe.old") + Path::new(r"C:\Users\Ada\AppData\Local\Latch\latch-host.exe.old") ); } #[test] fn uploads_are_checked_before_anything_is_written() { - let dir = std::env::temp_dir().join(format!("brolink-upd-{}", std::process::id())); + let dir = std::env::temp_dir().join(format!("latch-upd-{}", std::process::id())); std::fs::create_dir_all(&dir).unwrap(); - let exe = dir.join("brolink-host.exe"); + let exe = dir.join("latch-host.exe"); let body = fake_exe(); let sha = update::sha256_hex(&body); let newer = format!("{}.0.0", update::current().major + 1); @@ -332,7 +335,7 @@ mod tests { let r = stage(&req(Some(¤t), Some(&sha), body.clone()), &exe).unwrap_err(); assert_eq!( r, - Rejected::NotNewer(format!("this PC already runs BroLink Host {current}")) + Rejected::NotNewer(format!("this PC already runs Latch Host {current}")) ); let r = stage(&req(Some(&newer), None, body.clone()), &exe).unwrap_err(); assert_eq!(r.status(), 400); @@ -374,9 +377,9 @@ mod tests { #[test] fn failed_launch_restores_the_previous_executable() { - let dir = std::env::temp_dir().join(format!("brolink-swap-{}", std::process::id())); + let dir = std::env::temp_dir().join(format!("latch-swap-{}", std::process::id())); std::fs::create_dir_all(&dir).unwrap(); - let exe = dir.join("brolink-host.exe"); + let exe = dir.join("latch-host.exe"); std::fs::write(&exe, b"old").unwrap(); assert!(apply(&exe).is_err()); assert_eq!(std::fs::read(&exe).unwrap(), b"old"); @@ -407,10 +410,10 @@ mod tests { assert_eq!(std::fs::read(retired(&exe)).unwrap(), b"old"); } std::fs::write(retired(&exe), b"retired").unwrap(); - std::fs::write(dir.join("brolink-host.exe.old-notes"), b"keep").unwrap(); + std::fs::write(dir.join("latch-host.exe.old-notes"), b"keep").unwrap(); tidy(&exe); assert!(!retired(&exe).exists()); - assert!(dir.join("brolink-host.exe.old-notes").exists()); + assert!(dir.join("latch-host.exe.old-notes").exists()); let _ = std::fs::remove_dir_all(&dir); } } diff --git a/crates/host/src/verinfo.rs b/crates/host/src/verinfo.rs index 7945a3e..ad8adad 100644 --- a/crates/host/src/verinfo.rs +++ b/crates/host/src/verinfo.rs @@ -1,7 +1,7 @@ //! VS_VERSIONINFO, the block Task Manager, the volume mixer and Explorer's //! Details tab read a program's name from. Built by hand because Windows //! offers no call that changes one string in an existing block: setup gives -//! the streaming engine's executables BroLink's description and icon, and +//! the streaming engine's executables Latch's description and icon, and //! everything else they carried - copyright, licence, version numbers - is //! read out first and written back unchanged. //! @@ -219,15 +219,12 @@ mod tests { fixed[8..12].copy_from_slice(&0x0000_07E2u32.to_le_bytes()); // some file version let given = vec![ ("CompanyName".to_string(), "LizardByte".to_string()), - ( - "FileDescription".to_string(), - "BroLink Streaming".to_string(), - ), + ("FileDescription".to_string(), "Latch Streaming".to_string()), ( "LegalCopyright".to_string(), "https://example/LICENSE".to_string(), ), - ("ProductName".to_string(), "BroLink Streaming".to_string()), + ("ProductName".to_string(), "Latch Streaming".to_string()), ("ProductVersion".to_string(), "2026.906.222525".to_string()), ]; let b = build(&fixed, &given, LANG, CODEPAGE); @@ -278,29 +275,26 @@ mod tests { let m = merged( &theirs, &[ - ("FileDescription", "BroLink Streaming"), - ("ProductName", "BroLink Streaming"), + ("FileDescription", "Latch Streaming"), + ("ProductName", "Latch Streaming"), ], ); assert_eq!( m, vec![ ("CompanyName".to_string(), "LizardByte".to_string()), - ( - "FileDescription".to_string(), - "BroLink Streaming".to_string() - ), + ("FileDescription".to_string(), "Latch Streaming".to_string()), ("LegalCopyright".to_string(), "their licence".to_string()), - ("ProductName".to_string(), "BroLink Streaming".to_string()), + ("ProductName".to_string(), "Latch Streaming".to_string()), ("Custom".to_string(), "kept".to_string()), ] ); - // A file with no block at all gets only what BroLink says. + // A file with no block at all gets only what Latch says. assert_eq!( - merged(&[], &[("FileDescription", "BroLink Streaming Service")]), + merged(&[], &[("FileDescription", "Latch Streaming Service")]), vec![( "FileDescription".to_string(), - "BroLink Streaming Service".to_string() + "Latch Streaming Service".to_string() )] ); } diff --git a/crates/host/src/virtual_display.rs b/crates/host/src/virtual_display.rs index cb528b4..6a10ea6 100644 --- a/crates/host/src/virtual_display.rs +++ b/crates/host/src/virtual_display.rs @@ -9,7 +9,7 @@ //! everything else the file says, and the service reports when any are //! missing so the setup card can say so. -use brolink_core::screens::stream_modes; +use latch_core::screens::stream_modes; /// The driver's name in Device Manager. pub const DEVICE: &str = "Virtual Display Driver"; diff --git a/crates/host/src/wake.rs b/crates/host/src/wake.rs index 3115a48..319473b 100644 --- a/crates/host/src/wake.rs +++ b/crates/host/src/wake.rs @@ -2,7 +2,7 @@ //! a listener that notices wake packets while the PC is awake. use anyhow::{Context, Result}; -use brolink_core::wake::{magic_target, MacAddr, WOL_PORTS}; +use latch_core::wake::{magic_target, MacAddr, WOL_PORTS}; use std::net::{Ipv4Addr, SocketAddr, UdpSocket}; use std::time::Duration; @@ -76,7 +76,7 @@ fn parse_probe(line: &str) -> WakeInfo { let mut f = line.trim().split('|').map(str::trim); let mac = f .next() - .and_then(brolink_core::wake::MacAddr::parse) + .and_then(latch_core::wake::MacAddr::parse) .map(|m| m.to_string()); let adapter = f.next().unwrap_or("").to_string(); let description = f.next().unwrap_or("").to_string(); diff --git a/crates/host/windows/take-over-engine.cmd b/crates/host/windows/take-over-engine.cmd index fc644d2..0700072 100644 --- a/crates/host/windows/take-over-engine.cmd +++ b/crates/host/windows/take-over-engine.cmd @@ -1,4 +1,4 @@ @echo off rem A task registered by an older version still runs this file. Hand off to the rem windowless launcher at once so this console is gone within a blink. -start "" /b wscript.exe //B //Nologo "%LOCALAPPDATA%\BroLink\take-over-engine.vbs" +start "" /b wscript.exe //B //Nologo "%LOCALAPPDATA%\Latch\take-over-engine.vbs" diff --git a/crates/host/windows/take-over-engine.ps1 b/crates/host/windows/take-over-engine.ps1 index ab0d81a..84789ad 100644 --- a/crates/host/windows/take-over-engine.ps1 +++ b/crates/host/windows/take-over-engine.ps1 @@ -2,7 +2,11 @@ # device back as the Windows default. The engine's own startup clears the # default when Steam Streaming Speakers are the only active device. $ErrorActionPreference = "Continue" -$engineDir = "C:\Program Files\BroLink\engine" +# The engine's folder is Latch's, or the one an earlier version used until +# setup moves it; the service is named the same way. Either may be there. +$engineDir = @("C:\Program Files\Latch\engine", "C:\Program Files\BroLink\engine") | + Where-Object { Test-Path (Join-Path $_ "sunshine.exe") } | Select-Object -First 1 +if (-not $engineDir) { Write-Output "NO_ENGINE"; exit 0 } $exe = Join-Path $engineDir "sunshine.exe" $conf = Join-Path $engineDir "config\sunshine.conf" @@ -59,7 +63,7 @@ internal interface IPolicyConfig { [PreserveSig] int SetDefaultEndpoint(string pszDeviceName, int eRole); [PreserveSig] int SetEndpointVisibility(string pszDeviceName, bool bVisible); } -public static class BroLinkAudio { +public static class LatchAudio { public static int SetDefault(string id) { var cfg = (IPolicyConfig)new PolicyConfigClient(); int hr = 0; @@ -75,8 +79,10 @@ public static class BroLinkAudio { $me = "$env:USERDOMAIN\$env:USERNAME" $sun = Get-EngineOwner if (-not $sun -or $sun.User -ine $me) { - Set-Service BroLinkStream -StartupType Manual -ErrorAction SilentlyContinue - Stop-Service BroLinkStream -Force -ErrorAction SilentlyContinue + foreach ($service in "LatchStream", "BroLinkStream") { + Set-Service $service -StartupType Manual -ErrorAction SilentlyContinue + Stop-Service $service -Force -ErrorAction SilentlyContinue + } Get-CimInstance -ClassName Win32_Process -Filter "Name='sunshine.exe'" | ForEach-Object { Stop-Process -Id $_.ProcessId -Force -ErrorAction SilentlyContinue } @@ -109,5 +115,5 @@ $devices = @(Get-ActiveRender) if ($devices.Count -eq 0) { Write-Output "NO_ACTIVE_RENDER"; exit 0 } $pick = $devices | Where-Object { $_.Desc -match "Steam Streaming" -or $_.Friendly -match "Steam Streaming" } | Select-Object -First 1 if (-not $pick) { $pick = $devices | Select-Object -First 1 } -$hr = [BroLinkAudio]::SetDefault($pick.Id) +$hr = [LatchAudio]::SetDefault($pick.Id) Write-Output ("OK {0} hr=0x{1:X8}" -f $pick.Id, $hr) diff --git a/crates/host/windows/take-over-engine.vbs b/crates/host/windows/take-over-engine.vbs index 210f946..16177a0 100644 --- a/crates/host/windows/take-over-engine.vbs +++ b/crates/host/windows/take-over-engine.vbs @@ -2,5 +2,5 @@ ' runs in the user's desktop session, where a .cmd or a plain powershell.exe ' would flash a terminal; wscript is a windowed host, so nothing shows. Set shell = CreateObject("WScript.Shell") -script = shell.ExpandEnvironmentStrings("%LOCALAPPDATA%") & "\BroLink\take-over-engine.ps1" +script = shell.ExpandEnvironmentStrings("%LOCALAPPDATA%") & "\Latch\take-over-engine.ps1" shell.Run "powershell.exe -NoProfile -ExecutionPolicy Bypass -File """ & script & """", 0, True diff --git a/crates/stream/Cargo.toml b/crates/stream/Cargo.toml index e8404e9..2886cf9 100644 --- a/crates/stream/Cargo.toml +++ b/crates/stream/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "brolink-stream" +name = "latch-stream" version.workspace = true edition.workspace = true license.workspace = true @@ -9,7 +9,7 @@ build = "build.rs" links = "moonlight-common-c" [dependencies] -brolink-core.workspace = true +latch-core.workspace = true anyhow.workspace = true tracing.workspace = true rand.workspace = true diff --git a/crates/stream/build.rs b/crates/stream/build.rs index e6dbed3..d371e4b 100644 --- a/crates/stream/build.rs +++ b/crates/stream/build.rs @@ -45,10 +45,10 @@ fn main() { let root = Path::new(env!("CARGO_MANIFEST_DIR")).join("../../third_party/moonlight-common-c"); println!("cargo:rerun-if-changed=csrc"); println!("cargo:rerun-if-changed={}", root.display()); - println!("cargo:rerun-if-env-changed=BROLINK_SKIP_C"); + println!("cargo:rerun-if-env-changed=LATCH_SKIP_C"); // `cargo check --target aarch64-apple-darwin` from a non-Mac has no C // toolchain for the target; the Rust side can still be type-checked. - if std::env::var_os("BROLINK_SKIP_C").is_some() { + if std::env::var_os("LATCH_SKIP_C").is_some() { return; } let target_os = std::env::var("CARGO_CFG_TARGET_OS").unwrap_or_default(); diff --git a/crates/stream/src/audio.rs b/crates/stream/src/audio.rs index bcad24b..57bf620 100644 --- a/crates/stream/src/audio.rs +++ b/crates/stream/src/audio.rs @@ -67,7 +67,7 @@ impl Player { mapping: &[u8], ) -> Result { if channels == 0 || channels > MAX_CHANNELS || mapping.len() < channels { - bail!("audio with {channels} channels is not something BroLink plays"); + bail!("audio with {channels} channels is not something Latch plays"); } // Validate before any integer casts, allocation, or call into Opus. if !matches!(sample_rate, 8_000 | 12_000 | 16_000 | 24_000 | 48_000) { diff --git a/crates/stream/src/identity.rs b/crates/stream/src/identity.rs index 88a6a53..b01b61f 100644 --- a/crates/stream/src/identity.rs +++ b/crates/stream/src/identity.rs @@ -113,7 +113,7 @@ fn generate() -> Result<(String, String)> { params.distinguished_name = rcgen::DistinguishedName::new(); params .distinguished_name - .push(rcgen::DnType::CommonName, "BroLink"); + .push(rcgen::DnType::CommonName, "Latch"); params.not_before = rcgen::date_time_ymd(2026, 1, 1); params.not_after = rcgen::date_time_ymd(2046, 1, 1); let cert = params.self_signed(&pair)?; @@ -149,7 +149,7 @@ mod tests { #[test] fn identity_is_created_once_and_signs_verifiably() { - let dir = std::env::temp_dir().join(format!("brolink-id-{}", std::process::id())); + let dir = std::env::temp_dir().join(format!("latch-id-{}", std::process::id())); let _ = std::fs::remove_dir_all(&dir); let a = Identity::load_or_create(&dir).unwrap(); let key_bytes = std::fs::read(dir.join("client.key")).unwrap(); diff --git a/crates/stream/src/lib.rs b/crates/stream/src/lib.rs index 0b615d3..f18fb63 100644 --- a/crates/stream/src/lib.rs +++ b/crates/stream/src/lib.rs @@ -1,4 +1,4 @@ -//! BroLink's own Moonlight-protocol client. moonlight-common-c (compiled in +//! Latch's own Moonlight-protocol client. moonlight-common-c (compiled in //! from `third_party/`) speaks the wire protocol; everything around it is //! Rust: pairing and the HTTPS control API ([`nvhttp`]), the client identity //! ([`identity`]), the crypto primitives the C code calls ([`crypto`]), video diff --git a/crates/stream/src/nvhttp.rs b/crates/stream/src/nvhttp.rs index 36d5ee4..c2603b6 100644 --- a/crates/stream/src/nvhttp.rs +++ b/crates/stream/src/nvhttp.rs @@ -7,7 +7,7 @@ use crate::identity::{self, Identity}; use aes::cipher::{generic_array::GenericArray, BlockDecrypt, BlockEncrypt, KeyInit}; use aes::Aes128; use anyhow::{anyhow, bail, Context, Result}; -use brolink_core::http; +use latch_core::http; use sha2::{Digest, Sha256}; use std::net::{IpAddr, SocketAddr, TcpStream}; use std::sync::Arc; @@ -678,16 +678,16 @@ mod tests { } } -/// Against the Sunshine on this machine, with BroLink Host entering the PIN: -/// `cargo test -p brolink-stream pair_real -- --ignored --nocapture` +/// Against the Sunshine on this machine, with Latch Host entering the PIN: +/// `cargo test -p latch-stream pair_real -- --ignored --nocapture` #[cfg(test)] mod real { use super::*; #[test] - #[ignore = "needs Sunshine and BroLink Host on this machine"] + #[ignore = "needs Sunshine and Latch Host on this machine"] fn pair_real() { - let dir = std::env::temp_dir().join("brolink-pair-test"); + let dir = std::env::temp_dir().join("latch-pair-test"); let identity = Identity::load_or_create(&dir).unwrap(); let ip: IpAddr = "127.0.0.1".parse().unwrap(); let mut c = Client::new(&identity, ip, None).unwrap(); @@ -695,14 +695,14 @@ mod real { eprintln!("before: {info:?}"); let pin = "4321"; let der = c - .pair(pin, "brolink-test", || { + .pair(pin, "latch-test", || { for _ in 0..20 { - let r: Result = http::post_json( - ("127.0.0.1", brolink_core::CONTROL_PORT), + let r: Result = http::post_json( + ("127.0.0.1", latch_core::CONTROL_PORT), "/v1/pin", - &brolink_core::api::PinRequest { + &latch_core::api::PinRequest { pin: pin.into(), - name: "brolink-test".into(), + name: "latch-test".into(), }, Duration::from_secs(10), ); diff --git a/crates/stream/src/session.rs b/crates/stream/src/session.rs index ee1a796..1b4f55a 100644 --- a/crates/stream/src/session.rs +++ b/crates/stream/src/session.rs @@ -373,14 +373,14 @@ impl Drop for Session { /// /// Neither side encodes at the number it is given. moonlight-common-c /// (`SdpGenerator.c`) keeps 20% of the request for FEC and, on a remote -/// stream, another 500 kbps for audio and control (BroLink never flags a +/// stream, another 500 kbps for audio and control (Latch never flags a /// stream remote). Sunshine ignores that reduced figure anyway: it takes the /// raw request (`x-ml-video.configuredBitrateKbps`, /// `rtsp.cpp`) and makes its own deductions, 20% for FEC, then audio /// (512 kbps for high-quality stereo, at most a fifth of what is left) and /// 500 kbps for packet and control overhead (at most a tenth). A plain /// request of 20 Mbps therefore encodes at 15 Mbps, and one padded only for -/// moonlight's 20% still lands at 18988 kbps. BroLink treats the user's +/// moonlight's 20% still lands at 18988 kbps. Latch treats the user's /// number as the video target, not a total budget, so this inverts the /// whole chain: the smallest request that survives every deduction at or /// above the target. @@ -410,7 +410,7 @@ const SUNSHINE_CONTROL_KBPS: u64 = 500; /// What Sunshine's encoder targets for a moonlight request of `request` /// kbps: `rtsp.cpp`'s arithmetic on `configuredBitrateKbps`, FEC at -/// BroLink's 20% (`fec_percentage` in the engine profile), high-quality +/// Latch's 20% (`fec_percentage` in the engine profile), high-quality /// stereo audio. moonlight's own remote-stream deduction of 500 kbps only /// touches the figure Sunshine does not use, so it plays no part. fn sunshine_encoder_kbps(request: u64) -> u64 { @@ -448,7 +448,7 @@ fn run(inner: Arc, server: Server, s: Settings, ri_key: [u8; 16], ri_iv: fps: s.fps as c_int, bitrate_kbps: request_bitrate_kbps(s.bitrate_kbps) as c_int, // moonlight-common-c would cap a remote IPv4 stream at 1024-byte - // packets to survive raw-internet fragmentation. BroLink never rides + // packets to survive raw-internet fragmentation. Latch never rides // raw internet: every stream goes through a Tailscale (WireGuard) // tunnel whose path MTU is a guaranteed 1280 bytes, so 1184 fits with // room for RTP/UDP/IP headers, the value moonlight itself trusts on a @@ -914,7 +914,7 @@ mod tests { } /// Stream from the Sunshine on this machine for a few seconds: -/// `cargo test -p brolink-stream stream_real -- --ignored --nocapture` +/// `cargo test -p latch-stream stream_real -- --ignored --nocapture` /// (run `pair_real` first). #[cfg(test)] mod real { @@ -930,25 +930,25 @@ mod real { .map(|value| value.parse::().expect(name)) .unwrap_or(default) }; - let width = number("BROLINK_TEST_WIDTH", 1280); - let height = number("BROLINK_TEST_HEIGHT", 720); - let fps = number("BROLINK_TEST_FPS", 60); - let bitrate_kbps = number("BROLINK_TEST_BITRATE_KBPS", 10_000); - let seconds = number("BROLINK_TEST_SECONDS", 12); + let width = number("LATCH_TEST_WIDTH", 1280); + let height = number("LATCH_TEST_HEIGHT", 720); + let fps = number("LATCH_TEST_FPS", 60); + let bitrate_kbps = number("LATCH_TEST_BITRATE_KBPS", 10_000); + let seconds = number("LATCH_TEST_SECONDS", 12); assert!(width > 0 && height > 0 && fps > 0 && bitrate_kbps > 0 && seconds >= 12); eprintln!("requested: {width}x{height} {fps} fps {bitrate_kbps} kbps duration={seconds}s"); - let dir = std::env::var_os("BROLINK_TEST_DIR") + let dir = std::env::var_os("LATCH_TEST_DIR") .map(std::path::PathBuf::from) - .unwrap_or_else(|| std::env::temp_dir().join("brolink-pair-test")); + .unwrap_or_else(|| std::env::temp_dir().join("latch-pair-test")); let identity = crate::Identity::load_or_create(&dir).unwrap(); - let ip: std::net::IpAddr = std::env::var("BROLINK_TEST_IP") + let ip: std::net::IpAddr = std::env::var("LATCH_TEST_IP") .unwrap_or_else(|_| "127.0.0.1".into()) .parse() .unwrap(); let cert = std::fs::read(dir.join("server.der")).ok(); let mut client = Client::new(&identity, ip, cert).unwrap(); let mut info = client.server_info().unwrap(); - if std::env::var_os("BROLINK_TEST_IP").is_some() { + if std::env::var_os("LATCH_TEST_IP").is_some() { assert!( info.paired, "a remote PC must be reached without pairing again" @@ -956,13 +956,13 @@ mod real { } if !info.paired { let der = client - .pair("4321", "brolink-test", || { - let _ = brolink_core::http::post_json::<_, brolink_core::api::Ack>( - ("127.0.0.1", brolink_core::CONTROL_PORT), + .pair("4321", "latch-test", || { + let _ = latch_core::http::post_json::<_, latch_core::api::Ack>( + ("127.0.0.1", latch_core::CONTROL_PORT), "/v1/pin", - &brolink_core::api::PinRequest { + &latch_core::api::PinRequest { pin: "4321".into(), - name: "brolink-test".into(), + name: "latch-test".into(), }, Duration::from_secs(10), ); @@ -1007,7 +1007,7 @@ mod real { height, fps, bitrate_kbps, - hevc: std::env::var_os("BROLINK_TEST_HEVC").is_some(), + hevc: std::env::var_os("LATCH_TEST_HEVC").is_some(), }, ri_key, ri_iv, @@ -1028,7 +1028,7 @@ mod real { panic!("session ended early: {ev:?}"); } } - if connected && std::env::var_os("BROLINK_TEST_MOUSE_SWEEP").is_some() { + if connected && std::env::var_os("LATCH_TEST_MOUSE_SWEEP").is_some() { // Oscillate so the cursor stays on screen while a game reading // raw input sees continuous relative motion. Watch the PC's // cursor (GetCursorPos) to confirm the relative injection lands. diff --git a/crates/stream/src/video/openh264.rs b/crates/stream/src/video/openh264.rs index c5941a5..b077bcf 100644 --- a/crates/stream/src/video/openh264.rs +++ b/crates/stream/src/video/openh264.rs @@ -1,5 +1,5 @@ //! Software H.264 through Cisco's OpenH264. Used on Windows and Linux, where -//! BroLink is a development and testing client rather than the product. +//! Latch is a development and testing client rather than the product. use super::{interleave_uv, Decoder, Frame}; use anyhow::{bail, Result}; diff --git a/crates/ui/Cargo.toml b/crates/ui/Cargo.toml index 13a213e..b17f9d0 100644 --- a/crates/ui/Cargo.toml +++ b/crates/ui/Cargo.toml @@ -1,11 +1,11 @@ [package] -name = "brolink-ui" +name = "latch-ui" version.workspace = true edition.workspace = true license.workspace = true authors.workspace = true -description = "Shared egui theme and widgets for the BroLink host and client" +description = "Shared egui theme and widgets for the Latch host and client" [dependencies] -brolink-core.workspace = true +latch-core.workspace = true egui.workspace = true diff --git a/crates/ui/src/lib.rs b/crates/ui/src/lib.rs index e18f4ad..7f6b8be 100644 --- a/crates/ui/src/lib.rs +++ b/crates/ui/src/lib.rs @@ -1,4 +1,4 @@ -//! BroLink's design system: the tokens and components every window and +//! Latch's design system: the tokens and components every window and //! overlay is built from. //! //! The apps are small egui programs aimed at people who are not developers. diff --git a/crates/ui/src/theme.rs b/crates/ui/src/theme.rs index 6dcba7b..933beed 100644 --- a/crates/ui/src/theme.rs +++ b/crates/ui/src/theme.rs @@ -6,7 +6,7 @@ //! hairlines, so the app is too: neutral surfaces a step apart, one text //! colour in three strengths, white for the primary action and for "on", //! and colour only where it carries meaning — green, amber and red for -//! status, and the logo's violet for keyboard focus, selection and +//! status, and the logo's blue for keyboard focus, selection and //! progress. Screens take every colour, size and distance from here; a //! retune is a change to this file. @@ -58,8 +58,9 @@ pub struct Palette { pub primary_pressed: Color32, /// Text and marks drawn on `primary`. pub on_primary: Color32, - /// The logo's violet, lightened to read on the dark surfaces. Keyboard - /// focus, text selection, progress. Never a fill behind text. + /// The logo's blue, lightened to read on the dark surfaces. Keyboard + /// focus, text selection, progress, and the logo's own square. Never a + /// fill behind text. pub accent: Color32, /// Healthy, online, ready. pub success: Color32, @@ -91,7 +92,7 @@ pub const PALETTE: Palette = Palette { primary_hover: Color32::from_rgb(0xd4, 0xd4, 0xd4), primary_pressed: Color32::from_rgb(0xbd, 0xbd, 0xbd), on_primary: Color32::from_rgb(0x0a, 0x0a, 0x0a), - accent: Color32::from_rgb(0xa7, 0x8b, 0xfa), + accent: Color32::from_rgb(0x4f, 0x8f, 0xe8), success: Color32::from_rgb(0x4c, 0xc3, 0x8a), warning: Color32::from_rgb(0xf0, 0xb2, 0x49), danger: Color32::from_rgb(0xff, 0x63, 0x69), diff --git a/crates/ui/src/widgets.rs b/crates/ui/src/widgets.rs index 33abd74..fcdb000 100644 --- a/crates/ui/src/widgets.rs +++ b/crates/ui/src/widgets.rs @@ -1,4 +1,4 @@ -//! The components every BroLink screen is assembled from. +//! The components every Latch screen is assembled from. //! //! Everything here takes its colours, sizes and distances from //! [`theme`](crate::theme); nothing carries its own, so the machine list, @@ -8,10 +8,9 @@ use crate::theme::{self, radius, size, space, stroke, text, PALETTE as P}; use egui::{ - collapsing_header::CollapsingState, Align, Align2, Color32, ColorImage, CornerRadius, Frame, - Id, InnerResponse, Label, Layout, Margin, Painter, Pos2, Rect, Response, RichText, Sense, - Shape, Stroke, StrokeKind, TextureHandle, TextureOptions, Ui, UiBuilder, Vec2, WidgetInfo, - WidgetText, WidgetType, + collapsing_header::CollapsingState, Align, Align2, Color32, CornerRadius, Frame, Id, + InnerResponse, Label, Layout, Margin, Painter, Pos2, Rect, Response, RichText, Sense, Shape, + Stroke, StrokeKind, Ui, UiBuilder, Vec2, WidgetInfo, WidgetText, WidgetType, }; /// What a mark, a notice or a status line means. @@ -300,7 +299,7 @@ pub fn disclosure( default_open: bool, body: impl FnOnce(&mut Ui) -> R, ) -> Option { - let id = Id::new("brolink.disclosure").with(id); + let id = Id::new("latch.disclosure").with(id); let mut state = CollapsingState::load_with_default_open(ui.ctx(), id, default_open); let galley = ui.painter().layout_no_wrap( title.to_owned(), @@ -665,7 +664,7 @@ pub fn action_row(ui: &mut Ui, gap: f32, add: impl FnOnce(&mut Ui)) { } fn flush_key(row: Id) -> Id { - Id::new("brolink.action_row").with(row) + Id::new("latch.action_row").with(row) } /// Whether the next widget starts a line of an [`action_row`]. @@ -1137,7 +1136,7 @@ pub fn open_menu_rect(ctx: &egui::Context) -> Option { } fn open_menu_key() -> Id { - Id::new("brolink.open_menu") + Id::new("latch.open_menu") } /// Open a popup menu under `trigger` while it is toggled on. A real egui @@ -1176,7 +1175,7 @@ fn popup_menu(ui: &mut Ui, trigger: &Response, add: impl FnOnce(&mut Ui) -> R ui.set_min_width(200.0); ui.set_max_width(320.0); let max = (drop.max_height - chrome).max(size::CONTROL_SM); - clipped_scroll(ui, "brolink.menu", max, |ui| { + clipped_scroll(ui, "latch.menu", max, |ui| { ui.spacing_mut().item_spacing.y = 0.0; ui.spacing_mut().interact_size.y = size::CONTROL_SM; ui.with_layout(Layout::top_down_justified(Align::Min), add) @@ -1556,7 +1555,7 @@ pub fn select( ); }) .show_ui(ui, |ui| { - let out = clipped_scroll(ui, "brolink.select", height, |ui| { + let out = clipped_scroll(ui, "latch.select", height, |ui| { ui.spacing_mut().item_spacing.y = 0.0; ui.spacing_mut().button_padding = Vec2::new(space::SM, 6.0); add(ui) @@ -1712,7 +1711,7 @@ pub(crate) fn lerp_color(a: Color32, b: Color32, t: f32) -> Color32 { /// anything is shown. pub fn trailing(ui: &mut Ui, add: impl FnOnce(&mut Ui) -> R) -> InnerResponse { let avail = ui.available_rect_before_wrap(); - let key = ui.auto_id_with("brolink.trailing"); + let key = ui.auto_id_with("latch.trailing"); let known: f32 = ui.data(|d| d.get_temp(key)).unwrap_or(0.0); let w = known.min(avail.width()).max(0.0); let rect = Rect::from_min_max(Pos2::new(avail.max.x - w, avail.min.y), avail.max); @@ -2068,29 +2067,19 @@ pub fn shortcut(ui: &mut Ui, keys: &[&str], does: &str) -> Response { // Brand // --------------------------------------------------------------------------- -/// The app icon as a texture, for the window's top bar. -pub struct Brand { - tex: TextureHandle, -} +/// The logo, for the window's top bar. +pub struct Brand; impl Brand { - pub fn new(ctx: &egui::Context) -> Self { - let px = 64; - let img = - ColorImage::from_rgba_unmultiplied([px, px], &brolink_core::icon::render(px as u32)); - Self { - tex: ctx.load_texture("brolink-brand", img, TextureOptions::LINEAR), - } + pub fn new(_ctx: &egui::Context) -> Self { + Self } /// The mark and the product name, as on the product site. pub fn lockup(&self, ui: &mut Ui, name: &str) { ui.horizontal(|ui| { ui.spacing_mut().item_spacing.x = space::SM; - ui.add( - egui::Image::new((self.tex.id(), Vec2::splat(22.0))) - .corner_radius(CornerRadius::same(5)), - ); + mark(ui, 20.0); ui.label( RichText::new(name) .font(theme::semibold(text::TITLE + 1.0)) @@ -2101,6 +2090,33 @@ impl Brand { } } +/// The logo, `size` points square: a square with its lower right corner +/// cut away, and a smaller blue square in the cut. Drawn from rectangles +/// on the logo's own grid (its 72 units run 14 to 86 in `docs/brand`), so +/// it is sharp at any size and on any screen. +pub fn mark(ui: &mut Ui, size: f32) -> Response { + let (rect, response) = ui.allocate_exact_size(Vec2::splat(size), Sense::hover()); + if ui.is_rect_visible(rect) { + paint_mark(ui, rect, P.text, P.accent); + } + response +} + +fn paint_mark(ui: &Ui, rect: egui::Rect, ink: Color32, accent: Color32) { + use egui::emath::GuiRounding; + let ppp = ui.ctx().pixels_per_point(); + let unit = rect.width() / 72.0; + let at = |x: f32, y: f32| rect.min + Vec2::new((x - 14.0) * unit, (y - 14.0) * unit); + let part = |x0: f32, y0: f32, x1: f32, y1: f32, colour: Color32| { + // Edges on whole pixels, so the corners stay crisp at 1x. + let r = egui::Rect::from_min_max(at(x0, y0), at(x1, y1)).round_to_pixels(ppp); + ui.painter().rect_filled(r, CornerRadius::ZERO, colour); + }; + part(14.0, 14.0, 86.0, 54.0, ink); + part(14.0, 54.0, 54.0, 86.0, ink); + part(60.0, 60.0, 86.0, 86.0, accent); +} + /// A paced activity indicator: unlike egui's immediate-repaint spinner this /// asks for at most 30 frames a second, and only while it is on screen, so /// it stays bounded when the low-latency stream renderer has vsync off. diff --git a/deploy/native/README.md b/deploy/native/README.md index 9830875..1c94bc5 100644 --- a/deploy/native/README.md +++ b/deploy/native/README.md @@ -3,14 +3,14 @@ The deployed `relay` desktop runs directly on Ubuntu as user `ubuntu`, not in Docker. The four remaining containers provide the Tailscale peer relay and the three website services. Tailscale identity and streaming pairing were preserved -when retiring `brolink-node` on 2026-09-21 UTC. +when retiring `latch-node` on 2026-09-21 UTC. ## Runtime - Xvfb provides a headless 1920x1080 display on `:1`; XFCE runs on the VPS host. - Sunshine v2026.906.222525 (official Ubuntu 24.04 ARM64 package) captures X11 and encodes H.264 in software. The VPS has no GPU encoder. -- `/usr/local/bin/brolink-host` runs the BroLink control service. +- `/usr/local/bin/latch-host` runs the Latch control service. - `/usr/local/bin/tailscale` is the CLI only. It uses the existing relay container's socket at `/var/run/tailscale/tailscaled.sock`; no second daemon or Tailscale identity is installed on the host. @@ -20,27 +20,27 @@ when retiring `brolink-node` on 2026-09-21 UTC. ## Files and services The `.service` files in this directory are installed in -`~/.config/systemd/user/`. BroLink maintains its own `brolink.service` base unit; -`brolink.service.d/desktop.conf` adds the display environment and engine startup -ordering without conflicting with BroLink's automatic registration. -`wait-engine.py` is installed as `/usr/local/libexec/brolink-wait-engine.py`. +`~/.config/systemd/user/`. Latch maintains its own `latch.service` base unit; +`latch.service.d/desktop.conf` adds the display environment and engine startup +ordering without conflicting with Latch's automatic registration. +`wait-engine.py` is installed as `/usr/local/libexec/latch-wait-engine.py`. -`brolink.service` pulls in `brolink-engine.service`, -`brolink-desktop.service`, and `brolink-display.service`. PulseAudio runs as +`latch.service` pulls in `latch-engine.service`, +`latch-desktop.service`, and `latch-display.service`. PulseAudio runs as its standard user service. Check them as `ubuntu`: ```sh -systemctl --user status brolink brolink-engine brolink-desktop brolink-display -journalctl --user -u brolink-engine -n 50 +systemctl --user status latch latch-engine latch-desktop latch-display +journalctl --user -u latch-engine -n 50 ``` Streaming configuration, certificates, and paired clients live in -`~/.config/sunshine/`. BroLink's host configuration lives in -`~/.local/share/brolink/host.toml`; its `engine/config` path is a symlink to the +`~/.config/sunshine/`. Latch's host configuration lives in +`~/.local/share/latch/host.toml`; its `engine/config` path is a symlink to the Sunshine directory. Keep these private and preserve them during upgrades. The X server disables TCP and uses an authentication cookie in -`/run/user/1001/brolink.Xauthority`. The `ubuntu` account is deliberately **not** +`/run/user/1001/latch.Xauthority`. The `ubuntu` account is deliberately **not** in the `input` group: Sunshine must use its XTest fallback for this Xvfb session. Granting `/dev/uinput` access makes input go to kernel devices that Xvfb does not consume, resulting in visible video but no functioning mouse or keyboard. @@ -48,13 +48,13 @@ consume, resulting in visible video but no functioning mouse or keyboard. ## Migration and recovery The old container's complete `.config` and `.local` directories are saved in -`/home/ubuntu/brolink-native-migration/container-backup/` with private permissions. +`/home/ubuntu/latch-native-migration/container-backup/` with private permissions. They contain pairing credentials; do not commit or publish them. The original Docker recipe remains available in `deploy/node/` for other uses, but it must not be started on this VPS alongside the native services because both would claim the same streaming and control ports. -Verified through the installed Mac BroLink app: existing pairing, 1080p/60 H.264 +Verified through the installed Mac Latch app: existing pairing, 1080p/60 H.264 video, mouse clicks, terminal keyboard input, host identity (`relay`, `ubuntu`, `kvm`, `/home/ubuntu`), and clean disconnect. User-manager restart is checked to verify automatic startup without rebooting the websites or packet relay. diff --git a/deploy/native/brolink-display.service b/deploy/native/brolink-display.service deleted file mode 100644 index 3369d10..0000000 --- a/deploy/native/brolink-display.service +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=BroLink native headless display - -[Service] -ExecStartPre=/bin/sh -c 'umask 077; touch "%t/brolink.Xauthority"; /usr/bin/xauth -f "%t/brolink.Xauthority" add :1 . "$(/usr/bin/mcookie)"' -ExecStart=/usr/bin/Xvfb :1 -screen 0 1920x1080x24 -nolisten tcp -auth %t/brolink.Xauthority -Restart=on-failure -RestartSec=3 - -[Install] -WantedBy=default.target diff --git a/deploy/native/brolink.service.d/desktop.conf b/deploy/native/brolink.service.d/desktop.conf deleted file mode 100644 index ae3843a..0000000 --- a/deploy/native/brolink.service.d/desktop.conf +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Requires=brolink-engine.service -After=brolink-engine.service - -[Service] -Environment=DISPLAY=:1 -Environment=XAUTHORITY=%t/brolink.Xauthority -Environment=PATH=/usr/local/bin:/usr/bin:/bin -ExecStartPre=/usr/bin/python3 /usr/local/libexec/brolink-wait-engine.py -Restart=on-failure -RestartSec=3 - diff --git a/deploy/native/brolink-desktop.service b/deploy/native/latch-desktop.service similarity index 64% rename from deploy/native/brolink-desktop.service rename to deploy/native/latch-desktop.service index 13a7c4d..7062fbf 100644 --- a/deploy/native/brolink-desktop.service +++ b/deploy/native/latch-desktop.service @@ -1,12 +1,12 @@ [Unit] -Description=BroLink native XFCE desktop -Requires=brolink-display.service -After=brolink-display.service +Description=Latch native XFCE desktop +Requires=latch-display.service +After=latch-display.service Wants=pulseaudio.service [Service] Environment=DISPLAY=:1 -Environment=XAUTHORITY=%t/brolink.Xauthority +Environment=XAUTHORITY=%t/latch.Xauthority ExecStartPre=/bin/sh -c 'for i in $(seq 1 50); do xdpyinfo >/dev/null 2>&1 && exit 0; sleep 0.2; done; exit 1' ExecStart=/usr/bin/startxfce4 Restart=on-failure diff --git a/deploy/native/latch-display.service b/deploy/native/latch-display.service new file mode 100644 index 0000000..dda40e9 --- /dev/null +++ b/deploy/native/latch-display.service @@ -0,0 +1,11 @@ +[Unit] +Description=Latch native headless display + +[Service] +ExecStartPre=/bin/sh -c 'umask 077; touch "%t/latch.Xauthority"; /usr/bin/xauth -f "%t/latch.Xauthority" add :1 . "$(/usr/bin/mcookie)"' +ExecStart=/usr/bin/Xvfb :1 -screen 0 1920x1080x24 -nolisten tcp -auth %t/latch.Xauthority +Restart=on-failure +RestartSec=3 + +[Install] +WantedBy=default.target diff --git a/deploy/native/brolink-engine.service b/deploy/native/latch-engine.service similarity index 66% rename from deploy/native/brolink-engine.service rename to deploy/native/latch-engine.service index 5e3f02f..ef115cc 100644 --- a/deploy/native/brolink-engine.service +++ b/deploy/native/latch-engine.service @@ -1,12 +1,12 @@ [Unit] -Description=BroLink native streaming engine -Requires=brolink-desktop.service -After=brolink-desktop.service pulseaudio.service +Description=Latch native streaming engine +Requires=latch-desktop.service +After=latch-desktop.service pulseaudio.service Wants=pulseaudio.service [Service] Environment=DISPLAY=:1 -Environment=XAUTHORITY=%t/brolink.Xauthority +Environment=XAUTHORITY=%t/latch.Xauthority WorkingDirectory=%h/.config/sunshine ExecStartPre=/bin/sh -c 'for i in $(seq 1 50); do xdpyinfo >/dev/null 2>&1 && exit 0; sleep 0.2; done; exit 1' ExecStart=/usr/bin/sunshine %h/.config/sunshine/sunshine.conf diff --git a/deploy/native/latch.service.d/desktop.conf b/deploy/native/latch.service.d/desktop.conf new file mode 100644 index 0000000..5192956 --- /dev/null +++ b/deploy/native/latch.service.d/desktop.conf @@ -0,0 +1,12 @@ +[Unit] +Requires=latch-engine.service +After=latch-engine.service + +[Service] +Environment=DISPLAY=:1 +Environment=XAUTHORITY=%t/latch.Xauthority +Environment=PATH=/usr/local/bin:/usr/bin:/bin +ExecStartPre=/usr/bin/python3 /usr/local/libexec/latch-wait-engine.py +Restart=on-failure +RestartSec=3 + diff --git a/deploy/native/wait-engine.py b/deploy/native/wait-engine.py index 3906bf2..2c36cff 100644 --- a/deploy/native/wait-engine.py +++ b/deploy/native/wait-engine.py @@ -1,5 +1,5 @@ #!/usr/bin/python3 -"""Wait until the systemd-managed engine is listening before starting BroLink.""" +"""Wait until the systemd-managed engine is listening before starting Latch.""" import socket import time @@ -10,4 +10,4 @@ except OSError: time.sleep(0.2) else: - raise SystemExit("BroLink streaming engine did not start listening") + raise SystemExit("Latch streaming engine did not start listening") diff --git a/deploy/node/Dockerfile b/deploy/node/Dockerfile index 24d7c72..4d2fcf5 100644 --- a/deploy/node/Dockerfile +++ b/deploy/node/Dockerfile @@ -1,8 +1,8 @@ -# BroLink node: a virtual desktop plus Sunshine plus the BroLink control +# Latch node: a virtual desktop plus Sunshine plus the Latch control # service, optionally joined to Tailscale as its own machine. # # Build from the repository root: -# docker build -f deploy/node/Dockerfile -t brolink-node . +# docker build -f deploy/node/Dockerfile -t latch-node . # # Ubuntu 24.04 matches the pinned Sunshine .deb. @@ -16,7 +16,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ && rm -rf /var/lib/apt/lists/* WORKDIR /src COPY . . -RUN cargo build --release -p brolink-host +RUN cargo build --release -p latch-host FROM ubuntu:24.04 ARG SUNSHINE_TAG=v2026.906.222525 @@ -46,16 +46,16 @@ RUN set -eux; \ # Optional Tailscale userspace client so this container is its own node. COPY --from=docker.io/tailscale/tailscale:stable /usr/local/bin/tailscale /usr/local/bin/tailscaled /usr/local/bin/ -COPY --from=build /src/target/release/brolink-host /usr/local/bin/brolink-host +COPY --from=build /src/target/release/latch-host /usr/local/bin/latch-host COPY deploy/node/entrypoint.sh /entrypoint.sh -COPY deploy/node/bootstrap.py /opt/brolink/bootstrap.py +COPY deploy/node/bootstrap.py /opt/latch/bootstrap.py RUN chmod +x /entrypoint.sh \ && mkdir -p /root/.config /var/lib/tailscale ENV DISPLAY=:1 \ HOME=/root \ - BROLINK_USER=brolink \ - BROLINK_PASS= + LATCH_USER=latch \ + LATCH_PASS= VOLUME ["/root/.config", "/root/.local", "/var/lib/tailscale"] ENTRYPOINT ["/entrypoint.sh"] diff --git a/deploy/node/NODE.md b/deploy/node/NODE.md index 3ff5e6d..66afd8c 100644 --- a/deploy/node/NODE.md +++ b/deploy/node/NODE.md @@ -1,6 +1,6 @@ -# BroLink node (Docker) +# Latch node (Docker) -A container that **shares a desktop** on your Tailscale network. Any BroLink +A container that **shares a desktop** on your Tailscale network. Any Latch app — Mac, Windows, or another node — lists it and can Connect. Use this for a VPS, or run several copies on one host so each container is @@ -11,13 +11,13 @@ It is not the packet relay. The relay kit stays in `deploy/relay/`. ## What runs inside - Xvfb + XFCE (a virtual 1920×1080 desktop) -- Sunshine (the same streaming engine BroLink uses on Windows and macOS) -- BroLink's control service on TCP 47850 +- Sunshine (the same streaming engine Latch uses on Windows and macOS) +- Latch's control service on TCP 47850 - Optional Tailscale in userspace mode (`TS_AUTHKEY`) ## One node -From the BroLink repository: +From the Latch repository: ```bash cp deploy/node/env.example deploy/node/.env @@ -26,7 +26,7 @@ docker compose -f deploy/node/docker-compose.yml up -d --build ``` Sign the auth key in at [the admin console](https://login.tailscale.com/admin/machines) -if it asks. Open BroLink on your Mac or Windows PC: the hostname appears +if it asks. Open Latch on your Mac or Windows PC: the hostname appears under **Your machines**. Click **Connect**. ## Several containers on one VPS @@ -34,10 +34,10 @@ under **Your machines**. Click **Connect**. Each compose project needs its own name and hostname: ```bash -BROLINK_CONTAINER=brolink-node-a TS_HOSTNAME=vps-a \ +LATCH_CONTAINER=latch-node-a TS_HOSTNAME=vps-a \ docker compose -p node-a -f deploy/node/docker-compose.yml up -d --build -BROLINK_CONTAINER=brolink-node-b TS_HOSTNAME=vps-b \ +LATCH_CONTAINER=latch-node-b TS_HOSTNAME=vps-b \ docker compose -p node-b -f deploy/node/docker-compose.yml up -d --build ``` @@ -52,7 +52,7 @@ identity, so it shows up as a machine instead of being hidden as a relay. ## Build notes -The image compiles `brolink-host` and installs the Ubuntu 24.04 Sunshine +The image compiles `latch-host` and installs the Ubuntu 24.04 Sunshine package pinned to the same tag Windows setup uses (`v2026.906.222525`). The VPS in this project is aarch64; the Dockerfile picks the arm64 or amd64 `.deb` from `TARGETARCH`. diff --git a/deploy/node/bootstrap.py b/deploy/node/bootstrap.py index 530050a..1832707 100644 --- a/deploy/node/bootstrap.py +++ b/deploy/node/bootstrap.py @@ -26,8 +26,8 @@ def atomic_write(path, content): def configure(host, credentials, environ): text = host.read_text() if host.exists() else "power_allowed = true\nstart_with_windows = true\nstay_awake = true\n" cfg = tomllib.loads(text) # Do not overwrite a damaged or unreadable config. - user = environ.get("BROLINK_USER") or cfg.get("sunshine_user") or "brolink" - password = environ.get("BROLINK_PASS") or cfg.get("sunshine_pass") or secrets.token_urlsafe(24) + user = environ.get("LATCH_USER") or cfg.get("sunshine_user") or "latch" + password = environ.get("LATCH_PASS") or cfg.get("sunshine_pass") or secrets.token_urlsafe(24) for key, value in (("sunshine_user", user), ("sunshine_pass", password)): line = key + " = " + json.dumps(value) + "\n" pattern = re.compile(r"(?m)^" + key + r"\s*=.*(?:\n|$)") @@ -45,5 +45,5 @@ def configure(host, credentials, environ): if __name__ == "__main__": - configure(Path("/root/.local/share/brolink/host.toml"), - Path("/root/.config/sunshine/brolink-web.json"), os.environ) + configure(Path("/root/.local/share/latch/host.toml"), + Path("/root/.config/sunshine/latch-web.json"), os.environ) diff --git a/deploy/node/docker-compose.yml b/deploy/node/docker-compose.yml index 6ded0e3..4f0352b 100644 --- a/deploy/node/docker-compose.yml +++ b/deploy/node/docker-compose.yml @@ -1,5 +1,5 @@ -# BroLink node — a virtual desktop on this VPS (or any Docker host) that -# other BroLink machines on your Tailscale account can open. +# Latch node — a virtual desktop on this VPS (or any Docker host) that +# other Latch machines on your Tailscale account can open. # # From the repository root: # cp deploy/node/env.example deploy/node/.env @@ -9,15 +9,15 @@ # Repeat with a different project name / TS_HOSTNAME for another container # on the same host; each one is its own tailnet machine. -name: brolink-node +name: latch-node services: node: build: context: ../.. dockerfile: deploy/node/Dockerfile - image: ${BROLINK_IMAGE:-brolink-node:local} - container_name: ${BROLINK_CONTAINER:-brolink-node} + image: ${LATCH_IMAGE:-latch-node:local} + container_name: ${LATCH_CONTAINER:-latch-node} restart: unless-stopped init: true env_file: diff --git a/deploy/node/entrypoint.sh b/deploy/node/entrypoint.sh index a4b72d8..554d46e 100755 --- a/deploy/node/entrypoint.sh +++ b/deploy/node/entrypoint.sh @@ -1,28 +1,28 @@ #!/bin/bash -# Start a virtual desktop, the streaming engine, BroLink's control service, +# Start a virtual desktop, the streaming engine, Latch's control service, # and (optionally) Tailscale so this container is a machine on the tailnet. set -euo pipefail -log() { echo "[brolink-node] $*"; } +log() { echo "[latch-node] $*"; } -install -d -m 700 /root/.config/sunshine /root/.local/share/brolink /var/run/tailscale -if [[ ! -x /usr/local/bin/brolink-engine && -x /usr/bin/sunshine ]]; then - cp /usr/bin/sunshine /usr/local/bin/brolink-engine +install -d -m 700 /root/.config/sunshine /root/.local/share/latch /var/run/tailscale +if [[ ! -x /usr/local/bin/latch-engine && -x /usr/bin/sunshine ]]; then + cp /usr/bin/sunshine /usr/local/bin/latch-engine fi -ENGINE=/usr/local/bin/brolink-engine +ENGINE=/usr/local/bin/latch-engine if [[ ! -x "$ENGINE" ]]; then ENGINE=/usr/bin/sunshine fi if [[ -n "${TS_AUTHKEY:-}" ]]; then - log "starting Tailscale (userspace) as ${TS_HOSTNAME:-brolink-node}" + log "starting Tailscale (userspace) as ${TS_HOSTNAME:-latch-node}" tailscaled --tun=userspace-networking --state=/var/lib/tailscale/tailscaled.state \ --socket=/var/run/tailscale/tailscaled.sock >/var/log/tailscaled.log 2>&1 & for _ in $(seq 1 20); do tailscale status >/dev/null 2>&1 && break sleep 0.5 done - tailscale up --authkey="$TS_AUTHKEY" --hostname="${TS_HOSTNAME:-brolink-node}" \ + tailscale up --authkey="$TS_AUTHKEY" --hostname="${TS_HOSTNAME:-latch-node}" \ --accept-dns=false fi @@ -41,7 +41,7 @@ CONF=/root/.config/sunshine/sunshine.conf cat >"$CONF" <<'EOF' system_tray = disabled origin_web_ui_allowed = pc -credentials_file = /root/.config/sunshine/brolink-web.json +credentials_file = /root/.config/sunshine/latch-web.json max_bitrate = 0 minimum_fps_target = 60 fec_percentage = 20 @@ -68,7 +68,7 @@ EOF # One persisted source of truth for the host and engine. Fails closed on a # damaged config, and never exposes the engine password in process arguments. -python3 /opt/brolink/bootstrap.py +python3 /opt/latch/bootstrap.py log "starting streaming engine" "$ENGINE" "$CONF" >/var/log/sunshine.log 2>&1 & @@ -97,5 +97,5 @@ else: raise SystemExit("Streaming engine did not start listening within 15 seconds") PY -log "starting BroLink control service" -exec /usr/local/bin/brolink-host --background +log "starting Latch control service" +exec /usr/local/bin/latch-host --background diff --git a/deploy/node/env.example b/deploy/node/env.example index 408339b..787e10a 100644 --- a/deploy/node/env.example +++ b/deploy/node/env.example @@ -3,10 +3,10 @@ # Reusable Tailscale auth key (tailscale.com/admin/settings/keys). # The container joins as its own machine; tag it however you like. TS_AUTHKEY=tskey-auth-... -TS_HOSTNAME=brolink-node +TS_HOSTNAME=latch-node # Optional. Generated on first start if empty. -BROLINK_USER=brolink -BROLINK_PASS= +LATCH_USER=latch +LATCH_PASS= SCREEN_SIZE=1920x1080x24 diff --git a/deploy/node/selftest.sh b/deploy/node/selftest.sh index a12b94a..3e0e61c 100755 --- a/deploy/node/selftest.sh +++ b/deploy/node/selftest.sh @@ -10,16 +10,16 @@ need() { fail=1 fi } -need "$ROOT/Dockerfile" "brolink-host" +need "$ROOT/Dockerfile" "latch-host" need "$ROOT/Dockerfile" "ubuntu:24.04" need "$ROOT/Dockerfile" "v2026.906.222525" -need "$ROOT/entrypoint.sh" "brolink-host --background" +need "$ROOT/entrypoint.sh" "latch-host --background" need "$ROOT/entrypoint.sh" "userspace-networking" need "$ROOT/entrypoint.sh" "packetsize = 1184" need "$ROOT/entrypoint.sh" "sw_preset = ultrafast" -need "$ROOT/entrypoint.sh" "brolink-engine" +need "$ROOT/entrypoint.sh" "latch-engine" need "$ROOT/entrypoint.sh" '"name": "Desktop"' -need "$ROOT/docker-compose.yml" "brolink-node" +need "$ROOT/docker-compose.yml" "latch-node" need "$ROOT/docker-compose.yml" "node-tailscale" # Sunshine rejects the entire catalog when its required `env` object is # absent, even though its HTTP health endpoints still return success. diff --git a/deploy/node/test_bootstrap.py b/deploy/node/test_bootstrap.py index 0780344..b478c14 100644 --- a/deploy/node/test_bootstrap.py +++ b/deploy/node/test_bootstrap.py @@ -27,9 +27,9 @@ def test_explicit_password_and_quotes_round_trip(self): with tempfile.TemporaryDirectory() as tmp: host, creds = Path(tmp) / 'host.toml', Path(tmp) / 'web.json' password = 'a"b\\c\n$123' - configure(host, creds, {'BROLINK_PASS': password}) + configure(host, creds, {'LATCH_PASS': password}) self.assertEqual(tomllib.loads(host.read_text())['sunshine_pass'], password) - configure(host, creds, {'BROLINK_PASS': 'new'}) + configure(host, creds, {'LATCH_PASS': 'new'}) self.assertEqual(tomllib.loads(host.read_text())['sunshine_pass'], 'new') def test_corruption_is_not_overwritten(self): diff --git a/deploy/relay/RELAY.md b/deploy/relay/RELAY.md index f0d827c..74a47df 100644 --- a/deploy/relay/RELAY.md +++ b/deploy/relay/RELAY.md @@ -1,16 +1,16 @@ -# BroLink relay +# Latch relay -A BroLink stream is fastest when the two devices connect directly. When a strict NAT +A Latch stream is fastest when the two devices connect directly. When a strict NAT or firewall blocks that, Tailscale falls back to a shared DERP server, which adds latency and caps throughput. This kit turns a machine you own — a cheap cloud VPS is ideal — into a **Tailscale peer relay**, so blocked streams go through your box instead of DERP. -The order is Tailscale's own and needs no BroLink code: **direct → peer relay → DERP.** +The order is Tailscale's own and needs no Latch code: **direct → peer relay → DERP.** DERP stays as the last-resort fallback. If the relay is down, streaming still works, just at DERP quality. -**A relay only serves its own tailnet.** There is no shared BroLink relay and there +**A relay only serves its own tailnet.** There is no shared Latch relay and there cannot be one: a peer relay can only relay for devices in the same tailnet as itself. If you and a friend are on separate tailnets, each of you runs a relay for your own. @@ -107,10 +107,10 @@ tailnet", which for a personal tailnet is what you want. **Do not use `"src": ["*"]`.** `*` includes devices that have no business being relayed and sends traffic on detours that make latency worse. If you want to be -stricter than `autogroup:member`, tag the PCs that host BroLink streams and narrow it: +stricter than `autogroup:member`, tag the PCs that host Latch streams and narrow it: ```json -"src": ["tag:brolink-host"] +"src": ["tag:latch-host"] ``` Tailscale's own guidance: `src` should be devices in a stable location behind a strict @@ -143,7 +143,7 @@ not only a healthy container or saved relay preferences. The default tailnet name is `relay` (`TS_HOSTNAME` in `.env`). To rename an existing node, update `.env`, run -`docker exec brolink-relay tailscale set --hostname=relay`, then +`docker exec latch-relay tailscale set --hostname=relay`, then `docker compose up -d` to persist the container environment. This retains the node identity, IP address, tags, and pairing. @@ -157,7 +157,7 @@ Deleting the volume is the only way to start over: **Stale nodes after a re-login.** A `docker compose down -v` (or a `tailscale logout` inside the container) leaves the previous node listed *offline* in the admin console, and the new node may come up as `relay-1` because the old one still holds the plain name. -Nothing uses the offline node (no grant matches it, and BroLink only looks at `tag:relay` +Nothing uses the offline node (no grant matches it, and Latch only looks at `tag:relay` nodes that are online), so it is cosmetic. Delete it on the Machines page; there is no CLI for that. The live relay is whichever `relay*` row shows `tag:relay` and is online. @@ -170,7 +170,7 @@ opens the new port), then remove the old rule by hand. The relay picks the new p on restart. **Turning it off:** `docker compose down`. Streams fall back to DERP by themselves. -To keep the node but stop relaying: `docker exec brolink-relay tailscale set --relay-server-port=""`. +To keep the node but stop relaying: `docker exec latch-relay tailscale set --relay-server-port=""`. ### Troubleshooting @@ -179,8 +179,8 @@ To keep the node but stop relaying: `docker exec brolink-relay tailscale set --r | `install-relay: no TS_AUTHKEY, and no authenticated state` | Expected on a first run. Nothing was started, nothing changed. Follow the printed steps. | | `relay prefs did NOT take effect. RelayServerPort is 'unset'` | The container is up but not relaying. The script prints the configurator's own log lines underneath; look for `RELAY CONFIG FAILED`. Usual causes are the next two rows. | | `RELAY_PORT='…' in .env is not a UDP port` | Nothing was changed. Fix the value; a trailing `# comment` is fine, anything non-numeric is not. | -| Container up, node `NeedsLogin` | The key was empty, expired, or single-use and already spent. `docker logs brolink-relay \| grep login.tailscale.com` for a manual login URL. | -| `Relay prefs NOT applied` in the logs | The node never authenticated inside `RELAY_WAIT_SECS`. Finish the login, then `docker restart brolink-relay`. | +| Container up, node `NeedsLogin` | The key was empty, expired, or single-use and already spent. `docker logs latch-relay \| grep login.tailscale.com` for a manual login URL. | +| `Relay prefs NOT applied` in the logs | The node never authenticated inside `RELAY_WAIT_SECS`. Finish the login, then `docker restart latch-relay`. | | Node authenticates but peers still say `relay "xxx"` | The grant is missing, a peer is older than 1.86, or the UDP port is not actually reachable. Check the cloud security list, and `iptables -L INPUT --line-numbers` for a rule *above* `REJECT`. | | Relay node disappears after a restart | The auth key was ephemeral. Create a non-ephemeral one. | | `peer relay unavailable` at startup | The image is older than 1.86. Unpin or bump `TS_IMAGE`. | diff --git a/deploy/relay/docker-compose.yml b/deploy/relay/docker-compose.yml index 6fdf801..23e90aa 100644 --- a/deploy/relay/docker-compose.yml +++ b/deploy/relay/docker-compose.yml @@ -1,14 +1,14 @@ -# BroLink peer relay — a Tailscale node that relays BroLink streams instead of DERP. +# Latch peer relay — a Tailscale node that relays Latch streams instead of DERP. # Read RELAY.md first. Run ./install-relay.sh; do not `docker compose up` by hand # unless the UDP port is already open in the host firewall and the cloud security list. # Pinned so another stack in a directory called "relay" cannot share this state volume. -name: brolink-relay +name: latch-relay services: relay: image: ${TS_IMAGE:-tailscale/tailscale:latest} - container_name: brolink-relay + container_name: latch-relay restart: unless-stopped # Host networking: a peer relay must own a real UDP port on the public interface. diff --git a/deploy/relay/install-relay.sh b/deploy/relay/install-relay.sh index 8d6d49b..9b3a38f 100755 --- a/deploy/relay/install-relay.sh +++ b/deploy/relay/install-relay.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -# Bring up (or re-converge) the BroLink peer relay on this host. Safe to run twice: +# Bring up (or re-converge) the Latch peer relay on this host. Safe to run twice: # every step checks before it changes anything, and the node keeps its identity # because state lives in a named volume. # @@ -10,8 +10,8 @@ set -euo pipefail cd "$(dirname "$0")" -CONTAINER=brolink-relay -STATE_VOLUME=brolink-relay_relay-state +CONTAINER=latch-relay +STATE_VOLUME=latch-relay_relay-state # Overridable so ./selftest.sh can drive the real script instead of a patched copy. TUN_DEVICE=${TUN_DEVICE:-/dev/net/tun} AUTH_WAIT_SECS=${AUTH_WAIT_SECS:-120} @@ -140,7 +140,7 @@ num target prot opt source destination [ "$out" = "60" ] || die "selftest: yaml wait, got '$out'" out=$(printf ' RELAY_PORT: 40000\n' | yaml_env_value RELAY_PORT) [ "$out" = "40000" ] || die "selftest: unquoted yaml, got '$out'" - out=$(printf ' TS_HOSTNAME: brolink-relay\n' | yaml_env_value RELAY_PORT) + out=$(printf ' TS_HOSTNAME: latch-relay\n' | yaml_env_value RELAY_PORT) [ -z "$out" ] || die "selftest: absent yaml key produced '$out'" out=$(printf ' RELAY_PORT: "99999999"\n' | yaml_env_value RELAY_PORT) [ "$out" = "99999999" ] || die "selftest: malformed port was silently repaired to '$out'" @@ -298,12 +298,12 @@ container_started_at() { docker inspect -f '{{.State.StartedAt}}' "$CONTAINER" 2>/dev/null || true } -# Only `brolink-relay:` lines from the current start — never dump tailscaled. +# Only `latch-relay:` lines from the current start — never dump tailscaled. configurator_lines() { local since since=$(container_started_at) [ -n "$since" ] || return 0 - docker logs --since "$since" "$CONTAINER" 2>&1 | grep 'brolink-relay:' || true + docker logs --since "$since" "$CONTAINER" 2>&1 | grep 'latch-relay:' || true } current_config_marker() { diff --git a/deploy/relay/relay-entrypoint.sh b/deploy/relay/relay-entrypoint.sh index d08cbef..5dcfd23 100755 --- a/deploy/relay/relay-entrypoint.sh +++ b/deploy/relay/relay-entrypoint.sh @@ -1,5 +1,5 @@ #!/bin/sh -# BroLink peer-relay entrypoint. +# Latch peer-relay entrypoint. # # The official tailscale image entrypoint (containerboot) exposes no relay setting # and does not run a user command, so relay prefs have to be applied with @@ -17,7 +17,7 @@ RELAY_STATIC_ENDPOINTS="${RELAY_STATIC_ENDPOINTS:-}" RELAY_MIN_MAJOR=1 RELAY_MIN_MINOR=86 -log() { echo "brolink-relay: $*" >&2; } +log() { echo "latch-relay: $*" >&2; } # 0 if $1 (e.g. "1.102.3") is >= RELAY_MIN_MAJOR.RELAY_MIN_MINOR. # Numeric on purpose: a string compare would rank "1.102" below "1.86". @@ -82,7 +82,7 @@ wait_for_running() { NeedsLogin) # `[ ] && log` would abort this subshell under `set -e` on the false branch. if [ "$((i % 30))" -eq 0 ]; then - log "waiting for login (docker logs brolink-relay | grep login.tailscale.com)" + log "waiting for login (docker logs latch-relay | grep login.tailscale.com)" fi ;; esac @@ -90,7 +90,7 @@ wait_for_running() { sleep 1 done log "BackendState never reached Running within ${RELAY_WAIT_SECS}s (last: ${state:-unknown})." - log "Relay prefs NOT applied. Authenticate, then: docker restart brolink-relay" + log "Relay prefs NOT applied. Authenticate, then: docker restart latch-relay" return 1 } diff --git a/deploy/relay/selftest.sh b/deploy/relay/selftest.sh index e6b04eb..fac8a3c 100755 --- a/deploy/relay/selftest.sh +++ b/deploy/relay/selftest.sh @@ -45,13 +45,13 @@ make_stubs() { # $1 = sandbox dir fi } emit_old() { - echo "brolink-relay: RELAY CONFIG OK port=40000" + echo "latch-relay: RELAY CONFIG OK port=40000" echo "magicsock: old-lifecycle chatter" } emit_current() { case "$(marker_now)" in - FAILED) echo "brolink-relay: RELAY CONFIG FAILED port=40000 - prefs not applied, this node is NOT a peer relay" ;; - OK) echo "brolink-relay: RELAY CONFIG OK port=40000" ;; + FAILED) echo "latch-relay: RELAY CONFIG FAILED port=40000 - prefs not applied, this node is NOT a peer relay" ;; + OK) echo "latch-relay: RELAY CONFIG OK port=40000" ;; esac i=0 while [ "$i" -lt "${STUB_VERBOSE:-0}" ]; do @@ -77,9 +77,9 @@ make_stubs() { # $1 = sandbox dir port=${port%% #*}; wait=${wait%% #*} port=${port%\"}; port=${port#\"} wait=${wait%\"}; wait=${wait#\"} - printf 'name: brolink-relay\nservices:\n relay:\n environment:\n RELAY_PORT: "%s"\n RELAY_WAIT_SECS: "%s"\n' "$port" "$wait" + printf 'name: latch-relay\nservices:\n relay:\n environment:\n RELAY_PORT: "%s"\n RELAY_WAIT_SECS: "%s"\n' "$port" "$wait" exit 0 ;; - up) echo "Container brolink-relay Started"; exit 0 ;; + up) echo "Container latch-relay Started"; exit 0 ;; esac ;; volume) [ -n "${STUB_STATE_DIR:-}" ] || exit 1 @@ -92,16 +92,16 @@ make_stubs() { # $1 = sandbox dir exit 1 ;; exec) case "$*" in - "brolink-relay tailscale status --json") + "latch-relay tailscale status --json") printf '{\n\t"BackendState": "%s"\n}\n' "${STUB_BACKEND:-Running}"; exit 0 ;; - "brolink-relay tailscale debug prefs") + "latch-relay tailscale debug prefs") if [ -n "${STUB_PREFS_PORT:-}" ]; then printf '{\n\t"WantRunning": true,\n\t"RelayServerPort": %s\n}\n' "$STUB_PREFS_PORT" else printf '{\n\t"WantRunning": true\n}\n' fi; exit 0 ;; - "brolink-relay tailscale status") - echo "100.64.0.1 brolink-relay me@ linux -"; exit 0 ;; + "latch-relay tailscale status") + echo "100.64.0.1 latch-relay me@ linux -"; exit 0 ;; esac ;; inspect) cat "$STUB_DIR/started_at"; exit 0 ;; @@ -187,7 +187,7 @@ run_case() { # $1 = sandbox dir ; remaining env comes from the caller ) >"$1/out" 2>&1 } -WORKDIR=$(mktemp -d "${TMPDIR:-/tmp}/brolink-relay-selftest.XXXXXX") +WORKDIR=$(mktemp -d "${TMPDIR:-/tmp}/latch-relay-selftest.XXXXXX") # Sibling named like the old glob. If cleanup still does rm -rf .../relaykit.*, # this vanishes and the ownership check fails. DECOY=$(mktemp -d "${TMPDIR:-/tmp}/relaykit.XXXXXX") diff --git a/docs/MACOS.md b/docs/MACOS.md index 45fb57b..3e263f9 100644 --- a/docs/MACOS.md +++ b/docs/MACOS.md @@ -1,10 +1,10 @@ # macOS client (Apple Silicon) -BroLink for the Mac is one native app: every machine on your Tailscale +Latch for the Mac is one native app: every machine on your Tailscale account, a Connect button each, a power menu, the stream itself, and a -**Sharing** tab so a Windows PC or another Mac can open this desktop. BroLink's stream protocol is compiled in, video is decoded by +**Sharing** tab so a Windows PC or another Mac can open this desktop. Latch's stream protocol is compiled in, video is decoded by VideoToolbox (H.264 and HEVC), audio by Opus, and the picture is drawn in -BroLink's own window under a toolbar. +Latch's own window under a toolbar. ## Requirements @@ -21,19 +21,19 @@ the [GitHub CLI](https://cli.github.com) and sign in (`brew install gh && gh auth login`) so the script can fall back to `gh`. ```bash -curl -fsSL https://raw.githubusercontent.com/MrBeldum/brolink/main/scripts/install-macos-release.sh | bash +curl -fsSL https://raw.githubusercontent.com/MrBeldum/latch/main/scripts/install-macos-release.sh | bash ``` It checks the release SHA-256, verifies the ad-hoc signature, swaps the app into `/Applications` (the live copy is not deleted first) and opens it. -By hand: download `brolink-macos-arm64.tar.gz` from the -[latest release](https://github.com/MrBeldum/brolink/releases/latest), then +By hand: download `latch-macos-arm64.tar.gz` from the +[latest release](https://github.com/MrBeldum/latch/releases/latest), then ```bash -tar xzf brolink-macos-arm64.tar.gz -xattr -dr com.apple.quarantine BroLink.app -open BroLink.app +tar xzf latch-macos-arm64.tar.gz +xattr -dr com.apple.quarantine Latch.app +open Latch.app ``` The `xattr` step is required for a browser download. The app is ad-hoc @@ -48,7 +48,7 @@ quarantine flag is how you tell macOS you fetched it deliberately. ``` builds for `aarch64-apple-darwin` (Xcode command line tools and CMake are -needed for the C parts), bundles `dist/BroLink.app`, and installs it to +needed for the C parts), bundles `dist/Latch.app`, and installs it to `/Applications`. A locally built app never carries the quarantine flag. ### Signing @@ -59,9 +59,9 @@ notarize: ```bash CODESIGN_IDENTITY="Developer ID Application: Your Name (TEAMID)" ./scripts/bundle-macos.sh -ditto -c -k --keepParent dist/BroLink.app dist/BroLink.zip -xcrun notarytool submit dist/BroLink.zip --keychain-profile "notary" --wait -xcrun stapler staple dist/BroLink.app +ditto -c -k --keepParent dist/Latch.app dist/Latch.zip +xcrun notarytool submit dist/Latch.zip --keychain-profile "notary" --wait +xcrun stapler staple dist/Latch.app ``` ## First run @@ -72,11 +72,11 @@ xcrun stapler staple dist/BroLink.app first. A dot and one line say whether each is ready, asleep, or missing something on its side. 3. Click **Connect** (**Wake and connect** for a machine that is asleep). - The first time with a machine, BroLink pairs with it: it picks a - random PIN, sends it to BroLink on that machine over Tailscale, and - BroLink there enters it for you. You see the PIN but never need it. If - BroLink is not sharing on that machine, pairing cannot finish: open - BroLink there and set up sharing on its **Sharing** tab first. + The first time with a machine, Latch pairs with it: it picks a + random PIN, sends it to Latch on that machine over Tailscale, and + Latch there enters it for you. You see the PIN but never need it. If + Latch is not sharing on that machine, pairing cannot finish: open + Latch there and set up sharing on its **Sharing** tab first. 4. The desktop appears. Command-1 opens **Machines**, Command-2 **Sharing** and Command-comma @@ -112,12 +112,12 @@ the Mac cursor's position is sent 1:1 instead and nothing is captured. | Toolbar item | What it does | |--------------|--------------| | **● Machine name · 1920×1080 · 60 fps · HEVC** | The stream as negotiated (the numbers show on wide windows); the dot turns amber while the connection is poor | -| **Direct · 38 ms / Relayed via Tokyo · 210 ms / Via your relay · 60 ms** | The path Tailscale found and its round trip. Amber means every packet goes through one of Tailscale's shared relays, which adds delay; **Connection details** under the machine list say why and what would give a direct path. What BroLink asks for is the same on every path | +| **Direct · 38 ms / Relayed via Tokyo · 210 ms / Via your relay · 60 ms** | The path Tailscale found and its round trip. Amber means every packet goes through one of Tailscale's shared relays, which adds delay; **Connection details** under the machine list say why and what would give a direct path. What Latch asks for is the same on every path | | **Mouse** | **Captured, for games** (the default): a click on the picture hides the cursor and sends raw movement, which games read; the host key frees it. **Free, for desktops**: the Mac cursor's position is sent 1:1 and nothing is captured. The choice is remembered, and is also in Settings | | **Keys** | Ctrl+Alt+Delete, Windows key, Alt+Tab, Escape, Print Screen; and **Command acts as Ctrl** | | **Stats** | The Stream performance panel: frame rate and bitrate against what was asked for, round trip, packet loss, encode, assembly, queue and decode times, and the decoder. **Copy diagnostics** puts it all on the clipboard | | **Full screen** | Toggle; the setting decides how a session starts | -| **PC** (or **Mac**, **Machine**) | Sleep, Restart…, Shut down… (the latter two ask first); **Update BroLink Host…** for a PC whose host is older than 3.1 | +| **PC** (or **Mac**, **Machine**) | Sleep, Restart…, Shut down… (the latter two ask first); **Update Latch Host…** for a PC whose host is older than 3.1 | | **Stream settings** | The same controls as Settings: quality profile, resolution, frame rate, bitrate and codec. **Apply and reconnect** restarts the session with them in a second or two; Escape or the close button leaves them as they were | | **Disconnect** | End the session | @@ -130,9 +130,9 @@ they do on the Mac, and ⌘ can stay held across several of them. ### Clipboard -With BroLink Host 3.1 or newer on the PC, the clipboard follows you both +With Latch Host 3.1 or newer on the PC, the clipboard follows you both ways: text copied on the PC is in the Mac's clipboard a second later, and -⌘V on the PC pastes the text the Mac has (BroLink sends it to the PC first, +⌘V on the PC pastes the text the Mac has (Latch sends it to the PC first, then presses Ctrl+V there). Text only, up to 32 KB; an image or a file on either clipboard is left alone. Short notices under the toolbar say when something crossed. With an older host, ⌘V pastes what the PC last copied. @@ -144,31 +144,31 @@ both routers. When it cannot, every packet goes through a relay: your own peer relay if you run one (**Relay** in Settings), otherwise one of Tailscale's (DERP). A relay adds a detour, and the round trip it adds is a floor under how quickly the PC answers a click; it changes nothing about -what BroLink asks for. Recommended quality is this screen's size at 50 +what Latch asks for. Recommended quality is this screen's size at 50 Mbps on every path, so a relayed stream is laggier, not blurrier. The encoder holds that rate (CBR); a still desktop no longer drops to a trickle. Tailscale's own relays are shared, so a stream through one can also stutter at busy times; a peer relay you run is yours alone. -BroLink shows which case you are in next to each PC (**Relayed via Tokyo · +Latch shows which case you are in next to each PC (**Relayed via Tokyo · 210 ms**, **Via your relay · 60 ms**) and, when relayed, **Connection details** under the list says which router is in the way and what would fix it: UPnP or NAT-PMP turned on in the PC's router, a UDP port forwarded to the PC, or IPv6 on both networks. Both machines report their own side -(`tailscale netcheck`); the PC's report needs BroLink Host 3.1. +(`tailscale netcheck`); the PC's report needs Latch Host 3.1. ## A machine's menu The **…** button at the end of each row offers what that machine allows: -**Wake** (asleep, and BroLink has learned how to wake it; sends the packet +**Wake** (asleep, and Latch has learned how to wake it; sends the packet without connecting), **Test waking it from this network** (awake), **Sleep**, **Restart…** and **Shut down…** (when that machine allows remote power actions), and **Copy Tailscale address**. Restart and shut down ask first; both force-close programs there. **Test waking it from this network** sends the wake packet to the awake -machine and asks BroLink there whether it arrived. A pass means waking it +machine and asks Latch there whether it arrived. A pass means waking it from where you are will work; a failure means the packets are not reaching it from this network (see below). @@ -186,7 +186,7 @@ it from this network (see below). | Command acts as Ctrl | Off makes ⌘ the Windows key (Mac only) | | App to open | The app on the PC to launch; "Desktop" is the whole screen. The list fills in after the first connection | | Offer to sleep a machine after a session | Off by default. Asleep, Tailscale is off there; this Mac can only wake it from its own network | -| Keep BroLink up to date | Updates this app and the Windows PCs' BroLink Host; **Check now** checks at once | +| Keep Latch up to date | Updates this app and the Windows PCs' Latch Host; **Check now** checks at once | | Relay | Whether a relay of your own is in use, and the grant it needs | | About | Version, licence, source, and the open-source notices | @@ -196,14 +196,14 @@ asks for; the machine list shows the same. A session also reconnects by itself, at the new size, when this Mac's window moves to a display of a different size. -Settings are saved in `~/Library/Application Support/dev.brolink.BroLink/client.toml`, -along with the MAC, LAN address and pairing certificate of each PC BroLink +Settings are saved in `~/Library/Application Support/com.bardbro.Latch/client.toml`, +along with the MAC, LAN address and pairing certificate of each PC Latch has paired with. ## Waking a PC from another network -Asleep, the PC's Tailscale is off, so BroLink cannot reach it over the -tailnet. Leave the PC on (BroLink keeps it awake while plugged in) +Asleep, the PC's Tailscale is off, so Latch cannot reach it over the +tailnet. Leave the PC on (Latch keeps it awake while plugged in) if you want **Connect** from anywhere. The wake packet is sent to the LAN broadcast, to the PC's LAN address and @@ -218,14 +218,14 @@ a Raspberry Pi, or a router that runs Tailscale) is the alternative. Use - **Local network**: macOS 15 may ask; allow it so the wake broadcast can go out. - **Incoming connections**: if the macOS firewall is on it may ask once, - the first time the Mac serves a BroLink Host install through the stream. -- Nothing else. BroLink captures no screen and reads the keyboard and + the first time the Mac serves a Latch Host install through the stream. +- Nothing else. Latch captures no screen and reads the keyboard and mouse only in its own window. ## Connected, but the picture is black A connection can carry valid video that contains only black pixels. -BroLink now detects this after five seconds and shows a persistent message +Latch now detects this after five seconds and shows a persistent message instead of presenting the stream as healthy. **Restart stream** reconnects and, for Desktop, resets the PC's capture session. If no video arrives or decoding fails, the message distinguishes those problems too. @@ -255,29 +255,29 @@ capture failing while the desktop plainly has a picture. The app checks GitHub for a new release about every six hours and twenty seconds after it starts. A newer version is downloaded to -`~/Library/Application Support/dev.brolink.BroLink/updates//`, checked against the +`~/Library/Application Support/com.bardbro.Latch/updates//`, checked against the SHA-256 GitHub publishes for the asset and against its own code signature, -and moved over `/Applications/BroLink.app` once no stream is running; the -app then relaunches. The Mac also sends the new `brolink-host.exe` to each -PC whose BroLink Host is older and already speaks `/v1/update` (3.1+). +and moved over `/Applications/Latch.app` once no stream is running; the +app then relaunches. The Mac also sends the new `latch-host.exe` to each +PC whose Latch Host is older and already speaks `/v1/update` (3.1+). A PC still on 3.0 cannot take that, and nobody may be at the PC to install -by hand. So the stream's **PC → Update BroLink Host…** does it through -the stream: this Mac serves the new `brolink-host.exe` and a short +by hand. So the stream's **PC → Update Latch Host…** does it through +the stream: this Mac serves the new `latch-host.exe` and a short PowerShell script on its own Tailscale address (TCP 47851, to that one PC only, for ten minutes), presses Win+R on the PC, types one line (`powershell -ep bypass -c "irm http://:47851/u.ps1|iex"`) and presses Enter. A PowerShell window on the PC fetches the executable, checks its SHA-256 against the one in the script, stops the old service, swaps the file where it stands (found from the running process, or -`%LOCALAPPDATA%\BroLink`), registers it to start at logon and starts it. +`%LOCALAPPDATA%\Latch`), registers it to start at logon and starts it. The stream is not interrupted; the toolbar reports each step and the lobby shows the new version a few seconds later. The PC's desktop has to be unlocked and in front, since the Run box needs it. From then on updates arrive by themselves. Public releases need no GitHub login. If the repository is private, the -app uses, in order: `github_token` in `client.toml`, `BROLINK_GITHUB_TOKEN` +app uses, in order: `github_token` in `client.toml`, `LATCH_GITHUB_TOKEN` in the environment, and the token git has stored for github.com (which is there after `install-macos-release.sh` or any `git` use with the osxkeychain helper). Settings has the switch and a **Check now** button; the line under diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index 311e8d0..46576af 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -8,7 +8,7 @@ rendezvous and PIN dialogs. Replaced in 2.0; the git history has it. ## v2.0 (retired) Glue around Sunshine, Moonlight and Tailscale: the Mac app installed -Moonlight and launched it; BroLink itself did wake, pairing and power. +Moonlight and launched it; Latch itself did wake, pairing and power. ## v3.0 diff --git a/docs/WINDOWS.md b/docs/WINDOWS.md index 6d1b08d..102eaaa 100644 --- a/docs/WINDOWS.md +++ b/docs/WINDOWS.md @@ -1,6 +1,6 @@ # Windows -`brolink-host.exe` is BroLink on Windows: a background service other +`latch-host.exe` is Latch on Windows: a background service other machines talk to over Tailscale, and a window that lists every machine on your account (Connect opens their desktop) and shares this PC. The streaming engine, which ships in the same zip, does the capture. @@ -15,21 +15,21 @@ streaming engine, which ships in the same zip, does the capture. ## Install -1. Unzip the release and run `brolink-host.exe`, or run `install-host.ps1` - to copy it (and the bundled engine archive) to `%LOCALAPPDATA%\BroLink`, +1. Unzip the release and run `latch-host.exe`, or run `install-host.ps1` + to copy it (and the bundled engine archive) to `%LOCALAPPDATA%\Latch`, add shortcuts, and register the background service to start at logon. 2. Open the **Sharing** tab and click **Set up as administrator**. One UAC prompt runs a script that: - unpacks the bundled engine archive into - `%ProgramFiles%\BroLink\engine` (downloads that pinned release if the - archive is not beside the exe), and gives its executables BroLink's - name and icon so Task Manager and the volume mixer show "BroLink + `%ProgramFiles%\Latch\engine` (downloads that pinned release if the + archive is not beside the exe), and gives its executables Latch's + name and icon so Task Manager and the volume mixer show "Latch Streaming" (their copyright and licence strings are kept); - writes the engine's settings: tray and toasts off, web UI on loopback only, the PC's display switched to the size and frame rate a Mac asks for and put back at disconnect, no bitrate ceiling, and frames kept flowing while the desktop is still; - - gives BroLink a login to the engine and restarts the engine service; + - gives Latch a login to the engine and restarts the engine service; - adds firewall rules: TCP 47850 inbound from `100.64.0.0/10` only, UDP 9 for the wake-packet listener, and the streaming ports from the tailnet; - on a PC with the [Virtual Display Driver](https://github.com/VirtualDrivers/Virtual-Display-Driver), @@ -44,13 +44,13 @@ streaming engine, which ships in the same zip, does the capture. `*PMNSOffload`, restarts the adapter if any changed, and lets the device wake the PC (`powercfg /deviceenablewake`). - The script's transcript is in `%LOCALAPPDATA%\BroLink\setup.log` and is + The script's transcript is in `%LOCALAPPDATA%\Latch\setup.log` and is shown on the Sharing tab if something fails. Every step is idempotent; run setup again after fixing whatever it complained about. 3. The Sharing tab says **Shared** with a green dot. Leave the window closed; the service keeps running. -Advanced engine settings are not exposed anywhere in BroLink: BroLink +Advanced engine settings are not exposed anywhere in Latch: Latch configures the engine itself. ## Slow streams: the network, or the encoder @@ -75,7 +75,7 @@ engine service. ## What the service does -`brolink-host.exe --background` listens on TCP 47850 and answers these +`latch-host.exe --background` listens on TCP 47850 and answers these requests, all JSON: | Request | Effect | @@ -85,7 +85,7 @@ requests, all JSON: | `POST /v1/power {"action"}` | `sleep`, `restart`, or `shutdown` (closes the running app first) | | `GET /v1/clipboard` | The clipboard as text, with Windows' clipboard sequence number | | `POST /v1/clipboard {"text"}` | Replaces the clipboard, so a ⌘V on the Mac pastes the Mac's text | -| `POST /v1/update` | A new `brolink-host.exe`; see Updates | +| `POST /v1/update` | A new `latch-host.exe`; see Updates | | `GET /v1/display` | Why a capture may be black: monitors, the desktop's sampled brightness, HDR state, the engine's capture settings | | `POST /v1/display {"advanced_color"}` | Turns the HDR (advanced colour) desktop off or on | @@ -98,7 +98,7 @@ The service also listens on UDP 9. A magic packet for this PC's MAC that arrives while it is awake is logged and reported in the status, which is what **Test wake** on the Mac reads. -Logs: `%LOCALAPPDATA%\BroLink\service.log` and `panel.log`. +Logs: `%LOCALAPPDATA%\Latch\service.log` and `panel.log`. ## Waking it from the Mac, and turning it off @@ -123,7 +123,7 @@ if you would rather the Mac could not. Remote power actions force-close programs, because nobody is there to answer a save prompt. After a **restart**, the engine is back before anyone logs in (it is a -service), so the Mac can stream the login screen and sign in. BroLink's +service), so the Mac can stream the login screen and sign in. Latch's service starts at logon, so sleep and shutdown from the Mac return once someone is signed in. @@ -132,7 +132,7 @@ someone is signed in. Windows needs an active display for capture. If the connection works but the picture is black, attach a monitor or an HDMI/DisplayPort dummy plug, or install the signed [Virtual Display Driver](https://github.com/VirtualDrivers/Virtual-Display-Driver/releases). -It supplies a display even when the physical monitor is off and works with BroLink's +It supplies a display even when the physical monitor is off and works with Latch's bundled engine. Setup lists every screen size a Mac can ask for in the driver's settings file, and the engine switches the virtual display to the Mac's size at each connect, so there is nothing to choose in Windows Display settings. If the @@ -142,12 +142,12 @@ Mac again. ## Using an engine you installed yourself -BroLink streams through whichever compatible engine is already on the PC +Latch streams through whichever compatible engine is already on the PC before it installs its own. [Apollo](https://github.com/ClassicOldSong/Apollo) is one: it has a built-in virtual display that can match the Mac's resolution for a pixel-for-pixel 16:10 desktop on a MacBook screen. Install it in `C:\Program Files\Apollo` from its releases -page before running setup, and BroLink uses it instead of installing its +page before running setup, and Latch uses it instead of installing its own engine; the API and config layout are the same. ## Gamepads @@ -167,9 +167,9 @@ recommended. Sharing tab, or read `setup.log`. The usual causes are the UAC prompt being dismissed, or a driver that refuses the wake keywords. -- **Other machines list the PC as online, but "BroLink isn't installed"**: +- **Other machines list the PC as online, but "Latch isn't installed"**: the control service is not running or the firewall rule is missing. Open - BroLink on the PC (it restarts the service) and choose **Run setup again** + Latch on the PC (it restarts the service) and choose **Run setup again** on the Sharing tab. - **The Mac says the PC is asleep but it is on**: Tailscale's online flag lags by up to half a minute; Connect probes the PC directly and will work. @@ -185,20 +185,20 @@ recommended. ## Updates -BroLink Host does not download anything. The Mac fetches each release and -POSTs the new `brolink-host.exe` to `/v1/update` on the control port with +Latch Host does not download anything. The Mac fetches each release and +POSTs the new `latch-host.exe` to `/v1/update` on the control port with its version and SHA-256, from a machine on the PC's own Tailscale account, the same check that guards remote power actions. The service verifies the digest, that the bytes are a Windows executable and a newer version, writes -`brolink-host.exe.new` beside itself, renames the running file to -`brolink-host.exe.old`, moves the new one in and starts it with +`latch-host.exe.new` beside itself, renames the running file to +`latch-host.exe.old`, moves the new one in and starts it with `--replaces `; the new service waits for the old one to release the port, then removes the `.old` file. Both events appear in the host log and the streaming session, if any, is not interrupted. Hosts older than 3.1 have no update route, and the Mac does not POST the executable at them (that used to show as a broken pipe). Instead the Mac -installs 3.1 through the stream: from the stream's **PC → Update BroLink +installs 3.1 through the stream: from the stream's **PC → Update Latch Host…**, the Mac serves the new executable on its Tailscale address, presses Win+R here, types `powershell -ep bypass -c "irm http://:47851/u.ps1|iex"` and presses Enter. The script fetches the @@ -211,7 +211,7 @@ automatic. The background service starts with Windows by default and sets that again at every start, so a PC nobody can reach in person comes back after a -restart; **Start BroLink when you log in** on the Sharing tab is the only +restart; **Start Latch when you log in** on the Sharing tab is the only thing that turns it off. It also holds Windows awake while plugged in (**Keep this PC awake while plugged in**, same place), because a sleeping PC's Tailscale is asleep and a Mac on another network cannot diff --git a/docs/brand/logo-ink.png b/docs/brand/logo-ink.png new file mode 100644 index 0000000000000000000000000000000000000000..bd8f403e5d4639767de69a00fef37253a4422998 GIT binary patch literal 20003 zcmeI3&ntsr9KgS0)~MB6ilG+!3!K%mX<~^Z+G*(khXsmzPj<+Kb!z^!&&zkGpn|Un{`~*M2Ps~!lPu%P$H&>PB zOU{pOKYAp3z8R9cv+^Btmu-BW)in+1h4eytp(%*;LO1t94)}74hc&Kcj#E7RRHtcx z{-ghz2IxQfkN)dIK>tw#%>tYMN}>k;af-*3AO-{=009U<00Izj5rLsXRZG}f%kJGD Om{}z{Q}M%&;e~JZ5wH#b literal 0 HcmV?d00001 diff --git a/docs/brand/logo-ink.svg b/docs/brand/logo-ink.svg new file mode 100644 index 0000000..037e242 --- /dev/null +++ b/docs/brand/logo-ink.svg @@ -0,0 +1,6 @@ + + + Logo, one ink + + + diff --git a/docs/brand/logo-knockout.png b/docs/brand/logo-knockout.png new file mode 100644 index 0000000000000000000000000000000000000000..f990e073789c1f3359c07482d3bc117d2e3c8d9b GIT binary patch literal 19996 zcmeI2Jxc>Y5QZlo#4`|bg%FG>(pZULYau3jqA85xMq=|#5iO0*P`h}EM?0%b#}mx57<;E)0uh=2y5f$~Mb8Z;2lK&=FNNYFq)1GN%B z1JD38Pzrzspn*;U&;T?54fIL?4L}2x2J9Mu2A!b6m3zG#x7U)P@_yg<;Y#Q$cj=__ zG8DjH@E80=E6|R=yuaxO?8);Nebk|G8_<9Cz^2=gk;5Z=6J+D>FP4q`TvV4kySjDU zBhp{kmSU`RMPDVUNoth_cp+Y>(twtgmbH_XwJjirBr#n~7t>V=V7i#DP6G~}bGl5W z0iTfR$Jyf71(ALnG*D?kKmOm)Krem<3ZMWApa2S>019-E0>w(KvTPo#HwSBaQkki& Jbup1I{{V^os$u{D literal 0 HcmV?d00001 diff --git a/docs/brand/logo-knockout.svg b/docs/brand/logo-knockout.svg new file mode 100644 index 0000000..28b2287 --- /dev/null +++ b/docs/brand/logo-knockout.svg @@ -0,0 +1,6 @@ + + + Logo, knockout + + + diff --git a/docs/brand/logo-rails-ink.svg b/docs/brand/logo-rails-ink.svg new file mode 100644 index 0000000..87e8d7e --- /dev/null +++ b/docs/brand/logo-rails-ink.svg @@ -0,0 +1,8 @@ + + + Logo, rails, one ink + + + + + diff --git a/docs/brand/logo-rails.png b/docs/brand/logo-rails.png new file mode 100644 index 0000000000000000000000000000000000000000..600ed09872faae1e1e541b0661768a066708054f GIT binary patch literal 18101 zcmeI%&nts*90%~vW@DCR4q}tGNF+rm#1_;1m^8v|6b@=Pp-hPz^=Kp?FJLd_SOS!B3A+`SE}n1p-s#5!F|6nd><{fQRK<`L$$l%Cu0 zdhmMKr<&fU68__%rfpN9YokJ2>7?cHevLPfS9T{DgDc%WV@JStxi%=~Gi=weU1P%l zITJbae{!anWY8c00SG|gZtFZOA=^}=?s2o8$p2vQc;=OLPZOuUY)L5B@Np0;^?U3Q zE;VdK^$}%PEYH~YfZBbUZ)xK>5ruXX+Sx!rp*?+1Zur^=R|r4=0uX=z1Rwwb2tWV= g5P$##AdnQ83uov`^1Ix{qlaRjrOj&IX&qkp1-5blb^rhX literal 0 HcmV?d00001 diff --git a/docs/brand/logo-rails.svg b/docs/brand/logo-rails.svg new file mode 100644 index 0000000..edb7933 --- /dev/null +++ b/docs/brand/logo-rails.svg @@ -0,0 +1,8 @@ + + + Logo, rails + + + + + diff --git a/docs/brand/logo.png b/docs/brand/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..5cc17e1b028795106b95b9f4f2057fbec0a9d291 GIT binary patch literal 20012 zcmeI2&nrYx6oAh#jc00VLWD5Z6kAHoXv8dL2xVd6$wCP`5*8vdrThcRWI;BQUw?pE z$VLhalA>%SqJ&Y-l{f2AHuT-iJBw-Rew}mPch7zCj##VDTjmuJU!*PEDPn18iRID9 z&c<22Nc1TZ4s}ng++CjJ&vl496fIr*C@J3dja2)eQ;l7zkLy^W{+a~=2tWV=5P$## z{tt^)*<>A1!{I*o-Y%|^NMB>VELd)+&!5Jr#9Jdqt15Pv} zE+=#w1N&Nm;CCSWrAjF*Ng|(+yAq)F68`NRHnp7WxC$Y+|?~VecMY z1PeT`qo+Odw(NNj46P?-4+zGO1Y>JG&-CGRd|=W%r*AW#LeQFN&DpnR?t!#=xCi=! zM)%zT_v;$^&Zj1G#s7G9`0TdpG9Q<5&&`Qdi<^6H`kST!T7(v%MOp})H5q1`G+>yG z8gTS6m4F(c2B?9l1jf*ep*0Oq1JnRDFbxqk_&qf+JXsKc00bZa0SG|g{}8Zisy2rU T79R#{i_E4XEwOO2*`ECbdu_8u literal 0 HcmV?d00001 diff --git a/docs/brand/logo.svg b/docs/brand/logo.svg new file mode 100644 index 0000000..928ffea --- /dev/null +++ b/docs/brand/logo.svg @@ -0,0 +1,6 @@ + + + Logo + + + diff --git a/docs/design/AUDIT.md b/docs/design/AUDIT.md index e2970c4..a5601a3 100644 --- a/docs/design/AUDIT.md +++ b/docs/design/AUDIT.md @@ -2,11 +2,11 @@ A harsh pass over every screen of the unified window, the Sharing page and the stream overlay, as rendered by the snapshot harness and as read -in code. Severity is the effect on someone using BroLink, not the effort +in code. Severity is the effect on someone using Latch, not the effort to fix. Every item was found on 4.0.2 (`f96e1a3`); the last column is its state on this branch. -Renders: `cargo test -p brolink-client -p brolink-host snapshots -- --ignored` +Renders: `cargo test -p latch-client -p latch-host snapshots -- --ignored` writes `target/ui-snapshots/`. Names below refer to that folder (`client-lobby-1280x800@2x.png` and so on). @@ -67,16 +67,16 @@ All pairs are asserted in `crates/ui/src/theme.rs` and `widgets.rs` tests. | # | Severity | Finding | State | |---|----------|---------|-------| | U1 | High | "This Mac" everywhere, on Windows and Linux viewers too: errors, key-expiry notices, path explanations, settings hints. | Fixed: "this machine", or the right noun per OS. | -| U2 | High | Errors sent people to a UI that no longer exists: "Open BroLink Host on the PC and run setup", "Check Wake-on-LAN in BroLink Host". | Fixed: they point at the Sharing tab and say what to do. | +| U2 | High | Errors sent people to a UI that no longer exists: "Open Latch Host on the PC and run setup", "Check Wake-on-LAN in Latch Host". | Fixed: they point at the Sharing tab and say what to do. | | U3 | Medium | "Keep this machine awake while plugged in" on Mac and Linux, where `keep_awake` does nothing. | Fixed: Windows only. | | U4 | Medium | "Command key acts as Ctrl" on Windows and Linux viewers, which have no Command key. | Fixed: Mac only. | | U5 | Medium | Connect buttons vanished while any connection ran, reflowing the list. | Fixed: disabled in place, with a tooltip. | | U6 | Medium | "Wake" beside "Connect", which also wakes. | Fixed: "Wake and connect"; Wake alone is in the row's menu. | | U7 | Medium | The lobby's power menu was "PC" for every OS and hid Test wake behind power permissions. | Fixed: a "…" menu with what each machine allows, plus Copy Tailscale address. | -| U8 | Medium | While the app updated itself the connection card had an empty title. | Fixed: "Installing a BroLink update". | +| U8 | Medium | While the app updated itself the connection card had an empty title. | Fixed: "Installing a Latch update". | | U9 | Medium | Every failure offered "Try again at Smooth (1080p · 20 Mbps)", even a wake failure it cannot help, and a connection that never started was titled "… disconnected". | Fixed: "Couldn't connect to …" or "… disconnected"; the lighter profile only for stream failures. | | U10 | Medium | "Connecting failed at {stage} (code {code})." | Fixed: says the machine answered and points at the network. | -| U11 | Medium | Pairing called the other side "BroLink Host"; a stuck PIN hand-off showed as a violet notice. | Fixed: PIN in boxes, plain explanation, amber notice. | +| U11 | Medium | Pairing called the other side "Latch Host"; a stuck PIN hand-off showed as a violet notice. | Fixed: PIN in boxes, plain explanation, amber notice. | | U12 | Medium | "Tailscale: Tailscale is stopped." beside "Sign in to Tailscale to see your machines" over a list of remembered machines. | Fixed: one banner that says what happened and what to do; the list stays. | | U13 | Medium | Stream quality was two controls for one choice: four unselectable "quick profile" buttons plus Recommended/Manual, and a Reset. | Fixed: one control, Recommended · Smooth · Balanced · Sharp · Custom. | | U14 | Low | Settings was one long card; the licence only as raw NOTICE text. | Fixed: grouped sections and an About section. | @@ -94,7 +94,7 @@ All pairs are asserted in `crates/ui/src/theme.rs` and `widgets.rs` tests. | U26 | Low | "Paired Macs", "Start the background service with Windows" on a Mac. | Fixed. | | U27 | Low | The poor-network toast said "Open Stats" without saying how to reach the toolbar. | Fixed. | | U28 | Low | The Sharing page's network line said "a Mac … reaches this PC" on a Mac. | Fixed in the page; the service log's own line is unchanged. | -| U29 | Low | Phones on the tailnet were listed as "BroLink isn't installed". | Fixed. | +| U29 | Low | Phones on the tailnet were listed as "Latch isn't installed". | Fixed. | | U30 | Low | A relayed path was red, like a failure. | Fixed: amber, with the explanation in Connection details. | ### Accessibility and input @@ -102,7 +102,7 @@ All pairs are asserted in `crates/ui/src/theme.rs` and `widgets.rs` tests. | # | Severity | Finding | State | |---|----------|---------|-------| | X1 | High | Tab order ran backwards through right-aligned controls (egui focuses in creation order; right-to-left layouts create the rightmost first): a machine's menu before its Connect, the toolbar from Disconnect leftwards. | Fixed: `trailing` layout; tested. | -| X2 | Medium | Focus rings drawn inside controls in text colour, and egui's own widgets showed focus only as the pressed style. | Fixed: a violet ring outside every custom control and on built-in ones. | +| X2 | Medium | Focus rings drawn inside controls in text colour, and egui's own widgets showed focus only as the pressed style. | Fixed: a ring in the logo's blue outside every custom control and on built-in ones. | | X3 | Medium | No window shortcuts. | Fixed: Command/Ctrl-1, 2, comma; Escape. | | X4 | Low | Switch hit target 40×22 (< 24). | Fixed: 36×24. | | X5 | Low | Pills and other painted text were missing from the accessibility tree. | Fixed: status, tags, keycaps and the PIN report labels. | diff --git a/scripts/bundle-macos.sh b/scripts/bundle-macos.sh index 187a097..bae6b50 100755 --- a/scripts/bundle-macos.sh +++ b/scripts/bundle-macos.sh @@ -13,46 +13,46 @@ newest() { done printf '%s' "$pick" } -BIN="$(newest "$ROOT/target/aarch64-apple-darwin/release/brolink-host" "$ROOT/target/release/brolink-host")" +BIN="$(newest "$ROOT/target/aarch64-apple-darwin/release/latch-host" "$ROOT/target/release/latch-host")" if [[ -z "$BIN" ]]; then - echo "build the app first: cargo build --release -p brolink-host" >&2 + echo "build the app first: cargo build --release -p latch-host" >&2 exit 1 fi -APP="$ROOT/dist/BroLink.app" +APP="$ROOT/dist/Latch.app" # The workspace version, so the bundle cannot drift from the binary inside it. VERSION="$(sed -n 's/^version = "\(.*\)"/\1/p' "$ROOT/Cargo.toml" | head -1)" rm -rf "$APP" mkdir -p "$APP/Contents/MacOS" "$APP/Contents/Resources" # dist/ is a staging copy. Keep Spotlight from listing it next to -# /Applications/BroLink.app. +# /Applications/Latch.app. touch "$ROOT/dist/.metadata_never_index" -cp "$BIN" "$APP/Contents/MacOS/BroLink" -chmod +x "$APP/Contents/MacOS/BroLink" -# The Finder/Dock icon: the logo tile filling the canvas, built by -# scripts/make-macos-icon.py. macOS applies the rounded app-icon shape. -cp "$ROOT/crates/client/BroLink.icns" "$APP/Contents/Resources/BroLink.icns" +cp "$BIN" "$APP/Contents/MacOS/Latch" +chmod +x "$APP/Contents/MacOS/Latch" +# The Finder/Dock icon: the ink tile with the logo knocked out, built by +# scripts/make-icons.py. macOS applies the rounded app-icon shape. +cp "$ROOT/crates/client/Latch.icns" "$APP/Contents/Resources/Latch.icns" cp "$ROOT/LICENSE" "$ROOT/NOTICE" "$APP/Contents/Resources/" cat > "$APP/Contents/Info.plist" < - CFBundleNameBroLink - CFBundleDisplayNameBroLink - CFBundleIdentifierdev.brolink.client + CFBundleNameLatch + CFBundleDisplayNameLatch + CFBundleIdentifiercom.bardbro.latch CFBundleVersion${VERSION} CFBundleShortVersionString${VERSION} - CFBundleExecutableBroLink - CFBundleIconFileBroLink + CFBundleExecutableLatch + CFBundleIconFileLatch CFBundlePackageTypeAPPL LSMinimumSystemVersion13.0 LSApplicationCategoryType public.app-category.utilities NSHumanReadableCopyright - Copyright © 2026 BroLink Contributors + Copyright © 2026 Latch Contributors NSHighResolutionCapable NSLocalNetworkUsageDescription - BroLink sends the wake-up packet to your PC over the local network. + Latch sends the wake-up packet to your PC over the local network. PLIST diff --git a/scripts/install-host.ps1 b/scripts/install-host.ps1 index 7bd745b..3537ca0 100644 --- a/scripts/install-host.ps1 +++ b/scripts/install-host.ps1 @@ -1,5 +1,5 @@ -# Install BroLink Host for the current user: copy the exe and the bundled -# engine archive into %LOCALAPPDATA%\BroLink, add Start Menu and Desktop +# Install Latch Host for the current user: copy the exe and the bundled +# engine archive into %LOCALAPPDATA%\Latch, add Start Menu and Desktop # shortcuts, and open it. The app itself runs the one administrator step # (engine, firewall, Wake-on-LAN) when you click "Set up this PC". [CmdletBinding()] @@ -14,28 +14,38 @@ if (-not $Exe) { $Here = Split-Path -Parent $MyInvocation.MyCommand.Path $Root = Split-Path -Parent $Here foreach ($c in @( - (Join-Path $Here "brolink-host.exe"), - (Join-Path $Root "brolink-host.exe"), - (Join-Path $Root "target\release\brolink-host.exe") + (Join-Path $Here "latch-host.exe"), + (Join-Path $Root "latch-host.exe"), + (Join-Path $Root "target\release\latch-host.exe") )) { if (Test-Path $c) { $Exe = $c; break } } } if (-not $Exe -or -not (Test-Path $Exe)) { - Write-Error "brolink-host.exe not found. Download a release or build with: cargo build --release -p brolink-host" + Write-Error "latch-host.exe not found. Download a release or build with: cargo build --release -p latch-host" } -$DestDir = Join-Path $env:LOCALAPPDATA "BroLink" -New-Item -ItemType Directory -Force -Path $DestDir | Out-Null -$DestExe = Join-Path $DestDir "brolink-host.exe" +$DestDir = Join-Path $env:LOCALAPPDATA "Latch" +# Where versions before 4.1 installed (they were called BroLink). Their +# settings, pairing identity and engine archive come across, and the folder +# goes once this one is in place. +$OldDir = Join-Path $env:LOCALAPPDATA "BroLink" +$DestExe = Join-Path $DestDir "latch-host.exe" # A running service or panel holds the old exe open; stop them first. try { Invoke-RestMethod -Method Post -Uri "http://127.0.0.1:47850/v1/quit" -ContentType 'application/json' -Body '{}' -TimeoutSec 2 | Out-Null Start-Sleep -Milliseconds 800 } catch {} -Get-Process brolink-host -ErrorAction SilentlyContinue | Stop-Process -Force +Get-Process latch-host, brolink-host -ErrorAction SilentlyContinue | Stop-Process -Force Start-Sleep -Milliseconds 300 +if ((Test-Path $OldDir) -and -not (Test-Path (Join-Path $DestDir "host.toml"))) { + New-Item -ItemType Directory -Force -Path $DestDir | Out-Null + Get-ChildItem -LiteralPath $OldDir -Force | Where-Object { $_.Name -notmatch '\.exe(\.old|\.new)?$' } | + ForEach-Object { Copy-Item -LiteralPath $_.FullName -Destination $DestDir -Recurse -Force } + Write-Host "Settings carried over from $OldDir" +} +New-Item -ItemType Directory -Force -Path $DestDir | Out-Null Copy-Item $Exe $DestExe -Force Write-Host "Installed: $DestExe" # Same filename setup.rs ENGINE_ZIP looks for beside the exe. @@ -50,7 +60,8 @@ $Desktop = [Environment]::GetFolderPath("Desktop") $StartMenu = Join-Path ([Environment]::GetFolderPath("StartMenu")) "Programs" New-Item -ItemType Directory -Force -Path $StartMenu | Out-Null foreach ($folder in @($Desktop, $StartMenu)) { - $Lnk = $Wsh.CreateShortcut((Join-Path $folder "BroLink Host.lnk")) + Remove-Item -LiteralPath (Join-Path $folder "BroLink Host.lnk") -Force -ErrorAction SilentlyContinue + $Lnk = $Wsh.CreateShortcut((Join-Path $folder "Latch Host.lnk")) $Lnk.TargetPath = $DestExe $Lnk.WorkingDirectory = $DestDir $Lnk.Description = "Your PC, from your Mac" @@ -59,10 +70,16 @@ foreach ($folder in @($Desktop, $StartMenu)) { # The background service at logon; the app offers the same toggle. $Run = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run" -New-ItemProperty -Path $Run -Name "BroLinkHost" -Value "`"$DestExe`" --background" -PropertyType String -Force | Out-Null +Remove-ItemProperty -Path $Run -Name "BroLinkHost" -ErrorAction SilentlyContinue +New-ItemProperty -Path $Run -Name "LatchHost" -Value "`"$DestExe`" --background" -PropertyType String -Force | Out-Null + +if (Test-Path $OldDir) { + Remove-Item -LiteralPath $OldDir -Recurse -Force -ErrorAction SilentlyContinue + if (Test-Path $OldDir) { Write-Host "Could not remove $OldDir completely; it is safe to delete." } +} -Write-Host "Shortcut: Desktop\BroLink Host.lnk" -Write-Host "Open BroLink Host and click 'Set up this PC' once." +Write-Host "Shortcut: Desktop\Latch Host.lnk" +Write-Host "Open Latch Host and click 'Set up this PC' once." Write-Host "If you already ran setup from the unzipped copy, run it once more from this install so the firewall allows $DestExe." if (-not $NoStart) { Start-Process -FilePath $DestExe -WorkingDirectory $DestDir diff --git a/scripts/install-macos-release.sh b/scripts/install-macos-release.sh index be21274..9d167f5 100644 --- a/scripts/install-macos-release.sh +++ b/scripts/install-macos-release.sh @@ -7,17 +7,17 @@ # bash scripts/install-macos-release.sh # set -euo pipefail -REPO="${BROLINK_REPO:-MrBeldum/brolink}" -URL="https://github.com/$REPO/releases/latest/download/brolink-macos-arm64.tar.gz" +REPO="${LATCH_REPO:-MrBeldum/latch}" +URL="https://github.com/$REPO/releases/latest/download/latch-macos-arm64.tar.gz" API="https://api.github.com/repos/$REPO/releases/latest" TMP="$(mktemp -d)" trap 'rm -rf "$TMP"' EXIT echo "downloading $URL" -if ! curl -fsSL -o "$TMP/brolink-macos-arm64.tar.gz" "$URL"; then +if ! curl -fsSL -o "$TMP/latch-macos-arm64.tar.gz" "$URL"; then if command -v gh >/dev/null 2>&1 && gh auth status >/dev/null 2>&1; then echo "anonymous download failed; downloading with gh" - gh release download --repo "$REPO" --pattern brolink-macos-arm64.tar.gz --dir "$TMP" --clobber + gh release download --repo "$REPO" --pattern latch-macos-arm64.tar.gz --dir "$TMP" --clobber else echo "download failed; a private repository requires gh auth login" >&2 exit 1 @@ -31,7 +31,7 @@ if JSON=$(curl -fsSL -H "Accept: application/vnd.github+json" "$API" 2>/dev/null import json, sys rel = json.load(sys.stdin) for a in rel.get("assets") or []: - if a.get("name") == "brolink-macos-arm64.tar.gz": + if a.get("name") == "latch-macos-arm64.tar.gz": d = a.get("digest") or "" print(d[7:] if d.lower().startswith("sha256:") else d) break @@ -39,14 +39,14 @@ for a in rel.get("assets") or []: fi if [[ -z "$DIGEST" ]] && command -v gh >/dev/null 2>&1; then DIGEST=$(gh api "repos/$REPO/releases/latest" --jq ' - .assets[] | select(.name=="brolink-macos-arm64.tar.gz") | .digest // "" + .assets[] | select(.name=="latch-macos-arm64.tar.gz") | .digest // "" ' 2>/dev/null | sed 's/^[Ss][Hh][Aa]256://' || true) fi if [[ ! "$DIGEST" =~ ^[0-9a-fA-F]{64}$ ]]; then - echo "release published no SHA-256 for brolink-macos-arm64.tar.gz; refusing to install" >&2 + echo "release published no SHA-256 for latch-macos-arm64.tar.gz; refusing to install" >&2 exit 1 fi -GOT=$(shasum -a 256 "$TMP/brolink-macos-arm64.tar.gz" | awk '{print $1}') +GOT=$(shasum -a 256 "$TMP/latch-macos-arm64.tar.gz" | awk '{print $1}') lc() { printf '%s' "$1" | tr 'A-Z' 'a-z'; } if [[ "$(lc "$GOT")" != "$(lc "$DIGEST")" ]]; then echo "download does not match the published SHA-256" >&2 @@ -55,39 +55,46 @@ if [[ "$(lc "$GOT")" != "$(lc "$DIGEST")" ]]; then exit 1 fi -tar xzf "$TMP/brolink-macos-arm64.tar.gz" -C "$TMP" -APP="$TMP/BroLink.app" -if [[ ! -x "$APP/Contents/MacOS/BroLink" ]]; then - echo "the download holds no BroLink.app" >&2 +tar xzf "$TMP/latch-macos-arm64.tar.gz" -C "$TMP" +APP="$TMP/Latch.app" +if [[ ! -x "$APP/Contents/MacOS/Latch" ]]; then + echo "the download holds no Latch.app" >&2 exit 1 fi xattr -dr com.apple.quarantine "$APP" 2>/dev/null || true codesign --verify --deep --strict "$APP" -DEST="/Applications/BroLink.app" -STAGE="/Applications/.BroLink-install-$$.app" +DEST="/Applications/Latch.app" +STAGE="/Applications/.Latch-install-$$.app" rm -rf "$STAGE" cp -R "$APP" "$STAGE" # Swap last: a failed copy must not delete the live app. if [[ -d "$DEST" ]]; then - PREV="/Applications/.BroLink-previous-$$.app" + PREV="/Applications/.Latch-previous-$$.app" rm -rf "$PREV" mv "$DEST" "$PREV" if ! mv "$STAGE" "$DEST"; then mv "$PREV" "$DEST" - echo "could not replace /Applications/BroLink.app; previous copy restored" >&2 + echo "could not replace /Applications/Latch.app; previous copy restored" >&2 exit 1 fi rm -rf "$PREV" else mv "$STAGE" "$DEST" fi +# An install from before 4.1 (the app was called BroLink): stop its +# background job, drop its login item and remove its app, so only Latch is +# left. The new app registers its own login item when it first runs. +OLD_AGENT="gui/$(id -u)/dev.brolink.node" +launchctl bootout "$OLD_AGENT" >/dev/null 2>&1 || true +rm -f "$HOME/Library/LaunchAgents/dev.brolink.node.plist" +rm -rf /Applications/BroLink.app # The background service keeps running the old binary until it restarts: # replacing the bundle does not stop it, and launchd restarts it only after # a failure. Restart it through launchd so it runs the new one now. -AGENT="gui/$(id -u)/dev.brolink.node" +AGENT="gui/$(id -u)/com.bardbro.latch.node" if launchctl print "$AGENT" >/dev/null 2>&1; then - launchctl kickstart -k "$AGENT" && echo "restarted the BroLink background service" + launchctl kickstart -k "$AGENT" && echo "restarted the Latch background service" fi echo "installed $DEST" open "$DEST" diff --git a/scripts/install-macos.sh b/scripts/install-macos.sh index ccb3d0c..33f5560 100755 --- a/scripts/install-macos.sh +++ b/scripts/install-macos.sh @@ -1,32 +1,39 @@ #!/usr/bin/env bash -# Build and install the BroLink Mac app into /Applications. A locally built +# Build and install the Latch Mac app into /Applications. A locally built # app never carries the quarantine flag, so Gatekeeper leaves it alone. set -euo pipefail ROOT="$(cd "$(dirname "$0")/.." && pwd)" cd "$ROOT" rustup target add aarch64-apple-darwin >/dev/null -cargo build --release -p brolink-host --target aarch64-apple-darwin +cargo build --release -p latch-host --target aarch64-apple-darwin bash "$ROOT/scripts/bundle-macos.sh" -APP="$ROOT/dist/BroLink.app" +APP="$ROOT/dist/Latch.app" if [[ ! -d "$APP" ]]; then echo "bundle failed" >&2 exit 1 fi xattr -dr com.apple.quarantine "$APP" 2>/dev/null || true -rm -rf /Applications/BroLink.app -cp -R "$APP" /Applications/BroLink.app -# The staging bundle in dist/ would otherwise appear as a second BroLink +rm -rf /Applications/Latch.app +cp -R "$APP" /Applications/Latch.app +# The staging bundle in dist/ would otherwise appear as a second Latch # in Spotlight and Launchpad. Unregister it; the real app is in /Applications. LSREGISTER="/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister" "$LSREGISTER" -u "$APP" 2>/dev/null || true -"$LSREGISTER" -f /Applications/BroLink.app 2>/dev/null || true +"$LSREGISTER" -f /Applications/Latch.app 2>/dev/null || true rm -rf "$APP" +# An install from before 4.1 (the app was called BroLink): stop its +# background job, drop its login item and remove its app, so only Latch is +# left. The new app registers its own login item when it first runs. +OLD_AGENT="gui/$(id -u)/dev.brolink.node" +launchctl bootout "$OLD_AGENT" >/dev/null 2>&1 || true +rm -f "$HOME/Library/LaunchAgents/dev.brolink.node.plist" +rm -rf /Applications/BroLink.app # The background service keeps running the old binary until it restarts: # replacing the bundle does not stop it, and launchd restarts it only after # a failure. Restart it through launchd so it runs the new one now. -AGENT="gui/$(id -u)/dev.brolink.node" +AGENT="gui/$(id -u)/com.bardbro.latch.node" if launchctl print "$AGENT" >/dev/null 2>&1; then - launchctl kickstart -k "$AGENT" && echo "restarted the BroLink background service" + launchctl kickstart -k "$AGENT" && echo "restarted the Latch background service" fi -echo "installed /Applications/BroLink.app" +echo "installed /Applications/Latch.app" echo "open it; it lists every machine on your Tailscale account, and can share this Mac." diff --git a/scripts/make-icons.py b/scripts/make-icons.py new file mode 100644 index 0000000..8a640b5 --- /dev/null +++ b/scripts/make-icons.py @@ -0,0 +1,82 @@ +#!/usr/bin/env python3 +"""Build the app icon from the logo's geometry. + +Writes crates/core/assets/logo-1024.png (the bitmap every window, the +Windows executable and the Mac bundle start from) and crates/client/Latch.icns. + +The mark is drawn from the same rectangles as docs/brand/logo.svg, on a +view box whose mark runs 14..86: a square with the lower right corner cut +away, and a smaller square in the cut. The icon is a full-bleed ink tile +with the mark knocked out in white; macOS applies the rounded app-icon +shape and Windows 11 rounds the square, so nothing here is pre-masked. The +blue is the logo's, lightened to read on ink. + + python3 scripts/make-icons.py +""" +import pathlib +import shutil +import subprocess +import tempfile + +from PIL import Image, ImageDraw + +ROOT = pathlib.Path(__file__).resolve().parent.parent +LOGO = ROOT / "crates/core/assets/logo-1024.png" +ICNS = ROOT / "crates/client/Latch.icns" + +INK = (0x1C, 0x1D, 0x1A) +KNOCKOUT = (0xFF, 0xFF, 0xFF) +BLUE = (0x4F, 0x8F, 0xE8) + +CANVAS = 1024 +# How much of the tile the mark's 72-unit span fills. +FILL = 0.60 +SUPERSAMPLE = 4 + + +def draw(size): + big = size * SUPERSAMPLE + im = Image.new("RGB", (big, big), INK) + d = ImageDraw.Draw(im) + unit = big * FILL / 72.0 + origin = (big - 72 * unit) / 2 - 14 * unit + + def rect(x0, y0, x1, y1, colour): + d.rectangle( + [ + round(origin + x0 * unit), + round(origin + y0 * unit), + round(origin + x1 * unit) - 1, + round(origin + y1 * unit) - 1, + ], + fill=colour, + ) + + rect(14, 14, 86, 54, KNOCKOUT) + rect(14, 54, 54, 86, KNOCKOUT) + rect(60, 60, 86, 86, BLUE) + return im.resize((size, size), Image.LANCZOS).convert("RGBA") + + +def main(): + canvas = draw(CANVAS) + canvas.save(LOGO, optimize=True) + print(f"wrote {LOGO}") + with tempfile.TemporaryDirectory() as tmp: + iconset = pathlib.Path(tmp) / "Latch.iconset" + iconset.mkdir() + for points in (16, 32, 128, 256, 512): + for scale in (1, 2): + px = points * scale + name = f"icon_{points}x{points}" + ("@2x" if scale == 2 else "") + ".png" + canvas.resize((px, px), Image.LANCZOS).save(iconset / name) + subprocess.run( + ["iconutil", "--convert", "icns", "--output", str(ICNS), str(iconset)], + check=True, + ) + shutil.copy(iconset / "icon_512x512@2x.png", pathlib.Path(tmp) / "preview.png") + print(f"wrote {ICNS}") + + +if __name__ == "__main__": + main() diff --git a/scripts/make-macos-icon.py b/scripts/make-macos-icon.py deleted file mode 100755 index 969e041..0000000 --- a/scripts/make-macos-icon.py +++ /dev/null @@ -1,63 +0,0 @@ -#!/usr/bin/env python3 -"""Build crates/client/BroLink.icns from crates/core/assets/logo-1024.png. - -The logo is a rounded tile on a near-black pad. This crops the tile and -fills a 1024 canvas with it. macOS applies the rounded app-icon shape; -pre-masking the tile and leaving transparent corners made a square plate -on macOS 26. - - python3 scripts/make-macos-icon.py -""" -import pathlib -import shutil -import subprocess -import tempfile - -from PIL import Image - -ROOT = pathlib.Path(__file__).resolve().parent.parent -LOGO = ROOT / "crates/core/assets/logo-1024.png" -ICNS = ROOT / "crates/client/BroLink.icns" - -CANVAS = 1024 - - -def tile_bounds(im): - """The rounded tile inside the logo: where the pad colour ends on the - middle row and column.""" - px = im.load() - pad = px[0, 0] - mid = im.width // 2 - xs = [x for x in range(im.width) if px[x, mid] != pad] - ys = [y for y in range(im.height) if px[mid, y] != pad] - return xs[0], ys[0], xs[-1] + 1, ys[-1] + 1 - - -def main(): - logo = Image.open(LOGO).convert("RGBA") - # Opaque fill: the Dock's shape comes from the system, not from alpha. - canvas = ( - logo.crop(tile_bounds(logo)) - .resize((CANVAS, CANVAS), Image.LANCZOS) - .convert("RGB") - .convert("RGBA") - ) - - with tempfile.TemporaryDirectory() as tmp: - iconset = pathlib.Path(tmp) / "BroLink.iconset" - iconset.mkdir() - for points in (16, 32, 128, 256, 512): - for scale in (1, 2): - px = points * scale - name = f"icon_{points}x{points}" + ("@2x" if scale == 2 else "") + ".png" - canvas.resize((px, px), Image.LANCZOS).save(iconset / name) - subprocess.run( - ["iconutil", "--convert", "icns", "--output", str(ICNS), str(iconset)], - check=True, - ) - shutil.copy(iconset / "icon_512x512@2x.png", pathlib.Path(tmp) / "preview.png") - print(f"wrote {ICNS}") - - -if __name__ == "__main__": - main() diff --git a/third_party/moonlight-common-c/VERSION b/third_party/moonlight-common-c/VERSION index f8cf32b..9476256 100644 --- a/third_party/moonlight-common-c/VERSION +++ b/third_party/moonlight-common-c/VERSION @@ -1,6 +1,6 @@ 874ac9548f1bd6f095ef2b435c42cdde460e7821 2026-08-18 -moonlight-common-c: the GameStream protocol engine BroLink's viewer links +moonlight-common-c: the GameStream protocol engine Latch's viewer links (RTSP handshake, control and input channels, RTP video/audio reassembly with FEC). crates/stream/build.rs compiles the files listed in its SOURCES array and nothing else. GPL-3.0-or-later (LICENSE.txt); ENet and nanors keep their @@ -21,7 +21,7 @@ Trimmed (not present here) - src/PlatformCrypto.c: crates/stream/src/crypto.rs implements the same Plt* functions in Rust, so no OpenSSL or mbedTLS is linked. - src/ConnectionTester.c (LiTestClientConnectivity) and src/SimpleStun.c - (LiFindExternalAddressIP4): public helpers BroLink never calls. + (LiFindExternalAddressIP4): public helpers Latch never calls. Limelight.h still declares them; nothing may call them. - src/RecorderCallbacks.c: only used when LC_DEBUG_RECORD_MODE is defined. - enet/compress.c: ENet's range coder; moonlight never enables compression. @@ -30,13 +30,13 @@ Trimmed (not present here) Local patches 1. src/ControlStream.c: enet_peer_timeout(peer, 2, 10000, 10000) becomes - enet_peer_timeout(peer, 3, 15000, 30000). BroLink streams often cross + enet_peer_timeout(peer, 3, 15000, 30000). Latch streams often cross a Tailscale peer relay on a long path, where a burst of loss silences the reliable control channel for seconds; upstream's 10 s limit then declared the PC dead and ended long sessions with "Connection lost (code -1)". A dead PC is still noticed within 30 s. 2. src/SdpGenerator.c: the video bitrate latch is capped at 150000 kbps - instead of GFE's 100000. Sunshine has no 100 Mbps limit and BroLink's + instead of GFE's 100000. Sunshine has no 100 Mbps limit and Latch's bitrate setting goes to 150 Mbps. Re-vendoring @@ -45,4 +45,4 @@ Re-vendoring oblas_lite}.[ch], nanors/deps/obl/gf2_8_*.h and nanors/LICENSE, drop the files listed above, re-apply both patches, update SOURCES in build.rs if upstream added or removed files, and update the commits here. Then run - `cargo test -p brolink-stream` and a live stream_real test. + `cargo test -p latch-stream` and a live stream_real test. diff --git a/third_party/moonlight-common-c/src/ControlStream.c b/third_party/moonlight-common-c/src/ControlStream.c index 1866916..9aad364 100644 --- a/third_party/moonlight-common-c/src/ControlStream.c +++ b/third_party/moonlight-common-c/src/ControlStream.c @@ -1833,8 +1833,8 @@ int startControlStream(void) { // The 3DS can take a bit longer to set up when starting fresh enet_peer_timeout(peer, 2, 60000, 60000); #else - // BroLink change (was: enet_peer_timeout(peer, 2, 10000, 10000)). - // Every BroLink stream is relayed over a Tailscale peer relay across a + // Latch change (was: enet_peer_timeout(peer, 2, 10000, 10000)). + // Every Latch stream is relayed over a Tailscale peer relay across a // long, sometimes trans-Pacific path where a burst of loss can silence // the reliable control channel (ENet, UDP 47999) for several seconds. // Upstream's 10 s peer timeout then declares the peer dead and the diff --git a/third_party/moonlight-common-c/src/SdpGenerator.c b/third_party/moonlight-common-c/src/SdpGenerator.c index 7546025..42ccba2 100644 --- a/third_party/moonlight-common-c/src/SdpGenerator.c +++ b/third_party/moonlight-common-c/src/SdpGenerator.c @@ -349,7 +349,7 @@ static PSDP_OPTION getAttributesList(char*urlSafeAddr) { } } - // GFE capped video at 100 Mbps. Sunshine does not, and BroLink's slider + // GFE capped video at 100 Mbps. Sunshine does not, and Latch's slider // goes to 150 Mbps, so latch as high as the user asked (still bounded). adjustedBitrate = adjustedBitrate > 150000 ? 150000 : adjustedBitrate; From 8cc87ba19ab0dc8df240b5e05fad04462cfdeba2 Mon Sep 17 00:00:00 2001 From: MrBeldum <157205701+MrBeldum@users.noreply.github.com> Date: Fri, 2 Oct 2026 02:16:33 -0700 Subject: [PATCH 2/6] Build on Rust 1.99: no fetch_update Rust 1.99 renamed Atomic::fetch_update to try_update and deprecated the old name, which clippy -D warnings turns into an error on CI's stable toolchain. The connection slot is a compare-and-swap loop instead, which builds on both. Also names three tests for the Latch engine and service rather than "latchs". Co-Authored-By: Claude Sonnet 5.5 --- crates/core/src/http.rs | 21 +++++++++++++-------- crates/host/src/setup.rs | 6 +++--- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/crates/core/src/http.rs b/crates/core/src/http.rs index f6b3228..c84fb16 100644 --- a/crates/core/src/http.rs +++ b/crates/core/src/http.rs @@ -252,14 +252,19 @@ struct ConnectionSlot(std::sync::Arc); impl ConnectionSlot { fn acquire(active: &std::sync::Arc) -> Option { - active - .fetch_update( - std::sync::atomic::Ordering::Relaxed, - std::sync::atomic::Ordering::Relaxed, - |n| (n < MAX_CONNECTIONS).then_some(n + 1), - ) - .ok() - .map(|_| Self(active.clone())) + use std::sync::atomic::Ordering::Relaxed; + // A compare-and-swap loop rather than `fetch_update`, which Rust 1.99 + // renamed `try_update`: this builds on both. + let mut n = active.load(Relaxed); + loop { + if n >= MAX_CONNECTIONS { + return None; + } + match active.compare_exchange_weak(n, n + 1, Relaxed, Relaxed) { + Ok(_) => return Some(Self(active.clone())), + Err(seen) => n = seen, + } + } } } diff --git a/crates/host/src/setup.rs b/crates/host/src/setup.rs index b63a68d..d75adb4 100644 --- a/crates/host/src/setup.rs +++ b/crates/host/src/setup.rs @@ -1057,7 +1057,7 @@ mod tests { } #[test] - fn the_service_is_latchs_and_the_fallback_is_proven_not_assumed() { + fn the_latch_service_and_the_fallback_are_proven_not_assumed() { let exe = PathBuf::from(r"C:\x\latch-host.exe"); let s = script(&plan(&exe, true)); @@ -1144,7 +1144,7 @@ mod tests { } #[test] - fn setup_looks_for_latchs_own_engine_before_any_other() { + fn setup_looks_for_the_latch_engine_before_any_other() { let exe = PathBuf::from(r"C:\x\latch-host.exe"); let s = script(&plan(&exe, false)); let line = s @@ -1440,7 +1440,7 @@ system_tray = enabled } #[test] - fn branding_follows_the_copy_touches_only_latchs_engine_and_skips_dry_runs() { + fn branding_follows_the_copy_touches_only_the_latch_engine_and_skips_dry_runs() { let exe = PathBuf::from(r"C:\x\latch-host.exe"); let fresh = code(&script(&plan(&exe, true))); let copied = fresh From d006c4706c3d8e5c1e342a749d0dcb3e39c095ab Mon Sep 17 00:00:00 2001 From: MrBeldum <157205701+MrBeldum@users.noreply.github.com> Date: Fri, 2 Oct 2026 02:27:39 -0700 Subject: [PATCH 3/6] Find an older install's engine login wherever setup put it On Linux the engine login file sits in ~/.config/sunshine, not under the data folder, so repairing only paths under the old data folder missed it. The conf's credentials_file is now repaired by file name as well, and the repair runs from main right after the data folder is taken over, ahead of the port check, so it happens even when another copy already serves. Co-Authored-By: Claude Sonnet 5.5 --- crates/host/src/main.rs | 4 ++ crates/host/src/service.rs | 2 - crates/host/src/unix_setup.rs | 97 ++++++++++++++++++++++++++--------- 3 files changed, 78 insertions(+), 25 deletions(-) diff --git a/crates/host/src/main.rs b/crates/host/src/main.rs index dce85ae..3b27f1b 100644 --- a/crates/host/src/main.rs +++ b/crates/host/src/main.rs @@ -63,6 +63,10 @@ fn main() -> Result<()> { } else { "panel.log" }); + // init_logging has just called data_dir(), which takes over an older + // install's folder; the engine's config inside still names the old one. + #[cfg(not(windows))] + latch_host::unix_setup::repair_adopted_engine_config(); #[cfg(target_os = "macos")] if let Err(e) = latch_host::unix_setup::adopt_legacy_bundle(args.background) { // Only returns when there was nothing to move or the move failed; diff --git a/crates/host/src/service.rs b/crates/host/src/service.rs index 23f9eb9..1f719e2 100644 --- a/crates/host/src/service.rs +++ b/crates/host/src/service.rs @@ -167,8 +167,6 @@ impl Service { /// A PC nobody can reach in person has to come back by itself after a /// restart, so the logon entry is kept unless the owner turned it off. fn ensure_autostart(&self, exe: &std::path::Path) { - #[cfg(not(windows))] - crate::unix_setup::repair_adopted_engine_config(); if !self.cfg.lock().start_with_windows { return; } diff --git a/crates/host/src/unix_setup.rs b/crates/host/src/unix_setup.rs index 7d05e02..e034815 100644 --- a/crates/host/src/unix_setup.rs +++ b/crates/host/src/unix_setup.rs @@ -66,11 +66,16 @@ pub fn conf_path() -> Result { Ok(engine_dir()?.join("config").join("sunshine.conf")) } -/// After this copy took over an older install's data folder, the engine's -/// `sunshine.conf` still names the engine login by the old folder's path. -/// Point it at the folder it is in now, and give the login file the new -/// name, so the engine finds the login it was set up with. Nothing happens -/// on an install that was never moved. +/// The engine login file an earlier version wrote, and what it is called now. +const OLD_LOGIN_FILE: &str = "brolink-web.json"; +const LOGIN_FILE: &str = "latch-web.json"; + +/// An install that an older version set up has two things in the engine's +/// `sunshine.conf` that name it: the path of the engine login file, which is +/// called `brolink-web.json` and sits wherever setup put it, and any path +/// under the old data folder, which this copy has moved. Point both at what +/// is there now, and rename the login file, so the engine finds the login +/// it was set up with. Nothing happens on an install that was never moved. pub fn repair_adopted_engine_config() { let (Ok(conf), Ok(data), Some(old)) = ( conf_path(), @@ -79,31 +84,40 @@ pub fn repair_adopted_engine_config() { ) else { return; }; - let Ok(text) = fs::read_to_string(&conf) else { + repair_conf( + &conf, + &old.display().to_string(), + &data.display().to_string(), + ); +} + +/// [`repair_adopted_engine_config`] for the conf at `conf`, with the old and +/// the new data folder as strings. +fn repair_conf(conf: &Path, old: &str, data: &str) { + let Ok(text) = fs::read_to_string(conf) else { return; }; - let old = old.display().to_string(); - if !text.contains(&old) { - return; - } - let config = conf.parent().unwrap_or(&data).to_path_buf(); - let (old_login, login) = ( - config.join("brolink-web.json"), - config.join("latch-web.json"), - ); - if old_login.exists() && !login.exists() { - let _ = fs::rename(&old_login, &login); - } let fixed: Vec = text .lines() .map(|line| match line.split_once('=') { - Some((key, _)) if key.trim() == "credentials_file" => { - format!("credentials_file = {}", login.display()) + Some((key, value)) if key.trim() == "credentials_file" => { + let path = PathBuf::from(value.trim().replace(old, data)); + if path.file_name().is_some_and(|n| n == OLD_LOGIN_FILE) { + let renamed = path.with_file_name(LOGIN_FILE); + if path.exists() && !renamed.exists() { + let _ = fs::rename(&path, &renamed); + } + return format!("credentials_file = {}", renamed.display()); + } + format!("credentials_file = {}", path.display()) } - _ => line.replace(&old, &data.display().to_string()), + _ => line.replace(old, data), }) .collect(); - let _ = fs::write(&conf, fixed.join("\n") + "\n"); + let fixed = fixed.join("\n") + "\n"; + if fixed != text { + let _ = fs::write(conf, fixed); + } } /// Candidate engine installs, Latch's copy first. @@ -180,7 +194,7 @@ fn run_inner(p: &Plan<'_>, log: &mut Vec) -> Result<()> { stop_engine(); let conf = conf_path()?; let existing = fs::read_to_string(&conf).unwrap_or_default(); - let credentials = conf.with_file_name("latch-web.json"); + let credentials = conf.with_file_name(LOGIN_FILE); let profile = conceal_conf(&existing) .lines() .filter(|line| { @@ -768,6 +782,43 @@ mod tests { assert!(plist.contains("RunAtLoad")); } + #[test] + fn an_older_installs_engine_login_is_found_under_its_new_name() { + let dir = std::env::temp_dir().join(format!("latch-repair-{}", std::process::id())); + let _ = fs::remove_dir_all(&dir); + fs::create_dir_all(&dir).unwrap(); + let conf = dir.join("sunshine.conf"); + let old_login = dir.join("brolink-web.json"); + fs::write(&old_login, "{}").unwrap(); + fs::write( + &conf, + format!( + "origin_web_ui_allowed = pc\ncredentials_file = {}\nlog_path = /old/share/brolink/sunshine.log\n", + old_login.display() + ), + ) + .unwrap(); + repair_conf(&conf, "/old/share/brolink", "/new/share/latch"); + let fixed = fs::read_to_string(&conf).unwrap(); + assert!( + fixed.contains(&format!( + "credentials_file = {}", + dir.join("latch-web.json").display() + )), + "{fixed}" + ); + assert!( + fixed.contains("log_path = /new/share/latch/sunshine.log"), + "{fixed}" + ); + assert!(fixed.contains("origin_web_ui_allowed = pc"), "{fixed}"); + assert!(dir.join("latch-web.json").exists() && !old_login.exists()); + // A second pass changes nothing. + repair_conf(&conf, "/old/share/brolink", "/new/share/latch"); + assert_eq!(fs::read_to_string(&conf).unwrap(), fixed); + fs::remove_dir_all(&dir).unwrap(); + } + #[test] fn engine_login_uses_sunshine_hash_format_without_plaintext() { let dir = From 4232a59c874c836f20e0167d2724cd73b7fb56e1 Mon Sep 17 00:00:00 2001 From: MrBeldum <157205701+MrBeldum@users.noreply.github.com> Date: Fri, 2 Oct 2026 07:48:38 -0700 Subject: [PATCH 4/6] Add the Linux node migration from the BroLink names Co-Authored-By: Claude Sonnet 5.5 --- deploy/native/README.md | 15 +++++++ deploy/native/migrate-from-brolink.sh | 61 +++++++++++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100755 deploy/native/migrate-from-brolink.sh diff --git a/deploy/native/README.md b/deploy/native/README.md index 1c94bc5..4ba9976 100644 --- a/deploy/native/README.md +++ b/deploy/native/README.md @@ -45,6 +45,21 @@ in the `input` group: Sunshine must use its XTest fallback for this Xvfb session Granting `/dev/uinput` access makes input go to kernel devices that Xvfb does not consume, resulting in visible video but no functioning mouse or keyboard. +## Upgrading from BroLink (before 4.1.0) + +Latch was called BroLink until 4.1.0, and a node that was set up then has +`brolink*.service` units, `/usr/local/bin/brolink-host`, a `brolink.Xauthority` +cookie and `~/.local/share/brolink`. `migrate-from-brolink.sh` in this +directory swaps the units, the cookie name and the wait script for the new +ones and starts Latch; `latch-host` moves the data folder and the engine's +login file itself the first time it runs, keeping the pairing and the +Tailscale identity. + +```sh +sudo install -m 0755 latch-host /usr/local/bin/latch-host +bash migrate-from-brolink.sh +``` + ## Migration and recovery The old container's complete `.config` and `.local` directories are saved in diff --git a/deploy/native/migrate-from-brolink.sh b/deploy/native/migrate-from-brolink.sh new file mode 100755 index 0000000..f0e272a --- /dev/null +++ b/deploy/native/migrate-from-brolink.sh @@ -0,0 +1,61 @@ +#!/usr/bin/env bash +# Move a native Linux node from the names Latch had before 4.1.0 (when it was +# called BroLink) to the new ones. Run it as the user that owns the desktop, +# from this directory, after putting the new latch-host at /usr/local/bin: +# +# sudo install -m 0755 latch-host /usr/local/bin/latch-host +# bash migrate-from-brolink.sh +# +# It stops the old stack, swaps the user units, the display cookie name and +# the wait script, and starts the new one. The data folder (settings, +# pairing identity) and the engine's login are moved by latch-host itself the +# first time it runs, so nothing is copied here. Safe to run twice. +set -euo pipefail + +HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +BIN="${LATCH_BIN:-/usr/local/bin/latch-host}" +UNITS="$HOME/.config/systemd/user" +OLD_UNITS=(brolink brolink-engine brolink-desktop brolink-display) + +[[ -x "$BIN" ]] || { echo "install the new latch-host at $BIN first" >&2; exit 1; } +mkdir -p "$UNITS" + +echo "==> stopping the old stack" +for u in "${OLD_UNITS[@]}"; do + systemctl --user stop "$u.service" 2>/dev/null || true + systemctl --user disable "$u.service" 2>/dev/null || true +done +for u in "${OLD_UNITS[@]}"; do rm -f "$UNITS/$u.service"; done +rm -rf "$UNITS/brolink.service.d" + +echo "==> installing the new units" +for u in latch-display latch-desktop latch-engine; do + install -m 0644 "$HERE/$u.service" "$UNITS/$u.service" +done +mkdir -p "$UNITS/latch.service.d" +install -m 0644 "$HERE/latch.service.d/desktop.conf" "$UNITS/latch.service.d/desktop.conf" +# The base unit is the one latch-host writes itself; the same text, so it +# finds nothing to change when it starts. +printf '[Unit]\nDescription=Latch\nAfter=network.target\n\n[Service]\nExecStart="%s" --background\nRestart=on-failure\n\n[Install]\nWantedBy=default.target\n' "$BIN" >"$UNITS/latch.service" + +echo "==> display cookie and wait script" +env_file="$HOME/.config/environment.d/10-display.conf" +if [[ -f "$env_file" ]]; then sed -i 's/brolink\.Xauthority/latch.Xauthority/g' "$env_file"; fi +sudo install -D -m 0755 "$HERE/wait-engine.py" /usr/local/libexec/latch-wait-engine.py +sudo rm -f /usr/local/libexec/brolink-wait-engine.py + +echo "==> starting Latch" +systemctl --user daemon-reload +systemctl --user enable latch-display.service latch-desktop.service latch-engine.service +systemctl --user enable --now latch.service + +for _ in $(seq 1 30); do + if status="$(curl -fsS --max-time 2 http://127.0.0.1:47850/v1/status 2>/dev/null)"; then + echo "$status" | python3 -c 'import json,sys; s=json.load(sys.stdin); print("app=%s version=%s name=%s streamer=%s running=%s" % (s["app"], s["version"], s["name"], s["streamer"]["kind"], s["streamer"]["running"]))' + echo "done. The old binary /usr/local/bin/brolink-host can be removed once this looks right." + exit 0 + fi + sleep 2 +done +echo "latch.service did not answer on 47850; see: journalctl --user -u latch -n 50" >&2 +exit 1 From 00d77bdf44e33469795958836ea1b8359c1b12ca Mon Sep 17 00:00:00 2001 From: MrBeldum <157205701+MrBeldum@users.noreply.github.com> Date: Fri, 2 Oct 2026 07:52:53 -0700 Subject: [PATCH 5/6] migrate-from-brolink.sh: let an administrator install the root-owned file Co-Authored-By: Claude Sonnet 5.5 --- deploy/native/migrate-from-brolink.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/deploy/native/migrate-from-brolink.sh b/deploy/native/migrate-from-brolink.sh index f0e272a..eb933f1 100755 --- a/deploy/native/migrate-from-brolink.sh +++ b/deploy/native/migrate-from-brolink.sh @@ -41,8 +41,12 @@ printf '[Unit]\nDescription=Latch\nAfter=network.target\n\n[Service]\nExecStart= echo "==> display cookie and wait script" env_file="$HOME/.config/environment.d/10-display.conf" if [[ -f "$env_file" ]]; then sed -i 's/brolink\.Xauthority/latch.Xauthority/g' "$env_file"; fi -sudo install -D -m 0755 "$HERE/wait-engine.py" /usr/local/libexec/latch-wait-engine.py -sudo rm -f /usr/local/libexec/brolink-wait-engine.py +# The wait script is root's to install; LATCH_SKIP_ROOT=1 leaves it to someone +# who already has (an account without sudo, run by an administrator). +if [[ -z "${LATCH_SKIP_ROOT:-}" ]]; then + sudo install -D -m 0755 "$HERE/wait-engine.py" /usr/local/libexec/latch-wait-engine.py + sudo rm -f /usr/local/libexec/brolink-wait-engine.py +fi echo "==> starting Latch" systemctl --user daemon-reload From 27ab6e5284bf9edb85fa40859776229d3537f716 Mon Sep 17 00:00:00 2001 From: MrBeldum <157205701+MrBeldum@users.noreply.github.com> Date: Fri, 2 Oct 2026 07:58:58 -0700 Subject: [PATCH 6/6] migrate-from-brolink.sh: rename the engine login file named in Sunshine's config Co-Authored-By: Claude Sonnet 5.5 --- deploy/native/migrate-from-brolink.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/deploy/native/migrate-from-brolink.sh b/deploy/native/migrate-from-brolink.sh index eb933f1..a52a49f 100755 --- a/deploy/native/migrate-from-brolink.sh +++ b/deploy/native/migrate-from-brolink.sh @@ -48,6 +48,17 @@ if [[ -z "${LATCH_SKIP_ROOT:-}" ]]; then sudo rm -f /usr/local/libexec/brolink-wait-engine.py fi +# Sunshine's own config, which latch-host does not manage here, names the engine +# login file after the old product. +conf="$HOME/.config/sunshine/sunshine.conf" +if [[ -f "$conf" ]] && grep -q 'brolink-web\.json' "$conf"; then + echo "==> engine login file" + if [[ -f "$HOME/.config/sunshine/brolink-web.json" && ! -e "$HOME/.config/sunshine/latch-web.json" ]]; then + mv "$HOME/.config/sunshine/brolink-web.json" "$HOME/.config/sunshine/latch-web.json" + fi + sed -i 's/brolink-web\.json/latch-web.json/g' "$conf" +fi + echo "==> starting Latch" systemctl --user daemon-reload systemctl --user enable latch-display.service latch-desktop.service latch-engine.service
  • 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