Commit Graph

74 Commits

Author SHA1 Message Date
Codex
74b086b9c8 backend: add push token API and FCM delivery pipeline 2026-03-09 23:12:19 +03:00
ec3dbddad6 fix(chats): resolve saved chat detail 500 by importing ChatMemberRead
Some checks failed
CI / test (push) Failing after 2m15s
2026-03-08 22:32:28 +03:00
6e24c559aa feat(groups): include member profile fields in chat members API
Some checks are pending
CI / test (push) Has started running
2026-03-08 21:22:53 +03:00
90320ffd5d feat(moderation): add chat bans list endpoint with admin access checks
Some checks are pending
CI / test (push) Has started running
2026-03-08 21:21:43 +03:00
5909503012 feat(p0): complete account security privacy and sync hardening
Some checks failed
CI / test (push) Failing after 2m10s
2026-03-08 21:19:12 +03:00
926413534b fix(chats): prevent duplicate saved messages entries in chat list
Some checks failed
CI / test (push) Failing after 1m57s
2026-03-08 21:13:40 +03:00
b6ffff8015 fix(sync): publish chat updates for mute archive and pin mutations
Some checks are pending
CI / test (push) Has started running
2026-03-08 21:08:07 +03:00
21c8f57169 fix(media): allow mp4/m4a audio uploads for voice recordings
Some checks failed
CI / test (push) Failing after 1m31s
2026-03-08 20:48:36 +03:00
418c9e6044 feat(notifications): honor chat mute in web realtime alerts
Some checks failed
CI / test (push) Failing after 1m30s
2026-03-08 20:37:54 +03:00
4122882b7e feat(privacy): support nobody option for group invites
Some checks are pending
CI / test (push) Has started running
2026-03-08 20:32:29 +03:00
d6cd0e719c fix(realtime): flush activity state during forced disconnect cleanup
Some checks are pending
CI / test (push) Has started running
2026-03-08 20:02:46 +03:00
65c20faecd fix(realtime): clear typing and recording indicators on disconnect
All checks were successful
CI / test (push) Successful in 46s
2026-03-08 19:55:32 +03:00
ac82e25d16 feat(realtime): add voice/video recording activity events
Some checks are pending
CI / test (push) Has started running
2026-03-08 19:53:48 +03:00
101f39771e fix(channel): member delete acts as leave; add coverage and docs
All checks were successful
CI / test (push) Successful in 42s
2026-03-08 19:44:42 +03:00
744ded914d realtime: emit and handle chat_deleted for full chat removals
All checks were successful
CI / test (push) Successful in 38s
2026-03-08 19:41:49 +03:00
a896568c53 realtime(chats): update subscriptions on delete/leave chat actions
All checks were successful
CI / test (push) Successful in 41s
2026-03-08 19:40:03 +03:00
fb812c9a39 auth(2fa): add one-time recovery codes with regenerate/status APIs
All checks were successful
CI / test (push) Successful in 40s
2026-03-08 19:16:15 +03:00
d069ff1121 auth(2fa): block setup after enable to avoid secret reissue
All checks were successful
CI / test (push) Successful in 43s
2026-03-08 19:07:20 +03:00
1c9855b34c auth: force disconnect realtime on revoke-all sessions
All checks were successful
CI / test (push) Successful in 26s
2026-03-08 19:04:23 +03:00
db700bcbcd moderation: add chat bans for groups/channels with web actions
All checks were successful
CI / test (push) Successful in 26s
2026-03-08 14:29:21 +03:00
76cc5e0f12 privacy/security: add PM privacy levels and improve session visibility
All checks were successful
CI / test (push) Successful in 24s
2026-03-08 14:26:19 +03:00
33e467d2a5 p1: add forward without author option
All checks were successful
CI / test (push) Successful in 21s
2026-03-08 14:11:04 +03:00
9b3b404993 p0: harden realtime reconciliation and revoke-all token invalidation
All checks were successful
CI / test (push) Successful in 23s
2026-03-08 14:04:11 +03:00
bc9d943d11 chats: add chat avatars and profile view-only modal
All checks were successful
CI / test (push) Successful in 23s
2026-03-08 13:53:29 +03:00
5d69d53301 feat(threads): support nested replies in thread API and panel
All checks were successful
CI / test (push) Successful in 31s
2026-03-08 13:40:42 +03:00
c6e8b779b0 feat(threads): add basic message thread API and web thread panel
All checks were successful
CI / test (push) Successful in 21s
2026-03-08 13:37:53 +03:00
c214cc8fd8 feat(privacy): enforce avatar/presence visibility and invite restrictions 2026-03-08 13:32:20 +03:00
041f7ac171 feat(messages): limit message edit window to 7 days
All checks were successful
CI / test (push) Successful in 25s
2026-03-08 13:20:51 +03:00
13b5f5b855 feat(realtime): sync message edits and deletes instantly 2026-03-08 13:17:09 +03:00
d2dd9aa01b feat(chat): add in-message attachments gallery and multi-file send
All checks were successful
CI / test (push) Successful in 19s
2026-03-08 13:06:00 +03:00
82322c4d42 fix(realtime,ui): sync message deletes and channel delete/leave behavior
All checks were successful
CI / test (push) Successful in 23s
2026-03-08 12:52:31 +03:00
30169a3a27 feat: add waveform voice messages end-to-end
All checks were successful
CI / test (push) Successful in 23s
2026-03-08 12:40:49 +03:00
8689283e99 fix: persist message delivery status across server restarts
All checks were successful
CI / test (push) Successful in 21s
2026-03-08 12:27:54 +03:00
0594b890c3 feat: mentions badge in chat list and muted-mention delivery
All checks were successful
CI / test (push) Successful in 21s
2026-03-08 12:23:39 +03:00
79baadb522 feat(auth,privacy,web): step-by-step login, privacy settings persistence, TOTP QR, and API docs
Some checks failed
CI / test (push) Failing after 22s
2026-03-08 12:09:53 +03:00
cbd1b008bb feat(contacts): switch contacts UX to email-first flow
Some checks failed
CI / test (push) Failing after 18s
- expose email in user search/contact responses

