82c7fe8d8b
When a Telegram message originates from a forum topic, the thread_id was extracted and used for reply routing but never stored in ChannelMessage.thread_ts. This caused all messages from the same sender to share conversation history regardless of which topic they were posted in. Changes: - Set thread_ts to the extracted thread_id in parse_update_message, try_parse_voice_message, and try_parse_attachment_message - Use 'ref' in if-let patterns to avoid moving thread_id before it's assigned - Update conversation_history_key() to include thread_ts when present, producing keys like 'telegram_<thread_id>_<sender>' for forum topics - Update conversation_memory_key() to also include thread_ts for memory isolation This enables proper per-topic session isolation in Telegram forum groups while preserving existing behavior for regular groups and DMs (where thread_ts is None). Closes #1532