Skip to content

Sync upstream - v25/v29 (2026-02-06)#90

Open
raiden-staging wants to merge 3 commits intokernel:mainfrom
raiden-staging:audio-rev2
Open

Sync upstream - v25/v29 (2026-02-06)#90
raiden-staging wants to merge 3 commits intokernel:mainfrom
raiden-staging:audio-rev2

Conversation

@raiden-staging
Copy link
Contributor

@raiden-staging raiden-staging commented Nov 4, 2025

Upstream Sync

Date of sync: 2026-02-06

New Image Versions

  • chromium-headless: v25
  • chromium-headful: v29

Changes Merged from Upstream

This sync brings in the following commits from upstream/main:

Files Changed

  • server/cmd/api/api/computer.go
  • server/cmd/api/api/computer_test.go
  • server/lib/oapi/oapi.go
  • server/openapi.yaml

Merge Conflicts

No merge conflicts - the merge was clean.

kernel-browser Version

kernel-browser is up to date at v144.0.7559.96-r6 (no update needed).

@mesa-dot-dev
Copy link

mesa-dot-dev bot commented Nov 4, 2025

Mesa Description

TL;DR

Enabled PulseAudio-based audio support in the headful Chromium image and updated the client UI with a new theme color and improved video unmute experience.

Why we made these changes

To provide audio drivers and socket support for a live view with audio, adapting previous audio support to the new image setup, and to update the client loader theme.

What changed?

Container/Runtime (chromium-headful)

  • PulseAudio Integration:
    • Installed rtkit and upower packages in Dockerfile.
    • Configured kernel user to audio, video, and pulse groups.
    • Set XDG_RUNTIME_DIR and PULSE_SERVER environment variables.
    • Added start-pulseaudio.sh script for robust PulseAudio daemon management.
    • Introduced daemon.conf for low-latency WebRTC PulseAudio configuration.
    • Added default.pa for virtual audio sinks/sources and Unix socket access.
    • Included dbus-mpris.conf and dbus-pulseaudio.conf for D-Bus service ownership.
  • Permissions and Paths:
    • Adjusted /etc/pulse directory permissions.
    • Updated xorg.conf to allow SocketMode "0666" for dummy_touchscreen input device.
  • Wrapper Script Enhancements:
    • Refactored wrapper.sh to explicitly set audio and display environment variables.
    • Improved PulseAudio startup reliability with a 10-second wait loop and explicit shutdown.

Client/UI

  • Brand Color Update:
    • Changed brand color to #7B42F6 across browserconfig.xml, index.html, site.webmanifest, and _variables.scss.
  • Loader Animation:
    • Added kernel.svg and updated connect.vue to use a spinning kernel.svg image as the loader.
  • Video Player Enhancements:
    • Implemented "unmute on first interaction" in video.vue with global event listeners.
    • Added a pulsating red border as a visual muted indicator.
    • Minor control template tweaks in video.vue.
  • Connect Component:
    • Retained auto-login hook and switched loader to the new logo spinner in connect.vue.

Validation

No explicit validation steps were provided in the PR description.

Description generated by Mesa. Update settings

Copy link

@mesa-dot-dev mesa-dot-dev bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Performed full review of b51da91...947a021

Analysis

  1. Security Permission Issues: Multiple files have overly permissive settings (777/666) including xorg.conf, start-pulseaudio.sh, and Dockerfile configurations for /etc/pulse. These should be replaced with more restrictive 0660/0750 permissions with appropriate group ownership.

  2. Contradictory Configuration: PulseAudio has conflicting settings with daemon.conf setting allow-module-loading = yes while start-pulseaudio.sh uses the --disallow-module-loading flag, creating potential maintenance confusion.

  3. Environment Variable Redundancy: Environment variables are set in multiple places (Dockerfile, wrapper.sh), which could lead to maintenance challenges if values need to change.

  4. Code Redundancy: The video.vue component uses both { once: true } option AND manual cleanup in beforeDestroy, creating unnecessary code.

Tip

Help

Configure your agents

Mesa Docs

Slash Commands:

  • /review - Request a full code review
  • /review latest - Review only changes since the last review
  • /describe - Generate PR description. This will update the PR body or issue comment depending on your configuration
  • /help - Get help with Mesa commands and configuration options

15 files reviewed | 0 comments | Edit Agent Settings

@rgarcia rgarcia changed the title Audio Support (rev2) Sync upstream - v25/v29 (2026-02-06) Feb 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant