Skip to content

3.1.10 follow-ups: chat open animation, mascot polish, uniform reasoning picker, smooth provider-switch bar, gpt-5.6-sol in codex picker - #269

Merged
yalexx merged 4 commits into
betafrom
fix/3.1.10-ui-anim
Jul 23, 2026
Merged

yalexx merged 4 commits into
betafrom
fix/3.1.10-ui-anim

Conversation

@yalexx

@yalexx yalexx commented Jul 23, 2026

Copy link
Copy Markdown
Collaborator

Folds the test-box UI/UX work + fixes into beta (NOT main β€” hold for tagging when polished, per Karchev).

  • New chat open animation (clawChatBurstIn) + mascot no longer teleports on tap + mascot slides clear of a docked chat panel; floating chat no longer auto-opens on load. (Was uncommitted on the todor.local test box.)
  • Uniform reasoning picker: Off/Low/Medium/High across every cloud provider (dropped provider-specific xhigh/max/adaptive); ClawBox AI/DeepSeek keep an off default for speed.
  • Smooth provider-switch progress bar: replaced the 200ms setInterval + width-transition (janks on the Jetson while the gateway restarts) with a compositor-only transform: scaleX CSS keyframe.
  • gpt-5.6-sol/terra/luna in the codex picker: widened the codex catalog allowlist regex + added labels. Plan-gated upstream β€” the live catalog only returns them for entitled (Plus/Pro/Max) ChatGPT accounts, so lesser plans still never see them (no dead buttons).

Verified: typecheck 0 errors, chat-reasoning + provider-models unit tests green, next build succeeds on the Jetson. Tested live on box .40 (UI/animation/switch-bar). sol picker pending a fresh ChatGPT session on .40 to verify end-to-end.

πŸ€– Generated with Claude Code

Mike SEO Bot added 4 commits July 23, 2026 14:12
…hat auto-open

- ChatPopup: clawChatBurstIn spring/overshoot/glow entrance animation
- Mascot: tap no longer teleports the crab; slides clear of a docked chat panel (rightInset)
- page: floating chat popup only opens on mascot tap (ignore persisted ui_chat_open); mascot stays visible beside docked panel

Pulled from the todor.local test box where it was verified live (uncommitted there). Part of folding UI polish into the existing v3.1.10.
… cloud providers

Every cloud provider now exposes the same Off/Low/Medium/High effort ladder
(dropped provider-specific xhigh/max/adaptive/minimal for consistency). ClawBox
AI / DeepSeek keep an 'off' default so they stay fast unless the user opts in;
other providers default to medium. llama.cpp stays off-only (no reasoning).
…nly, no jank)

Switching AI provider (codex<->clawbox) restarts the gateway; on the Jetson that
pins the CPU. The reload overlay's progress bar was driven by a 200ms setInterval
+ a width transition (layout every frame), so it visibly stuttered under that
load. Replace it with a transform:scaleX CSS keyframe (clawReloadFill) that runs
on the compositor thread and stays smooth regardless of main-thread work;
reloadProgress is now only the 0->100 completion signal.
…ntitled ChatGPT accounts

The codex catalog allowlist regex stripped everything except gpt-5.5/gpt-5.4/
gpt-5.4-mini, so gpt-5.6-sol (and terra/luna) never appeared even for ChatGPT
accounts whose plan includes them. Widen the allowlist to gpt-5.6-{sol,terra,
luna} and add stable labels. These are plan-gated upstream β€” the live catalog
only returns them for entitled (Plus/Pro/Max) accounts, so boxes on lesser
plans still never see them (no dead buttons).
@yalexx
yalexx requested a review from a team as a code owner July 23, 2026 13:19
@yalexx
yalexx merged commit 92bd39c into beta Jul 23, 2026
@github-actions

Copy link
Copy Markdown

πŸ¦€ ClawReview

Claws waving β€” here's what this change is about.

