3841910cee
The network-error reconnect path (PR #91524) was the only site converted from asyncio.wait_for to _await_with_thread_deadline. The same cancellation-shielding vulnerability exists at two more updater.stop() sites: - Conflict-retry path: asyncio.wait_for could hang forever if PTB/AnyIO cleanup swallowed CancelledError, stalling the conflict-retry ladder. Now uses _await_with_thread_deadline and escalates to fatal on timeout (same reasoning: cannot safely reuse an Updater whose lifecycle lock may still be held). - Conflict-exhausted fatal path: asyncio.wait_for could hang before the fatal notification fired. Now uses _await_with_thread_deadline; the timeout handler already proceeds to fatal notify, so no behavior change beyond the deadline mechanism. All three asyncio.wait_for(updater.stop()) sites now use the thread-deadline helper consistently.