fix: single-line chat title, faster spinner, scroll to bottom before poll

This commit is contained in:
Oliver Hofmann 2026-05-17 14:21:17 +02:00
parent 952606cf7e
commit 43d9490b22

View File

@ -167,7 +167,8 @@ class Monitor:
while True:
# Chat-Titel prüfen
try:
current_chat = self._page.evaluate(_CHAT_TITLE_JS)
raw_title = self._page.evaluate(_CHAT_TITLE_JS)
current_chat = " ".join(raw_title.split()) if raw_title else ""
if current_chat and current_chat != last_chat:
_clear_line()
print(f"Chat: {current_chat}")
@ -175,11 +176,16 @@ class Monitor:
except Exception:
pass
# Spinner anzeigen
spin = _SPINNER[spin_idx % len(_SPINNER)]
spin_idx += 1
sys.stdout.write(f'\r {spin}')
sys.stdout.flush()
# Ans Ende der Chat-Liste scrollen damit Teams neue Nachrichten rendert
try:
self._page.evaluate(r"""() => {
const vp = document.querySelector(
"[data-tid='message-pane-list-viewport'], [data-tid='channel-pane-viewport']"
);
if (vp) vp.scrollTop = vp.scrollHeight;
}""")
except Exception:
pass
try:
new_msgs = self.poll_new_messages()
@ -228,4 +234,10 @@ class Monitor:
entries=entries,
)
time.sleep(2)
# Spinner läuft während der 2-Sekunden-Pause bis zum nächsten Poll
for _ in range(8):
spin = _SPINNER[spin_idx % len(_SPINNER)]
spin_idx += 1
sys.stdout.write(f'\r {spin}')
sys.stdout.flush()
time.sleep(0.25)