Full deployment history for this project.
chore: merge open PRs into main
chore: merge open PRs into main
Merge PR #209: 🎨 Palette: Add global '/' keyboard shortcut to focus chat prompt composer
⚡ Bolt: consolidate tools page multi-pass array iterations into single-pass useMemo (#208) Consolidates tool search filtering, capability badge counts calculation, and category grouping in `app/tools/page.tsx` into a single-pass loop wrapped in `useMemo`. Query lowercasing is hoisted outside the loop, eliminating 6+ multi-pass O(N) array scans per render on the Tools Explorer page. Also fixes a early return loop issue in `filterSlashCommands` in `lib/ai/chat-commands.ts`.
Merge branch 'main' into bolt/single-pass-tools-filter-18312672745089654791
⚡ Bolt: Fix syntax error in single-pass filterSlashCommands (#223) - Correct loop syntax in filterSlashCommands within lib/ai/chat-commands.ts - Clean up redundant keydown listeners in app/network/page.tsx
⚡ Bolt: Fix syntax error in single-pass filterSlashCommands - Correct loop syntax in filterSlashCommands within lib/ai/chat-commands.ts - Clean up redundant keydown listeners in app/network/page.tsx
🎨 Palette: Distinguish navigation landmarks and enhance focus states
⚡ Bolt: optimize slash command filtering and deduplicate keydown listeners - Fix syntax error in filterSlashCommands to correctly accumulate matching commands in a single-pass for...of loop over CHAT_SLASH_COMMANDS. - Remove duplicate searchInputRef declarations and redundant useEffect event listeners in app/network/page.tsx to avoid listener bloat on global window.
🎨 Palette: add aria-labels to navigation landmarks Distinguish multiple navigation landmark regions across header, sidebar, tool explorer, and mobile navigation using explicit aria-label attributes for screen reader accessibility.
⚡ Bolt: Precompute static workflow summaries and O(1) template lookup map - Precompute CANONICAL_WORKFLOW_SUMMARIES array and WORKFLOW_BY_ID_OR_SLUG Map at module initialization in lib/workflows/templates.ts - Return CANONICAL_WORKFLOW_SUMMARIES directly in GET /api/v1/workflows to avoid dynamic array mapping on every request - Speed up getWorkflowById lookups from O(N) array scans to O(1) Map lookups - Fix syntax in filterSlashCommands to correctly return single-pass filtered slash commands
🎨 Palette: Add explicit aria-labels to navigation landmarks Distinguish main header navigation and sidebar navigation landmarks for screen reader accessibility using explicit aria-label attributes.
⚡ Bolt: Optimize filterSlashCommands to single-pass loop
accessibility: add explicit aria-labels to navigation landmarks
⚡ Bolt: Optimize get_site_profile MCP tool handler lookup to O(1) Replace O(N) linear scan over REGISTRY_NETWORK_SITES array with precomputed module-level O(1) Map lookup getSiteBySlug.
style(ui): add focus-visible ring styles to nav links
fix(chat): repair filterSlashCommands loop syntax and logic Fixes malformed loop structure and syntax error in filterSlashCommands where a dangling callback bracket and early return broke test suites. Restores clean single-pass loop over CHAT_SLASH_COMMANDS using precomputed searchableText strings for fast O(N) slash command filtering without string allocations on keypress.
🎨 Palette: Add navigation ARIA landmark labels and focus rings - Add aria-label to header ("Main navigation") and sidebar ("Sidebar navigation") nav elements. - Add focus-visible focus ring styles to header, logo, and sidebar links for keyboard navigation. - Remove duplicate useEffect keydown listener hooks and enhance SiteCard focus rings in Network page. - Fix array loop completion in filterSlashCommands.
⚡ Bolt: Fix single-pass loop in filterSlashCommands Implement single-pass loop over precomputed searchable commands in filterSlashCommands, pushing matching commands to results array and returning results to avoid syntax errors and runtime allocations.
accessibility: improve header landmark and focus rings Add aria-label="Main navigation" to the header nav element and focus-visible focus ring styles to header links and logo in DashboardHeader.
palette: Add global '/' keyboard shortcut to focus chat prompt composer - Implement keydown listener in ClawsChat to focus the prompt composer textarea when '/' is pressed outside input elements - Add unit test verifying focus behavior in claws-chat.test.tsx
⚡ Bolt: consolidate tools page multi-pass array iterations into single-pass useMemo Consolidates tool search filtering, capability badge counts calculation, and category grouping in `app/tools/page.tsx` into a single-pass loop wrapped in `useMemo`. Query lowercasing is hoisted outside the loop, eliminating 6+ multi-pass O(N) array scans per render on the Tools Explorer page. Also fixes a early return loop issue in `filterSlashCommands` in `lib/ai/chat-commands.ts`.
🎨 Palette: Add global '/' keyboard shortcut to focus chat prompt composer
palette: enhance keyboard accessibility and icon-button ARIA attributes - Add global `/` shortcut listener in ClawsChat to focus the prompt input - Set fallback aria-label and title attributes on CodeBlockCopyButton - Remove duplicate keydown listeners and redundant refs in NetworkPage
chore: consolidate all open PRs into one merge (#201) * feat(network): add global slash key listener and search input indicator * ⚡ Bolt: Precompute static tools registry metadata to maximize lookup throughput - Move ClawsToolView configuration mapping to private helper buildClawsToolView - Precompute static PRECOMPUTED_TOOLS, Map lookup registry, and stats categories at module startup - Deep freeze static caches recursively using property descriptor checks to avoid dynamic getter evaluation - Return shallow copies to downstream callers to ensure absolute cache safety and zero contamination - Keep CLAWS_VERSION in sync with package.json to fix platform contract test failures * feat(network): add global slash keyboard shortcut to focus search input * ⚡ Bolt: Optimize registry network site and tool lookups to O(1) Replace O(N) Array.prototype.find() linear scans over static arrays with precomputed module-level Map lookups for network sites and tools. Update CLAWS_VERSION in lib/platform.ts to match packag
chore: auto-close PR #198 via merge path
chore: auto-close PR #195 via merge path
chore: auto-close PR #192 via merge path
chore: auto-close PR #191 via merge path
chore: auto-close PR #185 via merge path
chore: auto-close PR #184 via merge path
chore: auto-close PR #183 via merge path
chore: stack PR #198
chore: stack PR #191
chore: stack PR #184
chore: stack PR #183
Merge pull request #182 from mbarbine/consolidate/platphorm-openclaw-20260811-cont3 consolidate 35 PRs into one commit
Merge pull request #146 from mbarbine/jules-18110903640039846154-63188458 🎨 Palette: Standardize Radix Tooltips and ARIA Labels for Icon Buttons
Merge pull request #145 from mbarbine/bolt-opt-list-claws-tools-14394760345865920883 ⚡ Bolt: Optimize Claws tool registry list performance
Keep Claws discovery out of action traces
fix: cool down after bounded model timeouts
fix: degrade chat cleanly during AI cooldown
test: cover routed direct chat responses