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 pushed to laststance/gitbox · February 14, 2026 15:25
    1 commit to main
    • @ryota-murakami 83f1682
      fix: increase flaky E2E test timeouts for CI reliability
  2. @ryota-murakami ryota-murakami deleted branch refs/heads/feat/maintenance-delete-button in laststance/gitbox · February 14, 2026 14:30

    Updated Feb 14

  3. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 14, 2026 14:30
    2 commits to main
    • @ryota-murakami 2c1cc5c
      docs: add violations section to CLAUDE.md for deployment guidelines
    • @ryota-murakami 51d2962
      feat: add delete button to Maintenance Mode repo cards
    • 3 more commits »
  4. @ryota-murakami ryota-murakami merged laststance/gitbox#119 · February 14, 2026 06:30
    feat: add delete button to Maintenance Mode repo cards #119

    Summary

    • Add permanent deletion option for maintenance items (addresses PRD gap F03)
    • Server action deleteMaintenanceItem with auth + rate limiting (b…
    +270 -5
    10 comments
  5. @ryota-murakami ryota-murakami opened laststance/lain#8 · February 14, 2026 06:17
    test: add E2E auth bypass with Playwright smoke tests #8

    Summary

    • Add LAIN_TEST_MODE env var to bypass Raindrop.io OAuth in E2E tests
    • Create electron/test-auth.ts with mock IPC handlers that return authen…
    +122 -15
    1 comment
  6. @ryota-murakami ryota-murakami created a branch in laststance/lain · February 14, 2026 14:17
  7. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 14, 2026 14:12
    1 commit to feat/maintenance-delete-button
    • @ryota-murakami 06446c9
      fix: increase Slate editor timeouts in flaky e2e tests
  8. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 14, 2026 13:43
    1 commit to feat/maintenance-delete-button
    • @ryota-murakami 1bea645
      fix: resolve CodeRabbit review findings
  9. @ryota-murakami ryota-murakami opened laststance/gitbox#119 · February 14, 2026 05:01
    feat: add delete button to Maintenance Mode repo cards #119

    Summary

    • Add permanent deletion option for maintenance items (addresses PRD gap F03)
    • Server action deleteMaintenanceItem with auth + rate limiting (b…
    +270 -5
    10 comments
  10. @ryota-murakami ryota-murakami created a branch in laststance/gitbox · February 14, 2026 13:01
  11. @ryota-murakami ryota-murakami pushed to laststance/skills-desktop · February 14, 2026 12:07
    1 commit to main
    • @ryota-murakami b83d266
      feat(ui): distinguish symlink and local skills with visual indicators
  12. @ryota-murakami ryota-murakami pushed to laststance/claude-code-marketplace · February 14, 2026 11:59
    1 commit to main
    • @ryota-murakami f9e2234
      chore: remove git-diff plugin
  13. @ryota-murakami ryota-murakami pushed to laststance/claude-code-marketplace · February 14, 2026 11:57
    1 commit to main
    • @ryota-murakami e63851e
      feat: add qa-team plugin with 5-perspective QA Agent Team
  14. @ryota-murakami ryota-murakami pushed to laststance/skills · February 14, 2026 11:01
    1 commit to main
    • @ryota-murakami 9bb0c2b
      feat: add 8 skills (analyze-app, explain, git, load, qa-team, save, t…
  15. @ryota-murakami ryota-murakami pushed to laststance/lain · February 14, 2026 10:22
    2 commits to main
    • @ryota-murakami 94baa89
      refactor: enforce strict React lint rules across all components
    • @ryota-murakami 4d2429b
      ci: add GitHub Actions CI workflow with reusable prepare action
  16. @ryota-murakami ryota-murakami pushed to laststance/lain · February 14, 2026 08:05
    1 commit to main
    • @ryota-murakami ac37867
      chore: update ESLint configuration and dependencies
  17. @ryota-murakami ryota-murakami pushed to laststance/laststance.io · February 14, 2026 07:47
    1 commit to main
    • @ryota-murakami 2e192c3
      fix(mdx): enable gfm tables in article pages
  18. @ryota-murakami ryota-murakami made laststance/lain public · February 13, 2026 23:32

    Raindrop.io desktop client for macOS

    TypeScript Updated Feb 14

  19. @ryota-murakami ryota-murakami pushed to laststance/laststance.io · February 14, 2026 06:29
    1 commit to main
    • @ryota-murakami 22a2e46
      feat(WhatNew): add new article on discontinuing Complete macOS autoco…
  20. @ryota-murakami ryota-murakami pushed to laststance/laststance.io · February 14, 2026 06:15
    1 commit to main
    • @ryota-murakami 9f29ccf
      feat(projects): add new projects and logos to the project list
  21. @ryota-murakami ryota-murakami pushed to ryota-murakami/next-play · February 14, 2026 05:57
    1 commit to main
    • @ryota-murakami 1cca7c6
      fix: correct indentation in Guestbook component form closing tag for …
  22. @ryota-murakami ryota-murakami starred matt1398/claude-devtools · February 13, 2026 21:44

    TypeScript 238 Updated Feb 14

  23. @ryota-murakami ryota-murakami pushed to ryota-murakami/dotfiles · February 14, 2026 04:45
    1 commit to master
    • @ryota-murakami 95fff4a
      [keybindings] clean up and update keybindings across cursor, vscode, …
  24. @ryota-murakami ryota-murakami pushed to ryota-murakami/dotfiles · February 14, 2026 02:12
    1 commit to master
    • @ryota-murakami 846b5e8
      [gitignore] add 'sidecar' to ignore list and ensure 'cmus' is include…
  25. @ryota-murakami ryota-murakami pushed to laststance/skills-desktop · February 14, 2026 02:02
    1 commit to main
    • @ryota-murakami 77ef8f1
      fix(website): update download buttons to direct DMG links for v0.4.1
  26. @ryota-murakami ryota-murakami released v0.4.1 of laststance/skills-desktop · February 13, 2026 17:37

    Bug Fix

    • fix(symlink): Resolve relative readlink targets for production builds
      • Production app incorrectly reported valid symlinks as "broken"
      • Root cause: readlink() returns relative paths (e.g. ..…
    Read more
  27. @ryota-murakami ryota-murakami pushed to laststance/skills-desktop · February 14, 2026 01:30
    1 commit to main
    • @ryota-murakami 6837e44
      fix(symlink): resolve relative readlink targets for production builds
  28. @ryota-murakami ryota-murakami pushed to laststance/skills-desktop · February 14, 2026 01:00
    1 commit to main
    • @ryota-murakami daa6472
      fix: update README with new screenshot for improved clarity
  29. @ryota-murakami ryota-murakami pushed to laststance/skills-desktop · February 13, 2026 23:07
    1 commit to main
    • @ryota-murakami 64e1a90
      docs: add screenshot for README
  30. @ryota-murakami ryota-murakami released v0.4.0 of laststance/skills-desktop · February 13, 2026 14:57

    What's Changed

    • feat(tooltip): Show linked agent names in StatusBadge tooltip
    • feat(sidebar): Expand SourceCard click area to include path and stats
    • feat(sidebar): Add left accent bar highlight for …
    Read more
  31. @ryota-murakami ryota-murakami pushed to laststance/skills-desktop · February 13, 2026 22:49
    1 commit to main
    • @ryota-murakami 807b8d3
      feat(tooltip): show linked agent names in StatusBadge tooltip
  32. @ryota-murakami ryota-murakami pushed to laststance/skills-desktop · February 13, 2026 22:35
    2 commits to main
    • @ryota-murakami 241322a
      feat(sidebar): add left accent bar highlight for active view selection
    • @ryota-murakami b665d21
      feat(sidebar): expand SourceCard click area to include path and stats
  33. @ryota-murakami ryota-murakami starred marcus/sidecar · February 13, 2026 12:45

    Use sidecar next to CLI agents for diffs, file trees, conversation history, and task management with td

    Go 641 Updated Feb 14

  34. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 13, 2026 20:24
    1 commit to main
    • @ryota-murakami 697a206
      fix: restore /boards page by fixing CI migration paths and adding Sen…
  35. @ryota-murakami ryota-murakami deleted branch refs/heads/fix/storybook-full-workflow-focus in laststance/gitbox · February 13, 2026 15:55

    Updated Feb 13

  36. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 13, 2026 15:55
    1 commit to main
    • @ryota-murakami 38ba505
      fix: add explicit focus before clear in TestFullWorkflow storybook te…
  37. @ryota-murakami ryota-murakami merged laststance/gitbox#118 · February 13, 2026 07:55
    fix: storybook TestFullWorkflow focus issue in CI #118

    Summary

    • Fix flaky TestFullWorkflow storybook interaction test that fails in CI with "The element to be cleared could not be focused"
    • Root cause: <…
    +3 -0
    5 comments
  38. @ryota-murakami ryota-murakami created a branch in laststance/gitbox · February 13, 2026 15:32
  39. @ryota-murakami ryota-murakami pushed to laststance/skills · February 13, 2026 15:43
    1 commit to main
    • @ryota-murakami f510d42
      docs: add individual skill install commands to README
  40. @ryota-murakami ryota-murakami pushed to laststance/skills · February 13, 2026 15:41
    1 commit to main
    • @ryota-murakami 09d4f78
      feat: add 5 skills (code-trace, electron-release, gif-analyzer, mento…
  41. @ryota-murakami ryota-murakami opened laststance/gitbox#118 · February 13, 2026 07:32
    fix: storybook TestFullWorkflow focus issue in CI #118

    Summary

    • Fix flaky TestFullWorkflow storybook interaction test that fails in CI with "The element to be cleared could not be focused"
    • Root cause: <…
    +3 -0
    5 comments
  42. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 13, 2026 15:00
    1 commit to main
    • @ryota-murakami f1e2fc0
      feat: add rate limiting on auth and API endpoints (#117)
  43. @ryota-murakami ryota-murakami deleted branch refs/heads/feat/issue-77-rate-limiting in laststance/gitbox · February 13, 2026 15:00

    Updated Feb 13

  44. @ryota-murakami ryota-murakami merged laststance/gitbox#117 · February 13, 2026 07:00
    feat: add rate limiting on auth and API endpoints #117

    Summary

    Closes #77

    Add in-memory sliding-window rate limiting to protect against brute-force enumeration of board IDs, excessive GitHub API consump…

    +622 -13
    15 comments
  45. @ryota-murakami ryota-murakami closed an issue in laststance/gitbox · February 13, 2026 07:00
    Add rate limiting on auth and API endpoints #77
    ## Summary No rate limiting exists on: - OAuth login attempts - Server Action invocations - GitHub API proxy calls While Supabase and GitHub have t…
  46. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 13, 2026 14:47
    1 commit to feat/issue-77-rate-limiting
    • @ryota-murakami 30f6c0f
      fix: add empty identifier guard in checkRateLimit
  47. @ryota-murakami ryota-murakami pushed to laststance/skills · February 13, 2026 14:41
    1 commit to main
    • @ryota-murakami 3624b8c
      feat: add coderabbit-resolver skill
  48. @ryota-murakami ryota-murakami created a branch in laststance/skills · February 13, 2026 14:41
  49. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 13, 2026 14:27
    1 commit to feat/issue-77-rate-limiting
    • @ryota-murakami 04b601d
      fix: address CodeRabbit review findings in rate limiting
  50. @ryota-murakami ryota-murakami opened laststance/gitbox#117 · February 13, 2026 06:00
    feat: add rate limiting on auth and API endpoints #117

    Summary

    Closes #77

    Add in-memory sliding-window rate limiting to protect against brute-force enumeration of board IDs, excessive GitHub API consump…

    +622 -13
    15 comments
  51. @ryota-murakami ryota-murakami created a branch in laststance/gitbox · February 13, 2026 13:59
  52. @ryota-murakami ryota-murakami deleted branch refs/heads/fix/issue-69-reduce-e2e-wait-for-timeout in laststance/gitbox · February 13, 2026 13:22

    Updated Feb 13

  53. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 13, 2026 13:22
    1 commit to main
    • @ryota-murakami a9d0653
      fix(e2e): eliminate waitForTimeout across all E2E tests (#116)
  54. @ryota-murakami ryota-murakami closed an issue in laststance/gitbox · February 13, 2026 05:22
    Reduce waitForTimeout usage in E2E tests (254 occurrences) #69
    ## Summary `waitForTimeout` is the #1 cause of flaky E2E tests. There are **254 occurrences across 23 files**. These hard-coded delays may be too s…
    1 comment
  55. @ryota-murakami ryota-murakami merged laststance/gitbox#116 · February 13, 2026 05:22
    fix(e2e): eliminate waitForTimeout across all E2E tests #116

    Summary

    Closes #69

    • Eliminates ~246 waitForTimeout calls across 22 E2E spec files
    • Replaces with proper Playwright assertion patterns:
      • Hydration waits
    +684 -470
    22 comments
  56. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 13, 2026 13:09
    1 commit to fix/issue-69-reduce-e2e-wait-for-timeout
    • @ryota-murakami 0e62095
      fix(e2e): use consistent selector for remove favorite button
  57. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 13, 2026 12:53
    1 commit to fix/issue-69-reduce-e2e-wait-for-timeout
    • @ryota-murakami 2c3f76b
      fix(e2e): restore waitForTimeout in CDP drag tests
  58. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 13, 2026 12:51
    1 commit to fix/issue-69-reduce-e2e-wait-for-timeout
    • @ryota-murakami 6eb0ca8
      fix(e2e): replace waitForTimeout with polling in note-modal slash com…
  59. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 13, 2026 12:14
    1 commit to fix/issue-69-reduce-e2e-wait-for-timeout
    • @ryota-murakami 9be18db
      fix(e2e): address CodeRabbit review findings in favorites tests
  60. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 13, 2026 12:11
    1 commit to fix/issue-69-reduce-e2e-wait-for-timeout
    • @ryota-murakami 5fb50c3
      fix(e2e): fix search filter assertion in add-repository-pagination
  61. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 13, 2026 11:53
    1 commit to fix/issue-69-reduce-e2e-wait-for-timeout
    • @ryota-murakami f79f760
      fix(e2e): fix add-repository-combobox and sidebar-theme-toggle tests
  62. @ryota-murakami ryota-murakami deleted branch refs/heads/feat/issue-78-security-event-logging in laststance/gitbox · February 13, 2026 11:19

    Updated Feb 13

  63. @ryota-murakami ryota-murakami closed an issue in laststance/gitbox · February 13, 2026 03:19
    Add security event logging (audit log) #78
    ## Summary No specific security event logging exists for: - Failed authentication attempts - Account deletion events - Unusual access patterns (e.g…
  64. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 13, 2026 11:19
    1 commit to main
    • @ryota-murakami 39ab8aa
      feat: add security event logging via Sentry custom events (#78) (#115)
  65. @ryota-murakami ryota-murakami merged laststance/gitbox#115 · February 13, 2026 03:19
    feat: add security event logging via Sentry custom events #115

    Summary

    Closes #78

    Add centralized security event logging using Sentry custom events (no new DB table).

    New module: src/lib/security-events.ts

    • log…
    +92 -0
    5 comments
  66. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 13, 2026 11:18
    1 commit to fix/issue-69-reduce-e2e-wait-for-timeout
    • @ryota-murakami f00642e
      fix(e2e): fix flaky tests in favorites, theme-persistence, and pagina…
  67. @ryota-murakami ryota-murakami pushed to laststance/skills-desktop · February 13, 2026 10:42
    2 commits to main
    • @ryota-murakami abdce23
      test: add broken symlink coverage for symlinkChecker and agentScanner
    • @ryota-murakami e0cb06e
      feat: add typed IPC contract for compile-time channel safety
    • 2 more commits »
  68. @ryota-murakami ryota-murakami deleted branch refs/heads/test/broken-symlink-coverage in laststance/skills-desktop · February 13, 2026 10:40

    Updated Feb 13

  69. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 13, 2026 10:38
    2 commits to main
    • @ryota-murakami 673eeb1
      refactor: migrate server actions to ActionResult<T> discriminated uni…
    • @ryota-murakami c96a727
      fix: remove duplicate Sentry reporting from core functions
    • 2 more commits »
  70. @ryota-murakami ryota-murakami deleted branch refs/heads/feat/typed-ipc-contract in laststance/skills-desktop · February 13, 2026 10:42

    Updated Feb 13

  71. @ryota-murakami ryota-murakami merged laststance/skills-desktop#5 · February 13, 2026 02:42
    feat: typed IPC contract for compile-time channel safety #5

    Summary

    • Add IpcInvokeContract and IpcEventContract types mapping channel -> args -> result
    • Add typedHandle() and typedInvoke() wrappers enforcing …
    +409 -263
    2 comments
  72. @ryota-murakami ryota-murakami closed an issue in laststance/skills-desktop · February 13, 2026 02:42
    Typed IPC contract for ipcMain/ipcRenderer (channel/args/result) #2
    ## Background Currently, IPC channels are used as raw string literals (e.g. `ipcRenderer.invoke('skills:getAll')`). This makes it easy to introduce…
  73. @ryota-murakami ryota-murakami created a branch in laststance/skills-desktop · February 13, 2026 10:32
  74. @ryota-murakami ryota-murakami pushed to laststance/skills-desktop · February 13, 2026 10:40
    2 commits to feat/typed-ipc-contract
    • @ryota-murakami c4020d7
      test: add broken symlink coverage for symlinkChecker and agentScanner
    • @ryota-murakami 8b3280f
      Merge pull request #4 from laststance/test/broken-symlink-coverage
    • 1 more commit »
  75. @ryota-murakami ryota-murakami merged laststance/skills-desktop#4 · February 13, 2026 02:40
    test: add broken symlink test coverage #4

    Summary

    • Add unit tests for symlinkChecker.ts covering valid, broken, and missing symlink states
    • Add unit tests for agentScanner.ts covering skill …
    +571 -0
    2 comments
  76. @ryota-murakami ryota-murakami pushed to laststance/skills-desktop · February 13, 2026 10:40
    2 commits to main
    • @ryota-murakami c4020d7
      test: add broken symlink coverage for symlinkChecker and agentScanner
    • @ryota-murakami 8b3280f
      Merge pull request #4 from laststance/test/broken-symlink-coverage
  77. @ryota-murakami ryota-murakami closed an issue in laststance/skills-desktop · February 13, 2026 02:40
    test: Add E2E test cases for broken symlinks #1
    ## Background During debugging of skill count mismatch bug (left pane showed 23, center panel showed 1), we discovered a testing gap. ### Root Caus…
  78. @ryota-murakami ryota-murakami closed an issue in laststance/gitbox · February 13, 2026 02:38
    Migrate remaining Server Actions to ActionResult<T> pattern #102
    ## Summary PR #100 introduced `ActionResult` discriminated union type and converted `github.ts` and `user-presets.ts`. The remaining Server Action …
  79. @ryota-murakami ryota-murakami merged laststance/gitbox#112 · February 13, 2026 02:38
    refactor: migrate server actions to ActionResult<T> (#102) #112

    Summary

    • Migrate client-consumed server actions from throw-based error handling to ActionResult<T> discriminated union pattern
    • board.ts: Convert cr…
    +394 -224
    10 comments
  80. @ryota-murakami ryota-murakami opened laststance/skills-desktop#5 · February 13, 2026 02:36
    feat: typed IPC contract for compile-time channel safety #5

    Summary

    • Add IpcInvokeContract and IpcEventContract types mapping channel -> args -> result
    • Add typedHandle() and typedInvoke() wrappers enforcing …
    +409 -263
    2 comments
  81. @ryota-murakami ryota-murakami created a branch in laststance/skills-desktop · February 13, 2026 10:36
  82. @ryota-murakami ryota-murakami opened laststance/skills-desktop#4 · February 13, 2026 02:33
    test: add broken symlink test coverage #4

    Summary

    • Add unit tests for symlinkChecker.ts covering valid, broken, and missing symlink states
    • Add unit tests for agentScanner.ts covering skill …
    +571 -0
    2 comments
  83. @ryota-murakami ryota-murakami pushed to laststance/skills-desktop · February 13, 2026 10:33
    1 commit to test/broken-symlink-coverage
    • @ryota-murakami c4020d7
      test: add broken symlink coverage for symlinkChecker and agentScanner
  84. @ryota-murakami ryota-murakami deleted branch refs/heads/test/issue-86-dialog-unit-tests in laststance/gitbox · February 13, 2026 10:28

    Updated Feb 13

  85. @ryota-murakami ryota-murakami merged laststance/gitbox#113 · February 13, 2026 02:28
    test: add unit tests for CommandPalette, DeleteBoardDialog, RenameBoardDialog #113

    Summary

    Closes #86

    • Add 29 unit tests for CommandPalette covering keyboard shortcuts (⌘K open/close, Escape), search filtering, keyboard navigation…
    +1,012 -0
    8 comments
  86. @ryota-murakami ryota-murakami closed an issue in laststance/gitbox · February 13, 2026 02:28
    Add E2E test for CommandPalette and unit tests for missing dialog components #86
    ## Summary Several components have Storybook coverage but lack behavioral tests: ### Missing E2E Tests - **CommandPalette** (Ctrl+K) — Storybook st…
  87. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 13, 2026 10:28
    2 commits to main
    • @ryota-murakami 89e83fa
      test: add unit tests for CommandPalette, DeleteBoardDialog, RenameBoa…
    • @ryota-murakami 6e988f4
      fix: use data-testid for backdrop click test
    • 1 more commit »
  88. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 13, 2026 10:24
    2 commits to refactor/issue-102-action-result-migration
  89. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 13, 2026 10:09
    1 commit to fix/issue-69-reduce-e2e-wait-for-timeout
    • @ryota-murakami 10b4841
      fix: resolve CodeRabbit review findings
  90. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 13, 2026 10:07
    1 commit to test/issue-86-dialog-unit-tests
    • @ryota-murakami 6e988f4
      fix: use data-testid for backdrop click test
  91. @ryota-murakami ryota-murakami deleted branch refs/heads/refactor/issue-74-decompose-maintenance-client in laststance/gitbox · February 13, 2026 10:05

    Updated Feb 13

  92. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 13, 2026 10:05
    2 commits to main
    • @ryota-murakami dc21f75
      refactor: decompose MaintenanceClient into custom hooks (#74)
    • @ryota-murakami 2740b01
      Merge pull request #114 from laststance/refactor/issue-74-decompose-m…
  93. @ryota-murakami ryota-murakami closed an issue in laststance/gitbox · February 13, 2026 02:05
    Decompose MaintenanceClient god component (800 lines, 15+ useState) #74
    ## Summary \`src/app/maintenance/MaintenanceClient.tsx\` is 800 lines with 15+ \`useState\` hooks managing multiple concerns: search, sort, view mo…
  94. @ryota-murakami ryota-murakami merged laststance/gitbox#114 · February 13, 2026 02:05
    refactor: decompose MaintenanceClient into custom hooks #114

    Summary

    Closes #74

    Extract 4 stateful logic clusters from the 723-line MaintenanceClient god component into focused custom hooks:

    • useMaintenanceVi…
    +482 -272
    4 comments
  95. @ryota-murakami ryota-murakami pushed to ryota-murakami/dotfiles · February 13, 2026 09:56
    1 commit to master
    • @ryota-murakami 48a0bac
      [settings] update VSCode and Windsurf settings for improved functiona…
  96. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 13, 2026 09:49
    1 commit to refactor/issue-102-action-result-migration
    • @ryota-murakami c96a727
      fix: remove duplicate Sentry reporting from core functions
  97. @ryota-murakami ryota-murakami opened laststance/gitbox#116 · February 13, 2026 01:30
    fix(e2e): eliminate waitForTimeout across all E2E tests #116

    Summary

    Closes #69

    • Eliminates ~246 waitForTimeout calls across 22 E2E spec files
    • Replaces with proper Playwright assertion patterns:
      • Hydration waits
    +684 -470
    22 comments
  98. @ryota-murakami ryota-murakami created a branch in laststance/gitbox · February 13, 2026 09:30
  99. @ryota-murakami ryota-murakami opened laststance/gitbox#115 · February 13, 2026 01:15
    feat: add security event logging via Sentry custom events #115

    Summary

    Closes #78

    Add centralized security event logging using Sentry custom events (no new DB table).

    New module: src/lib/security-events.ts

    • log…
    +92 -0
    5 comments
  100. @ryota-murakami ryota-murakami created a branch in laststance/gitbox · February 13, 2026 09:15
  101. @ryota-murakami ryota-murakami opened laststance/gitbox#114 · February 13, 2026 01:11
    refactor: decompose MaintenanceClient into custom hooks #114

    Summary

    Closes #74

    Extract 4 stateful logic clusters from the 723-line MaintenanceClient god component into focused custom hooks:

    • useMaintenanceVi…
    +482 -272
    4 comments
  102. @ryota-murakami ryota-murakami created a branch in laststance/gitbox · February 13, 2026 09:11
  103. @ryota-murakami ryota-murakami opened laststance/gitbox#113 · February 13, 2026 01:02
    test: add unit tests for CommandPalette, DeleteBoardDialog, RenameBoardDialog #113

    Summary

    Closes #86

    • Add 29 unit tests for CommandPalette covering keyboard shortcuts (⌘K open/close, Escape), search filtering, keyboard navigation…
    +1,012 -0
    8 comments
  104. @ryota-murakami ryota-murakami created a branch in laststance/gitbox · February 13, 2026 09:01
  105. @ryota-murakami ryota-murakami opened laststance/gitbox#112 · February 13, 2026 00:51
    refactor: migrate server actions to ActionResult<T> (#102) #112

    Summary

    • Migrate client-consumed server actions from throw-based error handling to ActionResult<T> discriminated union pattern
    • board.ts: Convert cr…
    +394 -224
    10 comments
  106. @ryota-murakami ryota-murakami created a branch in laststance/gitbox · February 13, 2026 08:51
  107. @ryota-murakami ryota-murakami closed an issue in laststance/gitbox · February 12, 2026 23:59
    Enable failOnFlakyTests: true in Playwright config #72
    ## Summary `failOnFlakyTests: false` in `playwright.config.ts` means tests that pass on retry are not flagged as failures. Combined with `retries: …
  108. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 13, 2026 07:59
    2 commits to main
    • @ryota-murakami 936401a
      fix: enable failOnFlakyTests to enforce test reliability (#72)
    • @ryota-murakami 6be1f1d
      Merge remote-tracking branch 'origin/main' into fix/issue-72-fail-on-…
    • 1 more commit »
  109. @ryota-murakami ryota-murakami merged laststance/gitbox#103 · February 12, 2026 23:59
    fix: enable failOnFlakyTests to enforce test reliability (#72) #103

    Summary

    • Enable failOnFlakyTests: true in Playwright config to enforce test reliability
    • Flaky tests (pass only after retry) now fail CI instead of …
    +3 -3
    6 comments
  110. @ryota-murakami ryota-murakami released v0.3.1 of laststance/skills-desktop · February 12, 2026 23:53

    Bug Fixes

    • Sync Conflict dialog: Fix buttons staying disabled after selecting conflicts (isSyncing not reset on preview fulfilled)
    • Windsurf directory: Use correct .windsurf path instead of legacy .…
    Read more
  111. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 13, 2026 07:46
    2 commits to fix/issue-72-fail-on-flaky-tests
  112. @ryota-murakami ryota-murakami pushed to laststance/skills-desktop · February 13, 2026 07:44
    2 commits to main
    • @ryota-murakami 878cd6b
      feat: change agent context menu to delete skills folder instead of sy…
    • @ryota-murakami b21c5f5
      fix: always reset isSyncing on sync preview fulfilled
    • 4 more commits »
  113. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 13, 2026 07:27
    1 commit to main
    • @ryota-murakami d2faf30
      fix(e2e): eliminate flaky tests in shard 8 (note-modal, maintenance s…
  114. @ryota-murakami ryota-murakami deleted branch refs/heads/fix/issue-84-reduce-timeout-a11y-error in laststance/gitbox · February 13, 2026 05:24

    Updated Feb 13

  115. @ryota-murakami ryota-murakami closed an issue in laststance/gitbox · February 12, 2026 21:24
    Reduce E2E networkidle dependency and global timeout #84
    ## Summary Two related E2E reliability improvements: ### 1. networkidle waits (187 occurrences) \`waitForLoadState('networkidle')\` waits 500ms of …
  116. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 13, 2026 05:24
    2 commits to main
    • @ryota-murakami 28963f8
      fix: reduce E2E timeout to 30s and enable a11y error mode (#84)
    • @ryota-murakami c7f211e
      fix: revert a11y error mode to todo (existing violations need fixing …
    • 1 more commit »
  117. @ryota-murakami ryota-murakami merged laststance/gitbox#105 · February 12, 2026 21:24
    fix: reduce E2E timeout to 30s and enable a11y error mode (#84) #105

    Summary

    • Reduce Playwright global test timeout from 60s to 30s to catch slow/hanging tests earlier
    • Switch Storybook a11y test mode from 'todo' to '…
    +2 -2
    6 comments
  118. @ryota-murakami ryota-murakami deleted branch refs/heads/refactor/issue-65-split-landing-page in laststance/gitbox · February 13, 2026 05:05

    Updated Feb 13

  119. @ryota-murakami ryota-murakami closed an issue in laststance/gitbox · February 12, 2026 21:05
    Split landing page into component files (1093 lines) #65
    ## Summary `src/app/page.tsx` is 1093 lines with 8 inline components. The entire page is `'use client'` even though static sections (FeaturesSectio…
  120. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 13, 2026 05:05
    2 commits to main
    • @ryota-murakami 5db4016
      refactor: split landing page into 8 focused components (#65)
    • @ryota-murakami 427c0e7
      Merge pull request #111 from laststance/refactor/issue-65-split-landi…
  121. @ryota-murakami ryota-murakami merged laststance/gitbox#111 · February 12, 2026 21:05
    refactor: split landing page into 8 focused components (#65) #111

    Summary

    • Decompose 1093-line monolithic page.tsx into 8 focused components in src/app/(landing)/ route group
    • page.tsx reduced to ~30 lines of thin …
    +1,113 -1,073
    4 comments
  122. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 13, 2026 05:05
    2 commits to main
    • @ryota-murakami 715dcea
      refactor: extract AddRepositoryCombobox hooks (#80)
    • @ryota-murakami 4434047
      Merge pull request #110 from laststance/refactor/issue-80-extract-add…
  123. @ryota-murakami ryota-murakami deleted branch refs/heads/refactor/issue-80-extract-add-repo-hooks in laststance/gitbox · February 13, 2026 05:05

    Updated Feb 13

  124. @ryota-murakami ryota-murakami merged laststance/gitbox#110 · February 12, 2026 21:05
    refactor: extract AddRepositoryCombobox hooks (#80) #110

    Summary

    • Extract 3 custom hooks from AddRepositoryCombobox (12 useState → 2 local):
      • useOrganizationData — user profile + GitHub org fetching
      • useRe…
    +291 -172
    5 comments
  125. @ryota-murakami ryota-murakami closed an issue in laststance/gitbox · February 12, 2026 21:05
    Extract AddRepositoryCombobox hooks (12 useState) #80
    ## Summary \`src/components/Board/AddRepositoryCombobox.tsx\` (791 lines) has 12 \`useState\` hooks and duplicates virtual/non-virtual rendering pa…
  126. @ryota-murakami ryota-murakami deleted branch refs/heads/refactor/issue-66-extract-comment-section in laststance/gitbox · February 13, 2026 05:05

    Updated Feb 13

  127. @ryota-murakami ryota-murakami merged laststance/gitbox#109 · February 12, 2026 21:05
    refactor: extract shared CommentSection component (#66) #109

    Summary

    • Extract duplicated Activity toggle + CommentInlineEdit + CommentDisplay + CommentActionsMenu pattern into CommentSection component
    • Replace…
    +147 -151
    5 comments
  128. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 13, 2026 05:05
    2 commits to main
    • @ryota-murakami 12de247
      refactor: extract shared CommentSection component (#66)
    • @ryota-murakami 7faa3ec
      Merge pull request #109 from laststance/refactor/issue-66-extract-com…
  129. @ryota-murakami ryota-murakami closed an issue in laststance/gitbox · February 12, 2026 21:05
    Extract shared CommentSection component (3-way UI duplication) #66
    ## Summary Comment inline editing UI (CommentInlineEdit + CommentDisplay + CommentActionsMenu) is implemented 3 times with nearly identical JSX and…
  130. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 13, 2026 05:05
    2 commits to main
    • @ryota-murakami 0630d36
      test: add account deletion dialog test coverage (#70)
    • @ryota-murakami 1f2c3ce
      Merge pull request #108 from laststance/test/issue-70-account-deletio…
  131. @ryota-murakami ryota-murakami deleted branch refs/heads/test/issue-70-account-deletion-coverage in laststance/gitbox · February 13, 2026 05:05

    Updated Feb 13

  132. @ryota-murakami ryota-murakami closed an issue in laststance/gitbox · February 12, 2026 21:05
    Add test coverage for account deletion flow #70
    ## Summary `DeleteAccountDialog.tsx` and `src/app/account/page.tsx` have **zero test coverage** — no unit tests, no Storybook stories, no E2E tests…
  133. @ryota-murakami ryota-murakami merged laststance/gitbox#108 · February 12, 2026 21:05
    test: add account deletion dialog test coverage (#70) #108

    Summary

    • Add Storybook stories for DeleteAccountDialog with 4 stories: Default, WithConfirmationTyped, PartialInput, Closed
    • Add E2E tests for accou…
    +219 -0
    5 comments
  134. @ryota-murakami ryota-murakami merged laststance/gitbox#104 · February 12, 2026 21:05
    fix: remove dead loading/error Redux state from boardSlice (#76) #104

    Summary

    • Remove dead loading and error fields from BoardState interface and initial state
    • Remove setBoardError action, selectBoardLoading and selec…
    +19 -196
    7 comments
  135. @ryota-murakami ryota-murakami deleted branch refs/heads/fix/issue-76-remove-dead-redux-state in laststance/gitbox · February 13, 2026 05:05

    Updated Feb 13

  136. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 13, 2026 05:05
    2 commits to main
    • @ryota-murakami 1160a3c
      fix: remove dead loading/error Redux state from boardSlice (#76)
    • @ryota-murakami d3ac258
      Merge pull request #104 from laststance/fix/issue-76-remove-dead-redu…
  137. @ryota-murakami ryota-murakami closed an issue in laststance/gitbox · February 12, 2026 21:05
    Clean up dead Redux state and adopt React 19 APIs #76
    ## Summary Multiple small React modernization items that can be addressed together: ### 1. Dead Redux State \`boardSlice.loading\` and \`boardSlice…
  138. @ryota-murakami ryota-murakami merged laststance/gitbox#107 · February 12, 2026 21:03
    refactor: decompose handleDragEnd into focused sub-handlers (#64) #107

    Summary

    • Extract recordColumnHistory() helper to deduplicate 3 identical undo-history blocks
    • Extract handleNewRowDrop() for column → new row zone d…
    +149 -190
    5 comments
  139. @ryota-murakami ryota-murakami deleted branch refs/heads/refactor/issue-64-decompose-handle-drag-end in laststance/gitbox · February 13, 2026 05:04

    Updated Feb 13

  140. @ryota-murakami ryota-murakami closed an issue in laststance/gitbox · February 12, 2026 21:04
    Decompose KanbanBoard handleDragEnd (285 lines, complexity 15) #64
    ## Summary `handleDragEnd` in `KanbanBoard.tsx` is ~285 lines handling 3 completely different drag operation types in a single function with cyclom…
  141. @ryota-murakami ryota-murakami pushed to laststance/gitbox · February 13, 2026 05:04
    2 commits to main
    • @ryota-murakami 9b79cde
      refactor: decompose handleDragEnd into focused sub-handlers (#64)
    • @ryota-murakami dec6b9b
      Merge pull request #107 from laststance/refactor/issue-64-decompose-h…
  142. @ryota-murakami ryota-murakami deleted branch refs/heads/refactor/issue-79-extract-statuslist-mapper in laststance/gitbox · February 13, 2026 05:03

    Updated Feb 13

  143. @ryota-murakami ryota-murakami merged laststance/gitbox#106 · February 12, 2026 21:03
    refactor: extract shared StatusList mapper (#79) #106

    Summary

    • Create toStatusListDomain() mapper in src/lib/actions/mappers.ts
    • Replace 3 identical StatusListRow → StatusListDomain mapping blocks in bo…
    +38 -31
    4 comments