Phase 2: PostgreSQL, E2EE, channel CRUD, voice signaling, Slint migration
Server: - PostgreSQL backend (Pool enum over Sqlite/PgPool, all storage methods dual-dialect) - E2EE for DM (4 new protobuf packets, handlers, storage of ciphertext only) - ChannelEdit packet + server-authoritative channel create/delete - Gateway → voice-node membership signaling via broadcast channel Client: - E2EE crypto (X25519 from Ed25519, HKDF, ChaCha20-Poly1305) + UI lock icons - E2EE net layer (PID 0x0071-0x0074, JSON payloads, dispatch, session handlers) - Slint migration: all .slint files, bridge.rs, update.rs, main.rs rewritten - Removed egui UI (~50 files) and all dead code (clean clippy -D warnings)
This commit is contained in:
parent
c34ed2a192
commit
742cf03a5f
31 changed files with 2203 additions and 639 deletions
|
|
@ -34,6 +34,8 @@ pub struct State {
|
|||
pub rate_limiter: Arc<RateLimiter>,
|
||||
/// Gateway → voice-node membership bridge.
|
||||
pub voice_member_tx: Option<VoiceMemberTx>,
|
||||
/// E2EE key store: user_id -> X25519 public key bytes
|
||||
pub e2ee_keys: Arc<RwLock<HashMap<String, Vec<u8>>>>,
|
||||
}
|
||||
|
||||
impl State {
|
||||
|
|
@ -66,6 +68,7 @@ impl State {
|
|||
channels_count,
|
||||
rate_limiter,
|
||||
voice_member_tx,
|
||||
e2ee_keys: Arc::new(RwLock::new(HashMap::new())),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue