-
Notifications
You must be signed in to change notification settings - Fork 0
Feature Overview
QenTerra edited this page Jul 29, 2026
·
2 revisions
This page is the functional inventory of the current application. A feature is listed as implemented only when a corresponding code path exists; manual acceptance requirements are separated from automated coverage.
- API ID and API hash validation and Keychain storage.
- TDLib account authorization through phone, email, login code, registration, two-step verification password, or another-device confirmation states.
- Connected, connecting, and disconnected presentation.
- Account switching that keeps the API credentials.
- Sign out that removes saved API credentials after TDLib logout succeeds.
- Main and archived chat lists with cached-first presentation.
- Chat search by title.
- Explicit history ranges: 25, 50, 100, 250, 500, or all available messages.
- Cancel and force-refresh controls for an active scan.
- Incremental scan progress with messages scanned and attachments found.
- Attachment state isolated by Telegram chat ID and selected history range.
- Persistent snapshots for the 48 most recently updated chat/range pairs.
- A “new since last refresh” view when a forced refresh finds new identities.
- Neutral extension badges for every filename, using
FILEwhen no extension exists.
- Case-insensitive filename search.
- Quick categories: All, Audio, Video, Images, Documents, and Other.
- Exact extension filter with normalized dots, whitespace, and case.
- Minimum and maximum size filters in megabytes.
- Sent-after and sent-before date filters.
- Sorting by newest, oldest, filename, file type, or file size.
- Removable active-filter tokens and a single Clear Filters action.
- Single-row selection.
- Command-click to toggle individual eligible rows.
- Shift-click to extend a visible range from the current anchor.
- Command-A to add every visible eligible row.
- Escape to clear selection.
- Selection summaries for total, visible, hidden, and known selected size.
- Protection against selecting attachments from a non-active chat.
- Completed, queued, and unavailable rows are excluded unless a deliberate retry or Download Again flow changes eligibility.
- Security-scoped destination folder chosen through the macOS folder picker.
- Optional safe per-chat subfolders.
- Batch preflight with deduplication by Telegram file ID.
- Known required size and available destination capacity check.
- Existing-file and same-batch destination conflict detection.
- Skip, Replace, and Save a Copy decisions per conflict or for all conflicts.
- Bounded concurrency from one to six files.
- Pause, resume, cancellation, per-file outcome, and aggregate progress.
- Retry for failed or cancelled work.
- Explicit Download Again for a completed Telegram file.
- Optional Finder reveal after a completed batch.
- Cached chat summaries.
- Cached attachment scans.
- Download history capped at 5,000 records.
- Individual history-record removal.
- One interrupted batch retained for resume or discard after relaunch.
- Persistent destination bookmark.
- Global operational settings and per-chat browsing state.
- Browse, Downloads, and Settings rail destinations.
- System, Light, and Dark appearance.
- Keyboard navigation and context menus.
- VoiceOver labels and values.
- Reduce Motion, Reduce Transparency, and Increase Contrast awareness.
- App Sandbox, outbound network, and user-selected read/write entitlements only.
See Known Limitations and Release Gates for the boundary between implemented behavior and final release proof.
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