Commit Graph

265 Commits

Author SHA1 Message Date
Barış Soner Uşaklı
559a2d233d feat: add ap pageviews analytics 2025-07-11 15:09:55 -04:00
Barış Soner Uşaklı
b1022566da fix: closes #13458, check if plugin is system
plugin before activate/deactive/install/uninstall
2025-06-02 09:55:20 -04:00
Barış Soner Uşaklı
1b0b1da6b9 refactor: use a single until 2025-05-12 17:48:46 -04:00
Barış Soner Uşaklı
31be083e86 fix: #13407, don't restart user jobs
if jobsDisabled=true on that process
2025-05-12 09:12:51 -04:00
Barış Soner Uşaklı
9549f1fa93 lint: fix ) 2025-03-03 09:24:11 -05:00
Barış Soner Uşaklı
40a5314e64 fix: add starterPlan check 2025-03-03 09:15:43 -05:00
Shlomo
577eee2f6a feat(config): add acpPluginInstallDisabled option (#13189) 2025-02-21 09:38:45 -05:00
Barış Soner Uşaklı
e375038ce0 get whitelisted fields from plugins as well 2024-11-19 16:37:14 -05:00
Barış Soner Uşaklı
836e8458e2 fix: dont allow core user fields to be used as custom fields 2024-11-19 15:30:40 -05:00
Barış Soner Uşaklı
bbf66c243b Squashed commit of the following:
commit afd96a00b1
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Thu Nov 7 10:42:33 2024 -0500

    chore: up themes

commit b40e530434
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Wed Nov 6 19:16:44 2024 -0500

    feat: add min:rep to custom fields

    add validation in profile.update

commit 4b5cb613e5
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Wed Nov 6 12:03:22 2024 -0500

    test: add openapi spec, move menu button

commit 0c551fa240
Merge: 13f39053c9 bc00df3cd9
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Wed Nov 6 11:48:05 2024 -0500

    Merge branch 'develop' into custom-user-fields

commit 13f39053c9
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Wed Jul 31 00:23:39 2024 -0400

    refactor: dont need delete function

commit f33c8849d8
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Tue Jul 30 21:30:00 2024 -0400

    feat: show custom fields on edit/profile

commit 5e1d8769d4
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Tue Jul 30 17:08:25 2024 -0400

    feat: add custom user fields acp page
2024-11-07 10:43:10 -05:00
Barış Soner Uşaklı
60b4bc662f feat: show connetion count on /info 2024-06-11 11:53:19 -04:00
Barış Soner Uşaklı
236ac32303 refactor: posts cache to get rid of require in functions 2024-06-10 17:10:43 -04:00
Barış Soner Uşaklı
325d00ea94 feat: track uid for email/username changes, closes #12454 2024-04-29 10:32:07 -04:00
Barış Soner Uşaklı
83ca23ca37 feat: allow custom fields in user csv export, closes #12401 2024-03-11 11:29:05 -04:00
Barış Soner Uşaklı
67c8bd9916 fix: #12320, .text() gets \n\t characters
add name check in order active plugins
use single db call to set order
2024-01-31 08:42:18 -05: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
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