teldrive icon indicating copy to clipboard operation
teldrive copied to clipboard

[question]: Does anyone have the 1.7.0 update working correctly?

Open roccolycos opened this issue 2 months ago • 17 comments

Seeing that several of us who updated the application to version 1.7.0 are having problems, if someone updated it and got it to work correctly, it would be nice if they could say if it worked directly or if they made any changes to make it work.

roccolycos avatar Oct 13 '25 12:10 roccolycos

There is already an issue opened on this

doomwithdon avatar Oct 13 '25 13:10 doomwithdon

"they"

iwconfig avatar Oct 13 '25 20:10 iwconfig

it works but i think is causing api temp bans because inefficient api requests

aniel300 avatar Oct 13 '25 20:10 aniel300

Read and Write operations using rclone are terribly slow since 1.7.0 - scanning a directory causes significant iowait time spikes on ubuntu to the point where it can lock up the rclone mount until a reboot. Writing using rclone copy command also will spit out a lot of error 500 codes unless you drastically limit the upload.

yalrighty avatar Oct 31 '25 14:10 yalrighty

Version 1.7.0 is experiencing a lot of issues right now, and many people have had to roll back to an earlier version, like me. But the coder has not taken any action yet.

totza2010 avatar Nov 04 '25 04:11 totza2010

"But the coder has not taken any action yet."

yeah such terrible behavior. have you called customer support and complained yet??? someone should step up!!! It's like "the coder" just takes our free time and does whatever it likes!!! Oh The Audacity!!!

[!WARNING] This Is UnAcceptAble!!!

[!CAUTION] Disclaimer: I'm just a hangry but privileged little ~b****~ whiner

[!NOTE] Everyone else should fix my problems because of my urge for shiny god damn new things i expect to work at all times. Obviously!

iwconfig avatar Nov 04 '25 13:11 iwconfig

"But the coder has not taken any action yet."

yeah such terrible behavior. have you called customer support and complained yet??? someone should step up!!! It's like "the coder" just takes our free time and does whatever it likes!!! Oh The Audacity!!!

Warning

This Is Un_AcceptA_ble!!!

Caution

Disclaimer: I'm just a hangry but privileged little ~b****~ whiner

Note

Everyone else should fix my problems because of my urge for shiny god damn new things i expect to work at all times. Obviously!

Usually, coders aren't always on site, which is understandable. But the latest update seemed to have major issues, so much so that we had to figure out how to rollback ourselves. It's been over a month now and nothing's happened. It's best to uninstall the problematic version first, as many new users or those who don't know the latest version are experiencing issues. It's possible the project owner has read what we've posted. Or maybe he uses it himself, and he might encounter the same problem we did. Or if you are busy, you should be able to come in and give some advice, but he disappeared and didn't give any advice.

totza2010 avatar Nov 04 '25 13:11 totza2010

for those that didn't have database backups (like me) that can't downgrade, removing all bots seems to remediate the issue (although obviously limiting the speed of the setup, but at least no more 500 errors)

daneoshiga avatar Nov 04 '25 15:11 daneoshiga

"so much so that we had to figure out how to rollback ourselves. "

Aye, thank anything holy for open source, huh? Instead of succumbing to the mental state of an innocent little toddler, people actually solve shit themselves.

"It's possible the project owner has read what we've posted."

It's sure possible, but highly irrelevant, because we do not know why the developer is late to respond. Maybe the developer is dead? Who knows!

"Or if you are busy, you should be able to come in and give some advice"

errr... hell no! Why? Because you nor I know WHY the developer is busy, if that's even the case. And also, being busy is to be busy, not "almost busy". Either you're busy or you're not busy, for any number of reasons, which could quite possibly suggest that "giving advice to some script kiddies" is priority number -1, or perhaps 100, depending on whatever circumstances we know absolutely nothing about.

The way you phrase it makes it sound like the developer of this software, or any developer for that matter, is obligated to help out, even despite being busy, which of course is utter horse shit. A community already exist, albeit small, but nonetheless. Both here and on discord. Help yourselves, ourselves, and/or the community, because this shit you said:

