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: while True:
# Chat-Titel prüfen # Chat-Titel prüfen
try: 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: if current_chat and current_chat != last_chat:
_clear_line() _clear_line()
print(f"Chat: {current_chat}") print(f"Chat: {current_chat}")
@ -175,11 +176,16 @@ class Monitor:
except Exception: except Exception:
pass pass
# Spinner anzeigen # Ans Ende der Chat-Liste scrollen damit Teams neue Nachrichten rendert
spin = _SPINNER[spin_idx % len(_SPINNER)] try:
spin_idx += 1 self._page.evaluate(r"""() => {
sys.stdout.write(f'\r {spin}') const vp = document.querySelector(
sys.stdout.flush() "[data-tid='message-pane-list-viewport'], [data-tid='channel-pane-viewport']"
);
if (vp) vp.scrollTop = vp.scrollHeight;
}""")
except Exception:
pass
try: try:
new_msgs = self.poll_new_messages() new_msgs = self.poll_new_messages()
@ -228,4 +234,10 @@ class Monitor:
entries=entries, 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)