GramSieve 0.1.4
·
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 的入口与持久化说明。
工程、测试与发布
- 新增
TelegramHistoryApiAdapter、ReliableVideoDownloadManager、ReliableDownloadState和DownloadCancellationRegistry,并将后台加载与下载可靠性逻辑从主 Hook 编排器中拆分。 - 新增并扩展后台加载、历史 API 适配、下载取消、可靠下载状态和配置快照的 JVM 回归测试。
- 完成
testDebugUnitTest、assembleDebug、lintDebug和 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,
FileLoaderqueue, 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, andDownloadCancellationRegistry, 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.