core, ui: security code verification in channels (verify member key) (#7255)

This commit is contained in:
spaced4ndy
2026-07-15 10:46:31 +00:00
committed by GitHub
parent 6e2995cab6
commit 0fef34914d
28 changed files with 250 additions and 88 deletions
@@ -41,6 +41,7 @@ import Simplex.Chat.Store.Postgres.Migrations.M20260602_group_roster
import Simplex.Chat.Store.Postgres.Migrations.M20260603_simplex_name
import Simplex.Chat.Store.Postgres.Migrations.M20260629_roster_catchup
import Simplex.Chat.Store.Postgres.Migrations.M20260707_file_digest
import Simplex.Chat.Store.Postgres.Migrations.M20260714_member_security_code
import Simplex.Messaging.Agent.Store.Shared (Migration (..))
schemaMigrations :: [(String, Text, Maybe Text)]
@@ -81,7 +82,8 @@ schemaMigrations =
("20260602_group_roster", m20260602_group_roster, Just down_m20260602_group_roster),
("20260603_simplex_name", m20260603_simplex_name, Just down_m20260603_simplex_name),
("20260629_roster_catchup", m20260629_roster_catchup, Just down_m20260629_roster_catchup),
("20260707_file_digest", m20260707_file_digest, Just down_m20260707_file_digest)
("20260707_file_digest", m20260707_file_digest, Just down_m20260707_file_digest),
("20260714_member_security_code", m20260714_member_security_code, Just down_m20260714_member_security_code)
]
-- | The list of migrations in ascending order by date
@@ -0,0 +1,21 @@
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE QuasiQuotes #-}
module Simplex.Chat.Store.Postgres.Migrations.M20260714_member_security_code where
import Data.Text (Text)
import Text.RawString.QQ (r)
m20260714_member_security_code :: Text
m20260714_member_security_code =
[r|
ALTER TABLE group_members ADD COLUMN member_security_code TEXT;
ALTER TABLE group_members ADD COLUMN member_security_code_verified_at TIMESTAMPTZ;
|]
down_m20260714_member_security_code :: Text
down_m20260714_member_security_code =
[r|
ALTER TABLE group_members DROP COLUMN member_security_code;
ALTER TABLE group_members DROP COLUMN member_security_code_verified_at;
|]
@@ -836,7 +836,9 @@ CREATE TABLE test_chat_schema.group_members (
relay_link bytea,
member_pub_key bytea,
removed_at timestamp with time zone,
roster_served_version bigint
roster_served_version bigint,
member_security_code text,
member_security_code_verified_at timestamp with time zone
);