Skip to content

GramSieve 0.1.4

Choose a tag to compare

@zhongjitianqianguai zhongjitianqianguai released this 25 Jul 04:42
· 27 commits to main since this release

更新日志

新增

  • 新增 Telegram 历史加载适配层,将 GramSieve 主动加载与 Telegram 自身的聊天分页、滚动加载和跳转请求隔离,并按当前版本的重载签名安全构造调用参数。
  • 新增更直观的下载控制,真正做到按你的意图下载和取消下载:取消后不允许 Telegram 自动恢复;点击下载后也不允许 Telegram 擅自取消,若因内部原因中断会自动继续。
  • 新增可靠视频下载管理,覆盖 Telegram 的普通文件加载、流式加载、内部队列创建和下载进度通知;下载中断或长时间无进度时会按退避策略自动恢复。
  • 新增明确取消登记:用户点击下载按钮上的 X 后,该文件会进入硬停止状态,自动重试、播放器清理和后续隐藏加载路径都不能重新拉起下载;只有用户再次主动点击下载才会解除。
  • 设置界面改为完全寄生于 Telegram:全局设置统一从 Telegram 设置页进入,聊天设置从右上角菜单进入,不再提供独立应用界面或“打开完整配置”跳转。
  • 寄生设置页现在读取 Telegram 主题颜色并适配系统栏,支持全局规则、聊天规则和主动加载配置在宿主内直接保存并立即生效。

修复与优化

  • 修复主动加载与 Telegram 正常分页共用请求状态时可能互相覆盖、重复回调或使用错误消息偏移的问题,并增强 Telegram 12.9.x 重载兼容性。
  • 修复用户点击 X 取消视频下载后,播放链路、FileLoader 队列或播放器清理流程仍可能让下载重新出现的问题,同时保留用户手动重新下载能力。
  • 修复配置持久化对新旧规则做并集合并,导致已经删除的规则重新出现的问题;配置现在按更新时间选择完整快照,相同时间以宿主刚保存的快照为准。
  • 空配置广播或持久化请求现在会被忽略,避免异常入口覆盖现有配置。
  • 修复寄生设置页只能点击左上角返回的问题;系统返回按钮和边缘返回手势现在都会优先关闭 GramSieve 面板,并停留在原 Telegram 页面。
  • 修复寄生面板关闭、重新打开或宿主窗口销毁后系统返回回调可能残留的问题。
  • 主动加载和清理模式菜单不再在状态文字后显示聊天 ID,保留原有按聊天独立生效的行为。
  • 移除独立配置 Activity、启动器入口、旧弹窗主题和模块配置页回退路径,避免设置在 Telegram 与模块应用之间割裂。
  • 配置保存提示改为明确显示“已保存并立即生效”,并同步更新中英文 README 的入口与持久化说明。

工程、测试与发布

  • 新增 TelegramHistoryApiAdapterReliableVideoDownloadManagerReliableDownloadStateDownloadCancellationRegistry,并将后台加载与下载可靠性逻辑从主 Hook 编排器中拆分。
  • 新增并扩展后台加载、历史 API 适配、下载取消、可靠下载状态和配置快照的 JVM 回归测试。
  • 完成 testDebugUnitTestassembleDebuglintDebug 和 Release 构建检查,并在 Telegram 12.9.x 真机验证寄生设置、系统返回及下载 Hook 路径。
  • 版本号更新为 versionName 0.1.4、versionCode 5。

Changelog

Compared with 0.1.3, this 0.1.4 release includes:

Added

  • Added a Telegram history-loading adapter that isolates GramSieve proactive loads from Telegram chat pagination, scrolling, and jump requests while safely constructing arguments for the active overload.
  • Added straightforward download control so downloads follow your intent: after you cancel, Telegram cannot restart the download automatically; after you tap Download, Telegram cannot stop it on its own, and internal interruptions resume automatically.
  • Added reliable video download management across regular file loading, stream loading, internal queue creation, and download-progress notifications; interrupted or stalled downloads recover automatically with backoff.
  • Added explicit cancellation tracking: after the user taps X on a download, automatic retries, player cleanup, and hidden loading paths cannot restart that file. Only a new user-initiated download clears the hard stop.
  • Made configuration fully host-native: global settings now live in Telegram Settings, chat settings live in the top-right chat menu, and the standalone app UI plus Full Settings fallback are removed.
  • The host panel now follows Telegram theme colors, handles system bars, and saves global rules, chat rules, and proactive-loading configuration directly inside Telegram with immediate effect.

Fixed And Improved

  • Fixed proactive loading sharing request state with Telegram pagination, which could overwrite offsets, duplicate callbacks, or select an incompatible overload; Telegram 12.9.x compatibility is improved.
  • Fixed video downloads rebounding after an explicit X through playback, FileLoader queue, or player-cleanup paths while preserving manual restart.
  • Fixed persistence union-merging old and new rules and resurrecting deleted entries; persistence now selects the newest complete snapshot, with the newly saved host snapshot winning equal timestamps.
  • Empty configuration broadcasts and persistence requests are now ignored instead of risking an overwrite.
  • Fixed the host settings panel requiring the top-left Back button; the system Back button and edge-back gesture now close GramSieve first and remain on the underlying Telegram page.
  • Fixed system-back callbacks potentially surviving panel close, replacement, or host-window teardown.
  • Proactive Loading and Cleanup Mode menu labels no longer append chat IDs, while their per-chat behavior is unchanged.
  • Removed the standalone configuration Activity, launcher entry, obsolete dialog themes, and module-activity fallback so configuration no longer crosses between Telegram and a separate app.
  • Updated the save confirmation to state that changes are saved and immediately applied, and refreshed the bilingual README entry-point and persistence documentation.

Engineering, Tests, And Release

  • Added TelegramHistoryApiAdapter, ReliableVideoDownloadManager, ReliableDownloadState, and DownloadCancellationRegistry, separating background-history and download-reliability responsibilities from the main hook orchestrator.
  • Added and expanded JVM regression coverage for background loading, Telegram history API adaptation, explicit cancellation, reliable download state, and complete configuration snapshots.
  • Completed testDebugUnitTest, assembleDebug, lintDebug, and Release build checks, with Telegram 12.9.x device verification for host settings, system Back, and download hook paths.
  • Updated the app to versionName 0.1.4 and versionCode 5.