453 Commits (f5714452b1824431d36a4fba534f07856035485d)

Author SHA1 Message Date
Julian Lam 1e7cf1cbc4 fix: #8971, disallow flags of privileged users (mods, gmods, admins) 4 years ago
Julian Lam 12b3aa0d8f feat: add translation key for pin icon label with expiry 4 years ago
gasoved a56a657759
fix: missing select/clear all checkbox added to category privileges template (#8967) 4 years ago
Julian Lam ac734b8335 fix: #8912 4 years ago
Julian Lam 046d0b1637
feat: allow pins to expire (if set) (#8908)
* fix: add back topic assert middleware for pin route

* feat: server-side handling of pin expiries

* refactor: togglePin to not require uid parameter [breaking]

* feat: automatic unpinning if pin has expiration set

* feat: client-side modal for setting pin expiration

* refactor: categories.getPinnedTids to accept multiple cids

... in preparation for pin expiry logic, direct access to *:pinned zsets is discouraged

* fix: remove references to since-removed jobs file for topics

* feat: expire pins when getPinnedTids is called

* refactor: make the togglePin change non-breaking

The 'action:topic.pin' hook now sends uid again, as before. However, if it is a system action (that is, a pin that expired), 'system' will be sent in instead of a valid uid
4 years ago
Barış Soner Uşaklı 9ca44e6f54
feat: add displayname into user obj #8637 (#8909)
* feat: add displayname into user obj #8637

* fix: spec

* perf: dont load settings if acp setting is turned off
4 years ago
Barış Soner Uşaklı 4e9b10ab76 feat: #5274 4 years ago
Barış Soner Uşaklı fb567a7a33 feat: #4456 4 years ago
Barış Soner Uşaklı a6afcfd531 feat: #8475, allow flagging self posts
dont count flags towards self posts
dont allow flagging your own account
4 years ago
Barış Soner Uşaklı 35f932cd64 feat: #8171, add oldCategory if topic is moved 4 years ago
Barış Soner Uşaklı b44ddecdf8 feat: #8204, separate notification type for group chats 4 years ago
Barış Soner Uşaklı 1d6bcbebde feat: https://github.com/NodeBB/NodeBB/issues/8147 4 years ago
gasoved 3ccebf112e
feat: invites regardless of registration type, invite privilege, groups to join on acceptance (#8786)
* feat: allow invites in normal registration mode + invite privilege

* feat: select groups to join from an invite

* test: check if groups from invitations have been joined

* fix: remove unused variable

* feat: write API versions of socket calls

* docs: openapi specs for the new routes

* test: iron out mongo redis difference

* refactor: move inviteGroups endpoint into write API

* refactor: use GET /api/v3/users/:uid/invites/groups

Instead of GET /api/v3/users/:uid/inviteGroups

* fix: no need for /api/v3 prefix when using api module

* fix: tests

* refactor: change POST /api/v3/users/invite

To POST /api/v3/users/:uid/invites

* refactor: make helpers.invite awaitable

* fix: restrict invite API to self-use only

* fix: move invite groups controller to write api, +tests

* fix: tests

Co-authored-by: Julian Lam <julian@nodebb.org>
4 years ago
Julian Lam 8518404e22
feat: allow groups to specify which cids to show member posts from (#8875)
* feat: allow groups to specify which cids to show member posts from

* docs: fix tests for openapi

* fix: test breakage caused by improper conditional

* feat: server-side checking of memberPostCids for validity

* feat: admin panel template update to select categories to include

* refactor: privilege helpers.isUserAllowedTo

... to helpers.isAllowedTo, allowing group names to be passed in
4 years ago
Opliko 04f4429f72
Resolve #7514 - optional timer for registration queue (#8796)
* feat: #7514 Optional timer for registration queue

* feat: show minutes in average time

* fix: don't show total number of minutes

* feat: implement requested changes

* fix: just store minutes instead of milliseconds

* feat: set default values
4 years ago
Barış Soner Uşaklı 2e44639210 fix: guest header/footer cache
allow clearing individual caches
4 years ago
Barış Soner Uşaklı f1f9b225b0
feat: #8824, cache refactor (#8851)
* feat: #8824, cache refactor

ability to disable caches
ability to download contents of cache
refactor cache modules to remove duplicated code

* fix: remove duplicate hit/miss tracking

check cacheEnabled in getUncachedKeys
4 years ago
Barış Soner Uşaklı 9e3eb5d41a feat: #8821, allow guest topic views 4 years ago
Barış Soner Uşaklı 6ac73ccb7e feat: #8801, disable express compression by default 4 years ago
Barış Soner Uşaklı e6440c0d21 fix: #8779, fix move all
add new language keys
4 years ago
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
4 years ago
Barış Soner Uşaklı f259063f08 fix: #8728, dont add admins to table 4 years ago
cryptoethic b3ed26ac2c
feat: revoke user sessions above threshold (#8731)
* feat: revoke user sessions above threshold

* fix: removed translations from en-US

* fix: defined default maxUserSessions in install\data\defaults.json
4 years ago
Julian Lam 2ec838fc59 feat(writeapi): token generation/delete routes, ACP updates 4 years ago
Julian Lam 49652e6f1b feat: management of API tokens via ACP 4 years ago
Barış Soner Uşaklı e60357d20d
feat: #6594, add top/popular sections to digest email (#8709) 4 years ago
Barış Soner Uşaklı 54737d3076 feat: #8233, search sub categories 4 years ago
psychobunny 14ba1a6dbb feat: analytics:maxCache setting in ACP
I removed a TODO from core. Watch your head as flying pigs are abound
4 years ago
psychobunny 9c5b690799 feat: up recommended size to 512x512 + ACP labels for PWA 4 years ago
psychobunny 6478b32d0e feat: upload maskable icon for PWA 4 years ago
Julian Lam b12e8d6312 feat: show top 5 trending plugins in new tab in Extend > Plugins 4 years ago
psychobunny 4c1e717b2b fix: update notification delay ACP help text 4 years ago
psychobunny 5b427a0c3b feat: option in ACP to configure notification/email delay for chats 4 years ago
Timothy Fike f85fe7faff
don't invite an already invited email (#8688)
* don't invite an already invited email

* add email-invited translation string
4 years ago
Julian Lam 5ddf70221c feat: upon plugin installation via ACP, check against nbbpm first 4 years ago
psychobunny 2ad3305879 fix: language key in reset password 4 years ago
Barış Soner Uşaklı bd9b6c99e6 feat: add missing lang key 4 years ago
Barış Soner Uşaklı 23de5613bd feat: add x-posts/x-votes keys 4 years ago
Julian Lam 43571bac38 feat: hotkey "/" to open ACP search 4 years ago
Julian Lam 762e9fe88c feat: undo for posts move 4 years ago
Barış Soner Uşaklı 5a40d26b44 feat: #8626, new move posts modal 4 years ago
Barış Soner Uşaklı a34b685c65 fix: remove lang keys, remove sounds menu 4 years ago
Barış Soner Uşaklı 46ab2711d4 fix: #8432, add CSP frame-ancestors 4 years ago
Julian Lam 0c20351702 feat: additional sorting options for flags
+ upvotes, +downvotes, +replies
4 years ago
Julian Lam a93e19559d fix: #8411 missing language sources for ip-blacklist/post-queue 4 years ago
Julian Lam 4dc6e64a94 refactor: ip-blacklist and post-queue language files
closes #8411
4 years ago
Kyle Farris 2b785628e7
fix: removed invalid options for the sendmail transport (#8576)
* Removed invalid options for the sendmail transport that were causing Nodemailer to return the SMTPTransport instead.

* Removed options for rate limiting in admin email interface. Added new option for toggling whether to use pooled connections.
4 years ago
Julian Lam abb5e81d0d feat: allow undo of topic move 4 years ago
Julian Lam bacee6b467 fix: missing localisation for topic move error 4 years ago
Julian Lam a3a2279358 feat: logic for bulk actions in flags list, #8571 4 years ago