Full deployment history for this project.
🎨 Palette: Add aria-expanded to collapsible sections & Fix CI limit
Acknowledge PR closure
No changes made. Work halted as per comment.
🎨 Palette: Fix CI auto-approve error handling and enhance FileUpload dropzone keyboard accessibility - Add role="region", aria-label="File upload dropzone", tabIndex={0}, and Enter/Space onKeyDown handler to FileUpload. - Add try/catch block around createReview in auto-approve-merge workflow to handle permission errors gracefully.
🎨 Palette: Improve keyboard accessibility for FileUpload dropzone - Add role="region" and aria-label="File upload dropzone" to drag-and-drop area. - Enable keyboard focusing (tabIndex={0} when not uploading). - Add onKeyDown handler supporting Enter and Space keys to open file picker. - Add focus-visible ring styles for clear visual focus indicators.
Fix GitHub Actions PR auto-approval error limit
Fix Open Redirect vulnerability in OAuth callback
fix: wrap github auto-approve script in try-catch to prevent CI failures When GitHub Actions is not permitted to approve pull requests (e.g., due to repository permission restrictions or GITHUB_TOKEN self-approval limits), the `github.rest.pulls.createReview` call would throw a 422 Unprocessable Entity error and crash the workflow. This change wraps the call in a `try...catch` block to handle these errors gracefully without crashing the entire workflow, logging the reason instead.
perf: Memoize array mapping in MessagesCenter to prevent input lag Extracted the dense mapped rendering lists (rooms.map, users.map, messages.map) in `components/messages/messages-center.tsx` into top-level `useMemo` hooks. This prevents slow O(N) array reallocation on every keystroke when users type in the inputs (like `displayName`, `key`, `roomName`, or `content`).
🎨 Palette: Add aria-expanded to navigation toggle controls and handle CI review permission errors - Adds missing `aria-expanded` attributes to collapsible sections and disclosure toggle buttons in the sidebar and topbar navigation components (`components/bbs/sidebar.tsx` and `components/bbs/topbar.tsx`). - Wraps `createReview` in `.github/workflows/auto-approve-merge.yml` inside a `try/catch` block to handle GITHUB_TOKEN self-approval permission limits gracefully.
🎨 Palette: Add aria-expanded to navigation toggle controls Adds missing `aria-expanded` attributes to collapsible sections and disclosure toggle buttons in the sidebar and topbar navigation components (`components/bbs/sidebar.tsx` and `components/bbs/topbar.tsx`). This allows assistive technologies and screen reader users to discern whether interactive panels, main menus, and search modals are expanded or collapsed.
fix(ci): Wrap github-script auto-approve in try-catch to fix CI failure
feat(a11y): Make file upload dropzone keyboard and screen-reader accessible
Fix Open Redirect vulnerability in OAuth callback and catch GitHub CI error
Fix Open Redirect vulnerability in OAuth callback
Fix CI failure in auto approve workflow due to permissions
Refactor components/boards/public-board.tsx to memoize mapped element lists (threads and posts). This prevents O(N) reallocation during every render cycle, such as on every keystroke when typing in the reply or post compose textareas.
🎨 Palette: add aria-expanded attributes to toggle buttons and handle CI review permission errors Adds `aria-expanded` attributes to collapsible section and navigation toggle buttons in the BBS sidebar and topbar components for enhanced screen reader accessibility. Also wraps PR review creation in try/catch in auto-approve workflow to prevent CI failures.
🎨 Palette: add aria-expanded attributes to toggle buttons Adds `aria-expanded` attributes to collapsible section and navigation toggle buttons in the BBS sidebar and topbar components for enhanced screen reader accessibility.
🎨 Palette: Add aria-expanded to collapsible sections
🛡️ Sentinel: [HIGH] Fix Open Redirect vulnerability in OAuth callback
ci: fix unhandled HTTP error on PR approval in auto-approve-merge workflow
chore: consolidate all open PRs into one merge (#111) * 🎨 Palette: Accessible language selector - Extracted cookie manipulation helpers to satisfy `react-hooks/immutability`. - Used requestAnimationFrame for safe, non-cascading state synchronization. - Implemented standard WAI-ARIA role="listbox", role="option", aria-expanded, aria-haspopup, and aria-selected. - Registered a global window Escape keydown listener to close the dropdown and restore focus. - Introduced complete unit tests in components/locale-switcher.test.tsx. * 🎨 Palette: [UX improvement] Improve accessibility of kbd visual indicators What: Applied `aria-hidden="true"` to decorative `<kbd>` keyboard shortcut elements in topbar, terminal welcome, and emulator. Moved `aria-keyshortcuts` attributes to their interactive parent `<button>` or `<Link>` elements. Why: Reduces screen reader clutter (reading "Enter" or failing to read "↑" natively) while preserving keyboard shortcut semantics and preserving visual design. Accessibility: Prevented v
chore: auto-close PR #98 via merge path
chore: auto-close PR #97 via merge path
chore: auto-close PR #93 via merge path
chore: auto-close PR #92 via merge path
chore: stack PR #98
chore: stack PR #97
chore: stack PR #93
chore: stack PR #92
Merge pull request #91 from mbarbine/consolidate/platphorm-bbs-20260811-final consolidate 75 PRs into one commit
Merge pull request #17 from mbarbine/jules-107417735694672709-b0ba40f5 🎨 Palette: Improve button accessibility and search keyboard UX
Merge pull request #16 from mbarbine/bolt-performance-improvement-files-library-153773796812518225 ⚡ Bolt: optimize list filtering with useMemo in files-library
fix: harden telnet trace lifecycle
fix raw telnet connection handling
fix QuakeCraft trusted embed
Merge pull request #13 from mbarbine/sentinel/add-security-headers-74799398754328166 🛡️ Sentinel: [MEDIUM] Add security headers to Next.js config
Merge pull request #12 from mbarbine/bolt-memoize-boards-list-2938909821464012407 ⚡ Bolt: Memoize array transformations in BoardsList
certify production browsers in CI
harden live BBS contract gates