Add playback position ticker in event loop with 1s UI refresh rate, integrate VoiceCache for downloaded voice files, add [audio] config section (cache_size_mb, auto_download_voice), and render progress bar with waveform visualization in message bubbles. Fix race conditions in AudioPlayer: add `starting` flag to prevent false `is_stopped()` during ffplay startup, guard pid cleanup so old threads don't overwrite newer process pids. Implement `resume_from()` with ffplay `-ss` for real audio seek on unpause (-1s rewind). Kill ffplay on app exit via `stop_playback()` in shutdown + Drop impl. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
60 lines
1.5 KiB
TOML
60 lines
1.5 KiB
TOML
[package]
|
|
name = "tele-tui"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
authors = ["Your Name <your.email@example.com>"]
|
|
description = "Terminal UI for Telegram with Vim-style navigation"
|
|
license = "MIT"
|
|
repository = "https://github.com/your-username/tele-tui"
|
|
keywords = ["telegram", "tui", "terminal", "cli"]
|
|
categories = ["command-line-utilities"]
|
|
|
|
[features]
|
|
default = ["clipboard", "url-open", "notifications", "images"]
|
|
clipboard = ["dep:arboard"]
|
|
url-open = ["dep:open"]
|
|
notifications = ["dep:notify-rust"]
|
|
images = ["dep:ratatui-image", "dep:image"]
|
|
|
|
[dependencies]
|
|
ratatui = "0.29"
|
|
crossterm = "0.28"
|
|
tdlib-rs = { version = "1.2.0", features = ["download-tdlib"] }
|
|
tokio = { version = "1", features = ["full"] }
|
|
async-trait = "0.1"
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
dotenvy = "0.15"
|
|
chrono = "0.4"
|
|
open = { version = "5.0", optional = true }
|
|
arboard = { version = "3.4", optional = true }
|
|
notify-rust = { version = "4.11", optional = true }
|
|
ratatui-image = { version = "8.1", optional = true, features = ["image-defaults"] }
|
|
image = { version = "0.25", optional = true }
|
|
toml = "0.8"
|
|
dirs = "5.0"
|
|
thiserror = "1.0"
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
|
base64 = "0.22.1"
|
|
|
|
[dev-dependencies]
|
|
insta = "1.34"
|
|
tokio-test = "0.4"
|
|
criterion = "0.5"
|
|
|
|
[build-dependencies]
|
|
tdlib-rs = { version = "1.2.0", features = ["download-tdlib"] }
|
|
|
|
[[bench]]
|
|
name = "group_messages"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "formatting"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "format_markdown"
|
|
harness = false
|