Commit Graph

192 Commits

Author SHA1 Message Date
Barış Soner Uşaklı
1e616da52b Merge branch 'master' into develop 2024-09-07 22:51:19 -04:00
Barış Soner Uşaklı
220af7068a fix: closes #12780, 404 in api/v3 if topic doesn't exist 2024-09-07 21:31:08 -04:00
Julian Lam
2d14a79854 feat: migrate topic move socket call to api v3 2024-08-15 13:28:57 -04:00
Barış Soner Uşaklı
f7c9b7ae4e fix: recent chat pagination, closes #12637 2024-06-14 09:52:11 -04:00
Barış Soner Uşaklı
1aaa6cbbc5 feat: add voters/upvoters v3 routes
closes #12423
2024-05-31 11:45:41 -04:00
Julian Lam
c1e6be7705 refactor(socket.io): deprecate SocketModules.chats.typing in favour of api.chats.toggleTyping 2023-11-20 13:06:26 -05:00
Julian Lam
401e8636bd refactor(socket.io): deprecate SocketModules.chats.loadPinnedMessages in favour of api.chats.getPinnedMessages" 2023-11-20 13:06:26 -05:00
Julian Lam
f9dc35021d refactor(socket.io): deprecate SocketModules.chats.searchMessages in favour of api.search.roomMessages 2023-11-20 13:06:26 -05:00
Julian Lam
75c8cda18c refactor(socket.io): deprecate SocketModules.chats.setNotificationSetting in favour of api.chats.watch 2023-11-20 13:06:26 -05:00
Julian Lam
b13c6ee431 refactor(socket.io): deprecated SocketModules.chats.toggleOwner in favour of api.chats.toggleOwner 2023-11-20 13:06:26 -05:00
Julian Lam
6e952263d1 refactor(socket.io): deprecated SocketModules.chats.searchMembers in favour of api.search.roomUsers 2023-11-20 13:06:26 -05:00
Julian Lam
62b7dfd400 refactor(socket.io): deprecate SocketModules.sortPublicRooms in favour of api.chats.sortPublicRooms 2023-11-20 13:06:26 -05:00
Julian Lam
5eaffb422c refactor(socket.io): deprecate SocketModules.chat.getUnreadCount in favour of api.chats.getUnread 2023-11-20 13:06:26 -05:00
Julian Lam
214989a8c1 refactor(socket.io): deprecate SocketModules.chats.getIP in favour of api.chats.getIpAddress 2023-11-20 13:06:26 -05:00
Julian Lam
0d3c94e6bb refactor(socket.io): deprecate SocketModules.chats.hasPrivateChat in favour of api.users.getPrivateRoomId 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
Julian Lam
eebea4df2e refactor(socket.io): deprecate SocketModules.chats.isDnD in favour of api.users.getStatus 2023-11-20 13:06:26 -05:00
Julian Lam
c4b4e79b28 refactor(socket.io): deprecate SocketModules.chats.getRaw in favour of api.chats.getRawMessage 2023-11-20 13:06:26 -05:00
Julian Lam
dc4cc74fbd refator(socket.io): deprecate socketGroups.getChatGroups in favour of api.admin.listGroups 2023-11-09 11:53:17 -05:00
Julian Lam
181a93996c chore: minor re-order of routes/controllers in admin api v3 router/controller 2023-11-09 11:53:17 -05:00
Julian Lam
d2f3333af0 refactor(socket.io): deprecate socketGroups.searchMembers in favour of api.groups.listMembers 2023-11-09 11:53:17 -05:00
Julian Lam
b61e814787 refactor(socket.io): deprecate socketGroups.loadMore in favour of api.groups.list 2023-11-09 11:53:17 -05:00
Julian Lam
00de9d5b07 refactor(socket.io): deprecate categories.categorySearch in favour of api.search.categories
THIS IS WIP
2023-10-31 11:32:07 -04:00
Julian Lam
1ce4ca54da refactor(socket.io): deprecate categories.loadMore in favour of api.categories.getTopics 2023-10-31 11:32:07 -04:00
Julian Lam
5399e86af1 docs(socket.io): openapi schema for remaining added routes 2023-10-31 11:32:07 -04:00
Julian Lam
54000aabf5 fix(socket.io): update getPosts controller to return object containing posts instead of straight array 2023-10-31 11:32:07 -04:00
Julian Lam
010727f5cb refactor(socket.io): deprecate categories.loadMoreSubCategories in favour of api.categories.getChildren 2023-10-31 11:32:07 -04:00
Julian Lam
d7c6b3d60e refactor(socket.io): deprecate categories.setWatchState in favour of api.categories.setWatchState 2023-10-31 11:32:07 -04:00
Julian Lam
c442b6e662 refactor(socket.io): deprecate categories.getTopicCount in favour of api.categories.getTopicCount 2023-10-31 11:32:07 -04:00
Julian Lam
96046373da refactor(socket.io): deprecate categories.get in favour of api.categories.list 2023-10-31 11:32:07 -04:00
Julian Lam
52b78e83a8 refactor(socket.io): deprecate categories.getRecentReplies in favour of api.categories.getPosts 2023-10-31 11:32:07 -04: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
Julian Lam
e012edea3b feat: flag rescinding logic + api method 2023-10-12 10:23:30 -04:00
Julian Lam
cc8fe4353d fix: incorrect data passed to api.flags.get 2023-10-12 10:23:30 -04:00
Barış Soner Uşaklı
40d290c1a9 Tag follow (#12041)
* feat: tag follow

* on tag delete remove it from following users

* feat: on tag rename update user followed tags

and move the

* add new filter on /notifications

* feat: openapi updates

* chore: up themes

* chore: up peace

* refactor: remove unused title
2023-09-27 10:57:00 -04:00
Barış Soner Uşaklı
54706b1182 ability to pin chat messages (#11964) 2023-08-28 15:57:30 -04:00
Barış Soner Uşaklı
b958a39a66 feat: log roomId/roomName on delete 2023-08-18 20:47:55 -04:00
Barış Soner Uşaklı
0316f324e7 feat: add toMid to chat messages 2023-08-06 02:33:28 -04:00
Barış Soner Uşaklı
4f3f9d9891 mark chat room notifs read on load 2023-07-21 16:19:26 -04:00
Barış Soner Uşaklı
9b901783fa Chat refactor (#11779)
* first part of chat refactor

remove per user chat zsets & store all mids in chat:room:<roomId>:mids
reverse uids in getUidsInRoom

* feat: create room button

public groups wip

* feat: public rooms

create chats:room zset
chat room deletion

* join socket.io room

* get rid of some calls that load all users in room

* dont load all users when loadRoom is called

* mange room users infinitescroll

dont load all members in api call

* IS for user list

ability to change groups field for public rooms
update groups field if group is renamed

* test: test fixes

* wip

* keep 150 messages

* fix extra awaits

fix dupe code in chat toggleReadState

* unread state for public rooms

* feat: faster push unread

* test: spec

* change base to harmony

* test: lint fixes

* fix language of chat with message

* add 2 methods for perf

messaging.getTeasers and getUsers(roomIds)
instead of loading one by one

* refactor: cleaner conditional

* test fix upgrade script fix

save timestamp of room creation in room object

* set progress.total

* don't check for guests/spiders

* public room unread fix

* add public unread counts

* mark read on send

* ignore instead of throwing

* doggy.gif

* fix: restore delete

* prevent entering chat rooms with

meta.enter

* fix self message causing mark unread

* ability to sort public rooms

* dont init sortable on mobile

* move chat-loaded class to core

* test: fix spec

* add missing keys

* use ajaxify

* refactor: store some refs

* fix: when user is deleted remove from public rooms as well

* feat: change how unread count is calculated

* get rid of cleaned content

get rid of mid

* add help text

* test: fix tests, add back mid

to prevent breaking change

* ability to search members of chat rooms

* remove

* derp

* perf: switch with  partial data

fix tests

* more fixes

if user leaves a group leave public rooms is he is no longer part of any of the groups that have access

fix the cache key used to get all public room ids

dont allow joining chat socket.io room if user is no longer part of group

* fix: lint

* fix: js error when trying to delete room after switching

* add isRoomPublic
2023-07-12 13:03:54 -04:00
Julian Lam
4f524e9f94 feat: token rolling API for admins
+ tests
2023-05-11 15:22:50 -04:00
Julian Lam
ce23caf7e6 feat: token editing and deletion 2023-05-11 15:22:50 -04:00
Julian Lam
e4888dea17 feat: api token migration, new ACP tokens list, token creation 2023-05-11 15:22:50 -04:00
Julian Lam
36895421ba refactor: topic mark read/unread routes 2023-05-01 12:02:34 -04:00
Julian Lam
69b409385d refactor: migrate posts.getReplies to write API 2023-05-01 12:02:34 -04:00
Julian Lam
ee9f53f1ff refactor: deprecate socket method posts.getPidIndex 2023-05-01 12:02:34 -04:00
Julian Lam
d814e281a0 feat: write API shorthand to query post routes by their topic index (requires tid in either query string or request body)
middleware.checkRequired is also updated to check for matches in req.query as well.
2023-05-01 12:02:34 -04:00
Julian Lam
f2082d7de8 refactor: started work on porting socket methods to write API [breaking]
The following socket calls have been removed:

* `posts.getRawPost`
* `posts.getPostSummaryByPid`

Two new Write API routes have been added:

- `GET /api/v3/posts/:pid/raw`
- `GET /api/v3/posts/:pid/summary`
2023-05-01 12:02:34 -04:00
Barış Soner Uşaklı
e3551d80d7 feat: allow tag editing from topic tools
closes #7536
closes #7465
closes #11538
2023-04-30 21:17:25 -04:00
Julian Lam
18c45b4461 refactor: group invitations; issuing, accepting, rejecting; now via API 2023-04-06 17:17:47 -04:00