"Version 1.7.0 is experiencing a lot of issues right now, and many people have had to roll back to an earlier version, like me. But the coder has not taken any action yet."

is so blatantly obvious. It's like all these idiots who collectively posts the millionth "+1" on any issue to express their petty copypasted opinion about something. Be like daneoshiga above or really-flamey-marco with #513; stop whining and start helping out. Or not, it's up to you; just stop whining, because this is an open source project. It's unpaid work, and free for you and I.

iwconfig avatar Nov 04 '25 18:11 iwconfig

Version 1.7.0 is experiencing a lot of issues right now, and many people have had to roll back to an earlier version, like me. But the coder has not taken any action yet.

i think is time to fork this thing or write something from scratch/base on this.

aniel300 avatar Nov 16 '25 23:11 aniel300

i think is time to fork this thing or write something from scratch/base on this.

You're hoping for someone else to attempt this, aren't ya? Priming the pump, so to speak. How silly, but otherwise; by all means, you go ahead then! Or else perhaps you should say "Oh how i wish for someone else to fix problems for me! Come here my 'SuperCoder' and save my day! 🦸‍♀️". No? Yes, I think so. If you really think it's time to fork you would've already done it by now. So silly haha!

And also, it's not like Teldrive is the only alternative out there...

iwconfig avatar Nov 17 '25 00:11 iwconfig

@iwconfig there is no need to get personal or hurt about my comment. if the dev of this project is to busy with life or other projects that he cant fix urgent things like this, then that is fine. i will either look for a alternatives or write something myself, am not sure if i will be successful or not but i will give it a try. i might use this or similars projects as reference and inspiration or maybe just from scratch but i will give it a try that is for sure.

aniel300 avatar Nov 17 '25 08:11 aniel300

@iwconfig I understand this is open source, but using the Issue Tracker is the correct way to aggregate problem data and inform the developer about the bug's scope. Posting an issue is reporting a flaw beneficial to all users, not 'hoping someone else will fix it,' as you claim.

Nobody is claiming the developer is 'obligated,' but reporting that the latest version has severe issues requiring a rollback is critical information that needs discussion. Responding by ridiculing others as 'whiners' or 'script kiddies' does nothing to improve the project.

Why is it wrong to discuss this? This issue impacts all users, and a rollback is not a sustainable solution. When the latest version has severe problems, and you tell people to 'write their own code'... is that logic sound?

totza2010 avatar Nov 17 '25 13:11 totza2010

So silly haha!

This isn't about 'getting personal' or 'being hurt'; it's about challenging the sarcastic tone and the logic that reporting an issue in the Issue Tracker is equivalent to 'waiting for a SuperCoder' to fix it. If you choose to write your own code or find alternatives, that's great. However, ridiculing others for proposing solutions or reporting bugs is not helpful.

totza2010 avatar Nov 17 '25 13:11 totza2010

So silly haha!

This isn't about 'getting personal' or 'being hurt'; it's about challenging the sarcastic tone and the logic that reporting an issue in the Issue Tracker is equivalent to 'waiting for a SuperCoder' to fix it. If you choose to write your own code or find alternatives, that's great. However, ridiculing others for proposing solutions or reporting bugs is not helpful.

is this comment for me or the other guy?

aniel300 avatar Nov 17 '25 13:11 aniel300

@iwconfig for this guy.

totza2010 avatar Nov 17 '25 14:11 totza2010

ur comment is replying to things i said yet is meant for him, am a little confused.

aniel300 avatar Nov 17 '25 14:11 aniel300

First of all, I can only thank the project creator; it's incredible.

After many attempts, I managed to revert to the previous version (1.6.19) and get it working correctly. I didn't have a backup of the database before updating to the "problematic" version, so here's what I did:

1 - Back up the database.

2 - Install version 1.6.19 from scratch to create the correct database structure.

3 - Import the database data from the backup into the new database created by the project.

roccolycos avatar Nov 19 '25 19:11 roccolycos

@roccolycos how do u do number 3?

aniel300 avatar Nov 20 '25 01:11 aniel300

@roccolycos how do u do number 3?

You need to let Teldrive create the compatible database schema (in this case, 1.6.19). Then you need to migrate the data from the backup table by table. Some tables don't exist in version 1.6.19 (kv, for example).

I'm going to explain it step by step (I'm not responsible for data loss; it's very important to save a copy of the database and not work on that copy).

Step 1: Preparation and Backup

1. Stop the Teldrive container

docker-compose stop teldrive

2. Make a backup of the current database

docker exec postgres_db pg_dump -U teldrive_owner teldrive > backup_before_recreating.sql

Step 2: Create a New Database

Connect to PostgreSQL

docker exec -it postgres_db psql -U teldrive_owner -d postgres

-- Inside psql: DROP DATABASE IF EXISTS teldrive_1619;

CREATE DATABASE teldrive_1619 OWNER teldrive_owner;

\q

Step 3: Update Teldrive Configuration Edit config.toml:

[db] data-source = "postgresql://teldrive_owner:PASSWORD@postgres_db:5432/teldrive_1619"

Step 4: Start Teldrive to Create Schema

Start Teldrive version 1.6.19

docker-compose up -d teldrive

Wait for migrations to run (check logs)

docker-compose logs -f teldrive

Step 5: Stop Teldrive for Data Migration docker-compose stop teldrive

Step 6: Enable dblink Extension docker exec -it postgres_db psql -U teldrive_owner -d teldrive_1619

-- Enable dblink to copy data between databases CREATE EXTENSION IF NOT EXISTS dblink;

Step 7: Migrate Users Table INSERT INTO teldrive.users (user_id, name, user_name, is_premium, created_at, updated_at) SELECT user_id, name, user_name, is_premium, created_at, updated_at FROM dblink('dbname=teldrive user=teldrive_owner', 'SELECT user_id, name, user_name, is_premium, created_at, updated_at FROM teldrive.users') AS t(user_id bigint, name text, user_name text, is_premium boolean, created_at timestamptz, updated_at timestamptz) ON CONFLICT (user_id) DO NOTHING;

Step 8: Migrate Bots Table -- Note: Use bot_id as temporary bot_user_name and an arbitrary channel_id INSERT INTO teldrive.bots (user_id, token, bot_user_name, bot_id, channel_id) SELECT user_id, token, CAST(bot_id AS text), bot_id, 1 FROM dblink('dbname=teldrive user=teldrive_owner', 'SELECT user_id, token, bot_id FROM teldrive.bots') AS t(user_id bigint, token text, bot_id bigint) ON CONFLICT (user_id, token, channel_id) DO NOTHING;

Step 9: Migrate Channels Table INSERT INTO teldrive.channels (channel_id, channel_name, user_id, selected) SELECT channel_id, channel_name, user_id, selected FROM dblink('dbname=teldrive user=teldrive_owner', 'SELECT channel_id, channel_name, user_id, selected FROM teldrive.channels') AS t(channel_id bigint, channel_name text, user_id bigint, selected boolean) ON CONFLICT (channel_id) DO NOTHING;

Step 10: Migrate Table Files -- Convert UUID from text to uuid and migrate only active files INSERT INTO teldrive.files (id, name, type, mime_type, size, parts, channel_id, parent_id, user_id, status, encrypted, category, updated_at, created_at) SELECT id::uuid, yam, type, mime_type, size, parts, channel_id, parent_id::uuid, user_id, status, encrypted, category, updated_at, created_at FROM dblink('dbname=teldrive user=teldrive_owner', 'SELECT id, name, type, mime_type, size, parts, channel_id, parent_id, user_id, status, encrypted, category, updated_at, created_at FROM teldrive.files WHERE status = ''active''') AS t(id text, name text, type text, mime_type text, size bigint, parts jsonb, channel_id bigint, parent_id text, user_id bigint, status text, encrypted boolean, category text, updated_at timestamp, created_at timestamp) ON CONFLICT (id) DO NOTHING;

Step 11: Exit psql \q

roccolycos avatar Nov 20 '25 18:11 roccolycos

i was able to downgrade but i cant add bots now

aniel300 avatar Nov 23 '25 06:11 aniel300