Commit Graph

126 Commits

Author SHA1 Message Date
Julian Lam
f4c36b842b chore: v4 note for deprecations 2023-11-09 11:53:17 -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
807d778c77 refactor(socket.io): deprecate socketGroups.loadMoreMembers in favour of api.groups.listMembers 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
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
18447b06af fix: remove socketGroups.addMember; update admin checks to allow admin:groups privilege, hide add member controls if not admin 2023-04-06 17:17:47 -04:00
Julian Lam
f043dcec96 fix: remove socketGroups.kick 2023-04-06 17:17:47 -04:00
Julian Lam
9d49ec60a1 fix: remove socketGroups.issueMassInvite 2023-04-06 17:17:47 -04:00
Julian Lam
b53f92fa2e fix: handle client-side acceptAll and rejectAll 2023-04-06 17:17:47 -04:00
Julian Lam
18c45b4461 refactor: group invitations; issuing, accepting, rejecting; now via API 2023-04-06 17:17:47 -04:00
Julian Lam
0788fb5118 feat: #11420, add new GET routes to retrieve pending and invited members of a group, plus accept/reject pending 2023-04-06 17:17:47 -04:00
Barış Soner Uşaklı
b879b6a0c2 fix: use admin:groups priv for groups (#10960) 2022-10-12 10:02:45 -04:00
Barış Soner Uşaklı
02ea17ea1b breaking: remove deprecated groups socket calls
socket.emit('groups.join') removed use `PUT /api/v3/groups/:slug/membership/:uid`
socket.emit('groups.leave') removed use `DELETE /api/v3/groups/:slug/membership/:uid`
socket.emit('groups.grant') removed, `PUT /api/v3/groups/:slug/ownership/:uid`
socket.emit('groups.rescind') removed, `DELETE /api/v3/groups/:slug/ownership/:uid`
socket.emit('groups.update') removed, `PUT /api/v3/groups/:slug`
socket.emit('groups.create') removed, `POST /api/v3/groups`
socket.emit('groups.delete') removed, `DELETE /api/v3/groups`
2021-12-10 21:50:23 -05:00
Peter Jaszkowiak
dab3b23575 chore: eslint no-var, vars-on-top 2021-02-08 18:06:44 -05:00
Julian Lam
80ee3dfbd1 fix(api): tests 2020-12-22 14:39:48 -05:00
Julian Lam
32e36f7b2e feat(api): group ownership API route, switch client-side to use API route 2020-12-22 14:26:31 -05:00
Julian Lam
1cd2689cf6 refactor(api): deprecated groups update socket in favour of API lib 2020-12-22 13:22:01 -05:00
Barış Soner Uşaklı
2b73a14e42 fix: #8933 2020-11-23 17:01:36 -05:00
Barış Soner Uşaklı
e367c5403e refactor: move groups.leave, fix some tests 2020-10-15 17:29:38 -04:00
Barış Soner Uşaklı
8ae1f81cf4 feat: refactor groups.delete 2020-10-15 16:36:53 -04:00
Barış Soner Uşaklı
d69e503d21 feat: move groups.join to api 2020-10-15 16:13:19 -04:00
Barış Soner Uşaklı
5e2caf19f5 refactor: use single function for api code 2020-10-15 12:12:01 -04:00
Barış Soner Uşaklı
872bacf1c4 Admin/users (#8762)
* feat: wip admin/users

* feat: more work

* feat: more fixes

* feat: #8662, verified/unverified user groups

* feat: add filter

* feat: change user search to use filters array

* refactor: remove unused search call

* fix: tests

* fix: cant join system groups

* fix: upgrade script
2020-10-13 22:42:50 -04:00
Barış Soner Uşaklı
dc29f4dca2 refactor: switch to using slugify module 2020-10-11 21:49:37 -04:00
Julian Lam
3ea1aa4780 refactor(writeapi): update route prefix to api/v3, default error option 2020-10-08 15:33:10 -04:00
Julian Lam
40dc1c38d3 feat(writeapi): added DELETE /groups/:slug/membership/:uid route 2020-10-08 15:33:10 -04:00
Julian Lam
952dc211dd feat(writeapi): added group joining and deletion 2020-10-08 15:33:10 -04:00
Julian Lam
ba345e53e8 feat(writeapi): added POST /api/v1/groups 2020-10-08 15:33:10 -04:00
Barış Soner Uşaklı
35a538ec2a feat: allow adding multiple users to group 2020-08-16 13:09:36 -04:00
Barış Soner Uşaklı
f1974fb900 refactor: pass only needed data 2020-07-29 21:48:31 -04:00
Barış Soner Uşaklı
73ddf1cb98 fix: groups.updateCover 2020-07-09 18:12:51 -04:00
Barış Soner Uşaklı
690bb69d03 fix: #8154, respect stop 2020-02-10 13:21:01 -05:00
Barış Soner Uşaklı
f23bc347b1 fix: #8156 dont allow loading members from hidden groups 2020-02-10 13:20:10 -05:00
Barış Soner Uşaklı
c35a21d7f0 fix: #8135 2020-01-31 22:56:55 -05:00
Barış Soner Uşaklı
61da8c29ac fix: group create/join/update name validation 2020-01-07 15:40:54 -05:00
Baris Usakli
b323df2fe0 fix: allow members to search as well 2019-12-03 11:17:11 -05:00
Baris Usakli
c2cd7de891 fix: #8069, dont show hidden groups in search 2019-11-29 13:35:50 -05:00
Barış Soner Uşaklı
ed1223645e feat: send notification to group owners when someone leaves 2019-09-28 22:44:13 -04:00
Julian Lam
1796b65d34 feat: option to restrict group leaving, closes #7770 2019-09-05 12:01:42 -04:00
Barış Soner Uşaklı
f15c7f12b3 refactor: async/await 2019-08-19 23:17:43 -04:00
Barış Soner Uşaklı
1e0190abef fix: #7842, groups.invite works with an array of uids 2019-08-18 21:51:32 -04:00
Julian Lam
c44bf48c01 fix: removed console.logs 2019-08-14 15:20:13 -04:00
Julian Lam
f736f0b382 fix: broken tests from 71b205a889 2019-08-14 15:19:00 -04:00
Julian Lam
1ce33faaea feat: additional events logged for various group actions
closes #7841
2019-08-14 15:03:09 -04:00
Julian Lam
71b205a889 refactor: async/await for src/socket.io/groups.js 2019-08-14 14:25:00 -04:00
Barış Soner Uşaklı
2f0a331f02 fix: don't return promise 2019-07-19 17:02:25 -04:00
Barış Soner Uşaklı
a2f08e7da2 fix: #7240 2019-02-05 15:27:41 -05:00
Barış Soner Uşaklı
9d1fcf4e36 fix: closes #7217 2019-02-04 14:16:47 -05:00
Peter Jaszkowiak
ba619c7ec8 style(eslint): match operator-linebreak preferences 2018-11-30 13:38:59 -05:00