Skip to content

fix(next tests): CmuxNextAgentPaneTests compiles again (ChatDraftAttachmentsTests) - #23436

Merged
teamleaderleo merged 1 commit into
feat-cmux-nextfrom
fix/chat-draft-test-compile
Oct 21, 2026
Merged

teamleaderleo merged 1 commit into
feat-cmux-nextfrom
fix/chat-draft-test-compile

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

The CmuxNext test package does not compile on feat-cmux-next:

Tests/CmuxNextAgentPaneTests/ChatDraftAttachmentsTests.swift:153:47: error: type 'Data' has no member 'init(base64Encoded:)'
Tests/CmuxNextAgentPaneTests/ChatDraftAttachmentsTests.swift:153:34: error: generic parameter 'E' could not be inferred

0b1a93e (#23394) passed Data.init(base64Encoded:) as a function reference. That form does not resolve because the initializer has a defaulted options: parameter. This PR uses the closure the file's other two checks already use: { Data(base64Encoded: $0) }.

Testing

cmux-ci run --class light --script scripts/ci/package-test-lane.sh --arg=suite --arg=Packages/macOS/CmuxNext --arg=<suite>:

  • Base: the build fails with the errors above (aws-m4pro-3, step baafb50164f4df494cd93e04, a run at base f7a4033 that includes 0b1a93e).
  • Head: ChatDraftAttachmentsTests, results in a comment below.

Observed / Not run

  • Observed: the compile failure above on the fleet.
  • Not run: nothing else; this changes one line in a test.

Changelog

none

Agent session: cosmic-gray

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

Fixes the CmuxNext test package failing to compile on feat-cmux-next.

ChatDraftAttachmentsTests passed Data.init(base64Encoded:) as a function reference, which doesn't resolve because the initializer has a defaulted options: parameter. Replaced it with the { Data(base64Encoded: $0) } closure the file's other checks already use.

Written for commit 6200483. Summary will update on new commits.

View guided diff Turn on auto-fix

…chmentsTests)

