Commit Graph

1961 Commits

Author SHA1 Message Date
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
f1dbfaa283 chore(socket.io): deprecate categories.(isModerator|ignore|watch|getSelectCategories|getMoveCategories|getCategoriesByPrivilege) 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ı
1739f5a9e7 fix: #10276, only move widgets if area doesn't exist
when changing a theme save all locations that have widgets in them, after restart go through these locations and if they don't exist anymore move those widgets to drafts
2023-10-18 10:37:11 -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
Julian Lam
715bdac3fa fix: #12017, unreliable forum updated messaging
- Removed payload from event:nodebb.ready event (ready to remove for v4 in favour)
- Send hostname/cache-buster payload in meta.reconnected method instead
2023-10-04 11:34:52 -04:00
Julian Lam
2a1be01ac0 fix: make socket errors and static hook errors less noisy 2023-10-03 12:02:56 -04:00
Barış Soner Uşaklı
600357444d feat: typing user list in chat 2023-09-02 21:18: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ı
1a1fd64d9a fix: deleted chat messages (#11962)
* fix: deleted chat messages

* fix spec
2023-08-28 12:10:42 -04:00
Barış Soner Uşaklı
f026e74038 feat: add socket.data.uid on connect 2023-08-25 14:46:51 -04:00
Barış Soner Uşaklı
7a79fed828 feat: closes #11902, ability to clear search history 2023-08-11 20:43:56 -04:00
Barış Soner Uşaklı
4f8aa1807e allow first page too 2023-08-04 12:49:44 -04:00
Barış Soner Uşaklı
23404ad103 feat: #11868 apply blacklist to routes (#11873)
api and regular routes
dont allow blacklisting self ip
check blacklist on socket emits
2023-08-03 10:58:03 -04:00
Barış Soner Uşaklı
82562bec44 fix: fix escaped characters in tooltips, fix priv checks in tooltips
closes #11862, closes #11857
2023-08-01 11:25:37 -04:00
Barış Soner Uşaklı
11bfeaf130 feat: #11850, chat msg search 2023-07-28 10:56:25 -04:00
Barış Soner Uşaklı
ac027387ec feat: #11842, ability to change reputation of users 2023-07-25 14:32:26 -04:00
Barış Soner Uşaklı
61f036ce1d Chat notifs (#11832)
* first part of chat notifs

* moved default notif to manage page

* spec

* notifs

* delete settings on room delete
2023-07-21 15:31:34 -04:00
Barış Soner Uşaklı
91642cb324 feat: allow multiple room owners, closes #6503 2023-07-17 22:42:00 -04:00
Barış Soner Uşaklı
a766f74f0e fix: on leave/kick remove matching sockets from rooms 2023-07-15 18:08:31 -04:00
Barış Soner Uşaklı
f0775651b9 only update user list if its open 2023-07-14 13:01:41 -04:00
Barış Soner Uşaklı
cfa00ece35 on disconnect update chat rooms 2023-07-14 12:19:33 -04:00
Barış Soner Uşaklı
911ef0581c feat: show online users at the top of userlist and update
when they enter/leave
2023-07-14 11:19:57 -04:00
Barış Soner Uşaklı
2f8c301aba fix groups reference 2023-07-12 20:43:53 -04:00
Barış Soner Uşaklı
e03fdcd6fc fix: clear cache on sort 2023-07-12 16:49:55 -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
Barış Soner Uşaklı
5a42d37e0f fix reconnect logic 2023-07-07 23:58:12 -04:00
Barış Soner Uşaklı
68ddca1e02 feat: add req and socket to als, closes https://github.com/NodeBB/NodeBB/pull/10304 2023-06-16 10:55:35 -04:00
Barış Soner Uşaklı
04998908ba Fixes for "validate email" & "send validation email" in ACP (#11677)
* confirmObj changes

dont expire confirm:<code>, add a expires field instead
dont expire confirm:byUid:<uid>

on admin manage users display the users email status
	1. verified
	2. verify email sent (pending)
	3. verify email sent (expired)
	4. no email entered

fix validate email in acp to use
	email in user:<uid> if they have one
	if not check if its in confirm:<code>
	if its not in above cant validate throw error

fix send validate email to use
	email in user:<uid> if they have one
	if not check if its in confirm:<code>
	if its not in above too cant validate throw error

* add back socket.io tests

* test: fix confirm tests

no longer using pexpire
return correct time left on token

* chore: update openapi

* fix: delete call

* test: mget test fixes

* test: fix tests
2023-06-05 12:12:48 -04:00
Barış Soner Uşaklı
c3afe44686 Acp redesign (#11639)
* acp sidebar

* gap in nav

* remove shadow

* label fixes

* color fixes

* feat: settings page wip

* feat: scroll spy 👓

move social into general, store social in meta.config like other settings
write upgrade script

* remove social

* rermove openapi routes

* cleanup, highlight selected nav item

* more cleanup

* advanced margin top

* derp

* match design

* bring back version alert

fix homepage js, since it moved to general settings

* remove unused tpls

these moved to general settings

* remove more  css

* offcanvas for mobile

fix search

* add timeout

* add new props

* manage categories

* small fixes

* category-edit

* feat category page fixes

* add title to settings pages

add user settings page

* small fixes

* some more settings pages

* fix: plugin page titles

* more settings pages

* more padding

* more pages, add acp paginator.tpl

so it doesn't change when active theme changes

* remove placeholder

* dashboard table

* fix: openapi

* fix: controller tests

* use fonts from core

* some small fixes

* fix rep page

* refactor: fix name of upgrade script

* create category modal

group edit

* group/groups pages

* admins mods

* privs

* uploads

* missing margin

* more acp pages

* more pages

* plugins/rewards/widgets

* wrap rewards

* fix widgets

* fix widget clone button

* fix group acp edit link

* update search dropdown

* remove display block from tbody

* use less css

* remove some derp links

* remove striped tables

* remove p tags from lang files

* update email settings

* Update api.tpl

* move tag-whitelist
2023-05-31 11:54:48 -04:00
Barış Soner Uşaklı
63b859f053 poc: use csrf_token in ws handshake (#11573) 2023-05-15 11:12:46 -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
cdd7748003 fix: add back removed socket method, added deprecation warnings, as there are no breaking changes allowed in v3.1.0 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ı
5607e5bccb fix: #10594, move counter code (#11529)
instead of updating counters one by one on each topic move, update them once after all topics are moved, use zcard instead of incr/decr
2023-04-27 20:27:42 -04:00
Barış Soner Uşaklı
6b51dd5a2f feat: closes #11424, add category selector to fork modal (#11491)
select the current category on open
2023-04-26 11:30:06 -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
Julian Lam
b551b0ad47 Merge branch 'master' into develop 2023-03-29 10:32:37 -04:00
Barış Soner Uşaklı
4d2d76897a fix: don't crash on objects with toString property 2023-03-28 08:08:59 -04:00
Julian Lam
491487a1a2 Merge remote-tracking branch 'origin/master' into develop 2023-03-27 14:16:14 -04:00
Barış Soner Uşaklı
37b48b82a4 fix: don't crash if event name is not a string 2023-03-27 10:38:53 -04:00