61ea271900
Salvaged from PR #45702 (heartbeat half). A multi-minute turn showed a static 'is thinking...' assistant status that reads as stuck and provokes mid-turn 'you there?' pings. Derive the fallback status label from the turn's elapsed time (>=30s → 'still working… (NmSSs)'), riding the existing _keep_typing refresh — zero extra API calls. Ported onto the current plugin adapter: the start time rides the tracked _active_status_threads entry (workspace-scoped key), so it shares the existing bounds/eviction and resets when stop_typing clears the status. Explicit live-status phrases (set_status_text) and configured typing_status_text always win; only the built-in default label changes. The PR's other half (top-level channel follow-up coalescing) is NOT included — dispatch semantics changed on main (busy-input active-turn redirect, #30170 demotion) and need a fresh design pass. Refs #45702. Co-authored-by: MrAbsaroka <mrabsaroka@gmail.com>