-
Notifications
You must be signed in to change notification settings - Fork 0
Troubleshooting and FAQ
The current implementation requests history in pages of up to 100. It should continue after the first page until Telegram returns no new message IDs. If the summary remains at exactly 100:
- confirm that the chat truly has older accessible messages;
- press Refresh to invalidate a stale completed snapshot;
- keep the app connected while the next page loads;
- run the current build, not an older binary;
- inspect the scan error and repository verification output.
Regression tests cover approximate first-page totals, short nonempty pages, and the boundary message.
It is exhaustive pagination, not a larger fixed limit. Duration depends on chat size, network latency, media density, Telegram service conditions, and rate limits. Use 25–500 for quick browsing.
The mapper supports music/audio as well as generic documents. Refresh the correct chat and confirm the selected history range reaches the message. If the message is older than the range, increase the range or use All Messages.
Telegram did not provide a usable original or file-representation filename. Unspool uses a neutral deterministic fallback and does not invent a song name from artist or title metadata.
The local guard found a completed history record with the same Telegram file ID. Use Download Again if intentional. The new attempt still goes through conflict preflight.
Skip is the default conflict action. Start the batch again and explicitly choose Replace or Save a Copy for that destination.
The security-scoped bookmark can become stale after a folder is renamed, moved, deleted, denied, or placed on an unavailable volume. Choose the folder again in Settings.
Pause stops new scheduling. Already running files finish or fail, after which the state becomes fully paused. Use Cancel for active TDLib cancellation.
It restores the saved batch inputs and conflict choices, then performs a new preflight. It does not assume disk capacity or conflicts are unchanged.
API ID and API hash are in macOS Keychain. Login codes and two-step passwords are kept in memory for the active authorization step and are not deliberately written to Unspool's JSON stores.
No. It removes saved API credentials after TDLib logout succeeds. Downloaded files and other local app data remain.
Run:
xcodegen generate --spec project.yml
swiftformat Unspool UnspoolTests UnspoolUITests --lint
swiftlint lint --config .swiftlint.yml
xcodebuild -project Unspool.xcodeproj -scheme Unspool test
xcodebuild -project Unspool.xcodeproj -scheme Unspool build-for-testingCommon causes are a missing full Xcode, missing Homebrew tools, a missing TDLib artifact, or a generated artifact that does not match committed pins. Use Building and Dependencies and the repository troubleshooting guide.
Not yet. The current repository is a source-only development build without signing or notarization.
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