dave
|
5516ec4595
|
storkit: merge 448_story_send_oauth_login_link_via_chat_when_credentials_are_missing
|
2026-03-31 10:28:02 +00:00 |
|
dave
|
ddc4a57cd2
|
storkit: merge 444_refactor_extract_shared_test_helpers_test_ctx_write_story_file_make_api
|
2026-03-28 19:51:17 +00:00 |
|
dave
|
8cd881c8f1
|
storkit: merge 440_refactor_consolidate_is_permission_approval_into_chat_util
|
2026-03-28 19:47:33 +00:00 |
|
dave
|
8ee59f5dc1
|
storkit: merge 439_refactor_unify_story_stuck_states_into_a_single_status_field
|
2026-03-28 18:36:42 +00:00 |
|
dave
|
08db28d9d6
|
storkit: merge 437_bug_strip_prefix_ci_panics_on_multi_byte_utf_8_input
|
2026-03-28 16:33:26 +00:00 |
|
dave
|
fe0a032e8e
|
storkit: merge 430_bug_status_command_traffic_light_dots_not_coloured_in_matrix
|
2026-03-28 13:57:38 +00:00 |
|
dave
|
52513b55ff
|
storkit: merge 427_story_server_side_text_normalization_for_chat_message_line_breaks
|
2026-03-28 10:41:43 +00:00 |
|
dave
|
b44f3a33e3
|
feat(423): auto-schedule timer on rate limit to resume after reset
- pty.rs: detect rate_limit_event hard blocks, parse reset_at, emit
WatcherEvent::RateLimitHardBlock with story_id, agent_name, reset_at
- watcher.rs: add RateLimitHardBlock variant to WatcherEvent enum
- timer.rs: add TimerStore::upsert (add-or-update-to-later) and
spawn_rate_limit_auto_scheduler (listens for RateLimitHardBlock,
upserts timer for the blocked story)
- notifications.rs: handle RateLimitHardBlock events with a debounced
chat notification including the scheduled resume time;
add format_rate_limit_hard_block_notification helper
- matrix/mod.rs: subscribe second watcher_rx for auto-scheduler,
pass it to run_bot
- matrix/bot/run.rs: wire spawn_rate_limit_auto_scheduler into bot startup
Tests cover: AC1 (hard block detection in pty), AC2 (auto-scheduler
adds timer), AC3 (upsert deduplication), AC5 (chat notification sent),
AC6 (worktree preserved — timer fires start_agent on existing worktree)
|
2026-03-28 10:11:08 +00:00 |
|
dave
|
98b5475160
|
storkit: merge 425_story_chat_notification_when_a_story_blocks_with_reason
|
2026-03-28 09:38:47 +00:00 |
|
dave
|
1193b7ac9a
|
storkit: merge 419_bug_matrix_bot_crashes_on_transient_network_error_instead_of_retrying
|
2026-03-28 09:11:26 +00:00 |
|
dave
|
cf5424f9a6
|
storkit: merge 421_story_timer_command_for_deferred_agent_start
|
2026-03-28 09:02:20 +00:00 |
|
dave
|
665c036a56
|
storkit: merge 417_refactor_split_matrix_bot_rs_into_focused_modules
|
2026-03-28 08:30:01 +00:00 |
|
Timmy
|
108a697483
|
storkit: merge 397_bug_selection_screen_directory_picker_unreadable_in_dark_mode
|
2026-03-26 11:16:21 +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
|
077288e7b7
|
storkit: merge 392_refactor_extract_shared_transport_utilities_from_matrix_module_into_chat_submodule
|
2026-03-25 14:46:02 +00:00 |
|
dave
|
0457fbfecc
|
storkit: merge 391_bug_strip_prefix_ci_panics_on_multi_byte_utf_8_characters
|
2026-03-25 14:04:59 +00:00 |
|
dave
|
84a775be77
|
storkit: merge 389_story_whatsapp_phone_number_allowlist_authorization
|
2026-03-25 13:42:31 +00:00 |
|
dave
|
11bbfca3da
|
storkit: merge 386_story_unreleased_command_shows_list_of_stories_since_last_release
|
2026-03-24 22:23:01 +00:00 |
|
Timmy
|
a24e4c5c85
|
Making Matrix config fields optional to meet Twilio login needs
|
2026-03-24 21:05:35 +00:00 |
|
dave
|
79edc28334
|
storkit: merge 383_refactor_reorganize_chat_system_into_chat_module_with_transport_submodules
|
2026-03-24 17:57:21 +00:00 |
|