Ensure color column exists before query in legacy DB migration#14518
Conversation
|
I'm uncomfortable with the way that I offensively dismissed what I felt to be a spammy issue request about AI in an unrelated FOSS project thread yesterday (2026-02-14). I mention this in case you'd prefer not to accept my contributions; however you are still welcome to. I don't use AI myself and would like not to be critical of those who do, but I was angry. |
|
Please could someone review this pull request? I believe that this device is at Android SDK API level 23, and that it remains narrowly within the supported version window: Thank you, |
|
Hey sorry, sometimes things get missed. I don't think I want to add the column back, since this column was removed. Instead, I think I can just remove the migration overall, so it doesn't run and assume the existence of a removed column. |
|
I've made that change in the candidate 8.2 release. |
|
That's OK - and thank you, @greyson-signal. I'll await the 8.2 release, and will close this pull request - thanks again. |
Contributor checklist
Fixes #1234syntaxDescription
I have an old-ish Android 6.x device that I previously used Signal on. The database schema has gotten into a state where the
updateSystemContactColorsmigration fails due to a missingcolorcolumn on therecipienttable.The failure prevents the Signal user interface from opening, locking me out of historical conversations and media I'd like to retain.
That database migration has been deprecated since Y2021 (ref: bcc5d48).
This pull request adds an error-ignored step to add the column before it is queried (as far as I know, SQLite has no
add column if not existsfunctionality). I have not yet tested this, but believe that it would solve the problem.I have not been able to decrypt the database from my device to test this with, and I am not keen to root the device purely to install an unsigned test build.
May resolve #14228.