8641 Commits (df8d62ba06daf4feb8a5466cf92e811dea8a0a7b)

Author SHA1 Message Date
gasoved 00e75de736
feat: select/clear all checkboxes in privilege table (#8941) 4 years ago
Misty (Bot) 0dcc5b2bbf Latest translations and fallbacks 4 years ago
psychobunny 1c0e8c1663 fix: move meta.getServerTime call to admin namespace 4 years ago
Julian Lam 45a4f1361f chore(spec): replace ugly hack with another hack for optional properties 4 years ago
Barış Soner Uşaklı f20c12ee40 fix: add client side check for userslug #8939 4 years ago
Julian Lam 90434a4668 Revert "fix(spec): always show thumb in topic response"
This reverts commit 493c568a75.
4 years ago
Julian Lam 493c568a75 fix(spec): always show thumb in topic response 4 years ago
Julian Lam ae402e213e chore: move topic route schema up two levels as slug and index are optional 4 years ago
Julian Lam b3b501d789 chore: move category route schema up two levels as slug and index are optional 4 years ago
Misty (Bot) aa7a6991ff Latest translations and fallbacks 4 years ago
Barış Soner Uşaklı cf903e4e8f fix: #8931, fix lang string 4 years ago
Barış Soner Uşaklı 95a3f03009 fix: #8932, fix client side error when updating username 4 years ago
Barış Soner Uşaklı b18e7e319b fix: spec 4 years ago
Barış Soner Uşaklı 5fa098326f fix: https://github.com/NodeBB/NodeBB/pull/8685
fix category link redirect on cold load
fix helpers.redirect if passed in url is external
fix ajaxify so it doesn't slice first character of external url
4 years ago
Misty (Bot) 093f984b03 Latest translations and fallbacks 4 years ago
Misty (Bot) e4d9934155 Latest translations and fallbacks 4 years ago
Barış Soner Uşaklı c2bb61231e fix: spec 4 years ago
Misty (Bot) bc871dc029 Latest translations and fallbacks 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
Misty (Bot) e5d94d9096 Latest translations and fallbacks 4 years ago
Barış Soner Uşaklı 46acbfdaf1 fix: show messages after app load 4 years ago
Barış Soner Uşaklı 6ef7e8675f fix: #8915, fix queue not being cleared after firing click events
if you clicked elements early then on every ajaxify.end the same elements were getting click events @julianlam
4 years ago
Julian Lam 00aee84bf7
refactor: use categoryCommand local method for pin/lock in category tools (#8917)
* refactor: use categoryCommand local method for main actions in category tools

* fix: wrong command passed in
4 years ago
Misty (Bot) f7f119d5cc Latest translations and fallbacks 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ı 8d060065a0 fix: spec 4 years ago
Barış Soner Uşaklı e9585b9be2 fix: group userTitles translation escapes 4 years ago
Misty (Bot) 8de48c3935 Latest translations and fallbacks 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ı 62b62821c1 fix: navigation highlight
/top was getting hightlighted in navigation if you went into a /topic
4 years ago
Julian Lam a0b7a82350
feat(api): account deletion routes for the Write API (#8881)
* feat(api): account deletion routes for the Write API

* refactor: rewrite client-side calls to account deletion to use api

* style: apply DRY
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
Opliko 6e43086558
resolve #8444 - Allow nested objects in translations (#8793)
* feat: #8444 Allow nested objects in translations

* feat: #8444 Allow nested objects in translations

* style: don't change formatting

* fix: don't use the first string match if key isn't finished

* feat: #8444 Allow nested objects in translations

* feat: #8444 Allow nested objects in translations

* style: don't change formatting

* fix: don't use the first string match if key isn't finished

* feat: add nested translations test
4 years ago
Misty (Bot) fbdde03217 Latest translations and fallbacks 4 years ago
Barış Soner Uşaklı 1d6bcbebde feat: https://github.com/NodeBB/NodeBB/issues/8147 4 years ago
Julian Lam d83eb7f89e refactor: client-side handlers for user invitations
DRY
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
Misty (Bot) ce9cf2a545 Latest translations and fallbacks 4 years ago
Barış Soner Uşaklı 2f4653a3cc fix: spec 4 years ago
Barış Soner Uşaklı 9dac9630df fix: check tid in event handlers client side 4 years ago
Misty (Bot) 03329408b7 Latest translations and fallbacks 4 years ago
Misty (Bot) 7693ab90e2 Latest translations and fallbacks 4 years ago
Julian Lam fdab76f822 fix: #8872 missing admin/menu language key+fallback 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
Misty (Bot) daf2e73c29 Latest translations and fallbacks 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
Julian Lam bcccb331db docs: openapi schema for user/group exist check, session deletion 4 years ago
Julian Lam 97842c43d3 test: new api test to ensure each path's parameters are defined in context 4 years ago
Julian Lam 769aba0aed fix: refresh flags list on bulk action success 4 years ago
Julian Lam f300c933a5 refactor: move session revocation route to write api 4 years ago
Misty (Bot) 0b57ec19ce Latest translations and fallbacks 4 years ago
Barış Soner Uşaklı 9f7902efdf fix: remove some unnecessary jquery wrappers 4 years ago
Barış Soner Uşaklı 978f1ee04f fix: send back jquery object to keep backwards compat 4 years ago
Peter Jaszkowiak e128264b66
refactor: change Benchpress.parse to .render (#8856)
It has been deprecated with no warning message for a while
Changing these over before enabling the warning message to reduce spam
4 years ago
Misty (Bot) e6b9e8ddee Latest translations and fallbacks 4 years ago
Barış Soner Uşaklı fe63c6aef3 fix: spec 4 years ago
Barış Soner Uşaklı 2e44639210 fix: guest header/footer cache
allow clearing individual caches
4 years ago
Tobias Dossinger 1ce983ccb9
add public/language/de/admin/menu.json & public/language/de/admin/settings/api.json (#8842)
Co-authored-by: Tobias Dossinger <tobiasdossinger@Jans-MBP-3.localdomain>
Co-authored-by: Julian Lam <julian@nodebb.org>
4 years ago
Julian Lam 8368c25b1d chore: fallback l10n for admin-settings-api 4 years ago
Misty (Bot) e81e88f3e9 Latest translations and fallbacks 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
Julian Lam d263192271 feat: group exists API call in write api 4 years ago
Julian Lam 1446cec77f feat: user exist route in write api 4 years ago
Misty (Bot) 113d3324fb Latest translations and fallbacks 4 years ago
Barış Soner Uşaklı 9e3eb5d41a feat: #8821, allow guest topic views 4 years ago
Barış Soner Uşaklı 78ee83324c fix: #8838, fix chat dropdown timestamps
use shorthand like notification dropdown
4 years ago
psychobunny eec630f1ef fix(acp): max-height for plugin menu list 4 years ago
Julian Lam 1afd215050 feat: add back error handling for a number of api calls 4 years ago
Barış Soner Uşaklı 518d4fa170 fix: undefined call 4 years ago
Barış Soner Uşaklı 5a2b14b751 fix: client side crash when creating groups 4 years ago
psychobunny d40779a4ba feat(acp): autocomplete user search for welcome notifications 4 years ago
Barış Soner Uşaklı 715775a707 feat: #8817, add login clientside hooks
same as logout
4 years ago
Misty (Bot) 841cbcc3e3 Latest translations and fallbacks 4 years ago
Julian Lam a08fb8e53b fix: removed superfluous assignment 4 years ago
Julian Lam 0b6ef61e40 fix: createNewPosts to build tpl with ajaxify.data
If the post template contains references to items outside of the scope of the post, then when the post is loaded via IS, the expected values are empty.

This was due to createNewPosts calling app.parseAndTranslate with a subset of the page payload. This works fine in Persona (and most other themes)
because they do not refer to properties outside of the post object, but it may be helpful to include the rest of the ajaxify data as well.
4 years ago
Julian Lam bff53de03f fix: handle ACP category enable/disable states after call success 4 years ago
Julian Lam aa8faf58a0 refactor: remove /users/{uid}/settings/{setting} route
@baris Also, I am now allowing the following properties to be saved in User.saveSettings:
- categoryTopicSort
- topicPostSort
- setCategorySort
- setTopicSort
4 years ago
Barış Soner Uşaklı 9082062e90 fix: sort setting not using correct field name 4 years ago
Misty (Bot) 2baccd3ce2 Latest translations and fallbacks 4 years ago
Barış Soner Uşaklı 6ac73ccb7e feat: #8801, disable express compression by default 4 years ago
Julian Lam cc1c722092 fix: breaking test from 0db0231cff
Also lowered export timeout to 5s
4 years ago
Julian Lam 14e5c24ec5 fix(openapi): final fixes to schemas 4 years ago
Julian Lam b2e9e3e048 fix(writeapi): more tweaks to schema files 4 years ago
Julian Lam 9f9e3c1582 fix(writeapi): fix components, + tag object schema 4 years ago
Julian Lam a4f3270fc5 fix(writeapi): missing files for tests 4 years ago
Julian Lam b092f65d95 fix(writeapi): tests 4 years ago
Julian Lam 93f65f89e7 fix(writeapi): added examples to all parameter objects in schema 4 years ago
Barış Soner Uşaklı a512d99472 refactor: remove unnecessary wrapper 4 years ago
Misty (Bot) 5605a0d1b7 Latest translations and fallbacks 4 years ago
Barış Soner Uşaklı a05905f196
performance improvements (#8795)
* perf: nconf/winston/render

cache nconf.get calls
modify middleware.pageView to call next earlier
don't call winston.verbose on every hook see https://github.com/winstonjs/winston/issues/1669
translate header/footer separately and cache results for guests

* fix: copy paste fail

* refactor: style and fire hook only log in dev mode

* fix: cache key, header changes based on template

* perf: change replace

* fix: add missing await

* perf: category

* perf: lodash clone

* perf: remove escapeRegexChars
4 years ago
Misty (Bot) 822c13f199 Latest translations and fallbacks 4 years ago
Misty (Bot) 89a1f481e0 Latest translations and fallbacks 4 years ago
Barış Soner Uşaklı 0db0231cff feat: move postercount to topic hash 4 years ago
Barış Soner Uşaklı 7a3183520f fix: spec 4 years ago
Julian Lam 63e07c9433 fix: tests 4 years ago
Julian Lam c26f2b6599 feat(writeapi): user settings API 4 years ago
Baris Usakli 1a4c0decb7 fix: reset button loading html 4 years ago
Misty (Bot) c31cab3457 Latest translations and fallbacks 4 years ago
Barış Soner Uşaklı e6440c0d21 fix: #8779, fix move all
add new language keys
4 years ago
Misty (Bot) df1cfc4caf Latest translations and fallbacks 4 years ago
Barış Soner Uşaklı 3ee4936db6 fix: keep sortBy while searching 4 years ago
Barış Soner Uşaklı 85cfe49d65 fix: autocomplete.user on search page 4 years ago
Barış Soner Uşaklı cf474ab246 fix: spec 4 years ago
Misty (Bot) 1b50e1a062 Latest translations and fallbacks 4 years ago
Julian Lam ff4fcc23b6
Update bundled logos with new branding (#8702)
* feat: updating logo assets, square logos missing still

* fix: squared logo for touch icon and notification fallback

* fix: update link to favicon

* feat: add default touch icon sizes, if one isn't uploaded

Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>
4 years ago
Barış Soner Uşaklı c107649b40 fix: #8732 4 years ago
Barış Soner Uşaklı d9a16855d0 refactor: posts api 4 years ago
Barış Soner Uşaklı 272e73da53 refactor: post restore/delete/purge 4 years ago
Barış Soner Uşaklı 9738e20207 refactor: merge post.edit
fix: dont fadeout/fadeint if title/post didnt change
4 years ago
Barış Soner Uşaklı 2279e37261 refactor: deprecate socket.emit('users.search') use api route 4 years ago
Barış Soner Uşaklı 083c74e059 refactor: api categories 4 years ago
Misty (Bot) 854d61a257 Latest translations and fallbacks 4 years ago
Barış Soner Uşaklı 51a60d3d46 fix: handler for group.join 4 years ago
Julian Lam 20bb9c7ec8 fix: csrf token only on non-GET routes 4 years ago
Barış Soner Uşaklı 3673accdb8 refactor: api module
only return promise if callback is undefined
dont append baseUrl if url already starts with api
correctly handle writeapi readapi response for data/error
remove unused onError
dont append empty ? to url for get routes
4 years ago
Julian Lam a784d10fff refactor: api module returns promise, error-first cb if cb passed in
no more separate onSuccess onError callbacks

/cc @baris
4 years ago
Misty (Bot) d52992de1b Latest translations and fallbacks 4 years ago
Barış Soner Uşaklı 4b9444f1a5 fix: avatar selector 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
Julian Lam bfaeb27c11 Merge branch 'write-api-csrf' 4 years ago
Julian Lam 1e07886f30 feat: require csrf token if not using bearer token 4 years ago
psychobunny 0e0f1506d2 fix: update server param to /api/v3 4 years ago
psychobunny c68653d035 fix: typo 4 years ago
psychobunny 7aa4d104af fix: testing openapi write tests 4 years ago
psychobunny 16873800a6 fix(openapi): users.yaml 4 years ago
psychobunny 54e6003a7c fix: test fix for write API
need to rewrite users.yaml to fix properly
4 years ago
Barış Soner Uşaklı ba2e1c4c7e fix: show more lines 4 years ago
Barış Soner Uşaklı 01265d08f3 feat: add stack to deprecate message 4 years ago
Misty (Bot) 0a4fd50aac Latest translations and fallbacks 4 years ago
Barış Soner Uşaklı dc29f4dca2 refactor: switch to using slugify module 4 years ago
Barış Soner Uşaklı bddfcb5867 feat: #8734, add slugify module, deprecate utils.slugify 4 years ago
Barış Soner Uşaklı f16c8268cf feat: #8734, move bootstrap-tagsinput to package.json 4 years ago
Barış Soner Uşaklı eab7489ec5 feat: #8734, move deserialize/serialize to package.json 4 years ago
Barış Soner Uşaklı 948f26143c feat: #5964, #8734 remove colorpicker 4 years ago
Barış Soner Uşaklı c954db84e4 refactor: require style 4 years ago
Barış Soner Uşaklı 931d44b5e2 fix: undefined api require, @julianlam 4 years ago
Barış Soner Uşaklı e2d407b769 fix: watch tooltip 4 years ago
Barış Soner Uşaklı aedd28e0a6 fix: module name 4 years ago
Barış Soner Uşaklı c721625a95 feat: #8734 remove unused files 4 years ago
Barış Soner Uşaklı cc705e5e2b feat: #8734, move sortable to package.json 4 years ago
Barış Soner Uşaklı 75c9668656 fix: admin jquerui requires 4 years ago
Barış Soner Uşaklı 8c019a6a3b fix: timeago locale switch 4 years ago
Barış Soner Uşaklı 300a87559f feat: #8734, move bootbox to package.json 4 years ago
Barış Soner Uşaklı 420a312982 Merge branch 'master' of https://github.com/NodeBB/NodeBB 4 years ago
Barış Soner Uşaklı 3b231360d3 feat: load jquery-form before using 4 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
4 years ago
Misty (Bot) ea830871c2 Latest translations and fallbacks 4 years ago