This PR bundles several UI/UX polish items from the test-box: a spring-burst entrance animation ('clawChatBurstIn') when the chat popup opens, a fix for the mascot teleporting left on tap, a new slide-away behaviour when the chat is docked as a side panel, suppression of the floating chat auto-opening on load, a simplified uniform Off/Low/Medium/High reasoning picker across every cloud provider, a compositor-only CSS transform animation for the provider-switch progress bar (avoids layout thrash on the Jetson), and new GPT-5.6 Sol/Terra/Luna entries in the Codex model picker gated behind OpenAI's upstream catalog.

At a glance

  • ✨ Feature Β· touches chat popup animation + mascot behaviour + AI reasoning picker + Codex model catalog + provider-switch progress bar
  • Base branch: beta Β· +169 source / +14 tests across 7 files
  • βœ… base beta matches the beta-first convention
  • 🟑 title doesn't follow type: description (feat/fix/chore/docs/…)
  • βœ… source changes come with test changes

πŸ”Ž Heads-up: this looks related to #268 β€” PR #268 is titled 'fix(mascot): stop crab teleporting to the left corner on tap' and targets the exact same root cause fixed here in Mascot.tsx (delaying physicsActive until a real drag is detected). Merging both would likely conflict.

Good to know

  • 🟑 Overlaps with open PR fix(mascot): stop crab teleporting to the left corner on tapΒ #268 ('fix(mascot): stop crab teleporting to the left corner on tap') β€” both touch the same pointer-down / physicsActive fix in Mascot.tsx; one will need to land or be closed before the other to avoid a conflict.
  • ℹ️ The reasoning picker now surfaces a uniform Off/Low/Medium/High for all cloud providers; xhigh, max, adaptive, and minimal are intentionally dropped. The gateway normalises per provider, but this is a visible behaviour change for any user who had a provider-specific level saved.
  • ℹ️ startReloadProgressTimer() now does almost nothing (just clears a stale interval); the indeterminate progress bar is entirely CSS-driven via a 14 s scaleX keyframe. reloadProgress still needs to reach 100 elsewhere to snap the bar to full.
  • ℹ️ Floating chat no longer auto-reopens from a persisted ui_chat_open KV key on load β€” only the docked side-panel width is restored. Returning users who had the popup open will find it closed after an update.

β€” ClawReview πŸ¦€, scuttling off. General info only β€” see CodeRabbit for the detailed review. Conventions: docs.

@github-actions github-actions Bot added area: ui Auto-triage area area: gateway Auto-triage area labels Jul 23, 2026
@github-actions

github-actions Bot commented Jul 23, 2026

Copy link
Copy Markdown

CI Summary

βœ… Tests

  • Result: passed
  • View run
  • Coverage: statements 69.77%, branches 59.68%, functions 65.16%, lines 71.8%

⏳ E2E

  • Waiting for E2E workflow to finish.

❌ E2E Install

yalexx added a commit that referenced this pull request Jul 27, 2026
…erence

Both suites were red on this PR, and neither failure came from the 3.1.11
changes β€” no commit here touches the desktop shell. They broke on beta when
#269 made the floating chat popup stop restoring a persisted `ui_chat_open`:

  // The FLOATING chat popup must never auto-open on load: it should appear
  // only when the user taps the crab.
  // (We intentionally ignore a persisted `ui_chat_open` here.)

Beta's last green e2e run was c7beb31, before that merge landed, so the two
specs still seeding `ui_chat_open: 1` only started failing once a PR ran e2e
against post-#269 beta. This is that PR.

e2e/first-load-mascot-layout: drop `ui_chat_open` and open the popup through
the fresh-install greeting instead (no saved wallpaper/desktop apps), which
is the one load-time path that still opens it. Opening it at mount is what
the assertions actually need: `frozen` pins the crab straight away. Opening
it later with a click passes in isolation but races the mascot's autonomous
walk (actions start ~3.5s after mount), which drifts the crab off the
popup's `mascotX` anchor and made the run flaky under load.

e2e-install/80-chat: hide the mascot and click the taskbar "Chat" button β€”
the same launcher the passing chat-popup specs use β€” rather than relying on
the popup being open already.

Both assertions are unchanged; only the way the popup is opened moved.
Verified locally: the mascot-layout spec passes standalone and in a full
suite run (34 passed).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: gateway Auto-triage area area: ui Auto-triage area

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant