I’m experiencing widespread failures retrieving files from Teldrive. Files are listed correctly, but downloads/streams fail.
Errors:
parts.mismatch expected=1 actual=0
stream.parts_fetch_failed
rpc error code 400: MESSAGE_IDS_EMPTY
Downloads return ~20 bytes
Example:
ERROR [FILE] parts.mismatch expected=1 actual=0
ERROR [FILE] stream.parts_fetch_failed error=file parts mismatch
Environment:
Self-hosted Teldrive
PostgreSQL backend
Telegram channel storage
~1,100,000 files in dataset
Bots configured but not actively used (to my knowledge)
Logged in via Telegram user session (QR login)
Database observations:
Active channel (channel_id = 2506079362)
Example valid entry:
[{"id": 7679}]
Invalid entries also exist:
id = 0 (~1,300 rows)
NULL (~8,900 rows)
Behaviour:
Files visible in Telegram manually (same account)
File listing works in Teldrive
Retrieval fails for many files (both old and new)
Important context:
Previously ran multiple Teldrive instances sharing a DB
Later split instances into separate setups
Channel remained the same
Problem:
Even when:
message IDs exist
files exist in Telegram
session is authenticated
👉 Teldrive returns MESSAGE_IDS_EMPTY and cannot fetch data
Questions:
Can message IDs become invalid after splitting instances / reusing DB?
Does Teldrive depend on original uploader context (bot vs user session)?
Are there known limits/issues when working with very large channels (~1M+ files)?
Is there a supported way to re-index or repair parts mappings?
How should invalid entries (id = 0 / NULL) be handled?
Impact:
Large portion of library unusable
Downloads unreliable
Concern about data integrity
Request:
Looking for:
Root cause of MESSAGE_IDS_EMPTY in this scenario
Recommended recovery or re-index approach
Confirmation if this is expected behaviour or a bug
Happy to provide additional logs or DB dumps if needed.
I’m experiencing widespread failures retrieving files from Teldrive. Files are listed correctly, but downloads/streams fail.
Errors:
parts.mismatch expected=1 actual=0
stream.parts_fetch_failed
rpc error code 400: MESSAGE_IDS_EMPTY
Downloads return ~20 bytes
Example:
ERROR [FILE] parts.mismatch expected=1 actual=0
ERROR [FILE] stream.parts_fetch_failed error=file parts mismatch
Environment:
Self-hosted Teldrive
PostgreSQL backend
Telegram channel storage
~1,100,000 files in dataset
Bots configured but not actively used (to my knowledge)
Logged in via Telegram user session (QR login)
Database observations:
Active channel (channel_id = 2506079362)
Example valid entry:
[{"id": 7679}]
Invalid entries also exist:
id = 0 (~1,300 rows)
NULL (~8,900 rows)
Behaviour:
Files visible in Telegram manually (same account)
File listing works in Teldrive
Retrieval fails for many files (both old and new)
Important context:
Previously ran multiple Teldrive instances sharing a DB
Later split instances into separate setups
Channel remained the same
Problem:
Even when:
message IDs exist
files exist in Telegram
session is authenticated
👉 Teldrive returns MESSAGE_IDS_EMPTY and cannot fetch data
Questions:
Can message IDs become invalid after splitting instances / reusing DB?
Does Teldrive depend on original uploader context (bot vs user session)?
Are there known limits/issues when working with very large channels (~1M+ files)?
Is there a supported way to re-index or repair parts mappings?
How should invalid entries (id = 0 / NULL) be handled?
Impact:
Large portion of library unusable
Downloads unreliable
Concern about data integrity
Request:
Looking for:
Root cause of MESSAGE_IDS_EMPTY in this scenario
Recommended recovery or re-index approach
Confirmation if this is expected behaviour or a bug
Happy to provide additional logs or DB dumps if needed.