Commit Graph

255 Commits

Author SHA1 Message Date
Barış Soner Uşaklı
f826e62933 fix: promises in groups.leave
speed up user.delete

user.delete calls `groups.leaveAllGroups` which calls rejectMembership with 500+ groups. This function then tries to remove the user from `group:<group>:pending` and `group:<group>:invited` sets so a total for 1k sets. You can't be invited or request membership to privilege groups so filter the groups before sending to rejectMembership

clearGroupTitleIfSet function tries to remove the group title from the user. It was only skipping privilege groups and registered-users, but unverified-users & verified users weren't added to the check

Messaging.leaveRooms, make a single call to isUserInRoom and passing an array of roomIds

In user.delete, check utils.isNumber(uid) once.

Call deleteVotes/deleteChats/revokeAllSessions in Promise.all

If user is local dont call activitypub.actors.remove(), this saves a db call to `await db.isSortedSetMember('usersRemote:lastCrawled', id);`
2026-03-09 13:29:12 -04:00
Barış Soner Uşaklı
2d49da7889 fix: #14032, fix regression in room creation
add test
2026-03-01 15:45:32 -05:00
Barış Soner Uşaklı
64a072c92b fix: escape fullname in chatWithMessage 2026-02-27 00:19:17 -05:00
Barış Soner Uşaklı
9ac507e5b4 feat: track all caches created in acp
closes #13979
2026-02-12 10:31:18 -05:00
Barış Uşaklı
c65af19985 refactor: add createFieldChecker (#13973)
* refactor: add createFieldChecker

* refactor: use hasField in topic/data.js

* refactor: use hasField in categories/data.js

* test: fix category nickname logic

* test: fix spec
2026-02-11 11:38:03 -05:00
Barış Uşaklı
62d88555ae feat: eslint10 (#13967)
* feat: eslint10

* lint: no-useless-assignment
2026-02-10 12:39:11 -05:00
Barış Soner Uşaklı
c8cd34bfd5 refactor: use lru directly 2026-02-03 13:00:05 -05:00
Barış Soner Uşaklı
61662f19ee feat: closes #13203, make users room owners on private chats 2026-02-02 09:49:52 -05:00
Julian Lam
3ede64d8a1 refactor: move all methods in src/api/activitypub.js to src/activitypub.out.js 2025-10-22 14:41:56 -04:00
Barış Soner Uşaklı
7acd63c2a0 test: fix test, add joinLeaveMessages to newRoom 2025-06-27 15:03:23 -04:00
Barış Soner Uşaklı
92a3859f7b feat: add option to toggle chat join/leave message
closes #13508
2025-06-27 14:18:53 -04:00
Barış Soner Uşaklı
a5afad27e5 feat: chat allow/deny list, closes #13359 2025-04-25 11:54:11 -04:00
Barış Soner Uşaklı
ec657b2715 Merge branch 'master' into develop 2025-03-09 12:13:48 -04:00
Barış Soner Uşaklı
1e6c6f4e44 fix: #13094, update unread chats on reconnect
unread topics and notifications were updated on reconnections, added chats as well
convert function to async added awaits
2025-03-09 12:03:09 -04:00
Julian Lam
81509b13f3 feat: new ACP config for max length of remote chat messages, #13174 2025-03-07 15:04:18 -05:00
Barış Soner Uşaklı
70a9f6d337 fix: return null if field isn't in hash 2025-02-11 13:37:21 -05:00
Barış Soner Uşaklı
c2f7754ae0 Post/parent (#13133)
* post.parent wip

* feat: post parent

handle delete/restore/purge privileges etc.

* remove whitespace

* fix: this in each

* lint

* up harmony fix text break
2025-02-06 14:37:50 -05:00
Julian Lam
45d2fe11dc Merge remote-tracking branch 'origin/develop' into activitypub 2024-12-04 15:24:26 -05:00
Barış Soner Uşaklı
69a08c0f6c feat: use displayname in chat teasers/userlist, in digest email
#12945
2024-12-02 10:38:21 -05:00
Julian Lam
b6a2520fcc fix: #12923, inability to start chat with remote users via profile 2024-11-19 14:39:35 -05:00
Julian Lam
0f1b11649c fix: errant parseInt in canEditDelete 2024-10-17 11:23:08 -04:00
Julian Lam
61445d3d87 feat: send Update(Note) on chat message deletion and restoration, serving Tombstone if deleted
re: #12853
2024-10-17 11:06:10 -04:00
Julian Lam
e5948464e7 feat: handle Update(Note) when object has limited visibility, #12834 2024-10-15 11:27:57 -04:00
Julian Lam
1659015c98 feat: federate on chat message edit, #12834 2024-10-10 13:04:07 -04:00
Julian Lam
2464d13cde feat: notify users on new message from remote users, fix use of parseInt in generating chat notification
re: #12834
2024-10-09 13:51:41 -04:00
Julian Lam
e9a27db29d fix: remote debug log 2024-10-09 13:19:52 -04:00
Julian Lam
adf33cfac9 fix: error on replying to remote mids #12834 2024-10-09 13:18:16 -04:00
Julian Lam
8abfd951b2 fix: empty mid on frontend for remote posts 2024-10-08 16:28:03 -04:00
Julian Lam
0a17a0b948 fix: recent chats string generation to handle remote users #12834 2024-10-08 15:27:53 -04:00
Julian Lam
b82e20dfc7 feat: handle incoming non-public activities as chat message, #12834 2024-10-08 14:26:55 -04:00
Julian Lam
2ab5ea39a6 feat: federating out chat messages
re #12834
2024-10-07 14:12:31 -04:00
Julian Lam
52080ba269 fix: chat room kicking of remote users, (un)read logic for remote users (there is none), sendNotification to only apply to local uids
re: #12834
2024-10-04 17:08:44 -04:00
Julian Lam
ba2c3fcef4 Merge remote-tracking branch 'origin/develop' into activitypub 2024-09-04 14:38:50 -04:00
Barış Soner Uşaklı
c0b30ea4ef fix: closes #12758, show different error message for block 2024-08-27 10:23:21 -04:00
Barış Soner Uşaklı
df6062d8be Merge branch 'develop' into activitypub 2024-08-21 12:57:10 -04:00
Barış Soner Uşaklı
ac644ac286 refactor: #12713, update chat teasers even if chat notifications are disabled 2024-08-02 10:06:28 -04:00
Barış Soner Uşaklı
ded05b83fc Merge branch 'develop' into activitypub 2024-06-08 20:52:11 -04:00
Barış Soner Uşaklı
8d56e097a5 fix: return early for guests/spiders
they cant have private chats
2024-06-08 20:50:46 -04:00
Julian Lam
2dec357aee feat: activitypub actor endpoint for user accounts 2023-12-06 13:38:18 -05:00
Julian Lam
932bd29200 feat: update Messaging.toggleOwner to optionally take a third state argument 2023-11-20 13:06:26 -05:00
Julian Lam
a4133500fe refactor(socket.io): deprecate SocketModules.chats.canMessage and .markAllRead with no alternative. deprecate .getRecentChats in favour of api.chats.list 2023-11-20 13:06:26 -05:00
Barış Soner Uşaklı
4c4f3ac983 feat: add direct message link (#12138)
* feat: add direct message link

/message/:mid
add /:index? to chat routes
add copy link to chat messages
add messageCount to each room object
add infinitescroll in both directions to chat

* fix more tests

* test: more text fixes

* test: fix tests

* remove async

* dont crash if element not in dom

clamp scrollToIndex values to 0, msgCount
2023-10-31 10:15:06 -04:00
Barış Soner Uşaklı
e5a60dc857 fix: param 2023-10-25 13:40:15 -04:00
Barış Soner Uşaklı
dabc282dde refactor: move async call to parallel 2023-10-25 13:25:55 -04:00
Julian Lam
6a696c43a3 fix: handle public chat rooms too 2023-10-25 13:23:01 -04:00
Julian Lam
18c27d1ad3 fix: suppress chat message notifications for users who are known to be in the chat room (uid is present in the corresponding socket.io room) 2023-10-25 13:23:01 -04:00
Barış Soner Uşaklı
b398321a5e Chat with privileged (#12092)
* Update headers.js

Fixes X-Upstream-Hostname header for os hostnames with invalid characters

* Added missing period in allowed hostname chars

Allowed hostname chars should include A-Za-z0-9-. based on https://man7.org/linux/man-pages/man7/hostname.7.html

* feat: add chat:privileged global privilege

to only allow chatting with privileged users

* test: fix priv test

* test: one more fix

---------

Co-authored-by: chadjw <chad.warner@gmail.com>
2023-10-17 13:19:25 -04:00
Barış Soner Uşaklı
844cb91beb feat: update all language keys to use - instead of _ (#12059)
* feat: update all language keys to use - instead of _

* refactor: update language keys
2023-10-05 12:48:50 -04:00
Barış Soner Uşaklı
f9fb3c3a06 refactor: change private message email subject
if roomName is set use it in the subject along wit the sender displayname
2023-10-05 01:02:39 -04:00
Barış Soner Uşaklı
130815c725 perf: no need to count on every call 2023-10-03 10:04:46 -04:00