Commit Graph

486 Commits (bbaaead09c5e3c852d243b113724d2048e1c175a)

Author SHA1 Message Date
Julian Lam 8fd78ce512 feat: post-queue topic event
Barış Soner Uşaklı 670cde78da feat: add invalid event name to error message
Barış Soner Uşaklı 47299ea587
Categories refactor ()
* feat: wip categories pagination

* feat: add subCategoriesPerPage setting

* feat: add load more sub categories button to category page

* fix: openapi spec

* feat: show sub categories left on category page

hide button when no more categories left

* breaking: rename categories to allCategories on /search

categories contains the search results

* fix: spec

* refactor: remove cidsPerPage

* fix: tests

* feat: use component for subcategories

* fix: prevent negative subCategoriesLeft

* feat: new category filter/search WIP

* feat: remove categories from /tag

* fix: dont load all categories when showing move modal

* feat: allow adding custom categories to list

* breaking: dont load entire category tree on post queue

removed unused code
add hooks to filter/selector
add options to filter/selector

* feat: make selector modal work again

* feat: replace old search module

* fix: topic move selector

* feat: dont load all categories on create category modal

* fix: fix more categorySelectors

* feat: dont load entire category tree on group details page

* feat: dont load all categories on home page and user settings page

* feat: add pagination to /user/:userslug/categories

* fix: update schemas

* fix: more tests

* fix: test

* feat: flags page, dont return entire category tree

* fix: flag test

* feat: categories manage page

dont load all categories
allow changing root category
clear caches properly

* fix: spec

* feat: admins&mods page

dont load all categories

* fix: spec

* fix: dont load all children when opening dropdown

* fix: on search results dont return all children

* refactor: pass all options, rename options.cids to options.selectedCids

* fix: 

* fix: index 0

* fix: spec

* feat: , add setObjectBulk

* refactor: shoter updateOrder

* feat: selectors on categories/category

* fix: tests and search filter

* fix: category update test

* feat: pagination on acp categories page

show order in set order modal

* fix: allow drag&drop on pages > 1 in /admin/manage/categories

* fix: teasers for deep nested categories

fix sub category display on /category page

* fix: spec

* refactor: use eslint-disable-next-line

* refactor: shorter
Julian Lam 68da1c558f fix: update grammar on unban text
gasoved 53e0d4d2e0 feat: banned-users group
gasoved eb642f40b9 feat: , ability to delete a post's diffs
Barış Soner Uşaklı d1364c3130
Categories refactor ()
* feat: wip categories pagination

* feat: add subCategoriesPerPage setting

* feat: add load more sub categories button to category page

* fix: openapi spec

* feat: show sub categories left on category page

hide button when no more categories left

* breaking: rename categories to allCategories on /search

categories contains the search results

* fix: spec

* refactor: remove cidsPerPage

* fix: tests

* feat: use component for subcategories

* fix: prevent negative subCategoriesLeft
Julian Lam 4bb3b0323d feat: guard password fields in login/register against accidental caps lock
Julian Lam 611d1f872d feat(topic-events): support for uids in topic event payloads
Julian Lam ab2e1ecb40 feat(topic-events): work in progress topic events logic and client-side implementation
Julian Lam 6b1c97db79 feat: feature flag for auto-resolving a user's flags on ban [breaking]
The default behaviour has now been changed to 'off'. Going forward, a user's flags will no longer automatically resolve on ban.
Julian Lam b2b1450e5d fix: , render 400 error page on bad access to /register
Barış Soner Uşaklı d83d40cf9b fix: missing error message
Julian Lam e5edbc6faf feat: automatically attempt socket.io reconnection on ajaxify
Also, updated messaging and toaster to accurately reflect offline-mode state
Barış Soner Uşaklı c1ecfd1ebf feat: , don't try to reconnect forever
Julian Lam 223f0a5515 feat(acp): admin tags privilege
Julian Lam d90aa95808 feat: add confirmation modal when assigning admin:admins-mods privilege
Julian Lam fb46a8d975 feat(acp): admins-mods privilege
Julian Lam da191341e8 feat(acp): added new admin privilege for groups management
Julian Lam a30c8ab5c8 feat: clent-side modal for managing topic thumbs
closes 
Barış Soner Uşaklı 0f480be658 fix: , dont prevent admins from deleting other users
Barış Soner Uşaklı 6669496dba
Navigator ()
* feat: navigator changes

* fix: remove extra code

* feat: add lang keys
Barış Soner Uşaklı 86b7f8a5d4 fix: , dont show null for purged targets
psychobunny 53abada5f0 Revert "feat: option to allow auto-joining of groups (optionally skip the "request membership" step)"
This reverts commit 685f3c6aa6.
psychobunny 685f3c6aa6 feat: option to allow auto-joining of groups (optionally skip the "request membership" step)
psychobunny c1a7968d23 feat: user notification settings for group.leave event
Barış Soner Uşaklı b46d2f93e6 fix: , add missing lang strings
Barış Soner Uşaklı 1eb5fabdb1 feat: , postQueue setting for category
Barış Soner Uşaklı 5080f35752 fix: , logout on password reset, dont verify email if password expired
dont allow same password on reset
Barış Soner Uşaklı 546f58bf1f fix: timestamp in queue, add post queue strings
Barış Soner Uşaklı 1269103fbb fix: , post-queue ux
Barış Soner Uşaklı d3c04afb98 fix: , copy color on tag rename, dont copy if target exists
refresh page on tag rename
Barış Soner Uşaklı 6e6a7a8f8a fix: , export csv to file
Julian Lam 1e7cf1cbc4 fix: , disallow flags of privileged users (mods, gmods, admins)
Julian Lam 12b3aa0d8f feat: add translation key for pin icon label with expiry
gasoved a56a657759
fix: missing select/clear all checkbox added to category privileges template ()
Julian Lam ac734b8335 fix:
Julian Lam 046d0b1637
feat: allow pins to expire (if set) ()
* 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
Barış Soner Uşaklı 9ca44e6f54
feat: add displayname into user obj ()
* feat: add displayname into user obj 

* fix: spec

* perf: dont load settings if acp setting is turned off
Barış Soner Uşaklı 4e9b10ab76 feat:
Barış Soner Uşaklı fb567a7a33 feat:
Barış Soner Uşaklı a6afcfd531 feat: , allow flagging self posts
dont count flags towards self posts
dont allow flagging your own account
Barış Soner Uşaklı 35f932cd64 feat: , add oldCategory if topic is moved
Barış Soner Uşaklı b44ddecdf8 feat: , separate notification type for group chats
Barış Soner Uşaklı 1d6bcbebde feat: https://github.com/NodeBB/NodeBB/issues/8147
gasoved 3ccebf112e
feat: invites regardless of registration type, invite privilege, groups to join on acceptance ()
* 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>
Julian Lam 8518404e22
feat: allow groups to specify which cids to show member posts from ()
* 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
Opliko 04f4429f72
Resolve - optional timer for registration queue ()
* feat:  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
Barış Soner Uşaklı 2e44639210 fix: guest header/footer cache
allow clearing individual caches
Barış Soner Uşaklı f1f9b225b0
feat: , cache refactor ()
* feat: , 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