Isolation also cut the vendor cloud tunnel the phone app uses for
viewing from outside the house. The isolated flag stays available.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Router host had no packet-level diagnostics, so firewall rules
couldn't be verified against actual traffic.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The go2rtc API is unauthenticated and echoes producer URLs, so
GET /api/streams handed out the camera's RTSP password to anything
on the LAN. Bind api/rtsp/webrtc to 127.0.0.1 and add an `isolated`
device flag that drops the camera in the forward chain.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
qBit 5.2 caches uploaded .torrent metadata in the session; without QBT_SID the follow-up torrents/add fails 400.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Restores Archie, the server monitor and the full-width bar surface. None of
today's changes fixed the stutter, and the surface refactor regressed it.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Reverting the diagnostic. The narrow surface is still the right destination
but it needs the frame band drawn without adding a second full-screen
surface, which is what the reverted attempt got wrong.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The bar's PanelWindow was screen-sized because the frame band and every
panel drew into it. Hyprland blurs that namespace, and blur is recomputed
whenever what is behind the surface changes — with a game underneath, that
is every pixel every frame. Measured at 3440x1440 it cost a third of the
card; the diagnostic shrink took game-running GPU 57% -> 38% and made the
stutter unprovokable.
So the surface is now barWidth at rest and grows to the screen only while a
dropdown, the toast or the launcher is up. exclusiveZone is unchanged, so
windows never reflow on resize. chromeSdf's cutout derives from
screen.width rather than the surface width, so the shader is identical at
both sizes and the narrow surface simply clips it.
The frame band moves to its own background-layer surface, below windows and
matched by no blur rule. Its shader hides (rather than the window
unmapping, which would flicker) while the bar is wide, since chromeSdf then
draws the frame itself and melts panels into it.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>