0b1a93e (#23394) passed `Data.init(base64Encoded:)` as a function reference, which
does not resolve (the initializer has a defaulted options parameter), so the CmuxNext test
package does not build on feat-cmux-next. Use the closure the file's other checks use.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15cfb-0392-7f93-b611-98366b6dc130&host=cosmic-gray
@teamleaderleo teamleaderleo added the risk:low Risk tier (docs/ci/risk-tiers.md) label Oct 21, 2026
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Owned by transcript-removals on cosmic-gray · session

@github-actions

github-actions Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

cmux status (one comment, edited in place; each line is updated by the job that owns it)

Review 6200483: HQ feed card · gallery before/after runs · checks

App of this head (app.zip, kept 1 day)

gh workflow run reload-build.yml -R manaflow-ai/cmux --ref feat-cmux-next -f tag=pr23436 -f ref=fix/chat-draft-test-compile -f platform=macos -f backend_mode=local

Not verified: macOS jobs did not run: compile and app tests were skipped on 6200483734; ci-status is green without them.

CI passes on 6200483734 (run 39607592783 attempt 1).
macOS jobs did not run: compile and app tests were skipped: Fast static checks skipped (the macos job needs both to succeed). Re-run CI once they pass, before merging.

Written by scripts/ci/classify_failures.py (ci-failure-attribution.yml); signatures are its SIGNATURES table. A machine verdict is the runner's fault, not this PR's; yours means the failing file is one this PR changes, also red on main that main's latest full suite fails the same way, seen on other PRs that it failed on another pull request's run lately.

red: cmux-next checks (god files, concurrency, crash safety, l10n); base red: the same failure on the base c72fb36; does not block

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (subagent, correctness first): SHIP at 6200483

@teamleaderleo
teamleaderleo merged commit bc5becd into feat-cmux-next Oct 21, 2026
@teamleaderleo
teamleaderleo deleted the fix/chat-draft-test-compile branch October 21, 2026 13:24
@blacksmith-sh

blacksmith-sh Bot commented Oct 21, 2026

Copy link
Copy Markdown

Found 6 test failures on Blacksmith runners:

Failures

Test View Logs
/tmp/tmp9311mrk3/summary-missing.json (live):/summary-missing.json (live): View Logs
/tmp/tmpfwm489ui/summary-fail.json (live):/summary-fail.json (live): View Logs
[new_workspaces] debug.new_workspace timed 0 of 50 new workspace rows/
[new_workspaces] debug.new_workspace timed 0 of 50 new workspace rows
View Logs
[new_workspaces] the window draws no frames/[new_workspaces] the window draws no frames View Logs
[tabs] debug.tab_switch timed 0 of 40 switches/
[tabs] debug.tab_switch timed 0 of 40 switches
View Logs
[tabs] the window draws no frames/[tabs] the window draws no frames View Logs

Fix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

base-red-watch: cmux-next web / web / react-apps-check went red on feat-cmux-next in https://github.com/manaflow-ai/cmux/actions/runs/39608533041 (first red at 68bfaef, last green at caabfdf). Suspect: #23436 (commit bc5becd). If it is yours, fix forward on feat-cmux-next.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

base-red-watch: cmux-next web / web / react-apps-check (3) went red on feat-cmux-next in https://github.com/manaflow-ai/cmux/actions/runs/39608533041 (first red at 68bfaef, last green at caabfdf). Suspect: #23436 (commit bc5becd). If it is yours, fix forward on feat-cmux-next.

teamleaderleo added a commit that referenced this pull request Oct 21, 2026
Written by scripts/measure/export-settings-artifacts.sh on the fleet
(cmux-ci step 113430d28f44b66f1766cc2f, aws-m4pro-7, at 9e6fe02), as
defaults_guard.py check-stamp asks; the PR autofix could not regenerate
them (base test-compile red, fixed by #23436, then a GitHub rate limit
and a runner setup failure). The defaults snapshot stays the bot's.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c40-f08c-79b2-95af-689409622600&host=cmux16
@github-actions

github-actions Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

teamleaderleo added a commit that referenced this pull request Oct 21, 2026
* plans(cmux-next): liquid glass lens design

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat(cmux-next): liquid glass lens primitive and Glass setting

One shared glass surface for every web page and the agent pane:
webviews/src/ui/glass/ adds the .ui-glass class, its tokens
(--glass-tint, --glass-blur, --glass-frost, --glass-refraction,
--glass-rim, --glass-dispersion) and a WebGL lens that bends the
host's wallpaper still at each glass rim. WKWebView can't refract a
backdrop, so the host sends the still through cmuxTheme.backdrop.

Settings > Appearance > Glass: Lens (default), Plain Glass (the blur
glass from before) and Spectrum (lens plus a chromatic rim). Reduce
Transparency and Low Power Mode fall back to Plain.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cmux-next glass): review fixes for the lens and backdrop feed

- A context-lost event from a canvas stop() dropped no longer turns
  off the lens that started after it.
- The page decodes the wallpaper still only once glass is on screen.
- The backdrop blur is sent in CSS px (divided by the page zoom).
- Localizable.xcstrings keeps base's order; only the five Glass keys
  are added.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cmux-next glass): lens stays inert in a DOM without observers

A unit test's light DOM has no MutationObserver, and every page that
loads the desktop layer crashed there (whats-new-by-area and others).
The lens now leaves such a document to CSS glass. Linux WebKit's
headless compositor leaves WebGL out of screenshots, so there the lens
test checks the lens's state instead of pixels.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore(next): PR autofix (settings exports for appearance.glass)

Applied from the cmux-next PR autofix artifact of run 39555592062
(its push job was skipped).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore(next): generated settings exports follow the base

GitHub can't run the cmux-generated-v1 merge driver, so every base
regeneration of these exports marked #22815 conflicting. The base
autofix regenerates them for appearance.glass after the merge.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c40-f08c-79b2-95af-689409622600&host=cmux16

* fix(cmux-next glass): the tint's mix source passes the never-opaque check

