Go Straightforward Web Application Development.

I'm Ryota Murakami who lives in Tokyo. Currently working as a freelance React/Node/TypeScript developer. Here is my independent OSS organization.

Personal photo showcasing development work
Creative coding project snapshot
Technology workspace environment
Software engineering collaboration
Programming achievement highlight

GitHub Activity

  1. @ryota-murakami ryota-murakami closed an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 11:55
    [Low/Enhancement] Add sidebar scroll spy with IntersectionObserver #23
    ## Description The sidebar navigation lists all ESLint rules but does not highlight which rule is currently visible in the viewport. Adding a scrol…
  2. @ryota-murakami ryota-murakami closed an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 11:55
    [Low/HIG] Inter font overrides SF Pro CSS declaration #24
    ## Description The CSS body declares an Apple-first font stack including SF Pro: ```css font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Dis…
  3. @ryota-murakami ryota-murakami closed an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 11:55
    [P3/UX] No footer section — page ends abruptly after last rule card #16
    ## Description The page has no explicit footer component. Content ends after the last rule card with just the background image visible. In dark mod…
  4. @ryota-murakami ryota-murakami closed an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 11:55
    [Low/HIG] 6px corner radius slightly off 4/8/12/20 design system #22
    ## Description Some elements use a 6px corner radius (toggle buttons, sidebar links), which is slightly off the Apple HIG recommended 4/8/12/20px g…
  5. @ryota-murakami ryota-murakami closed an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 11:55
    [Low/HIG] H4 heading at 12px below recommended minimum readable size #18
    ## Description H4 headings in the application render at 12px font size with 700 weight. This is below the WCAG recommended minimum readable text si…
  6. @ryota-murakami ryota-murakami closed an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 11:55
    [Low/UX] Mobile sidebar close button lacks clear affordance #21
    ## Description The mobile sidebar (Sheet) close button renders as a small outline circle that is not clearly recognizable as a close button — it's …
  7. @ryota-murakami ryota-murakami closed an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 11:55
    [Low/HIG] 21.6% of spacing values off 4px grid system #19
    ## Description Out of 522 measured spacing values, 113 (21.6%) are off the 4/8px grid system. Off-grid values found include: 2px, 6px, 9px, 10px, 2…
  8. @ryota-murakami ryota-murakami closed an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 11:55
    [Low/A11y] "Copy link" text appended to heading names in accessibility tree #20
    ## Description Section heading "Copy link" buttons append their text to the heading name in the accessibility tree. For example, screen readers ann…
  9. @ryota-murakami ryota-murakami closed an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 11:55
    [High/A11y] 96.4% of tap targets below 44px minimum (Apple HIG) #8
    ## Description 96.4% of interactive elements (81 out of 84) fail the Apple HIG minimum tap target size of 44×44px. ### Specific undersized targets:…
  10. @ryota-murakami ryota-murakami closed an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 11:55
    [P3/A11y] Radix UI console errors: SheetContent missing DialogTitle and Description #14
    ## Description Two console errors appear on every page load: 1. `DialogContent requires a DialogTitle for accessibility` 2. `Missing Description or…
  11. @ryota-murakami ryota-murakami closed an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 11:55
    [Medium/A11y] Missing visible focus indicators on some buttons #11
    ## Description Several interactive buttons show `outline: none` with no visible focus ring alternative. While `focus-visible` styles exist in the C…
  12. @ryota-murakami ryota-murakami closed an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 11:55
    [High/A11y] Syntax highlight keyword contrast fails WCAG AA (4.30:1) #10
    ## Description Syntax highlighting keywords in code blocks fail WCAG AA contrast requirements: - **Color**: `rgb(215, 58, 73)` (red keywords: `if`,…
  13. @ryota-murakami ryota-murakami closed an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 11:55
    [P3/Visual] Mobile hero title too large at 375px viewport #17
    ## Description At 375px mobile width, the hero title "eslint-config-ts-prefixer" renders across 3 lines due to the large font size (60px), consumin…
  14. @ryota-murakami ryota-murakami closed an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 11:55
    [Medium/UX] Links indistinguishable from regular text in dark mode #13
    ## Description In dark mode, all links appear as `rgb(248, 250, 252)` or `rgb(255, 255, 255)`, making them visually indistinguishable from regular …
  15. @ryota-murakami ryota-murakami closed an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 11:55
    [Medium/A11y] scroll-behavior: smooth not guarded by prefers-reduced-motion #12
    ## Description The CSS at `app/globals.css:124` sets `scroll-behavior: smooth` globally without checking the user's motion preference. Users who ha…
  16. @ryota-murakami ryota-murakami deleted branch refs/heads/feat/bulk-issues-20260220 in laststance/website-eslint-config-ts-prefixer · February 19, 2026 19:55
  17. @ryota-murakami ryota-murakami closed an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 11:55
    [P3/Visual] backdrop-filter computed as `none` on glass morphism elements #15
    ## Description Despite CSS classes like `glass-ultra-thick`, `glass-clear`, and `glass-sidebar` being applied to header, cards, and sidebar element…
  18. @ryota-murakami ryota-murakami closed an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 11:55
    [Critical/UX] Theme toggle causes page scroll/hash navigation #6
    ## Description Clicking the theme toggle button (Sun/Moon icon) causes the page to scroll/jump to a different section by changing the URL hash (e.g…
  19. @ryota-murakami ryota-murakami closed an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 11:55
    [P2/Bug] Duplicate DOM IDs break anchor navigation and accessibility #7
    ## Description 11 groups of duplicate IDs found in the DOM (39 total IDs, only 21 unique). Key duplicates: - `rule-details` appears 7 times (each r…
  20. @ryota-murakami ryota-murakami closed an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 11:55
    [P2/Visual] Code blocks retain light background in dark mode #9
    ## Description Inside the styled Incorrect/Correct example containers, the inner `<code>` blocks retain a light/white background when the page is in dark…</code>
  21. @ryota-murakami ryota-murakami closed an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 11:55
    [P2/Bug] processEslintMarkdown() does not handle `::: incorrect/correct` with JSON metadata #5
    ## Description The `processEslintMarkdown()` function in `lib/markdown-utils.ts` does not handle the ESLint documentation variant where `::: incorr…
  22. @ryota-murakami ryota-murakami pushed to laststance/website-eslint-config-ts-prefixer · February 19, 2026 19:55
    2 commits to main
    • @ryota-murakami f9c7714
      fix: handle ::: incorrect/correct with JSON metadata in markdown proc…
    • @ryota-murakami 4f96ded
      fix: add explicit type="button" to theme toggle to prevent form submi…
    • 21 more commits »
  23. fix: resolve all 21 QA issues from comprehensive audit #25

    Summary

    Resolves all 21 open issues identified by the QA agent team audit. Each issue was investigated, implemented, and verified individually with…

    +314 -160
    11 comments
  24. @ryota-murakami ryota-murakami pushed to laststance/website-eslint-config-ts-prefixer · February 19, 2026 19:53
    1 commit to feat/bulk-issues-20260220
    • @ryota-murakami 54b7cec
      fix: address CodeRabbit review round 2
  25. @ryota-murakami ryota-murakami pushed to laststance/website-eslint-config-ts-prefixer · February 19, 2026 19:47
    1 commit to feat/bulk-issues-20260220
    • @ryota-murakami 0e10563
      fix: resolve CodeRabbit review findings
  26. @ryota-murakami ryota-murakami opened laststance/base-ui-masterclass#70 · February 19, 2026 11:46
    fix: Sandpack exercise tests — vi→jest + jest-dom v5 #70

    Summary

    • Migrated 15 exercise test files from Vitest APIs (vi.fn(), vi.useFakeTimers()) to Jest equivalents (jest.fn(), jest.useFakeTimers()). Sand…
    +139 -58
    6 comments
  27. fix: resolve all 21 QA issues from comprehensive audit #25

    Summary

    Resolves all 21 open issues identified by the QA agent team audit. Each issue was investigated, implemented, and verified individually with…

    +314 -160
    11 comments
  28. @ryota-murakami ryota-murakami opened an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 08:19
    [Low/HIG] Inter font overrides SF Pro CSS declaration #24
    ## Description The CSS body declares an Apple-first font stack including SF Pro: ```css font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Dis…
  29. @ryota-murakami ryota-murakami opened an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 08:19
    [Low/Enhancement] Add sidebar scroll spy with IntersectionObserver #23
    ## Description The sidebar navigation lists all ESLint rules but does not highlight which rule is currently visible in the viewport. Adding a scrol…
  30. @ryota-murakami ryota-murakami opened an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 08:19
    [Low/HIG] 6px corner radius slightly off 4/8/12/20 design system #22
    ## Description Some elements use a 6px corner radius (toggle buttons, sidebar links), which is slightly off the Apple HIG recommended 4/8/12/20px g…
  31. @ryota-murakami ryota-murakami opened an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 08:19
    [Low/UX] Mobile sidebar close button lacks clear affordance #21
    ## Description The mobile sidebar (Sheet) close button renders as a small outline circle that is not clearly recognizable as a close button — it's …
  32. @ryota-murakami ryota-murakami opened an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 08:19
    [Low/A11y] "Copy link" text appended to heading names in accessibility tree #20
    ## Description Section heading "Copy link" buttons append their text to the heading name in the accessibility tree. For example, screen readers ann…
  33. @ryota-murakami ryota-murakami opened an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 08:19
    [Low/HIG] 21.6% of spacing values off 4px grid system #19
    ## Description Out of 522 measured spacing values, 113 (21.6%) are off the 4/8px grid system. Off-grid values found include: 2px, 6px, 9px, 10px, 2…
  34. @ryota-murakami ryota-murakami opened an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 08:19
    [Low/HIG] H4 heading at 12px below recommended minimum readable size #18
    ## Description H4 headings in the application render at 12px font size with 700 weight. This is below the WCAG recommended minimum readable text si…
  35. @ryota-murakami ryota-murakami opened an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 08:19
    [P3/Visual] Mobile hero title too large at 375px viewport #17
    ## Description At 375px mobile width, the hero title "eslint-config-ts-prefixer" renders across 3 lines due to the large font size (60px), consumin…
  36. @ryota-murakami ryota-murakami opened an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 08:18
    [P3/UX] No footer section — page ends abruptly after last rule card #16
    ## Description The page has no explicit footer component. Content ends after the last rule card with just the background image visible. In dark mod…
  37. @ryota-murakami ryota-murakami opened an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 08:18
    [P3/Visual] backdrop-filter computed as `none` on glass morphism elements #15
    ## Description Despite CSS classes like `glass-ultra-thick`, `glass-clear`, and `glass-sidebar` being applied to header, cards, and sidebar element…
  38. @ryota-murakami ryota-murakami opened an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 08:18
    [P3/A11y] Radix UI console errors: SheetContent missing DialogTitle and Description #14
    ## Description Two console errors appear on every page load: 1. `DialogContent requires a DialogTitle for accessibility` 2. `Missing Description or…
  39. @ryota-murakami ryota-murakami opened an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 08:18
    [Medium/UX] Links indistinguishable from regular text in dark mode #13
    ## Description In dark mode, all links appear as `rgb(248, 250, 252)` or `rgb(255, 255, 255)`, making them visually indistinguishable from regular …
  40. @ryota-murakami ryota-murakami opened an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 08:18
    [Medium/A11y] scroll-behavior: smooth not guarded by prefers-reduced-motion #12
    ## Description The CSS at `app/globals.css:124` sets `scroll-behavior: smooth` globally without checking the user's motion preference. Users who ha…
  41. @ryota-murakami ryota-murakami opened an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 08:18
    [Medium/A11y] Missing visible focus indicators on some buttons #11
    ## Description Several interactive buttons show `outline: none` with no visible focus ring alternative. While `focus-visible` styles exist in the C…
  42. @ryota-murakami ryota-murakami opened an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 08:18
    [High/A11y] Syntax highlight keyword contrast fails WCAG AA (4.30:1) #10
    ## Description Syntax highlighting keywords in code blocks fail WCAG AA contrast requirements: - **Color**: `rgb(215, 58, 73)` (red keywords: `if`,…
  43. @ryota-murakami ryota-murakami opened an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 08:18
    [P2/Visual] Code blocks retain light background in dark mode #9
    ## Description Inside the styled Incorrect/Correct example containers, the inner `<code>` blocks retain a light/white background when the page is in dark…</code>
  44. @ryota-murakami ryota-murakami opened an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 08:18
    [High/A11y] 96.4% of tap targets below 44px minimum (Apple HIG) #8
    ## Description 96.4% of interactive elements (81 out of 84) fail the Apple HIG minimum tap target size of 44×44px. ### Specific undersized targets:…
  45. @ryota-murakami ryota-murakami opened an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 08:18
    [P2/Bug] Duplicate DOM IDs break anchor navigation and accessibility #7
    ## Description 11 groups of duplicate IDs found in the DOM (39 total IDs, only 21 unique). Key duplicates: - `rule-details` appears 7 times (each r…
  46. @ryota-murakami ryota-murakami opened an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 08:18
    [Critical/UX] Theme toggle causes page scroll/hash navigation #6
    ## Description Clicking the theme toggle button (Sun/Moon icon) causes the page to scroll/jump to a different section by changing the URL hash (e.g…
  47. @ryota-murakami ryota-murakami opened an issue in laststance/website-eslint-config-ts-prefixer · February 19, 2026 08:17
    [P2/Bug] processEslintMarkdown() does not handle `::: incorrect/correct` with JSON metadata #5
    ## Description The `processEslintMarkdown()` function in `lib/markdown-utils.ts` does not handle the ESLint documentation variant where `::: incorr…
  48. @ryota-murakami ryota-murakami deleted branch refs/heads/feat/board-settings-subtitle-edit-toggle in laststance/gitbox · February 19, 2026 14:44

    Updated Feb 19

  49. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 19, 2026 14:44
    2 commits to main
    • @ryota-murakami bb2c77b
      feat: add subtitle edit form and visibility toggle to Board Settings
    • @ryota-murakami 7353dd3
      docs: update SPEC.md v1.4, README.md, CLAUDE.md to reflect recent fea…
    • 2 more commits »
  50. @ryota-murakami ryota-murakami merged laststance/gitbox#134 · February 19, 2026 06:44
    feat: add subtitle edit form and visibility toggle to Board Settings #134

    Summary

    • Add subtitle text input with character count and save button to Board Settings General tab
    • Add "Show Subtitle" switch toggle to control su…
    +632 -82
    9 comments
  51. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 19, 2026 14:27
    1 commit to feat/board-settings-subtitle-edit-toggle
    • @ryota-murakami a6a3c0a
      fix: add null guards to E2E subtitle DB verification queries
  52. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 19, 2026 14:24
    1 commit to feat/board-settings-subtitle-edit-toggle
    • @ryota-murakami 7353dd3
      docs: update SPEC.md v1.4, README.md, CLAUDE.md to reflect recent fea…
  53. @ryota-murakami ryota-murakami opened laststance/gitbox#134 · February 19, 2026 06:17
    feat: add subtitle edit form and visibility toggle to Board Settings #134

    Summary

    • Add subtitle text input with character count and save button to Board Settings General tab
    • Add "Show Subtitle" switch toggle to control su…
    +632 -82
    9 comments
  54. @ryota-murakami ryota-murakami created a branch in laststance/gitbox · February 19, 2026 14:17
  55. @ryota-murakami ryota-murakami opened an issue in laststance/gitbox · February 19, 2026 05:51
    feat: Add 'Move to Another Board' to RepoCard overflow menu #133
    ## Summary Add a **"Move to Another Board"** menu item to the RepoCard overflow menu (`OverflowMenu.tsx`), allowing users to transfer a card from t…
  56. @ryota-murakami ryota-murakami deleted branch refs/heads/fix/e2e-note-modal-isolation in laststance/gitbox · February 18, 2026 20:28

    Updated Feb 18

  57. @ryota-murakami ryota-murakami merged laststance/gitbox#132 · February 18, 2026 12:28
    fix(e2e): add test isolation for note-modal Slate editor tests #132

    Summary

    • Add resetProjectInfoNotes() DB helper to reset note content to seed values
    • Call it in beforeEach for all 3 note-modal test describe blocks
    • F…
    +64 -17
    6 comments
  58. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 18, 2026 20:28
    1 commit to main
    • @ryota-murakami 2d67f41
      fix(e2e): add test isolation for note-modal Slate editor tests (#132)
  59. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 18, 2026 19:49
    1 commit to fix/e2e-note-modal-isolation
    • @ryota-murakami f781f9e
      fix(e2e): check Slate placeholder visibility for empty editor assertion
  60. @ryota-murakami ryota-murakami opened laststance/gitbox#132 · February 18, 2026 11:33
    fix(e2e): add test isolation for note-modal Slate editor tests #132

    Summary

    • Add resetProjectInfoNotes() DB helper to reset note content to seed values
    • Call it in beforeEach for all 3 note-modal test describe blocks
    • F…
    +64 -17
    6 comments
  61. @ryota-murakami ryota-murakami created a branch in laststance/gitbox · February 18, 2026 19:33
  62. @ryota-murakami ryota-murakami deleted branch refs/heads/fix/e2e-ci-failures in laststance/gitbox · February 18, 2026 19:14

    Updated Feb 18

  63. @ryota-murakami ryota-murakami merged laststance/gitbox#131 · February 18, 2026 11:14
    fix(e2e): fix 3 CI failures — public-board 404 + XSS note modal #131

    Summary

    • public-board.spec.ts (2 tests): Assert 404 heading content instead of HTTP status code. Next.js App Router streaming may commit 200 status…
    +35 -25
    7 comments
  64. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 18, 2026 19:14
    1 commit to main
    • @ryota-murakami 44aa00c
      fix(e2e): fix 3 CI failures — public-board 404 + XSS note modal (#131)
  65. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 18, 2026 19:01
    1 commit to fix/e2e-ci-failures
    • @ryota-murakami 11e65df
      fix(e2e): stabilize flaky combobox filter and editor clear tests
  66. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 18, 2026 18:46
    1 commit to fix/e2e-ci-failures
    • @ryota-murakami f807d61
      fix(e2e): stabilize flaky Plate.js editor tests with toPass() polling
  67. @ryota-murakami ryota-murakami opened laststance/gitbox#131 · February 18, 2026 10:32
    fix(e2e): fix 3 CI failures — public-board 404 + XSS note modal #131

    Summary

    • public-board.spec.ts (2 tests): Assert 404 heading content instead of HTTP status code. Next.js App Router streaming may commit 200 status…
    +35 -25
    7 comments
  68. @ryota-murakami ryota-murakami created a branch in laststance/gitbox · February 18, 2026 18:32
  69. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 18, 2026 15:16
    1 commit to main
  70. @ryota-murakami ryota-murakami deleted branch refs/heads/feat/bulk-issues-20260218-v3 in laststance/base-ui-masterclass · February 18, 2026 15:14
  71. @ryota-murakami ryota-murakami closed an issue in laststance/gitbox · February 18, 2026 07:16
    Consider moving the `supabase` directory from `src/supabase` to the project root #126
    ## Overview The Supabase configuration directory is currently located at `src/supabase/`, nested inside the Next.js source directory. This issue pr…
  72. @ryota-murakami ryota-murakami closed an issue in laststance/gitbox · February 18, 2026 07:16
    Security audit: verify XSS protections across all user-input rendering paths #127
    ## Overview This issue tracks a systematic review of XSS (Cross-Site Scripting) protections across every surface where user-supplied content is sto…
  73. @ryota-murakami ryota-murakami closed an issue in laststance/gitbox · February 18, 2026 07:16
    Feature: Public Board sharing #38
    ## Summary Add the ability to make boards public so they can be shared with others via a unique URL. This enables users to showcase their project o…
  74. @ryota-murakami ryota-murakami closed an issue in laststance/gitbox · February 18, 2026 07:16
    Add ESLint no-restricted-imports rule to ban revalidatePath / revalidateTag #129
    ## Summary This project uses Supabase SDK for all database operations — **not** Next.js `fetch` cache. `revalidatePath` / `revalidateTag` are meani…
  75. @ryota-murakami ryota-murakami merged laststance/gitbox#130 · February 18, 2026 07:16
    feat: resolve 4 issues — ESLint rule, security audit, supabase dir, public sharing #130

    Summary

    Resolves all 4 open issues in a single PR:

    • #129 — Add ESLint no-restricted-imports rule to ban revalidatePath/revalidateTag (they cause un…
    +1,040 -119
    27 comments
  76. @ryota-murakami ryota-murakami closed an issue in laststance/base-ui-masterclass · February 18, 2026 07:14
    Dashboard "Coming soon" vs progress bar distinction unclear #67
    ## Description On the dashboard, some modules show "Coming soon" while others show "0/3" progress bars. It is unclear whether "Coming soon" means t…
  77. @ryota-murakami ryota-murakami closed an issue in laststance/base-ui-masterclass · February 18, 2026 07:14
    "All Modules" breadcrumb not translated in Japanese locale #61
    ## Description On the Japanese locale module detail page (e.g., `/ja/modules/01-primitives`), the breadcrumb text "All Modules" remains in English …
  78. @ryota-murakami ryota-murakami closed an issue in laststance/base-ui-masterclass · February 18, 2026 07:14
    Add user profile/sign-out to authenticated pages #64
    ## Description Authenticated pages (dashboard, modules, lessons) show no indication of the signed-in user. There is no user avatar, profile link, o…
  79. @ryota-murakami ryota-murakami closed an issue in laststance/base-ui-masterclass · February 18, 2026 07:14
    Add language/locale switcher UI component #60
    ## Description No locale switcher UI exists anywhere in the application. Locale is controlled entirely through URL path prefix (`/ja/...`). Users h…
  80. @ryota-murakami ryota-murakami closed an issue in laststance/base-ui-masterclass · February 18, 2026 07:14
    Add loading spinner to sandbox Run button during test execution #62
    ## Description The sandbox "Run" button has no loading/spinner state during test execution. Users get no visual feedback that tests are running. ##…
  81. @ryota-murakami ryota-murakami closed an issue in laststance/base-ui-masterclass · February 18, 2026 07:14
    Landing page component count inconsistency (36 vs 35 vs 22) #59
    ## Description The landing page shows inconsistent component/exercise counts: - English landing: "36 Components" - Japanese landing: "35個" (35 comp…
  82. @ryota-murakami ryota-murakami closed an issue in laststance/base-ui-masterclass · February 18, 2026 07:14
    Pricing page Buy Now button appears clickable when disabled #63
    ## Description The "Buy Now" button on the pricing page is `disabled` with `href="#"` but has no visual disabled state -- it still appears clickabl…
  83. @ryota-murakami ryota-murakami closed an issue in laststance/base-ui-masterclass · February 18, 2026 07:14
    "Buy Now" from English landing page navigates to /ja/pricing (locale stickiness) #58
    ## Description Clicking "Buy Now -- $500" on the English landing page (`/`) navigated to `/ja/pricing` instead of `/pricing` or `/en/pricing`. This…
  84. @ryota-murakami ryota-murakami closed an issue in laststance/base-ui-masterclass · February 18, 2026 07:14
    Footer links (GitHub/Discord) violate 44px minimum tap target #56
    ## Description The GitHub and Discord links in the landing page footer have a computed height of only **20px**, well below the 44px minimum tap tar…
  85. @ryota-murakami ryota-murakami closed an issue in laststance/base-ui-masterclass · February 18, 2026 07:14
    Muted text color (#71717a) fails WCAG AA contrast ratio #55
    ## Description The muted text color token `--color-text-muted: #71717a` fails WCAG 2.2 AA contrast requirements on all background levels: | Color P…
  86. @ryota-murakami ryota-murakami closed an issue in laststance/base-ui-masterclass · February 18, 2026 07:14
    Sandpack header buttons cramped on mobile with Japanese text #65
    ## Description At 375px mobile width, the Hint/Solution/Reset buttons in the Sandpack header have their Japanese text rendered vertically/rotated d…
  87. @ryota-murakami ryota-murakami closed an issue in laststance/base-ui-masterclass · February 18, 2026 07:14
    Exercise code persistence hook not connected to Sandpack onChange #66
    ## Description The \`useExercisePersistence\` hook provides \`[code, setCode, clearSaved, hasSavedCode]\` and correctly loads saved code from local…
  88. @ryota-murakami ryota-murakami closed an issue in laststance/base-ui-masterclass · February 18, 2026 07:14
    Port 3000 vs 3001 configuration conflict causes Internal Server Error #57
    ## Description The root `.env` sets `NEXT_PUBLIC_APP_URL=http://localhost:3000`, but `apps/web/.env` overrides to port 3001. Port 3000 has a runnin…
  89. @ryota-murakami ryota-murakami closed an issue in laststance/base-ui-masterclass · February 18, 2026 07:14
    Add confirmation toast when exercise is marked complete #68
    ## Description When clicking "Mark Complete" on an exercise, there is no visible confirmation toast or notification. The button changes to "Complet…
  90. @ryota-murakami ryota-murakami closed an issue in laststance/base-ui-masterclass · February 18, 2026 07:14
    Exercise toolbar buttons violate 44px minimum tap target (26px height) #54
    ## Description The Hint, Solution, and Reset buttons in the exercise Sandpack toolbar have a computed height of only **26px**, well below the 44px …
  91. @ryota-murakami ryota-murakami closed an issue in laststance/base-ui-masterclass · February 18, 2026 07:14
    Add favicon to the application #53
    ## Description No favicon is configured for the application. The browser tab shows a generic document icon, and the console logs a 404 error for `/…
  92. @ryota-murakami ryota-murakami closed an issue in laststance/base-ui-masterclass · February 18, 2026 07:14
    Markdown tables render as raw pipe-delimited text in lesson content #50
    ## Description Markdown tables in MDX lesson content render as raw text with visible pipe characters (`|`) and separator lines (`|------|------|`) …
  93. @ryota-murakami ryota-murakami closed an issue in laststance/base-ui-masterclass · February 18, 2026 07:14
    Add root-level not-found.tsx for proper 404 page handling #52
    ## Description There is no `not-found.tsx` at the `app/` root level (outside `[locale]`). This causes: - In dev mode: Runtime Error overlay showing…
  94. @ryota-murakami ryota-murakami closed an issue in laststance/base-ui-masterclass · February 18, 2026 07:14
    Add global navigation header with user menu and logout #51
    ## Description The application has no global navigation header. Authenticated pages (dashboard, modules, lessons) have no persistent navigation, us…
  95. @ryota-murakami ryota-murakami merged laststance/base-ui-masterclass#69 · February 18, 2026 07:14
    feat: resolve all 19 QA issues (#50-#68) #69

    Summary

    Resolves all 19 open QA issues identified during the QA team audit (PR #49 follow-up). Each issue is addressed in its own commit on a singl…

    +577 -27
    18 comments
  96. @ryota-murakami ryota-murakami pushed to laststance/base-ui-masterclass · February 18, 2026 15:14
    1 commit to main
  97. @ryota-murakami ryota-murakami pushed to laststance/base-ui-masterclass · February 18, 2026 15:10
    1 commit to feat/bulk-issues-20260218-v3
    • @ryota-murakami b5cf85b
      fix: resolve CodeRabbit re-review findings
  98. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 18, 2026 15:03
    1 commit to feat/bulk-issues-20260218
    • @ryota-murakami b85826f
      fix: address round-2 CodeRabbit review feedback
  99. @ryota-murakami ryota-murakami opened laststance/base-ui-masterclass#69 · February 18, 2026 06:55
    feat: resolve all 19 QA issues (#50-#68) #69

    Summary

    Resolves all 19 open QA issues identified during the QA team audit (PR #49 follow-up). Each issue is addressed in its own commit on a singl…

    +577 -27
    18 comments
  100. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 18, 2026 14:41
    1 commit to feat/bulk-issues-20260218
    • @ryota-murakami 3895365
      fix: address CodeRabbit review comments on PR #130
  101. @ryota-murakami ryota-murakami opened an issue in laststance/base-ui-masterclass · February 18, 2026 06:29
    Dashboard "Coming soon" vs progress bar distinction unclear #67
    ## Description On the dashboard, some modules show "Coming soon" while others show "0/3" progress bars. It is unclear whether "Coming soon" means t…
  102. @ryota-murakami ryota-murakami opened an issue in laststance/base-ui-masterclass · February 18, 2026 06:29
    Add confirmation toast when exercise is marked complete #68
    ## Description When clicking "Mark Complete" on an exercise, there is no visible confirmation toast or notification. The button changes to "Complet…
  103. @ryota-murakami ryota-murakami opened an issue in laststance/base-ui-masterclass · February 18, 2026 06:29
    Exercise code persistence hook not connected to Sandpack onChange #66
    ## Description The \`useExercisePersistence\` hook provides \`[code, setCode, clearSaved, hasSavedCode]\` and correctly loads saved code from local…