1337 Commits (6c3ebf3b1c6dd24ba91d08893fc4311d0488213a)

Author SHA1 Message Date
opliko 41762e6603 feat: update to FontAwesome 5.15, resolve #6976 4 years ago
Julian Lam 824a72b220 fix: updated ACP > Manage > Users to handle users with no email address 4 years ago
Julian Lam 3bcd1f1438 fix: email validation flow, so that it actually works, fixed event logging bug, new email verification template 4 years ago
Julian Lam f52919990b feat(emails): display current email in interstitial form 4 years ago
Julian Lam be97aa6f13 feat(emails): +includeUnverifiedEmails ACP setting 4 years ago
Julian Lam 69c96dd23c refactor(emails): more work in update email interstitial, interstitial skipping, email change on confirmation, deprecation of requireEmailConfirmation 4 years ago
Julian Lam f365bc4600 refactor(emails): interstitial for adding/updating email 4 years ago
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
4 years ago
Barış Soner Uşaklı 5fd190f7c4 feat: #9651, change category desc to multiline 4 years ago
Julian Lam b896484351 fix: #9634, re-jig top bar of Admin > Manage > Users 4 years ago
Barış Soner Uşaklı fee782c436 fix: acp dashboard sometimes not loading on cold load 4 years ago
Barış Soner Uşaklı 52596902a6 feat: #9617 update fa link 4 years ago
Barış Soner Uşaklı cc0cf99fed
feat: allow nested properties on category page (#9601)
* feat: allow nested properties on category page

* fix: remove debug

* fix: remove debug
4 years ago
Barış Soner Uşaklı 8ea58432c9 feat: show ip on acp manage users
update url on search
show matching ip when searching by ip
add ip to export csv
4 years ago
psychobunny 05cc7ccb60 feat: make undoTimeout configurable, closes #9599 4 years ago
Barış Soner Uşaklı 9b71b087ec feat: lang strings 4 years ago
psychobunny a9978fcfd2 feat: rate limit file uploads 4 years ago
gasoved 397baf0254
refactor: widgets (#9471) 4 years ago
Barış Soner Uşaklı 9052db930f fix: privilege tables 4 years ago
Barış Soner Uşaklı a94d96514e feat: show link if category is a link 4 years ago
Barış Soner Uşaklı 35700d1634 fix: closes #9382, fix digest topic links 4 years ago
Julian Lam 2a939aad8d fix: regression via c1b3079d93
Also refactored privilege render logic so that it no longer needs a server-side hack to render column count
4 years ago
Julian Lam 4cbd13fd9c feat: hide revert button in ACP > Privileges until privileges change 4 years ago
Barış Soner Uşaklı 696c489524 feat: add back topic id input 4 years ago
Julian Lam c5e257888a fix: #9351 bad logic when inserting rows to privilege tables, also a missing tfoot 🦶 4 years ago
Julian Lam c1b3079d93 feat: category privilege API routes
closes #9342
4 years ago
Julian Lam 73dc64d9ff feat: add dashboard sub-pages to ACP menu 4 years ago
Julian Lam 2f89b0d791 feat: recent logins sessions table in dashbaord subpage 4 years ago
Julian Lam e1ed514b10 feat: topics dashboard details subpage 4 years ago
Julian Lam c57c77030e feat: update user list in dashboard/users on graph update 4 years ago
Julian Lam f8e1a74c26 fix: wrong qs param, allow string to be passed to util.getDaysArray 4 years ago
Julian Lam cc93822436 feat: show list of recent users in dashboard/users 4 years ago
Julian Lam f561799f74 refactor: abstract out some client side dashboard code into modules, analytics subpages for users, topics, and logins 4 years ago
Barış Soner Uşaklı 0e07f3c9ba feat: allow defining a list of system tags 4 years ago
Julian Lam 7223074f1d feat: ability to re-order topic thumbnails 4 years ago
Barış Soner Uşaklı 0738dae895 feat: #9304, add category/topic/username to post queue notification emails 4 years ago
Barış Soner Uşaklı 9a6cf3d967 fix: #9301, dont call sitemapstream if there are no entries in categories/pages/topics.xml 4 years ago
Barış Soner Uşaklı 47299ea587
Categories refactor (#9257)
* 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: #9266

* fix: index 0

* fix: spec

* feat: #9265, 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
4 years ago
Julian Lam c729adeb08 fix: privileges page - tweak icon position and width, group name wrapping 4 years ago
gasoved 53e0d4d2e0 feat: banned-users group 4 years ago
Barış Soner Uşaklı d1364c3130
Categories refactor (#9233)
* 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
4 years ago
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.
4 years ago
Julian Lam 66da6bcd1c fix: #9184 proper relative_path usage in topic thumbs.get 4 years ago
Julian Lam b9ba44edd7 fix: #9166 missing relative path in topic thumbs modal and topic list 4 years ago
Julian Lam 223f0a5515 feat(acp): admin tags privilege 4 years ago
Julian Lam fb46a8d975 feat(acp): admins-mods privilege 4 years ago
Julian Lam da191341e8 feat(acp): added new admin privilege for groups management 4 years ago
Julian Lam 438fa5c88f fix: send fewer items to client-side for ACP settings/email page 4 years ago
Julian Lam a30c8ab5c8 feat: clent-side modal for managing topic thumbs
closes #9087
4 years ago
Barış Soner Uşaklı 91c20ceca5 fix: #9065, settings v2/v3 conflict 4 years ago
psychobunny 53abada5f0 Revert "feat: option to allow auto-joining of groups (optionally skip the "request membership" step)"
This reverts commit 685f3c6aa6.
4 years ago
psychobunny 685f3c6aa6 feat: option to allow auto-joining of groups (optionally skip the "request membership" step) 4 years ago
Barış Soner Uşaklı e45b5cba81 fix: #9018 4 years ago
Barış Soner Uşaklı 1eb5fabdb1 feat: #8900, postQueue setting for category 4 years ago
Barış Soner Uşaklı 202dcef42e fix: #9010, show rest of info even if clusterMonitor priv is not granted 4 years ago
Barış Soner Uşaklı 92d1b8a65f fix: privs headers 4 years ago
Barış Soner Uşaklı 4c650aeead feat: #8989, convert widget nav to dropdown 4 years ago
Barış Soner Uşaklı 6e6a7a8f8a fix: #8969, export csv to file 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
gasoved 00e75de736
feat: select/clear all checkboxes in privilege table (#8941) 4 years ago
Barış Soner Uşaklı 672d4da078 feat: human readable uptime 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ı e9585b9be2 fix: group userTitles translation escapes 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ı a87ccccc9c fix: benchpress warnings 4 years ago
Barış Soner Uşaklı dfdc0c420c fix: benchpress warnings 4 years ago
Barış Soner Uşaklı 120999bf63 feat: #7550, show message if post is queued when js is disabled 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
Barış Soner Uşaklı e4d2764d4c fix: #8884, remove header/footer cache 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ı 62c0454cfe feat: show db info side by side 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
psychobunny eec630f1ef fix(acp): max-height for plugin menu list 4 years ago
Barış Soner Uşaklı 27016d221c feat: rearrange buttons on manage/users 4 years ago
Barış Soner Uşaklı 6ac73ccb7e feat: #8801, disable express compression by default 4 years ago
Barış Soner Uşaklı 2e9f27d8ff fix: typo 4 years ago
Barış Soner Uşaklı a7b6d0dfe5 feat: add free and total mem usage to info 4 years ago
Barış Soner Uşaklı 7bddec93ec fix: sortby 4 years ago
Barış Soner Uşaklı 2279e37261 refactor: deprecate socket.emit('users.search') use api route 4 years ago
Barış Soner Uşaklı 71d82ec8e0 fix: caret 5 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
5 years ago
Barış Soner Uşaklı 948f26143c feat: #5964, #8734 remove colorpicker 5 years ago
Barış Soner Uşaklı fda2aedfd8
feat: #8734, jquery-ui, jquery-form, timeago (#8748)
* feat: #8734, jquery-ui, jquery-form, timeago

get rid of forum/footer.js move that code to app.js & wait for app to load before calling ajaxify.end
make sockets.js a requirejs module
move jquery-ui to node_modules and load via requirejs
move jquery-form to node_modules and load via requirejs
move timeago to node_modules and load via requirejs
only include the css for needed jquery-ui widgets

* feat: keep socket/io global for backwards compat

* refactor: move socket listener to chat
5 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
5 years ago
Julian Lam 2ec838fc59 feat(writeapi): token generation/delete routes, ACP updates 5 years ago
Julian Lam 5fc7e7bfd0 feat: add new api page to ACP menu 5 years ago
Julian Lam 49652e6f1b feat: management of API tokens via ACP 5 years ago
Julian Lam d8879d21db fix: error handling with POST /api/v1/users 5 years ago
Barış Soner Uşaklı 2ea9768e00 fix: show disabled categories in admin&mods 5 years ago
Barış Soner Uşaklı e60357d20d
feat: #6594, add top/popular sections to digest email (#8709) 5 years ago
psychobunny 5441651ea7 fix: update "install plugins" link to go to the download tab 5 years ago
psychobunny 14ba1a6dbb feat: analytics:maxCache setting in ACP
I removed a TODO from core. Watch your head as flying pigs are abound
5 years ago
psychobunny 9c5b690799 feat: up recommended size to 512x512 + ACP labels for PWA 5 years ago