No description
Find a file
mrkesu 5da8799e4b fix(stream): open feed on startup and clarify message authors
Show authors before muted, width-limited conversation labels while preserving message density and timestamp visibility.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-19 08:43:44 +02:00
src fix(stream): open feed on startup and clarify message authors 2026-10-19 08:43:44 +02:00
.gitignore feat: initial commit of TUI client for Microsoft Teams 2026-07-10 22:37:15 +02:00
AGENTS.md chore: update dependencies in Cargo.lock and enhance project guidelines 2026-07-21 13:27:06 +02:00
Cargo.lock feat(tui): preview images in the terminal with Sixel 2026-09-22 19:55:22 +02:00
Cargo.toml feat(tui): preview images in the terminal with Sixel 2026-09-22 19:55:22 +02:00
README.md fix(stream): open feed on startup and clarify message authors 2026-10-19 08:43:44 +02:00

tiims

A TUI client for Microsoft Teams chat. Read and send chat messages from the terminal.

Authenticates through the system's Microsoft Identity Broker via D-Bus and syncs with Microsoft Graph API.

Requirements

  • Linux with Microsoft Identity Broker (microsoft-identity-broker on the D-Bus session bus)
  • Rust 2024 edition

Install

cargo install --path .

Usage

tiims                                 # uses default Office client ID
tiims --client-id <ID>                # override client ID
TIIMS_CLIENT_ID=<ID> tiims           # via env var

Every launch opens the stream feed, showing cached messages while fresh messages load. The last session's sidebar visibility is preserved unless pinned in configuration.

Stream messages show the sender in bold first, a muted conversation label, and the time on the right. Long conversation labels are shortened to keep authors readable. Press Enter on a stream message to open its conversation.

Keyboard Shortcuts

Navigation

Key Action
j / ↓ Move down
k / ↑ Move up
Tab Switch focus (chats ↔ messages)
Enter Select chat
Esc Back / cancel input

Actions

Key Action
i Start composing a message
Enter Send message (in input mode)
r Force refresh
q Quit

Scrolling

Key Action
PgUp / PgDn Scroll message history
G Jump to latest messages

Polling

The active chat refreshes every 5 seconds and the chat list every 30 seconds. Press r to force an immediate refresh.