Commit Graph

248 Commits

Author SHA1 Message Date
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ı
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ı
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
Opliko
a9bbb586fc feat: allow plugins to add to admin cache list (#10833)
* feat: allow plugins to add to admin cache list

resolves  #10820

plugins will have to use `filter:admin.cache.get` hook and just add their own cache to the object there.

* feat: add dump to ttlCache and expose properties

* feat: also expose properties under their current names

* feat: display TTL if set
2022-08-13 20:35:59 -04:00
Opliko
23cb67a112 feat: Allow defining active plugins in config (#10767)
* Revert "Revert "feat: cross origin opener policy options (#10710)""

This reverts commit 46050ace1a.

* Revert "Revert "chore(i18n): fallback strings for new resources: nodebb.admin-settings-advanced""

This reverts commit 9f291c07d3.

* feat: closes #10719, don't trim children if category is marked section

* feat: fire hook to allow plugins to filter the pids returned in a user profile

/cc julianlam/nodebb-plugin-support-forum#14

* fix: use `user.hidePrivateData();` more consistently across user retrieval endpoints

* feat: Allow defining active plugins in config

resolves #10766

* fix: assign the db result to files properly

* test: add tests with plugins in config

* feat: better theme change handling

* feat: add visual indication that plugins can't be activated

* test: correct hooks

* test: fix test definitions

* test: remove instead of resetting nconf to avoid affecting other tests

* test: ... I forgot how nconf worked

* fix: remove negation

* docs: improve wording of error message

* feat: reduce code duplication

* style: remove a redundant space

* fix: remove unused imports

* fix: use nconf instead of requiring config.json

* fix: await...

* fix: second missed await

* fix: move back from getActiveIds to getActive

* fix: use paths again?

* fix: typo

* fix: move require into the function

* fix: forgot to change back to getActive

* test: getActive returns only id

* test: accedently commented out some stuff

* feat: added note to top of plugins page if \!canChangeState

Co-authored-by: Julian Lam <julian@nodebb.org>
Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>
2022-07-26 14:27:17 -04:00
Barış Soner Uşaklı
5c3d5f1f40 test: make it async 2021-12-08 22:59:12 -05:00
Barış Soner Uşaklı
cfd474487a refactor: async 2021-12-08 19:45:18 -05:00
Barış Soner Uşaklı
f0394c4965 refactor: async 2021-12-08 19:40:50 -05:00
Barış Soner Uşaklı
8491f67daf refactor: use async 2021-12-08 19:40:33 -05:00
Barış Soner Uşaklı
07e2741ea6 breaking: remove deprecated admin.groups methods 2021-12-08 19:28:08 -05:00
Barış Soner Uşaklı
f4aa249d8c refactor: use async/await 2021-12-07 15:24:22 -05:00
Barış Soner Uşaklı
cc3f82bc83 breaking: remove socket.emit('admin.categories.setPrivilege') and socket.emit('admin.categories.getPrivilegeSettings') 2021-12-06 21:47:47 -05:00
Barış Soner Uşaklı
0b9c01f9a0 breaking: remove deprecated socket.emit('admin.categories.update') 2021-12-06 20:34:33 -05:00
Barış Soner Uşaklı
ba5d2e7b81 breaking: remove deprecated socket.emit('admin.categories.purge') 2021-12-06 20:22:09 -05:00
Barış Soner Uşaklı
b335372348 breaking: remove deprecated socket.emit('admin.categories.create') 2021-12-06 20:14:44 -05:00
Barış Soner Uşaklı
10c19af2ad breaking: remove deprecated socket.emit('admin.categories.getAll') 2021-12-06 20:06:15 -05:00
Barış Soner Uşaklı
a7d1dfb65c breaking: remove deprecated socket user create/delete functions
add missing tests
2021-11-23 18:02:44 -05:00
Barış Soner Uşaklı
c93d7fdbdd breaking: remove deprecated uploads.delete 2021-11-23 15:16:41 -05:00
Barış Soner Uşaklı
8750ee04a6 refactor: make a single call to set widgets per template 2021-11-10 20:40:34 -05:00
Barış Soner Uşaklı
80f9963bed refactor: remove jshint, remove async.parallel 2021-11-10 20:19:13 -05:00
Barış Soner Uşaklı
61d1f56500 test: socket.emit doesnt exist in tests 2021-11-09 10:51:44 -05:00
Barış Soner Uşaklı
e62948f73d fix: there is no alltime digest, fixes translation in test email
there is no digest.title.alltime
2021-10-25 10:44:04 -04:00
Barış Soner Uşaklı
f8d4ec6ca6 fix: psql test 2021-09-24 19:58:10 -04:00
Barış Soner Uşaklı
89af00d1d5 fix: #9827, fix reward duplication 2021-09-22 23:56:34 -04:00
Barış Soner Uşaklı
71ed50b9c1 fix: #9800, don't send all welcome test emails to test@example.org @julianlam 2021-09-11 13:11:11 -04:00
gasoved
61f02f17d8 feat: column based view on wide priv. tables (#9699)
* feat: column based view on wide priv. tables

* fix: add group/user

* feat: copy buttons to work on visible privs

* feat: show what's being copied in modal

* feat: optional title and message for category selector modal
2021-08-30 10:42:58 -04:00
Julian Lam
3bcd1f1438 fix: email validation flow, so that it actually works, fixed event logging bug, new email verification template 2021-07-30 13:29:13 -04:00
Julian Lam
69c96dd23c refactor(emails): more work in update email interstitial, interstitial skipping, email change on confirmation, deprecation of requireEmailConfirmation 2021-07-30 13:29:13 -04:00
Barış Soner Uşaklı
4a56388ec3 feat: store topic tags in topic hash (#9656)
* feat: store topic tags in topic hash

breaking: remove color info from tags (use css)

* fix: remove unused tag modal

* fix: tag search
2021-07-12 19:25:04 -04:00
Julian Lam
d8ff9851a3 fix: typo in switch..case 2021-03-19 15:46:58 -04:00
Barış Soner Uşaklı
3aa26c4df2 fix: #9339, only log email errors once per digest, notification push
show notice in acp
2021-03-05 19:03:16 -05:00
Julian Lam
c1b3079d93 feat: category privilege API routes
closes #9342
2021-03-04 12:46:31 -05:00
Julian Lam
1155b0c42f feat: allow payload to be passed to emailer test method 2021-03-02 12:30:37 -05:00
Peter Jaszkowiak
cc9d6fd08b chore: eslint max-len 2021-02-08 18:06:44 -05:00
Peter Jaszkowiak
5c2f0f0557 chore: eslint no-restricted-syntax 2021-02-08 18:06:44 -05:00
Peter Jaszkowiak
23f212a4c0 chore: eslint prefer-destructuring 2021-02-08 18:06:44 -05:00
Peter Jaszkowiak
dab3b23575 chore: eslint no-var, vars-on-top 2021-02-08 18:06:44 -05:00
Peter Jaszkowiak
b56d9e12b5 chore: eslint prefer-arrow-callback 2021-02-08 18:06:44 -05:00
Peter Jaszkowiak
707b55b6a5 chore: eslint prefer-template 2021-02-08 18:06:44 -05:00
Peter Jaszkowiak
4ee0f1459d chore: eslint import/newline-after-import 2021-02-08 18:06:44 -05:00
gasoved
53e0d4d2e0 feat: banned-users group 2021-02-03 15:22:44 -05:00
Barış Soner Uşaklı
1968bf50f1 fix: #9163, fix total connection count on ACP
sockets.sockets is a JS map in 3.x
2021-01-04 16:58:29 -05:00
Julian Lam
1cd2689cf6 refactor(api): deprecated groups update socket in favour of API lib 2020-12-22 13:22:01 -05:00
Peter Jaszkowiak
2be396ff6e fix: email testing and settings change from ACP
- changing email SMTP settings wouldn't apply the first time
- "Send Test Email" now will report emailer errors in most cases
2020-12-18 16:39:09 -05:00
Barış Soner Uşaklı
80de572aa1 feat: add user.email.confirmByUid for sso plugins 2020-12-10 20:25:48 -05:00
Barış Soner Uşaklı
1c45fa1ba5 feat: socket.io 3 changes (#8845)
* feat: socket.io 3 changes

* feat: replace socketio-wildcard with socket.onAny

up socket.io-redis to 6.x

* feat: remove mongodb/psql socket.io adapters

* feat: show data on fail

* fix: tests

* fix: typo

* fix: logger test fix

* fix: logger.io_close

* chore: up deps

* chore: update readme to reflect redis requirement

* fix: increase timeout show data if test fails
2020-12-06 13:03:33 -05:00
Barış Soner Uşaklı
5080f35752 fix: #8991, logout on password reset, dont verify email if password expired
dont allow same password on reset
2020-11-29 21:55:07 -05:00
Barış Soner Uşaklı
6e6a7a8f8a fix: #8969, export csv to file 2020-11-27 15:38:22 -05:00