Skip to content

Fix/smoke 2026 10 12 - #102

Closed
ju1ian0701 wants to merge 111 commits into
six-ddc:mainfrom
ju1ian0701:fix/smoke-2026-10-12
Closed

ju1ian0701 wants to merge 111 commits into
six-ddc:mainfrom
ju1ian0701:fix/smoke-2026-10-12

Conversation

@ju1ian0701

Copy link
Copy Markdown

No description provided.

six-ddc and others added 30 commits July 16, 2026 18:45
…elper

Introduce SessionContext, require_user, require_bound_window_id, and
require_session in session_guard.py. Migrate 14 bot handlers to the
shared helpers without changing unauthorized/unbound/missing-window
behavior. Keep text_handler unbound path on require_user only.
Add encode_*/parse_* helpers and frozen payloads so producers and the
callback router no longer hand-split callback_data strings. Wire formats
and 64-byte clipping are preserved; unit tests cover round-trips.
[agentic] REF-001: Extract shared auth + session resolution helper
…sses

[agentic] REF-006: Callback data on dataclasses
…ions

[agentic] REF-003: Specific exceptions
…Formatter

[agentic] REF-008: Unified MessageFormatter
[agentic] REF-009: Fill in the gaps in the tests
[agentic] REF-004: Simplify session migration
six-ddc and others added 28 commits August 12, 2026 12:43
Co-authored-by: cappu <cappudu@gmail.com>
…-watcher evict race (ISS-019) (#32)

Co-authored-by: cappu <cappudu@gmail.com>
…x-ddc#86) (#33)

* chore(backlog): ISS-020 in progress (port upstream PR six-ddc#86 allowed_updates + edit-guards)

* fix: broaden allowed_updates for forum service messages + edit-guards (port upstream six-ddc#86, deviation: duplicate-injection guards under PTB>=21)

---------

Co-authored-by: cappu <cappudu@gmail.com>
six-ddc#89; deviations: require_session canon, REF-007 naming, edit-guards) (#34)

Co-authored-by: cappu <cappudu@gmail.com>
…_LANGUAGE (auto|en|ru) (#35)

Co-authored-by: cappu <cappudu@gmail.com>
…ES_DIR/DOCS_DIR/_AUDIO_DIR); no import-time mkdir; +3 tests (suite 436->439) (#36)

Co-authored-by: cappu <cappudu@gmail.com>
…mmands, voice hint)

Incident 1: Claude Code forks a session (continued-in record in the old
transcript) and the forked session's SessionStart hook runs without
TMUX_PANE, so session_map kept the dead session_id and no replies reached
Telegram. The monitor now follows continued-in records and re-points the
window's session_map entry via override_session_map_entry (under the hook's
flock). The hook's TMUX_PANE warning now logs session_id, source, cwd and
payload keys.

Incident 2: a state.json that is valid JSON of the wrong shape raised an
uncaught AttributeError at startup (restart loop under Restart=always).
Loading now survives any structural error: the damaged file is preserved as
state.json.corrupt-<ts>, state.json.bak is tried, otherwise state starts
empty. Saves keep the last valid state as state.json.bak.

Incident 4: load_session_map re-applied the stale window_name from
session_map on every poll, reverting topic renames. A rename now also
updates session_map (rename_session_map_window).

Incident 5: register bot commands for BotCommandScopeAllGroupChats as well as
the default scope (menu was empty in a freshly created forum group).

Incident 6: voice install hints now cover uv tool installs.

Known limitation: messages written by the new session in the 1-2 s between
fork and the session_map switch are skipped (tracking starts at file end).

Tests: tests/ccbot/test_smoke_2026_10_12_regressions.py. Not covered by
tests: incident 5 (post_init), verify manually in a new group. Pre-existing
failure unrelated to this change: test_document.py::TestSafeFilename::
test_path_traversal_uses_basename (Windows path on Linux).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ands

CLAUDE.md and AGENTS.md referenced scripts/typecheck.py and
scripts/run_tests.py, which are not in the repository (nor in its history).
Use `uv run pyright src/ccbot/` and `uv run pytest` (config lives in
pyproject.toml) and note the dev-extras sync needed on a fresh checkout.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@ju1ian0701

Copy link
Copy Markdown
Author

Opened against the wrong base by mistake, sorry — closing

@ju1ian0701 ju1ian0701 closed this Oct 13, 2026
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.

2 participants