-
Notifications
You must be signed in to change notification settings - Fork 0
Download History
Downloads presents one chronological timeline rather than separate hidden status tabs.
Each DownloadRecord stores:
- a unique record ID;
- the batch ID;
- attachment identity and filename;
- attachment category, known size, and sent date;
- chat title;
- outcome;
- completion time;
- a destination URL when the outcome supplies one.
Records are grouped into download sessions by batch ID for presentation. The underlying store sorts newest first and retains at most 5,000 records.
| Outcome | Meaning | Available action |
|---|---|---|
| Completed | File reached the chosen destination | Show in Finder, Download Again |
| Conflict | Existing destination was kept | Review and retry with an explicit action |
| Failed | Transfer or placement returned an error | Retry Download |
| Cancelled | User or task cancellation stopped the item | Retry Download |
| Already Downloaded | Supported persisted outcome for a file skipped by local history | Download Again |
When Skip Already Downloaded is enabled, Unspool compares the Telegram file
ID with local history. A completed ID normally becomes ineligible in Browse
before a new record is created and is excluded from Command-A. The outcome
model and history UI still decode and present an alreadyDownloaded record for
compatible persisted data.
This is a local convenience guard, not a cryptographic content comparison. It does not claim that the destination file still exists or that two different Telegram file IDs have different bytes.
Download Again deliberately adds the file ID to a temporary override set, restores eligibility, and sends it through normal preflight. Existing-file conflict rules still apply.
Retry restores the attachment to the appropriate chat context, makes it eligible, selects it, and starts the same preflight used by a new download.
Retry Failed gathers failed and cancelled records from the first applicable chat. It does not mix files from different chats into one batch.
Remove from History deletes only the selected local record and persists the new timeline. It does not:
- delete the downloaded file;
- delete a Telegram message;
- remove the chat;
- clear TDLib's database;
- change another record for the same file.
Removing the last completed record for a Telegram file can affect the already-downloaded eligibility guard on a later refresh.
A completed record with a destination URL can reveal the file in Finder. Downloads can also open the current destination folder. If a volume was removed or a bookmark became stale, the app asks the user to choose the folder again rather than expanding filesystem permissions.
Unspool is an independent project and is not affiliated with Telegram. Repository · Privacy · Security · MIT License
- Getting Started
- Detailed Telegram Setup
- Feature Overview
- Chats and History
- Attachments and Filenames
- Search and Selection
- Download Workflow
- Conflicts and Recovery
- Download History
- Settings
- Accessibility
- Troubleshooting
- Detailed Troubleshooting and FAQ
- Privacy and Security
- Detailed Security Model
- TDLib Integration
- Persistence
- Concurrency and Errors
- Glossary