status-go/protocol/migrations/sqlite
Andrea Maria Piana 360c2d50d4 Fix issues with out of order encryption and batched messages
This commit fixes 3 issues:

1) In some cases, the hash ratchet was not correctly found
2) Out of order messages were not processed correctly as the wrong error
   was returned
3) Batched non datasync messages were not processed correctly

Fixes: #4170
2023-10-30 10:11:32 +00:00
..
000001_init.down.db.sql
000001_init.up.db.sql
000002_add_last_ens_clock_value.up.sql
1586358095_add_replace.up.sql
1588665364_add_image_data.up.sql
1589365189_add_pow_target.up.sql
1591277220_add_index_messages.up.sql
1593087212_add_mute_chat_and_raw_message_fields.up.sql
1595862781_add_audio_data.up.sql
1595865249_create_emoji_reactions_table.up.sql
1596805115_create_group_chat_invitations_table.up.sql
1597322655_add_invitation_admin_chat_field.up.sql
1597757544_add_nickname.up.sql
1598955122_add_mentions.up.sql
1599641390_add_emoji_reactions_index.up.sql
1599720851_add_seen_index_remove_long_messages.up.sql
1603198582_add_profile_chat_field.up.sql
1603816533_add_links.up.sql
1603888149_create_chat_identity_last_published_table.up.sql
1605075346_add_communities.up.sql
1610117927_add_message_cache.up.sql
1610959908_add_dont_wrap_to_raw_messages.up.sql
1610960912_add_send_on_personal_topic.up.sql
1612870480_add_datasync_id.up.sql
1614152139_add_communities_request_to_join.up.sql
1615374373_add_confirmations.up.sql
1617694931_add_notification_center.up.sql
1618923660_create_pin_messages.up.sql
1619094007_add_joined_chat_field.up.sql
1619099821_add_last_synced_field.up.sql
1621933219_add_mentioned.up.sql
1622010048_add_unviewed_mentions_count.up.sql
1622061278_add_message_activity_center_notification_field.up.sql
1622464518_set_synced_to_from.up.sql
1622464519_add_chat_description.up.sql
1622622253_add_pinned_by_to_pin_messages.up.sql
1623938329_add_author_activity_center_notification_field.up.sql
1623938330_add_edit_messages.up.sql Handle edit first & then message 2021-06-29 13:15:15 +02:00
1624978434_add_muted_community.up.sql feat(community): add muted to community and function to set it (#2271) 2021-06-30 09:29:43 -04:00
1625018910_add_repply_message_activity_center_notification_field.up.sql Add reply message to activity center notification of type reply (#2272) 2021-07-15 17:21:44 -03:00
1625762506_add_deleted_messages.up.sql Delete messages (#2279) 2021-07-26 17:06:32 -04:00
1627388946_add_communities_synced_at.up.sql Sync Communities (#2253) 2021-08-06 16:40:23 +01:00
1628280060_create-usermessages-index.sql add index on user_messages to speed-up marking all messages as read (#2304) 2021-08-11 08:26:15 -04:00
1632303896_modify_contacts_table.up.sql Add HasAddedUs field 2021-10-04 12:19:15 +02:00
1633349838_add_emoji_column_in_chats.up.sql Storing emoji values for Custom Emoji Thumbnails for Community Channels (#2366) 2021-10-04 18:32:25 +05:30
1634831235_add_highlight_column_in_chats.up.sql Store Highlight field for identify new chats (#2384) 2021-10-21 22:34:56 +05:30
1634896007_add_last_updated_locally_and_removed.up.sql Backup removed & added by them contacts 2021-11-15 18:53:35 +00:00
1635840039_add_clock_read_at_column_in_chats.up.sql [pairing] Sync read messages 2021-11-02 10:02:27 +02:00
1637852321_add_received_invitation_admin_column_in_chats.up.sql Decline pending group invitations from user, when user is banned (#2437) 2021-11-25 20:51:42 +05:30
1645034601_display_name.up.sql feat: display name 2022-03-14 13:48:34 -04:00
1645034602_add_mutual_contact_request.up.sql Initial support for mutual contact requests 2022-05-31 09:12:36 +01:00
1650373957_add_contact_request_state.up.sql Initial support for mutual contact requests 2022-05-31 09:12:36 +01:00
1656958989_contact_verification.up.sql feat: contact verification request (#2586) 2022-07-05 15:49:44 -04:00
1658236268_add_discord_message_authors_table.up.sql feat: introduce `discord_message_authors` persistence APIs 2022-08-10 10:13:55 +02:00
1659619997_add_discord_messages_table.up.sql feat: add `discord_messages` table and persistence APIs 2022-08-11 10:49:23 +02:00
1660226788_create_chat_identity_social_links.up.sql feat: add social links 2022-08-16 14:29:00 +02:00
1660226789_add_walletconnectsessions_table.up.sql Implement wallet connect session CRUD API 2022-08-19 12:32:00 +01:00
1661242854_add_communities_requests_to_leave.up.sql feat: introduce and distribute RequestToLeave community 2022-08-26 11:25:33 +02:00
1662044232_add_chat_image.up.sql fix: change migration timestamp of group chat add image feature 2022-09-01 17:55:46 +02:00
1662106895_add_chat_first_message_timestamp.up.sql feat: add and distribute `chatIdentity.FirstMessageTimestamp` 2022-09-09 08:59:39 +02:00
1662723928_add_discord_author_image_fields.up.sql feat(message_persistence): add discord message author image payload fields 2022-09-19 13:47:16 +02:00
1664195977_add_deleted_for_mes.up.sql feat: delete for me (#2866) 2022-09-28 19:42:17 +08:00
1664367420_add_discord_attachments_table.up.sql feat: add `DiscordMessageAttachment` types and APIs 2022-09-29 11:38:29 +02:00
1665079662_add_spectated_column_in_communities.up.sql feat: add `SpectateCommunity` api 2022-10-06 21:21:37 +02:00
1665479047_add_community_id_in_notifications.up.sql feat(ActivityCenter): Add community membership AC notifications (#2886) 2022-10-26 02:06:20 +04:00
1665484435_add_encrypted_messages.up.sql Send all encryption keys 2022-10-20 12:19:44 +01:00
1665560200_add_contact_verification_individual.up.sql Handle identity verifications 2022-10-26 17:19:44 +01:00
1670921937_add_album_id.up.sql Images Album (#3021) 2022-12-14 16:25:45 +04:00
1673373000_add_replied.up.sql feat: make replies act as mentions 2023-01-10 13:39:57 -05:00
1673428910_add_image_width_height.up.sql Image width height (#3061) 2023-01-12 13:43:14 +04:00
1674210659_add_contact_request_local_clock.up.sql Fix broken migrations 2023-02-01 18:31:32 +00:00
1675212323_add_deleted_by.up.sql feat: add deleted by xxx support (#3077) 2023-02-01 08:57:35 +08:00
1675247084_add_activity_center_states.up.sql feat: Add seen/unseen activity center setting (#3148) 2023-02-17 14:08:08 +04:00
1675272329_fix_protocol_migration.up.sql Fix broken migrations 2023-02-01 18:31:32 +00:00
1676998418_fix_activity_center_migration.up.sql Add test for everyone tag & fix migration order 2023-02-24 10:18:26 +00:00
1677278861_add_deleted_column_to_activity_center_notifications_table.up.sql Support soft deletion for activity center notifications (#3201) 2023-02-24 20:47:04 -03:00
1677486338_add_community_tokens_table.up.sql feat(CommunityTokens): Keep community token details in database 2023-02-27 10:37:54 +01:00
1678292329_add_collapsed_categories.up.sql Add collapsed community categories 2023-03-14 17:13:21 +00:00
1678800760_add_index_to_raw_messages.up.sql Add index to raw messages 2023-03-16 13:40:20 +00:00
1678877478_add_communities_requests_to_join_revealed_addresses_table.up.sql feat: add verified wallet accounts to community requests 2023-03-22 13:50:25 +01:00
1679326850_add_community_token_owners.up.sql feat(MintTo): Add Airdrop functionality. 2023-03-27 17:17:51 +02:00
1680011500_add_album_images_count.up.sql Add album count key to messages (#3347) 2023-03-30 12:02:20 +02:00
1680114896_add_index_on_album_id.up.sql fix(unread_count): Skip extra count of new messages for album of images (#3345) 2023-03-31 12:15:06 +03:00
1681655289_add_mute_till.up.sql Add muted_till param for chats (#3258) 2023-04-16 17:06:00 +02:00
1681934966_add_index_response_to.up.sql Fix some issues with pinned messages 2023-04-25 16:02:48 +01:00
1682528339_add_index_user_messages_unseen.up.sql chore: add index idx_user_messages_unseen 2023-05-02 09:21:58 +02:00
1683707289_recreate_deleted_for_mes.up.sql Feat/sync local deleted message (#3476) 2023-05-12 16:31:34 +08:00
1683725607_mark_discord_messages_as_seen.up.sql fix: mark imported messages as seen 2023-05-10 18:51:48 +02:00
1684174617_add_url_previews_to_user_messages.up.sql URL unfurling (initial implementation) (#3471) 2023-05-18 15:43:06 -03:00
1684175608_add_token_balances.up.sql Allow setting up wallet with new config 2023-05-19 13:23:21 +01:00
1684979808_sync_activity_center_notifications.up.sql Feat/sync activity center notification (#3535) 2023-06-10 10:00:17 +08:00
1685383829_add_communities_mute_till.up.sql feat(communities): Adds muting interval to community (#3549) 2023-06-17 11:19:05 +03:00
1685964183_add_chainids_to_revealed_addresses.up.sql Add chainIds to revealed accounts in memberhsip requests 2023-06-12 10:49:29 +02:00
1687370421_add_communities_muted_till_new.up.sql fix(migration): Fixes mute_till migration (#3653) 2023-06-22 18:49:58 +03:00
1687416607_add_communities_check_channel_permission_responses_table.up.sql feat: store check channel permission responses 2023-06-27 12:13:59 +02:00
1687856939_add_community_tokens_decimals.up.sql feat(AssetsDeployment): Assets deployment 2023-06-29 16:10:05 +02:00
1687959987_modify_community_tokens_supply_as_string.up.sql Remove unsopported DROP statement 2023-07-14 08:23:38 +01:00
1689258900_add_airdrop_address_to_revealed_addresses.up.sql feat(communities): add airdropAddress param to SharedAccounts (#3756) 2023-07-14 13:33:47 -04:00
1689266326_create_communities_events_table.up.sql chore: community admin events (#3678) 2023-07-18 17:06:12 +02:00
1689931300_add_community_tokens_deployer_and_priv_level.up.sql feat(OwnerToken): Owner token and master token deployment 2023-08-14 20:57:00 +02:00
1693311881_add_unfurled_links_to_message_edits.up.sql Link previews not working on message edit (#3974) 2023-08-31 10:21:25 +03:00
1693311981_community_shard.up.sql waku2: static shards (#3944) 2023-10-12 15:21:49 -04:00
1695331492_add_status_link_previews.up.sql feature: Unfurl status links (#4033) 2023-10-13 13:25:34 +01:00
1695918296_add_validated_at.up.sql Add queue for processing community description & configurable control node 2023-10-17 21:00:24 +01:00
1697699419_community_control_node_sync.up.sql feat: ensure unique control node across devices 2023-10-22 21:50:41 +02:00
1698137561_add_profile_showcase_tables.up.sql feat: Profile showcase backend (#4005) 2023-10-24 14:43:18 +04:00
1698137562_fix_encryption_key_id.up.sql Fix encryption id && rekey with a single message 2023-10-24 20:48:54 +01:00
1698414646_add_padding.up.sql Fix issues with out of order encryption and batched messages 2023-10-30 10:11:32 +00:00
README.md
doc.go

README.md

How to write migrations?

We only write up migrations, down migrations are not always possible in sqlite or too complex/too expensive. For example to remove a column you would have to duplicate the table, copy over the data, delete and recreated. This can be very expensive for some tables (user_messages for example), so should not be attempted.

Notes

One issue we faced multiple times is that updates to user_messages can be very expensive, leading to slow upgrade times and interrupted migrations. So avoid writes if not necessary.