Skip to content

Add Speech-to-Text , improve code coverage, enhance telegram inline buttons#41

Merged
daocha merged 5 commits intomainfrom
develop
Apr 2, 2026
Merged

Add Speech-to-Text , improve code coverage, enhance telegram inline buttons#41
daocha merged 5 commits intomainfrom
develop

Conversation

@daocha
Copy link
Copy Markdown
Owner

@daocha daocha commented Apr 2, 2026

Fix one-liner install script by @daocha in #32

Fix live agent output format and update README by @daocha in #33

Add git signature support and Fix live output message by @daocha in #34

Add Speech-To-Text Feature by @daocha in #36

Speech-To-Text
Add local Whisper speech-to-text support for Telegram voice/audio messages, including startup prerequisite checks, shared STT installer flow, env configuration, and transcript dispatch into the normal message pipeline.

Add dependency installation script and environment detection

Add OpenAI-Whisper and required dependencies in the setup script and server startup script

Server startups now checks the dependencies when STT config is enabled

Document the Whisper/STT flow, update localized user-facing strings, and add regression tests for speech-to-text, queue ordering, reply behavior, and installer prerequisite checks.

Add test cases:

Runtime issue fix: harden queue, reply threading, and startup consistency:
Fix pending-action and queue drain ordering, busy/queue race handling, reply threading for working/final output, and ensure install.sh launches with the same Python interpreter used for installation.

Fix queue messages during pending session setup

Fix Queue text and voice transcripts while session prerequisites are unresolved, then drain the queue after session creation completes. Add regression coverage for pending new-session text/voice cases and clean up localized README diff wording.

Bug fix:
Fix 1 — Double HTML escaping in bold text

Fix 2 — callback_data 64-byte limit for branch source buttons

Fix 3 — Queue delimiter injection corrupts queued messages

Update demo image in README.md by @daocha in #37

Fix bugs and add code coverage by @daocha in #38

Correct translation for README th and de by @daocha in #39

daocha and others added 5 commits March 31, 2026 22:27
…gs (#36)

** Add Speech-To-Text support:

- Add local Whisper speech-to-text support for Telegram voice/audio messages, including startup prerequisite checks, shared STT installer flow, env configuration, and transcript dispatch into the normal message pipeline.

- Add dependency installation script and environment detection

- Add OpenAI-Whisper and required dependencies in the setup script and server startup script

- Server startups now checks the dependencies when STT config is enabled

- Document the Whisper/STT flow, update localized user-facing strings, and add regression tests for speech-to-text, queue ordering, reply behavior, and installer prerequisite checks.

- Add test cases:

** Runtime issue fix:  harden queue, reply threading, and startup consistency:

- Fix pending-action and queue drain ordering, busy/queue race handling, reply threading for working/final output, and ensure install.sh launches with the same Python interpreter used for installation.

- Fix queue messages during pending session setup

- Fix Queue text and voice transcripts while session prerequisites are unresolved, then drain the queue after session creation completes. Add regression coverage for pending new-session text/voice cases and clean up localized README diff wording.

** Bug fix:

Fix 1 — Double HTML escaping in bold text

Fix 2 — callback_data 64-byte limit for branch source buttons

Fix 3 — Queue delimiter injection corrupts queued messages

---------

Co-authored-by: DCHA Agent <259406208+dcha-agent@users.noreply.github.com>
Bug fixes:
- config.py: wrap int() in try/except for malformed ALLOWED_CHAT_IDS
- session_lifecycle_commands.py: guard against None return from _run_with_typing
- session_runtime.py: use locale_from_update instead of hardcoded 'en' in store_photo

Maintainability:
- session_branch_resolution.py: remove duplicate _multi_branch_source_keyboard
  (was dead code shadowed by ProjectCommandMixin in the MRO)

Test coverage (81% → 86%, 457 → 605 tests):
- 15 files now at 100%: i18n, session_store, session_common, telegram_sender,
  session_branch_resolution, session_commands, session_lifecycle_commands,
  session_status_commands, message_commands, project_commands, queue_processing,
  native_session_utils, native_codex_sessions, native_copilot_sessions,
  native_session_types, native_sessions, logging_utils
- New test files: test_i18n.py, test_native_session_utils.py, test_native_sessions.py
- Extended: test_command_router.py, test_config.py, test_session_store.py

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Treat plain-text 'Create session:' messages as /new commands

* Style Telegram inline buttons by intent

* Add testcase for inline buttons changes and creation sessions text changes

---------

Co-authored-by: DCHA Agent <259406208+dcha-agent@users.noreply.github.com>
@daocha daocha merged commit afecd37 into main Apr 2, 2026
6 checks passed
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