Conversation
… header Linux WebKitGTK reports navigator.platform unreliably, which could make isMac wrongly true → the macOS code path fired on Linux (window controls hidden via v-if="!isMac", traffic-light padding). Source the platform from Rust (app_platform → std::env::consts::OS) and correct isMac on mount. Also add the frameless window controls to the compact mobile-header: a narrow window drops the titlebar, so on Linux/Windows there was previously no way to minimize/close. macOS keeps native traffic lights. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…e UI Diagnosed live with mdns-sd on the LAN: announce is visible to the system Bonjour stack and the browser resolves other machines' shares cross-host. The stack works — the gap was app-side: - discovery.rs: update the discovered-peer registry unconditionally instead of only when the app handle is already cached. Emits stay best-effort. So a resolve that lands before the frontend listener attaches is still recoverable via the pull-based refresh. Added info logs for resolved peers. - store: pull the backend registry once on startup (live peers:found events aren't buffered, but the registry is) so peers found early aren't lost. - PeersPanel: refresh discovered peers on mount and show a count badge on the Discover tab, so peers are visible even while the default Favorites tab is showing. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Ignored test that browses _canonic._tcp with the real mdns-sd lib and prints resolved peers — proves cross-machine discovery on the actual hardware without building the app. Used to confirm the discovery stack works (the GUI gap was app-side, see fix in this branch). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Follow-ups after live-testing on the LAN.
Peer discovery — diagnosed and hardened
Tested mdns-sd live on the network: announce is visible to the system Bonjour stack (
dns-sd -B), and the browser resolves other machines' shares cross-host (found two live shares at 192.168.1.217 on en0). The protocol/network are fine — the gap was app-side:discovery.rs: update the discovered-peer registry unconditionally (was gated behind the app handle being cached), so a resolve landing before the frontend listener attaches is still recoverable. Emits stay best-effort. Added info logs.store: pull the backend registry once on startup (livepeers:foundevents aren't buffered, the registry is).PeersPanel: refresh discovered peers on mount and show a count badge on the Discover tab, so peers are visible even while the default Favorites tab shows.Linux window controls — reliable platform detection
navigator.platformis unreliable on WebKitGTK and could makeisMacwrongly true → the macOS path fired on Linux (controls hidden, traffic-light padding). Platform now comes from Rust (std::env::consts::OS). Also added the frameless controls to the compact header (a narrow window drops the titlebar, leaving no min/max/close).All 311 tests pass;
cargo checkclean.🤖 Generated with Claude Code