Skip to content

feat(telegram): add inline keyboard to /session_recent, accept plain_dir in topic adoption - #3904

Open
gimso2x wants to merge 2 commits into
Yeachan-Heo:devfrom
gimso2x:feat/session-recent-keyboard
Open

feat(telegram): add inline keyboard to /session_recent, accept plain_dir in topic adoption#3904
gimso2x wants to merge 2 commits into
Yeachan-Heo:devfrom
gimso2x:feat/session-recent-keyboard

Conversation

@gimso2x

@gimso2x gimso2x commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

What

  • /session_recent: inline keyboard buttons with switch_inline_query_current_chat — tap a session button to insert /session_resume <id> into chat input, no callback polling needed
  • Topic adoption direct path input: existing_pathplain_dir so missing directories are auto-created by the lifecycle orchestrator
  • Simplified double .map() over recent.entries into single for-loop pass

Why

  • Users wanted session selection buttons in Telegram instead of plain text list
  • Users typing folder paths like ~/docs got "folder no longer available" when the directory didn't exist — now it is created automatically

Testing

  • bun test notifications-telegram-daemon.test.ts notifications-lifecycle-command-routing.test.ts514 pass, 0 fail
  • Updated lifecycle-command-routing test to verify inline keyboard format
  • Updated daemon test to verify plain_dir target

GJC verdict

gajae.pr-review-verdict.v1 needs-human sha256:39b9f86f199c2ac4a4547753ff2b81d014162303 reviewer:human evidence:bun test (514 pass)

…dir in topic adoption

- /session_recent: inline keyboard with switch_inline_query_current_chat buttons
  inserts /session_resume <id> into chat input, no callback polling needed
- topic adoption direct path input: plain_dir instead of existing_path
  missing directories are created by the lifecycle orchestrator
- combined double .map() over recent.entries into single for-loop pass

Rejected: multibyte-safe title slice | cosmetic, Telegram enforces 1-256 char limit
Confidence: high
Scope-risk: narrow
Reversibility: clean
Tested: bun test (558 pass, 0 fail)
Not-tested: runtime end-to-end Telegram API integration
@gimso2x
gimso2x force-pushed the feat/session-recent-keyboard branch from aa33a4b to 08e1222 Compare August 5, 2026 23:11
- /session_recent rewrite left replyHtml unused; biome check failed
- TelegramAdoptionTarget and persisted-intent guard now accept plain_dir
  so topic-adoption direct paths survive daemon restart
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant