←back to thread

988 points keyboardJones | 2 comments | | HN request time: 0s | source
Show context
amluto ◴[] No.45170784[source]
Wow, maybe as a side effect users will be able to migrate between Android and iOS without losing their message history.

Seriously, why is the migration protocol completely different on the two platforms?

replies(3): >>45170971 #>>45170994 #>>45171576 #
greysonp ◴[] No.45171576[source]
Hi there, Signal dev here. The new backup format is indeed cross-platform. I've successfully restored backups on an iPhone, we're just stabilizing things :)

If you're curious, the reason that Android's current local backups aren't cross platform is because it was made a long time ago, and it's literally a dump of all the sqlite statements that can be used to recreate Android's sqlite database (encrypted with a strong, random, local key). So not the most portable!

But this new thing is all cross-platform, and in the near future we'll even be making our local backups cross-platform.

replies(6): >>45172103 #>>45172278 #>>45175020 #>>45175440 #>>45179176 #>>45179376 #
codethief ◴[] No.45175020[source]
Hi Greyson!

> But this new thing is all cross-platform, and in the near future we'll even be making our local backups cross-platform.

This is excellent news! Will there also be official documentation on the backup format, potentially even official tooling like signalbackup-tools[0] to access/parse backups offline? I'm asking because, having used Signal/TextSecure for 10 years now, my backups are worth a lot to me (obviously) and there have been times when I would have liked to mine & process my backed-up data. (Extract media from conversations in an automated manner, build a more elaborate search, …)

My backups have also reached the point where they are so big (15-20 GB) that it's starting to become difficult to conduct a backup each day and sync it successfully before it gets overridden 48h later. So unless I start using the new "cloud backup" feature[1] (which I'm not sure I want to), at some point I will have to archive my existing Signal conversations somewhere and start from scratch (i.e. reset the app). In that case, it would be nice if there was an officially documented way to merge & read new and old backups offline (on my desktop), similar to what [0] provides right now.

[0]: https://github.com/bepaald/signalbackup-tools

[1]: EDIT: Actually, it seems like the new cloud backup feature doesn't support incremental backups, either? https://news.ycombinator.com/item?id=45175387

replies(2): >>45178910 #>>45180744 #
1. greysonp ◴[] No.45180744[source]
Hi! I don't know if we'll have anything super official, but the code is obviously all open source, and the backup file is just a stream of protobufs[1], so it shouldn't be too bad to make a tool. I know have some rough CLI tools sitting around -- I'll see if there's anything we want to clean up and release publicly when the local backup portion of this launches.

Also, as someone else noted, the format is indeed incremental. So while we'll still do the thing where we keep the last two backups on disk, because those two backups will share almost all the same media files, the size on disk will be much much smaller. As someone with a 50 GB backup file, this was very much a goal for me :)

[1] https://github.com/signalapp/Signal-Android/blob/main/app/sr...

replies(1): >>45181398 #
2. codethief ◴[] No.45181398[source]
> I'll see if there's anything we want to clean up and release publicly when the local backup portion of this launches.

That would be fantastic! Thanks so much!

> As someone with a 50 GB backup file, this was very much a goal for me :)

Haha, I'm glad I'm not the only one!