perf: sync protocol and core hardening updates

This commit is contained in:
A 2026-07-11 19:48:26 +08:00
parent 152fed3b87
commit 4390ebf5a9
283 changed files with 29231 additions and 2295 deletions

View file

@ -0,0 +1,17 @@
-- sendMultiMedia 必须在解析上传媒体、逐条发送之前持久预留 grouped_id。
-- 这张表把每个发送 random_id 固定到会话作用域内的相册组,使中途失败后
-- 客户端只重试失败子集时仍能恢复首次整包使用的 grouped_id;intent_hash
-- 同时阻止内容已改变的相同 random_id 借旧预留错误合并。
CREATE TABLE album_group_reservations (
sender_user_id BIGINT NOT NULL REFERENCES users(id) ON DELETE CASCADE,
peer_type TEXT NOT NULL CHECK (peer_type IN ('user', 'channel')),
peer_id BIGINT NOT NULL CHECK (peer_id > 0),
random_id BIGINT NOT NULL CHECK (random_id <> 0),
intent_hash BYTEA NOT NULL CHECK (octet_length(intent_hash) = 32),
grouped_id BIGINT NOT NULL CHECK (grouped_id <> 0),
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
PRIMARY KEY (sender_user_id, peer_type, peer_id, random_id)
);
COMMENT ON TABLE album_group_reservations IS
'Durable pre-send binding from album item random_id to grouped_id; never reconstructed from a retry subset.';