Full deployment history for this project.
feat(ux): improve keyboard focus rings and visual screen reader live announcements (#155)
feat(ux): improve keyboard focus rings and visual screen reader live announcements - Switch focus:ring to focus-visible:ring on text input to prevent persistent focus rings after click. - Move aria-live attributes directly to the visual 'Converting...' and 'Drop file' elements. - Update .jules/palette.md with the learned accessibility anti-patterns. Co-authored-by: mbarbine <3211492+mbarbine@users.noreply.github.com>
fix(ux): disable text analysis on URL/Base64 input field (#154)
🎨 Palette: fix duplicate JSX role and aria-label attributes on canvas element (#150)
🎨 Palette: Disable text analysis on base64 input field (#153)
fix(ux): disable text analysis on URL/Base64 input field
🎨 Palette: Disable text analysis on base64 input field 💡 What: Added `type="text"`, `spellCheck={false}`, `autoComplete="off"`, `autoCorrect="off"`, and `autoCapitalize="none"` to the "URL / Base64" image input field. 🎯 Why: Prevents severe browser lag or freezes when users paste massive Base64 encoded image strings, as native text analysis features attempt to parse megabytes of data. ♿ Accessibility: Ensures consistent behavior without unexpected dictionary/autocorrect popups when interacting with technical data payloads.
🎨 Palette: Add Reset button for Character Style setting (#152)
🎨 Palette: Add Reset button for Character Style setting Adds a Reset button to the Character Style section in the ASCII converter. When a user selects a non-default character set, an inline Reset button appears, allowing one-click restoration of the default character set ('detailed') with clear toast feedback and focus management.
🎨 Palette: Add aria-keyshortcuts="s" to character style select (#151)
Add Home icon to breadcrumb navigation for enhanced visual clarity (#146)
🎨 Palette: Add keyboard focus-visible rings to Docs page navigation links (#147)
Fix duplicate ARIA attributes on Canvas and improve test robustness (#148)
fix: remove duplicate JSX attributes on canvas preview (#149)
🎨 Palette: Add accessibility attributes to ASCII output canvas (#144) - Add role="img" and dynamic aria-label (specifying lines and columns count) to the main ASCII output canvas element - Clean up duplicate aria-keyshortcuts attributes on form controls - Add unit test verifying canvas accessibility in __tests__/ascii-converter-ux.test.tsx
fix: remove duplicate aria-keyshortcuts attributes (#145) Removed duplicate `aria-keyshortcuts` attributes from `<select>` and `<Switch>` elements in `components/ascii-converter.tsx` to fix a TS17001 compilation error and ensure valid React component prop structures.
chore: auto-close PR #82 via merge path
chore: auto-close PR #81 via merge path
chore: stack PR #81
chore: stack PR #82
Merge pull request #80 from mbarbine/consolidate/platphorm-ascii-20260811-final consolidate 37 PRs into one commit
Merge pull request #42 from mbarbine/palette/semantic-info-and-focus-rings-8182846292609411111 🎨 Palette: Semantic status info button and disabled focus consistency
Reparent children of suppressed trace boundaries
trace only meaningful ASCII MCP actions
Merge pull request #41 from mbarbine/palette-add-download-shortcut-10345466541755021471 🎨 Palette: Add keyboard shortcut for downloading ASCII art
fix: make trace export lifecycle durable
Merge pull request #40 from mbarbine/palette/micro-ux-reset-button-drag-drop-10618643715086364827 🎨 Palette: Add Reset to Default Button & Enhance Drag-and-Drop Visuals
Merge branch 'main' into palette/delightful-toast-feedback-979916734744885075
Stabilize production keyboard regression
fix: pin patched PostCSS
Merge remote-tracking branch 'origin/jules-fix-ssrf-15016200910371270760' into copilot/merge-all-pull-requests # Conflicts: # .jules/sentinel.md # app/api/webhooks/route.ts Co-authored-by: mbarbine <3211492+mbarbine@users.noreply.github.com>
Merge branch 'main' into perf-optimize-ascii-loop-10844331673224069895
Merge branch 'main' into palette/aria-live-announcements-9497527897752974195
Address code review: responsive grid layout and stronger test assertion Co-authored-by: mbarbine <3211492+mbarbine@users.noreply.github.com>
Add save-as-PNG UI button, MCP tool, and comprehensive tests - Add downloadAsPng function and "Save .png" button to ascii-converter UI - Add save_as_png MCP tool to /api/mcp route with full inputSchema - Add save_as_png to .well-known/mcp.json discovery manifest - Add save_as_png to OpenAPI docs tool name enum - Update get_info features list to include 'Save as PNG image' - Add 35 new tests (save-as-png.test.ts + enhanced existing tests) - Total: 114 tests passing (up from 79) Co-authored-by: mbarbine <3211492+mbarbine@users.noreply.github.com>
Initial plan for save-as-PNG feature Co-authored-by: mbarbine <3211492+mbarbine@users.noreply.github.com>
Address code review: fix misleading resolution test Co-authored-by: mbarbine <3211492+mbarbine@users.noreply.github.com>
Add comprehensive tests and GitHub Actions CI workflow - Add utils.test.ts (10 tests for cn() utility) - Add openapi-spec.test.ts (17 tests for /api/docs OpenAPI spec) - Add mcp-integration.test.ts (17 tests for subscribe_webhook, list_webhooks, register_site tools) - Add webhooks-advanced.test.ts (17 tests for webhook edge cases) - Add convert-edge-cases.test.ts (23 tests for /api/convert edge cases) - Add mcp-client-advanced.test.ts (28 tests for MCP client edge cases) - Add .github/workflows/ci.yml for lint, typecheck, test, build Co-authored-by: mbarbine <3211492+mbarbine@users.noreply.github.com>