--glass-surface is what --glass-tint mixes from at 40-60%, never a fill;
it says so for webviews/scripts/check-glass-never-opaque.ts (#23366).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c40-f08c-79b2-95af-689409622600&host=cmux16

* test(cmux-next glass): no void operator in the Linux WebKit skip

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c40-f08c-79b2-95af-689409622600&host=cmux16

* fix(cmux-next glass): WebGL1 lens reads an explicit mip level where it can

texture2D(tex, uv, x) in a WebGL1 fragment shader takes x as a bias over
the automatic level, not a level. With EXT_shader_texture_lod the lens
now uses texture2DLodEXT; plain WebGL1 keeps the biased read. A browser
test compiles and links every dialect (webgl2, webgl1-lod, webgl1) in
Chromium and WebKit. Raised by a cross-family review relayed by
gallery-perf.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c40-f08c-79b2-95af-689409622600&host=cmux16

* fix(cmux-next glass): the lens engine loads after the page, out of its eager budget

The editor page's eager JS went to 507,735 bytes against its 500,000 budget
with lens.ts imported statically. desktop.ts now installs only the backdrop
fallback (so an early host still is kept) and imports the engine lazily;
the editor page is back to 491,770 bytes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c40-f08c-79b2-95af-689409622600&host=cmux16

* chore(next): settings exports regenerated for the Glass setting

Written by scripts/measure/export-settings-artifacts.sh on the fleet
(cmux-ci step 113430d28f44b66f1766cc2f, aws-m4pro-7, at 9e6fe02), as
defaults_guard.py check-stamp asks; the PR autofix could not regenerate
them (base test-compile red, fixed by #23436, then a GitHub rate limit
and a runner setup failure). The defaults snapshot stays the bot's.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c40-f08c-79b2-95af-689409622600&host=cmux16

* chore(next): settings exports regenerated for the Glass setting after the base merge

Written by scripts/measure/export-settings-artifacts.sh on the fleet
(cmux-ci step e00798fd080a9afce64acaee, aws-m4pro-2, at 5159222).
check-stamp passes; the defaults snapshot stays the bot's.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c40-f08c-79b2-95af-689409622600&host=cmux16

* chore(next): settings exports regenerated for the Glass setting after the base merge

Written by scripts/measure/export-settings-artifacts.sh on the fleet
(cmux-ci step 488cb6a08483a6ed97777436, aws-m4pro-6, at 89078c9).
check-stamp passes; the defaults snapshot stays the bot's.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c40-f08c-79b2-95af-689409622600&host=cmux16

* cmux-next glass: the lens is an opt-in toggle; Plain Glass stays the default

Leo 2026-10-21: "the lens thing we just need to see and feel... we can put
it as a toggle and later promote to default". appearance.glass now
defaults to plain, the glass from before the lens, so nobody's look
changes. Lens and Spectrum stay in Settings > Appearance > Glass, and the
palette's Toggle Liquid Glass Lens (appearance.glass.lens.toggle, CLI
`settings toggle-glass-lens`) flips Plain and Lens live and writes the
setting. Pages draw Plain before the host sends its mode.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c40-f08c-79b2-95af-689409622600&host=cmux16

* feat(next): Liquid Glass lens is a Debug toggle, off by default

Leo 2026-10-21: the lens is something to see and feel before it is the
default. It moves out of the settings schema: the Debug Settings choice
`glass.lens` (Glass and Overlays > Liquid Glass; DEV and NIGHTLY) picks
Plain Glass (the default), Lens or Spectrum, and Toggle Liquid Glass Lens
in the palette or the Debug menu flips it live. Release never activates
Debug Settings, so today's glass is unchanged. The Settings > Appearance >
Glass row and its exports are gone until the lens is promoted.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c40-f08c-79b2-95af-689409622600&host=cmux16

* chore(next): action surfaces regenerated for the Debug Liquid Glass toggle

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c40-f08c-79b2-95af-689409622600&host=cmux16

* chore(next): action surfaces regenerated after the base merge

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c40-f08c-79b2-95af-689409622600&host=cmux16

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk:low Risk tier (docs/ci/risk-tiers.md)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant