dave
cf2faa9bff
storkit: create 402_bug_whatsapp_and_slack_missing_rebuild_command_handler
2026-03-26 20:04:02 +00:00
dave
92aa1ebccf
storkit: done 402_bug_whatsapp_and_slack_missing_rebuild_command_handler
2026-03-26 20:02:47 +00:00
Timmy
877f69c897
feat: browser-based OAuth login flow (story 406)
...
Add three HTTP endpoints for OAuth login without terminal access:
- GET /oauth/authorize — generates PKCE params, redirects to
claude.com/cai/oauth/authorize with code=true and full scopes
- GET /callback — exchanges auth code for tokens via JSON POST to
platform.claude.com/v1/oauth/token, writes ~/.claude/.credentials.json
- GET /oauth/status — returns current credential state as JSON
Uses SHA-256 (sha2 crate) for PKCE code challenge. The authorize URL
targets claude.com/cai/ (not platform.claude.com) which is required
for Max/Pro subscriptions to grant user:inference scope.
Users visit http://localhost:3001/oauth/authorize in their browser
to authenticate. Matrix/WhatsApp can send this link when auth fails.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 19:58:18 +00:00
Timmy
710b604b7c
feat: auto-refresh expired OAuth token for Claude Code PTY (story 405)
...
Detect authentication_failed errors from the Claude Code PTY stream
and automatically refresh the OAuth access token using the stored
refresh token in ~/.claude/.credentials.json.
- New module server/src/llm/oauth.rs: reads credentials, calls
platform.claude.com/v1/oauth/token with JSON body, writes back
- PTY provider detects "error":"authentication_failed" via AtomicBool
- chat_stream retries once after successful refresh
- Clear error message if refresh also fails
On success the retry is transparent. On failure the user sees:
"OAuth session expired. Please run claude login to re-authenticate."
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 19:58:04 +00:00
Timmy
ab4ce2db92
chore: archive bug 397, create story 399, fix platform-specific npm deps
...
- Archive completed bug 397
- Create story 399 (CLI port flag)
- Remove @biomejs/cli-darwin-arm64 and @rollup/rollup-darwin-arm64
from package.json (breaks Docker builds on Linux)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 19:57:50 +00:00
Timmy
61f6fd60a8
storkit: merge 402_bug_whatsapp_and_slack_missing_rebuild_command_handler
2026-03-26 11:20:55 +00:00
Timmy
e66149e07c
storkit: done 397_bug_selection_screen_directory_picker_unreadable_in_dark_mode
2026-03-26 11:16:24 +00:00
Timmy
108a697483
storkit: merge 397_bug_selection_screen_directory_picker_unreadable_in_dark_mode
2026-03-26 11:16:21 +00:00
Timmy
1a7f419ecf
storkit: create 404_bug_whatsapp_and_slack_missing_assign_command_handler
2026-03-26 11:12:18 +00:00
Timmy
96b1ce373b
storkit: create 403_bug_whatsapp_and_slack_missing_rmtree_command_handler
2026-03-26 11:12:16 +00:00
Timmy
58e41f7e0b
storkit: create 401_bug_whatsapp_and_slack_missing_start_command_handler
2026-03-26 11:12:13 +00:00
Timmy
c9a2fa58eb
storkit: create 400_bug_whatsapp_and_slack_missing_reset_command_handler
2026-03-26 11:12:11 +00:00
Timmy
64c0f190cf
storkit: create 404_bug_whatsapp_and_slack_missing_assign_command_handler
2026-03-26 11:09:49 +00:00
Timmy
fc443ed987
storkit: create 403_bug_whatsapp_and_slack_missing_rmtree_command_handler
2026-03-26 11:09:48 +00:00
Timmy
7939a19816
storkit: create 401_bug_whatsapp_and_slack_missing_start_command_handler
2026-03-26 11:09:46 +00:00
Timmy
46b5087157
storkit: create 400_bug_whatsapp_and_slack_missing_reset_command_handler
2026-03-26 11:09:45 +00:00
Timmy
a8d6524b56
storkit: create 404_bug_whatsapp_and_slack_missing_assign_command_handler
2026-03-26 11:09:28 +00:00
Timmy
61d63db84c
storkit: create 403_bug_whatsapp_and_slack_missing_rmtree_command_handler
2026-03-26 11:09:27 +00:00
Timmy
aa4ec8c779
storkit: create 401_bug_whatsapp_and_slack_missing_start_command_handler
2026-03-26 11:09:25 +00:00
Timmy
3777042ad3
storkit: create 400_bug_whatsapp_and_slack_missing_reset_command_handler
2026-03-26 11:09:24 +00:00
Timmy
feb340beba
storkit: create 404_bug_whatsapp_and_slack_missing_assign_command_handler
2026-03-26 11:07:33 +00:00
Timmy
23369c514d
storkit: create 403_bug_whatsapp_and_slack_missing_rmtree_command_handler
2026-03-26 11:07:31 +00:00
Timmy
832da16b6f
storkit: create 402_bug_whatsapp_and_slack_missing_rebuild_command_handler
2026-03-26 11:07:29 +00:00
Timmy
131964cbc3
storkit: create 401_bug_whatsapp_and_slack_missing_start_command_handler
2026-03-26 11:07:27 +00:00
Timmy
81db0504ed
storkit: create 400_bug_whatsapp_and_slack_missing_reset_command_handler
2026-03-26 11:07:25 +00:00
Timmy
584a44a516
storkit: create 399_story_cli_port_flag_with_project_toml_persistence
2026-03-26 11:05:12 +00:00
Timmy
c7c4a57533
storkit: create 399_story_cli_port_flag_with_project_toml_persistence
2026-03-26 11:03:43 +00:00
Timmy
0a67c28f8c
storkit: create 398_bug_whatsapp_and_slack_missing_async_command_handlers_for_start_rebuild_reset_rmtree_assign
2026-03-26 11:00:01 +00:00
Timmy
6476492caa
storkit: create 397_bug_selection_screen_directory_picker_unreadable_in_dark_mode
2026-03-26 10:52:06 +00:00
dave
faf8734ea8
storkit: accept 393_story_pipeline_stage_notifications_for_whatsapp_and_slack_transports
2026-03-25 19:35:57 +00:00
dave
862f0704be
storkit: accept 394_story_whatsapp_and_slack_permission_prompt_forwarding
2026-03-25 19:31:56 +00:00
dave
d3df1586c6
storkit: accept 395_refactor_fix_npm_deprecated_module_warnings
2026-03-25 19:27:55 +00:00
dave
8a1996e0e4
storkit: accept 390_bug_whatsapp_missing_async_command_handlers_for_start_rebuild_reset_rmtree_assign
2026-03-25 19:21:55 +00:00
dave
61f5a0c3be
storkit: accept 392_refactor_extract_shared_transport_utilities_from_matrix_module_into_chat_submodule
2026-03-25 17:59:45 +00:00
dave
d7bc785de1
storkit: accept 391_bug_strip_prefix_ci_panics_on_multi_byte_utf_8_characters
2026-03-25 17:54:45 +00:00
dave
eaac665a9f
storkit: accept 389_story_whatsapp_phone_number_allowlist_authorization
2026-03-25 17:39:44 +00:00
dave
d702aa59c4
storkit: accept 387_story_configurable_base_branch_name_in_project_toml
2026-03-25 17:30:43 +00:00
dave
9df9a1454a
storkit: create 396_story_whatsapp_bot_startup_announcement_after_restart
2026-03-25 15:52:39 +00:00
dave
47163d235c
storkit: done 390_bug_whatsapp_missing_async_command_handlers_for_start_rebuild_reset_rmtree_assign
2026-03-25 15:44:38 +00:00
dave
a7342fc9d3
storkit: done 393_story_pipeline_stage_notifications_for_whatsapp_and_slack_transports
2026-03-25 15:37:57 +00:00
dave
5dd8feb75c
storkit: merge 393_story_pipeline_stage_notifications_for_whatsapp_and_slack_transports
2026-03-25 15:37:54 +00:00
dave
f5024b2648
storkit: done 394_story_whatsapp_and_slack_permission_prompt_forwarding
2026-03-25 15:34:54 +00:00
dave
6521c83eec
storkit: merge 394_story_whatsapp_and_slack_permission_prompt_forwarding
2026-03-25 15:34:50 +00:00
dave
65e3643655
storkit: done 395_refactor_fix_npm_deprecated_module_warnings
2026-03-25 15:31:30 +00:00
dave
fc95b57a78
storkit: merge 395_refactor_fix_npm_deprecated_module_warnings
2026-03-25 15:31:20 +00:00
dave
7c1a970b13
storkit: create 390_bug_whatsapp_missing_async_command_handlers_for_start_rebuild_reset_rmtree_assign
2026-03-25 15:21:39 +00:00
dave
64e2df20b7
storkit: create 390_bug_whatsapp_missing_async_command_handlers_for_start_rebuild_reset_rmtree_assign
2026-03-25 15:21:32 +00:00
dave
90e3612fd3
storkit: create 395_refactor_fix_npm_deprecated_module_warnings
2026-03-25 15:17:02 +00:00
dave
962bfe37c6
storkit: create 394_story_whatsapp_and_slack_permission_prompt_forwarding
2026-03-25 15:02:00 +00:00
dave
f05c6a42b0
storkit: done 392_refactor_extract_shared_transport_utilities_from_matrix_module_into_chat_submodule
2026-03-25 14:46:06 +00:00