feat(tvOS): engine logs, Troubleshoot upload, and in-app Debug Log viewer - #193
feat(tvOS): engine logs, Troubleshoot upload, and in-app Debug Log viewer#193CicerBro wants to merge 2 commits into
Conversation
Wire Trace Logging into the extension with a writable log path, and add Troubleshoot upload parity with iOS so support can collect bundles.
Add an on/off switch for engine log file output, GetLog IPC, and a focusable chunk-based log viewer so the Siri Remote can scroll logs.
|
Warning Review limit reached
Next review available in: 58 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (7)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Pull request overview
This PR adds tvOS support for collecting, uploading, and viewing NetBird engine logs by routing Go Trace Logging to a writable cache location, exposing log/debug-bundle IPC endpoints from the network extension, and adding a remote-friendly in-app Debug Log viewer in tvOS Settings.
Changes:
- Add tvOS engine log file output control and a chunked, focusable Debug Log viewer UI.
- Add IPC support for fetching the extension log tail (
GetLog) and generating/uploading debug bundles (DebugBundle:*). - Update log path handling to use a writable caches location on tvOS and pass that into the Go SDK client initialization.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| NetBirdTVNetworkExtension/PacketTunnelProvider.swift | Initializes Go logging to a writable tvOS path; adds IPC handlers for debug bundle upload and log tail retrieval. |
| NetbirdNetworkExtension/NetBirdAdapter.swift | Passes a writable log file path to the Go SDK client on tvOS so trace logging/debug bundles work. |
| NetbirdKit/Preferences.swift | Makes logFilePath() return a tvOS caches-based path (instead of app group container). |
| NetbirdKit/NetworkExtensionAdapter.swift | Sends engineLogsEnabled as a start option and adds an app-side IPC helper to fetch log tail text. |
| NetbirdKit/AppLogger.swift | Allows tvOS to locate a Go log file via Preferences.logFilePath() when present. |
| NetBird/Source/App/Views/TV/TVSettingsView.swift | Adds Troubleshoot section with engine logs toggle, debug bundle upload UI, and full-screen Debug Log viewer. |
| NetBird/Source/App/ViewModels/MainViewModel.swift | Adds persisted engine logs toggle, tvOS debug log text state, and tvOS debug bundle fallback behavior. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
Do notice the original PR notes up top. Merge this after the other PRs :-) |
Merge order (🚨important!)
Merge this PR last. It depends on the writable-paths and login/connect PRs in this series (shared
Preferences/ extension / settings files). Please merge those first:Opening this against
mainbefore those land will conflict or look incomplete.What this fixes
tvOS had no practical way to collect or inspect engine logs.
Change
GetLogIPC, and a focusable chunk-based Debug Log viewer.