- add add-contact-by-email API endpoint

- show email in contacts/search and add contact form by email in Contacts tab
2026-03-08 11:51:02 +03:00
897defc39d fix(audio,sessions): unify audio playback state and improve session discovery
Some checks failed
CI / test (push) Failing after 18s
- move voice/audio players to single global audio engine with shared volume

- stop/reset previous track when switching to another media

- keep playback alive across chat switches via global audio element

- list refresh sessions by redis scan fallback when user session set is missing
2026-03-08 11:48:13 +03:00
27d3340a37 feat(auth): add TOTP 2FA setup and login verification
Some checks failed
CI / test (push) Failing after 21s
- add user twofa fields and migration

- add 2FA setup/enable/disable endpoints

- enforce OTP on login when 2FA enabled

- add web login OTP field and settings UI
2026-03-08 11:43:51 +03:00
e685a38be6 feat(auth): add active sessions management
Some checks failed
CI / test (push) Failing after 33s
- store refresh session metadata in redis (ip/user-agent/created_at)

- add auth APIs: list sessions, revoke one, revoke all

- add web privacy UI for active sessions
2026-03-08 11:41:03 +03:00
da73b79ee7 feat(contacts): add contacts module with backend APIs and web tab
Some checks failed
CI / test (push) Failing after 18s
- add user_contacts table and migration

- expose /users/contacts list/add/remove endpoints

- add Contacts tab in chat list with add/remove actions
2026-03-08 11:38:11 +03:00
99e7c70901 feat: realtime sync, settings UX and chat list improvements
Some checks failed
CI / test (push) Failing after 21s
- add chat_updated realtime event and dynamic chat subscriptions

- auto-join invite links in web app

- implement Telegram-like settings panel (general/notifications/privacy)

- add browser notification preferences and keyboard send mode

- improve chat list with last message preview/time and online badge

- rework chat members UI with context actions and role crowns
2026-03-08 10:59:44 +03:00
6a96a99775 feat(web): improve message UX, voice gestures, and attachments
Some checks failed
CI / test (push) Failing after 21s
2026-03-08 10:20:52 +03:00
f01bbda14e feat(invites): add group/channel invite links and join by token 2026-03-08 09:58:55 +03:00
7c4a5f990d feat(messages): support forwarding to multiple chats 2026-03-08 09:55:39 +03:00
8cdcd9531d feat(chats): add per-user pinned chats and pinned sorting 2026-03-08 09:54:43 +03:00
fdf973eeab feat(chats): add per-user chat archive support 2026-03-08 09:53:28 +03:00
76f008d635 feat(reactions): add message reactions API and web quick reactions 2026-03-08 09:51:18 +03:00
bc483afd78 feat(search): add unified global search for users/chats/messages
Some checks failed
CI / test (push) Failing after 24s
2026-03-08 09:41:20 +03:00
76ab9c72f5 feat(privacy): add private-message permission toggle 2026-03-08 02:56:58 +03:00
df79a70baf chore(prod): startup migrations, readiness checks and backend healthcheck
- add backend entrypoint that can run alembic upgrade head on startup
- add RUN_MIGRATIONS_ON_STARTUP setting and compose wiring
- add /health/live and /health/ready endpoints with db+redis checks
- add backend container healthcheck against readiness endpoint
- document readiness and startup migration behavior
2026-03-08 02:50:57 +03:00