|
|
bbb97292d2
|
docs(api): add invite-link permission rules
CI / test (push) Has been cancelled
|
2026-03-08 20:19:30 +03:00 |
|
|
|
58e85d0a64
|
test(invites): cover join-by-token and invite-link permissions
CI / test (push) Has started running
|
2026-03-08 20:19:16 +03:00 |
|
|
|
90c2bdcd96
|
docs(api): document owner-only chat role update rules
CI / test (push) Has started running
|
2026-03-08 20:18:18 +03:00 |
|
|
|
ee43d13ba4
|
test(roles): enforce owner-only member role management
CI / test (push) Has started running
|
2026-03-08 20:17:30 +03:00 |
|
|
|
58c80460fa
|
docs(api): clarify message delete semantics and channel constraints
CI / test (push) Failing after 1m6s
|
2026-03-08 20:15:46 +03:00 |
|
|
|
80bda6e537
|
test(channels): enforce delete-for-all permissions on messages
CI / test (push) Has started running
|
2026-03-08 20:15:25 +03:00 |
|
|
|
60e5225c80
|
fix(ui): prevent chat-info attachment menu clicks from closing panel
CI / test (push) Has started running
|
2026-03-08 20:14:24 +03:00 |
|
|
|
7453e1ec06
|
feat(realtime): emit recording_video activity in circle-video flow
CI / test (push) Has been cancelled
|
2026-03-08 20:13:43 +03:00 |
|
|
|
1d2610a796
|
docs(checklist): note session revoke test coverage
CI / test (push) Failing after 1m2s
|
2026-03-08 20:10:42 +03:00 |
|
|
|
ace8c79051
|
test(auth): cover single-session revoke behavior
CI / test (push) Has started running
|
2026-03-08 20:10:30 +03:00 |
|
|
|
190b7b9d71
|
docs(checklist): mark typing module partial until video recorder emit is wired
CI / test (push) Has been cancelled
|
2026-03-08 20:09:48 +03:00 |
|
|
|
9f03aafd18
|
test(privacy): enforce nobody private message policy
CI / test (push) Has started running
|
2026-03-08 20:09:14 +03:00 |
|
|
|
9ffcf7b3ef
|
perf(realtime): debounce typing start/stop events
CI / test (push) Failing after 55s
|
2026-03-08 20:06:04 +03:00 |
|
|
|
c5b90bc91c
|
fix(typing): stop indicator on blur and chat switch
CI / test (push) Has started running
|
2026-03-08 20:05:23 +03:00 |
|
|
|
1a3a54cfb9
|
test(moderation): enforce group profile edit permissions by role
CI / test (push) Has started running
|
2026-03-08 20:04:55 +03:00 |
|
|
|
57b687a036
|
test(channels): validate admin global delete permissions
CI / test (push) Failing after 51s
|
2026-03-08 20:03:15 +03:00 |
|
|
|
d6cd0e719c
|
fix(realtime): flush activity state during forced disconnect cleanup
CI / test (push) Has started running
|
2026-03-08 20:02:46 +03:00 |
|
|
|
724bd24b4f
|
docs(api): add full realtime websocket protocol section
CI / test (push) Has started running
|
2026-03-08 20:02:07 +03:00 |
|
|
|
9bc695ca58
|
test(privacy): verify contacts-only avatar and presence visibility
CI / test (push) Has started running
|
2026-03-08 20:01:36 +03:00 |
|
|
|
f369083b6a
|
fix(realtime-ui): auto-expire stale typing/recording indicators
CI / test (push) Has started running
|
2026-03-08 20:00:59 +03:00 |
|
|
|
6930e73b9f
|
test(channels): enforce member read-only posting permissions
CI / test (push) Successful in 50s
|
2026-03-08 19:58:10 +03:00 |
|
|
|
f03fcb2bb7
|
test(privacy): cover hidden avatar and last-seen in private chat list
CI / test (push) Has started running
|
2026-03-08 19:57:42 +03:00 |
|
|
|
84ac0c0e60
|
fix(websocket): force logout on revoked session close codes
CI / test (push) Has been cancelled
|
2026-03-08 19:57:11 +03:00 |
|
|
|
65c20faecd
|
fix(realtime): clear typing and recording indicators on disconnect
CI / test (push) Successful in 46s
|
2026-03-08 19:55:32 +03:00 |
|
|
|
1d250f0420
|
test(realtime): cover recording activity event schema
CI / test (push) Successful in 46s
|
2026-03-08 19:54:19 +03:00 |
|
|
|
ac82e25d16
|
feat(realtime): add voice/video recording activity events
CI / test (push) Has started running
|
2026-03-08 19:53:48 +03:00 |
|
|
|
1ef0cdf29d
|
test(channel): forbid member delete with for_all
CI / test (push) Successful in 42s
|
2026-03-08 19:45:37 +03:00 |
|
|
|
101f39771e
|
fix(channel): member delete acts as leave; add coverage and docs
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
CI / test (push) Successful in 38s
|
2026-03-08 19:41:49 +03:00 |
|
|
|
a896568c53
|
realtime(chats): update subscriptions on delete/leave chat actions
CI / test (push) Successful in 41s
|
2026-03-08 19:40:03 +03:00 |
|
|
|
8965dc93fd
|
web(avatar-crop): smooth zoom via transform scale with stable cover sizing
CI / test (push) Successful in 46s
|
2026-03-08 19:36:44 +03:00 |
|
|
|
702679c99d
|
web(avatar-crop): fix narrow-image centering and add circular tg-like mask
CI / test (push) Successful in 39s
|
2026-03-08 19:33:24 +03:00 |
|
|
|
958a85be91
|
web(settings): center no-avatar placeholder text inside circle
CI / test (push) Successful in 45s
|
2026-03-08 19:30:41 +03:00 |
|
|
|
a1436ca27f
|
web(composer): center glyphs inside round action buttons
CI / test (push) Successful in 50s
|
2026-03-08 19:28:38 +03:00 |
|
|
|
67752b9f47
|
web(mobile): compact composer under 390px and fix stale title draft in chat info
CI / test (push) Successful in 41s
|
2026-03-08 19:20:04 +03:00 |
|
|
|
cb59f1063e
|
web(mobile): tighten composer controls and solid settings drawer background
CI / test (push) Successful in 37s
|
2026-03-08 19:17:58 +03:00 |
|
|
|
fb812c9a39
|
auth(2fa): add one-time recovery codes with regenerate/status APIs
CI / test (push) Successful in 40s
|
2026-03-08 19:16:15 +03:00 |
|
|
|
f91a6493ff
|
web(mobile): fix composer layout overflow on narrow screens
CI / test (push) Successful in 34s
|
2026-03-08 19:08:55 +03:00 |
|
|
|
d069ff1121
|
auth(2fa): block setup after enable to avoid secret reissue
CI / test (push) Successful in 43s
|
2026-03-08 19:07:20 +03:00 |
|
|
|
af1ce20640
|
tests(privacy): cover group-invite and avatar visibility policies
CI / test (push) Successful in 31s
|
2026-03-08 19:05:43 +03:00 |
|
|
|
1c9855b34c
|
auth: force disconnect realtime on revoke-all sessions
CI / test (push) Successful in 26s
|
2026-03-08 19:04:23 +03:00 |
|
|
|
7e38123d4a
|
docs(checklist): mark forwarding module as done
CI / test (push) Successful in 24s
|
2026-03-08 18:57:09 +03:00 |
|
|
|
8830192642
|
web(realtime): refresh chat info panel on chat updates
CI / test (push) Has started running
|
2026-03-08 18:56:54 +03:00 |
|
|
|
661f8acf63
|
web(group-ui): show sender avatars on incoming clusters
CI / test (push) Successful in 28s
|
2026-03-08 18:54:55 +03:00 |
|
|
|
0db741cb8e
|
voice: harden recorder capture with mime fallback and chunked start
CI / test (push) Successful in 26s
|
2026-03-08 18:52:02 +03:00 |
|
|
|
4d9b64973d
|
voice: add global playback speed control for audio and voice
CI / test (push) Successful in 25s
|
2026-03-08 18:51:12 +03:00 |
|
|
|
f186f12bde
|
ui: show sender names in group bubbles with stable colors
CI / test (push) Successful in 26s
|
2026-03-08 18:49:20 +03:00 |
|
|
|
db700bcbcd
|
moderation: add chat bans for groups/channels with web actions
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
CI / test (push) Successful in 24s
|
2026-03-08 14:26:19 +03:00 |
|
|
|
528778238b
|
web: add 500x500 avatar cropper for profile and chat uploads
CI / test (push) Successful in 28s
|
2026-03-08 14:17:19 +03:00 |
|