You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Wallpaper renders on Ubuntu 26.04 prod images.swaybg 26.04 routes loaders through libglycin + bubblewrap; Docker's default AppArmor profile blocks pivot_root with a message glycin doesn't recognize, so it kept retrying the sandbox and only the fallback colour painted. Shadowed bwrap with a stub that emits the message glycin DOES recognize, forcing the no-sandbox loader path.
Wallpaper migrated PNG → SVG and redesigned (Aurora).swaybg rasterizes the SVG natively at output resolution via glycin-svg — no banding, 327 KB → 4.5 KB. The HUD frame (corner brackets, v7.0, scan rings, starfield, grid) is gone; replaced with a minimalist radial-gradient base + soft auroras + refined typography. Timeless and version-free.
Brand assets de-versioned.assets/banner.svg and assets/social-card.svg no longer carry v7.0 or the corner-label HUD — they survive future releases without a re-edit. Orphan PNG variants removed.
Changes
Fixed
Wallpaper not rendering on Ubuntu 26.04 prod images.swaybg in 26.04 routes image loading through libglycin, which sandboxes its loaders in bubblewrap. Under Docker's default AppArmor profile bwrap fails at pivot_root with "Operation not permitted" — a string glycin's no-sandbox fallback heuristic does not match, so it kept retrying the sandbox and only the #1a1b2e fallback colour from the sway config was visible. Shadowed /usr/local/bin/bwrap with a stub that emits the error glycin DOES recognize (No permissions to create a new namespace), forcing the no-sandbox loader path. Applied to both docker/base/Dockerfile and .devcontainer/Dockerfile. Cost is one layer of defense-in-depth on a static asset we control; the agent never feeds untrusted images to glycin.
Sway / wayvnc config directories created at image build time.~/.config/sway and ~/.config/wayvnc are now created (with correct ownership and modes) inside docker/base/Dockerfile and .devcontainer/Dockerfile. The matching install -d calls were removed from docker/init/entrypoint.sh, so the directories exist before the entrypoint renders the configs into them and the path is identical between prod and devcontainer images.
Changed
Wallpaper migrated PNG → SVG.swaybg rasterizes the SVG natively at output resolution via glycin-svg, eliminating the 8-bit PNG quantization step that produced visible gradient banding on the dark navy background. Asset shrinks from 327 KB raster to 4.5 KB vector source — and the build no longer needs any rasterization step. docker/services/sway/config, docker/base/Dockerfile, and .devcontainer/Dockerfile updated to reference wallpaper.svg.
Wallpaper redesign — Aurora. Removed the HUD-style frame: corner brackets, "SESSION / ACTIVE", "VNC · READY", v7.0, "YV17 · GHOSTDESK", scan rings, starfield, horizon line, grid and dot overlays. Replaced with a minimalist composition: deep radial-gradient base, three soft floutéd auroras (purple / mint / magenta), subtle vignette, refined typography (Inter weight 300, larger letter-spacing). Result is timeless and version-free — survives all releases without re-edits.
Banner and social-card SVGs de-versioned. Removed v7.0 and the corner-label HUD (SESSION / ACTIVE, YV17 · GHOSTDESK, VNC · READY) from assets/banner.svg and assets/social-card.svg. Brand assets are now permanent — no edits needed each release.
Removed
Orphan PNG assets. Deleted banner.png, logo-mark.png, logo.png, social-card.png, and wallpaper.png from assets/. Every in-repo reference (Dockerfiles, noVNC index, README, _icons.py) already pointed at the .svg variants — the PNGs were leftover build artefacts taking ~1 MB on disk.