Skip to content

v2.3.0

Latest

Choose a tag to compare

@github-actions github-actions released this 06 Nov 15:47

New

  • tgcli server stop, tgcli server restart and tgcli server logs (with --follow). The server writes everything it prints to server.log in the store, rotated at 5 MB, also when it was started in the background.
  • After an upgrade, the first command replaces a server still running the old version. A build run from a clone replaces the installed one the same way; see docs/development.md.
  • tgcli server stats counts the server's requests to Telegram by method, rate limits and failures, rechecks of deleted messages, repair pages and gap fills, since start and over the last hour.
  • Once a day tgcli asks npm for a newer version and, when there is one, prints a line on stderr with the command that installs it. tgcli doctor shows what it found; TGCLI_NO_UPDATE_CHECK=1 turns the check off.
  • The server turns sync off for a channel or group you have left, once Telegram confirms it, and back on if you rejoin. A chat missing from the dialog list is only a reason to ask, and chats you added yourself are left alone. tgcli doctor counts them under LEFT: and lists under UNANSWERED: the ones Telegram gives no answer about; tgcli channels unwatch --missing turns those off.
  • tgcli backfill repair --dry-run counts what a repair would add without writing anything.

Fixes

  • backfill repair goes no further back than when a chat entered the archive, --all leaves out chats you have left, and a chat Telegram refuses to read is skipped instead of retried every hour. Before, a repair could pull in weeks of history from before you joined a chat, or from channels you had left.
  • tgcli backfill status sums up repairs instead of printing a line for each chat.
  • A chat given by username (backfill --chat @name, channels watch, the scheduleMessageSync MCP tool) is archived under its Telegram id. Older versions stored it under the username, which split and duplicated its messages; the server now merges such chats into their id after it logs in, and tgcli doctor lists any it could not.
  • Archive reads by username (messages list --chat @name and the like) find the chat in the archive without asking Telegram.
  • Paging through history takes half the requests: the server no longer asks Telegram whether it is logged in before every page.

Full Changelog: v2.2.5...v2.3.0