Merge upstream quattro (Claude browser, kernel headers, BBR, security) - #23
Conversation
|
Important Review skippedBot user detected. To trigger a single review, invoke the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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 |
|
Independent shipping verifier. I did not write this PR. Worktree is Verdict. PASS+NOTES Identity. Forge. Static checks.
Tests, all from control-cli, tmux session Notes. |
…ent list `launch_windows` passed the VM password to xfreerdp3 as `/p:"$WIN_PASS"`. `/proc/<pid>/cmdline` is world-readable, so every other user on the machine could read the password for as long as the session stayed open — `ps` was enough. The arguments now go in over stdin with `/args-from:stdin`, leaving only that flag in the process list. The argument list itself is unchanged, and building it as an array also fixes the unquoted `$RDP_SCALE` expansion. (cherry picked from commit fa3f607)
Cubic keeps pushing until packets drop, which stands queues up in the path on fast links. BBR paces to its estimate of bottleneck bandwidth and minimum RTT instead, cutting queueing latency while keeping throughput. fq is the qdisc BBR is built to pace through. tcp_bbr and sch_fq are modules in every kernel Omarchy ships and autoload when the sysctls are set. The migration re-applies the shipped file so new connections switch without a reboot, no-ops once the live values match, and flags a reboot if applying fails. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> (cherry picked from commit 9246647)
Stop update-keyring from claiming success when key operations fail (cherry picked from commit 4941894)
…acom#8374) * Keep screen-recording state out of world-writable /tmp * Compare the /tmp name across the run instead of requiring it absent Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * Fall back to the state directory when there is no runtime dir * Let the /tmp snapshot come back empty Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * Resolve the region file the same way in the resizer Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * Protect recording fallback state and document its path --------- Co-authored-by: Omabot <omabot@omarchy.org> Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com> (cherry picked from commit b44fb74)
* Remove unsafe project bin PATH injection * Cover customized unsafe Mise paths * Revoke legacy Mise Work trust * Harden legacy Mise trust cleanup * Preserve ignored Mise Work configs * Scope Mise path cleanup to env * Accept paranoid Mise ignore marker Reported-by: infosec-us-team (cherry picked from commit a73bcbf)
DKMS hardware installers now assume headers are already present. Existing installs get linux-omarchy or linux-t2 headers via migration 1789444024 when those kernels are installed. The ISO package list still keeps the fork's linux/linux-ptl set until the default-kernel PR lands. Co-authored-by: Mark Groves <mark-groves@users.noreply.github.com>
Picking Claude as the default agent now best-effort installs the official Chromium-family extension. A cancelled or failed install still selects and launches Claude. Cursor remains the official-tarball path and is not installed through mise. Co-authored-by: Mark Groves <mark-groves@users.noreply.github.com>
0dc59da to
3d79638
Compare
Merges 16 new commits (11 non-merge) from omacom/omarchy
quattrosince last night's check (86a2e583/ PR #21). Upstream HEAD is now2fbac0c8(upstream #11934, merged 2026-09-15).This is everything new since the 2026-09-14 cron. It does not replace PR #21 (linux-omarchy as the default kernel except T2) or draft PR #18 (kyber, pacman scope, qconsole, Cloudflare CLI, 1Password class, omacom URLs).
Fork-only Cursor work is untouched: official-tarball installer, no mise wrapper, usage collector, and the theme-set fix from #22.
Claude browser extension (upstream omacom#11934)
omarchy-install-chromium-claude) for Chromium, Chrome, Brave / Brave Origin, and Edge--chromelaunch flag was added and then removed upstream the same day)/chromein Claude to finish connecting. Firefox and Zen are not supported. Re-select Claude if it was already the defaultMatching kernel headers are a base guarantee (upstream omacom#11897, omacom#11900)
1789444024installslinux-omarchy-headersorlinux-t2-headerswhen those kernels are present; no-ops otherwiseomarchy-other.packagesstill keeps this fork'slinux/linux-headers/linux-ptlset. Switching the ISO kernel tolinux-omarchystays on PR Merge upstream quattro (linux-omarchy default kernel except T2) #21BBR + fq (upstream omacom#11658)
etc/sysctl.d/99-omarchy-sysctl.confnow setsnet.core.default_qdisc=fqandnet.ipv4.tcp_congestion_control=bbr1789294350applies it live when the running values differ, and flags a reboot ifsysctl -pfailsSecurity
omarchy-windows-vmfeeds FreeRDP args over stdin (/args-from:stdin) so the VM password is no longer on a world-readable cmdline/tmpinto$XDG_RUNTIME_DIR(or a 0700 state-dir fallback)~/Work/.mise.tomlwith_.path = "{{ cwd }}/bin". Migration1789095456removes that stock/unsafe path, revokes leftover Mise trust, and leaves custom ignored configs aloneomarchy-update-keyringnow fails the update instead of printing "Keys are correct" after a failed recv or reinstallConflict / filename notes
1789095456on this branch is the PATH-injection cleanup. Draft PR Merge upstream quattro (PTL kernel, kyber, pacman scope, qconsole, Cloudflare CLI) #18 still uses that same filename for the PTL kernel migration — do not merge Merge upstream quattro (PTL kernel, kyber, pacman scope, qconsole, Cloudflare CLI) #18 after this without renaming Merge upstream quattro (PTL kernel, kyber, pacman scope, qconsole, Cloudflare CLI) #18's file. Kernel policy remains PR Merge upstream quattro (linux-omarchy default kernel except T2) #21 (1789325478)omarchy-default-agentafter the Cursor/Hermes install branches, so Cursor stays official-tarballTests
Focused suites passed:
default-agent-test.sh(Cursor still official-tarball, no mise; Claude extension is best-effort),kernel-headers-migration-test.sh,update-keyring-test.sh,screenrecording-test.sh,mise-work-path-test.sh,mise-install-test.sh, and./test/cli(newomarchy-install-chromium-claudemetadata). Isolated Chromium-extension install (chromium-claude-test.sh) skipped here — no user namespaces in this environment.Still only on other open PRs
cfwrapper, 1Password 8.12 window class,omacom/omarchyURL rewrite, drop CODEOWNERSNote
Medium Risk
Touches privileged installers, system-wide sysctl and keyring pre-update behavior, and migrations that modify Mise trust and kernel packages; security fixes are intentional but RDP/BBR/sysctl changes affect all users on upgrade.
Overview
This merge pulls upstream quattro work: security hardening, networking defaults, DKMS/header policy, and Claude-as-default-agent browser setup.
Claude default agent now best-effort runs
omarchy-install-chromium-claude(new privileged installer) to register the official Web Store extension under Chromium, Chrome, and Edge; failures are silent and Claude still becomes the default. Docs inmanual/17-ai.mddescribe restart,/chrome, and re-selecting Claude if it was already default.Kernel headers are documented and assumed from the base install (
install-scripts.md); hardware DKMS scripts (NVIDIA, Broadcom, Tuxedo, YT6801, Cam Link, Xbox) no longer pulllinux-headersthemselves. Migration1789444024addslinux-omarchy-headers/linux-t2-headerswhen those kernels are present.TCP defaults add BBR +
fqin99-omarchy-sysctl.conf; migration1789294350applies them live or flags reboot ifsysctl -pfails.Security / privacy fixes:
omarchy-windows-vmpasses FreeRDP args (including password) via/args-from:stdininstead of world-readable cmdline; screen recording state, region, and debug logs move from/tmpto$XDG_RUNTIME_DIR(0700 state-dir fallback) with matchingomarchy-capture-webcam-resizepaths;omarchy-update-keyringusesset -euo pipefailand verifies keys before printing success. Mise~/WorkPATH injection is removed from new installs and cleaned up by migration1789095456(untrust, strip unsafe_.path, preserve custom/ignored configs);manual/19-shell-tools.mdnotes projectbin/is not on PATH.Shell tests cover Chromium-Claude install, default-agent extension behavior, screenrecording paths, keyring failures, kernel-headers migration, and mise PATH migration.
Reviewed by Cursor Bugbot for commit 3d79638. Configure here.