From 86cfcb19bdaa2657c976bc205db810ba6bb9b960 Mon Sep 17 00:00:00 2001 From: unRekable Date: Tue, 20 Oct 2026 11:57:30 +0200 Subject: [PATCH] Say what ships: voice messages play, and the hits pane is in the window. The not-built list still named voice messages, which play in their message since October, with their waveform and speeds, for Telegram and Discord - and message search in the window, which the switcher's search row opens as a pane of hits that land on their message. Both leave the list. The search bullet tells what the pane does. And CONTRIBUTING's test notes say where Windows finds the openssl command that mediad's voice tests make their certificate with. --- CONTRIBUTING.md | 4 +++- README.md | 5 +++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 30c9779..abed137 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -72,7 +72,9 @@ to it through its socket, with the network replaced by a local fake: trait (`adapters//wire.rs`); `TINYCLIENT_TELEGRAM_FAKE` and `TINYCLIENT_SIGNAL_FAKE` put a scripted wire (`fake.rs`) under the adapter instead of the real one. - The call tests build `mediad` and run it with a generated tone and a fake voice server, so they - need no microphone and no Discord. + need no microphone and no Discord. On Windows, `mediad`'s voice tests make their TLS certificate + with the `openssl` command: Git for Windows ships one under `usr/bin`, which wants to be on the + `PATH`. Run one network's tests with `cargo test -p chatd --test discord`. If you change the window, check the GUI still builds: `cargo check -p tinyclient --features gui`. diff --git a/README.md b/README.md index 508649e..5689034 100644 --- a/README.md +++ b/README.md @@ -76,13 +76,14 @@ Current release: [v0.2.5](https://github.com/itz4blitz/tinyclient/releases/tag/v A few behaviours that are easy to miss: - **Animated images.** GIFs, animated WebP, and APNG play where pictures are drawn. Settings, under Messages, chooses when they play. A Slack GIF uses Slack's moving copy. A Teams GIF from the Giphy button is a GIF. +- **Voice messages play**, with their waveform, at 1× to 2× — Telegram's and Discord's, through `mediad --play`, one at a time. - **Discord's server list** waits until chats have loaded before it shows cached servers, so a cold start does not flash an empty or stale tree. - **Signal's Note to Self.** A cached self-conversation is relabelled when the account reconnects. Its messages stay. -- **Search.** `tinyclient --text --search` searches message text in the local cache, newest hits first. The switcher still finds conversations by title. The window does not show those hits yet, and the networks themselves are not asked. +- **Search.** `tinyclient --text --search` searches message text in the local cache, newest hits first. The switcher still finds conversations by title, and its "Search messages" row opens a pane of those hits, where clicking one opens its conversation on that message. The networks themselves are not asked. - **Terminal.** `tinyclient --text`, or any build without the `gui` feature, prints account status and the inbox as lines of text. An interactive terminal UI is not built. The socket protocol is enough to write one. - **Platforms.** CI builds and tests macOS, Linux, and Windows on every push (`.github/workflows/ci.yml`). Most development happens on macOS, so reports and fixes from Linux and Windows are especially welcome. The main window closes cleanly on all three. Linux web sign-in, including Discord's session capture, works with WebKitGTK. -Still not built, and not covered by an open pull request: message search in the window, notifications and a dock badge, voice messages, Signal attachments and safety numbers, Teams personal accounts, and video or screen share (see [work in progress](#work-in-progress) for the Discord slice that is underway). +Still not built, and not covered by an open pull request: notifications and a dock badge, Signal attachments and safety numbers, Teams personal accounts, and video or screen share (see [work in progress](#work-in-progress) for the Discord slice that is underway). ## Work in progress