Skip to content

feat(ui): avatar gradient fallbacks, ThinkingOrb indicator, PopoverSelect flip, lazy Schedules agents - #709

Merged
govindavashishtha merged 2 commits into
mainfrom
ui/avatar-indicator-popover-schedules-polish
Sep 11, 2026
Merged

feat(ui): avatar gradient fallbacks, ThinkingOrb indicator, PopoverSelect flip, lazy Schedules agents#709
govindavashishtha merged 2 commits into
mainfrom
ui/avatar-indicator-popover-schedules-polish

Conversation

@govindavashishtha

Copy link
Copy Markdown
Contributor

Summary

UI polish batch for @truefoundry/trueforge-ui (one changeset per theme, all patch bumps):

  • Avatar fallbacks use a light primary-button gradient in light mode and the solid primary gradient in dark mode, show a single initial character, and shrink the sm preset to 20px. AttachmentCard keeps its neutral fallback via bg-none (the gradient is a background-image, so a bg-color override alone would not remove it).
  • MessageIndicator replaces the pulsing dot with a ThinkingOrb (new thinking-orbs dep) plus left-to-right shimmering "Working..." text; role="status" for a11y and the shimmer is scoped to prefers-reduced-motion: no-preference.
  • PopoverSelect flips the menu to the opposite side when the preferred side lacks viewport room (estimate first, remeasure after mount via rAF). Fixes clipped rows-per-page menus near the bottom edge.
  • SchedulesPage no longer drains the full agents catalog on mount; agent labels are learned from picker picks and the agent filter loads lazily with infinite scroll. "Create Schedule" now stays enabled under the All-agents filter and USE is enforced per-agent in the drawer.
  • Settings sidebar selected section uses a subtle primary tint instead of a solid fill.
  • ThreadListRow: softer radius (0.5rem), normal-weight title, bot icon.

Behavioral notes for reviewers

  • Schedules rows without a server-provided agentName now fall back to the raw agent id (previously resolved from the drained catalog) — accepted trade-off for dropping the mount-time catalog scan.
  • Create-schedule gating under "All agents" moved from a mount-time permission sweep to submit-time enforcement in ScheduleFormDrawer.

Testing

  • pnpm test in packages/trueforge-ui: 190 files, 1407 tests, all passing.
  • New coverage: PopoverSelect flip/no-flip placement, lazy agent-catalog assertion, single-initial avatar expectations.

Made with Cursor

…flip, lazy schedules agents

- Avatar fallbacks: light primary gradient (solid in dark mode), single-initial characters, smaller sm size
- MessageIndicator: ThinkingOrb with shimmering Working... text (reduced-motion safe)
- PopoverSelect: flip menu to the other side when the preferred side lacks viewport room
- SchedulesPage: stop draining the full agents catalog on mount; learn agent labels from picker picks and gate Create on USE only for a specific agent
- Settings sidebar: subtle primary tint for the selected section
- ThreadListRow: softer radius, normal-weight title, bot icon
- AttachmentCard: keep neutral fallback (bg-none drops the new gradient default)

Co-authored-by: Cursor <cursoragent@cursor.com>
@changeset-bot

changeset-bot Bot commented Sep 11, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 47c846c

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@truefoundry/trueforge-ui Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@govindavashishtha
govindavashishtha merged commit d7136a1 into main Sep 11, 2026
9 checks passed
@govindavashishtha
govindavashishtha deleted the ui/avatar-indicator-popover-schedules-polish branch September 11, 2026 12:05
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.

2 participants