dave
081b33a8a6
storkit: done 421_story_timer_command_for_deferred_agent_start
2026-03-28 09:02:23 +00:00
dave
1ec9aaab8a
storkit: done 420_story_loc_for_a_specified_file_bot_command_and_web_ui_slash_command
2026-03-28 08:59:03 +00:00
dave
c0ea5f0cb8
storkit: done 418_refactor_split_pool_auto_assign_rs_into_submodules
2026-03-28 08:48:05 +00:00
dave
203e8f22be
storkit: done 417_refactor_split_matrix_bot_rs_into_focused_modules
2026-03-28 08:30:04 +00:00
dave
102919e0b3
storkit: accept 415_refactor_split_agents_pool_mod_rs_into_submodules
2026-03-27 19:53:40 +00:00
dave
d63aa0a3c2
storkit: accept 416_refactor_split_io_fs_rs_into_submodules
2026-03-27 19:49:39 +00:00
dave
7f7db57933
storkit: accept 414_story_loc_command_filters_out_known_huge_files
2026-03-27 19:14:37 +00:00
dave
043791194f
storkit: accept 413_refactor_split_slack_rs_into_focused_modules
2026-03-27 18:59:36 +00:00
dave
710f839c65
storkit: accept 409_refactor_split_whatsapp_rs_into_focused_modules
2026-03-27 18:38:35 +00:00
dave
b0e21abb6e
storkit: accept 410_story_loc_bot_command_top_files_by_line_count
2026-03-27 18:32:34 +00:00
dave
6acd7f5249
storkit: done 416_refactor_split_io_fs_rs_into_submodules
2026-03-27 16:08:12 +00:00
dave
8bc0bd592e
storkit: done 415_refactor_split_agents_pool_mod_rs_into_submodules
2026-03-27 15:56:03 +00:00
dave
7f7f49d757
storkit: done 414_story_loc_command_filters_out_known_huge_files
2026-03-27 15:37:54 +00:00
dave
c30ad79398
storkit: done 413_refactor_split_slack_rs_into_focused_modules
2026-03-27 15:29:26 +00:00
dave
c046edebda
storkit: accept 404_bug_whatsapp_and_slack_missing_assign_command_handler
2026-03-27 15:09:57 +00:00
dave
eef9669c95
storkit: done 404_bug_whatsapp_and_slack_missing_assign_command_handler
2026-03-27 15:09:53 +00:00
dave
fca46c3806
storkit: done 403_bug_whatsapp_and_slack_missing_rmtree_command_handler
2026-03-27 14:57:09 +00:00
dave
2510fe44bc
storkit: done 409_refactor_split_whatsapp_rs_into_focused_modules
2026-03-27 14:40:18 +00:00
dave
7d3b256fff
storkit: done 410_story_loc_bot_command_top_files_by_line_count
2026-03-27 14:36:11 +00:00
dave
f70399a28f
storkit: accept 407_spike_fly_io_machines_for_multi_tenant_storkit_saas
2026-03-27 13:41:29 +00:00
dave
2dc77479ad
storkit: done 407_spike_fly_io_machines_for_multi_tenant_storkit_saas
2026-03-27 11:20:32 +00:00
Timmy
3571511349
restore: reset past source tree deletion, apply pending work
2026-03-27 10:49:39 +00:00
dave
b22e2b9274
storkit: done 401_bug_whatsapp_and_slack_missing_start_command_handler
2026-03-26 20:51:54 +00:00
dave
85e37e03a8
storkit: done 399_story_cli_port_flag_with_project_toml_persistence
2026-03-26 20:46:59 +00:00
dave
f22a2666b8
storkit: accept 396_story_whatsapp_bot_startup_announcement_after_restart
2026-03-26 20:23:33 +00:00
dave
507889627a
storkit: done 396_story_whatsapp_bot_startup_announcement_after_restart
2026-03-26 20:22:29 +00:00
dave
33cb363651
storkit: done 400_bug_whatsapp_and_slack_missing_reset_command_handler
2026-03-26 20:18:00 +00:00
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
e66149e07c
storkit: done 397_bug_selection_screen_directory_picker_unreadable_in_dark_mode
2026-03-26 11:16:24 +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
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
f5024b2648
storkit: done 394_story_whatsapp_and_slack_permission_prompt_forwarding
2026-03-25 15:34:54 +00:00
dave
65e3643655
storkit: done 395_refactor_fix_npm_deprecated_module_warnings
2026-03-25 15:31:30 +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
f05c6a42b0
storkit: done 392_refactor_extract_shared_transport_utilities_from_matrix_module_into_chat_submodule
2026-03-25 14:46:06 +00:00
dave
5a87d55dd4
storkit: done 391_bug_strip_prefix_ci_panics_on_multi_byte_utf_8_characters
2026-03-25 14:05:03 +00:00
dave
58ee82c988
storkit: done 390_bug_whatsapp_missing_async_command_handlers_for_start_rebuild_reset_rmtree_assign
2026-03-25 13:47:24 +00:00
dave
49ac23044a
storkit: done 389_story_whatsapp_phone_number_allowlist_authorization
2026-03-25 13:42:35 +00:00
dave
60c0c95f38
storkit: done 387_story_configurable_base_branch_name_in_project_toml
2026-03-25 13:33:45 +00:00