12752 Commits (9521c8deb76748d080f98e7613fe06a2b34fbeb4)

Author SHA1 Message Date
Barış Soner Uşaklı 2056ac04e0 feat: post-queue hooks, closes #10381 3 years ago
Barış Soner Uşaklı df46ab4874 feat: add hook filter:posts.getUserInfoForPosts 3 years ago
Julian Lam 83fd4311b2 chore: delay `filter:email.send` removal to v2.0.0 3 years ago
Julian Lam 93b80f170b refactor: show a louder deprecation notice, alert once for each hook, not per plugin per hook 3 years ago
Julian Lam a3b4c668d5 fix: apply some DRY 3 years ago
Barış Soner Uşaklı 371b46581a fix: #10366, remove dupe /files
dont display duplicate thumb og:image items
3 years ago
gasoved 62187caa67
feat: post auto flagging on downvotes #10029 (#10367)
* feat: post auto flagging on downvotes

* fix: just get one admin
3 years ago
Barış Soner Uşaklı 56345777ce fix: always show self on /users?online 3 years ago
Barış Soner Uşaklı 21cd1e612f fix: db call 3 years ago
Barış Soner Uşaklı cc665fd614 fix: lastonline timestamps and display for guests 3 years ago
Barış Soner Uşaklı eac9cd03ca feat: closes #10324, show recently online users as well 3 years ago
Barış Soner Uşaklı 50ed3a324c test: possible fix random psql test failure 3 years ago
Barış Soner Uşaklı 7ee4e4e004 fix: #10357 3 years ago
Julian Lam 5479f36443 fix: #10358, bad uploads path 3 years ago
Barış Soner Uşaklı 0e12f82dd8 fix: dont overwrite asset_base_url if its set 3 years ago
Barış Soner Uşaklı e0b1c374e4 feat: resolve paths for staticDirs as well 3 years ago
Barış Soner Uşaklı 6b22d0e15f fix: #10334, use the correct env vars for web install 3 years ago
Barış Soner Uşaklı 5694e62e59 fix: #10322 3 years ago
Julian Lam 17836f2a3a
Re-introduce lodash into src/package-install.js (#10315)
* test: add failing test for if package.json is non-existant, fix tests' beforeEach method

* Revert "fix: #10289, remove lodash dependency in src/cli/package-install.js"

This reverts commit 81fa2e22bc.

* fix: regression caused by 94b79ce402

`./nodebb setup` was no longer able to be called without arguments or env vars

* fix: .updatePackageFile() throwing if no package.json

* fix: removing unneeded code in src/cli/index.js that seemed to be used to handle cases where package.json was missing (initial install)

... However, as .updatePackageFile() now handled cases where there is no package.json, it should be ok to remove this code

* fix: handle missing package.json or node_modules/
3 years ago
Julian Lam 4164898d85 fix: regression caused by 94b79ce402
`./nodebb setup` was no longer able to be called without arguments or env vars
3 years ago
Barış Soner Uşaklı 3acd2ac850 refactor: wrap around if at end
remove debug log
dont focus input on mobile
3 years ago
Barış Soner Uşaklı b517b376ac feat: ability to go through your posts in a topic
because I am 👴 useful for large topics
3 years ago
Barış Soner Uşaklı e9e48a756f feat: delete diffs on post purge, closes #10291 3 years ago
Barış Soner Uşaklı 9205169f00 fix: one last try 3 years ago
Barış Soner Uşaklı 2f64d63369 fix: doggy.gif 3 years ago
Barış Soner Uşaklı cfdfbf3280 fix: one more fix 3 years ago
Barış Soner Uşaklı 770fcd9ea8 fix: dupe key errors 3 years ago
Barış Soner Uşaklı dbf7a45828 fix: #10292, delete missing fields 3 years ago
Barış Soner Uşaklı 58b5781cea feat: closes #10296
asset_base_url in nconf
keep assetBaseUrl in config for backwards compat
3 years ago
ppenguin 94b79ce402
Allow NodeBB setup with env vars (#9850)
* initial try [WIP]

* typo; add test start script; initial Dockerfile mod with integrated setup [WIP]

* minor fixes

* add some winston debug...

* typos

* fix pass confirm setup

* more fixes

* fix entrypoint

* cleanup

* remove echo sensitive setupVal

* remove obsolete code and comments

* fix linting errors

* Merge branch 'additional-fixes'

* Merge branch 'pitaj-suggested-fixes'

* Merge branch 'pitaj-fixes2'

* merge checkSetup functions (env vars and flags)

* comment (lint)

* remove tab

* finalise PR; tested ok locally (setup json overrides env vars)
3 years ago
Julian Lam fb78570c13 test: fix topic thumb tests and topic thumbs to work properly with post upload assoc. 3 years ago
Julian Lam d5ed8736aa feat: deleting a user upload dissociates from posts, and vice versa 3 years ago
Julian Lam 8c2752bab1 test: user uploads.js tests 3 years ago
Julian Lam 11275d6809 test: testing user upload methods, already fixed one bug 3 years ago
Julian Lam 5d7e1ebc68 style: linting errors 3 years ago
Julian Lam b9edee143e fix: local deleteUploads() method in `src/user/delete.js` to call `User.deleteUpload()` 3 years ago
Julian Lam 7ef9c7d220 refactor: .deleteUpload() to accept array of paths 3 years ago
Julian Lam ea36016d87 refactor: fix user uploads paths, and associate uid with user uploads 3 years ago
Julian Lam 6489e9fd9e refactor: change the post uploads' hash seeds to have the `files/` prefix 3 years ago
Julian Lam 84dfda59e6 fix: #10144, automatically delete uploads from disk on post purge, ACP option to keep uploads on disk if desired 3 years ago
Julian Lam aad0c5fd51 refactor: abstract some common code out to local utility methods 3 years ago
Julian Lam 9aa3e442d0 fix: four-space indents in package.json 3 years ago
Julian Lam 81fa2e22bc fix: #10289, remove lodash dependency in src/cli/package-install.js 3 years ago
Julian Lam 6aae2e5d89 Revert "fix: proactively guard against homograph characters in website values"
This reverts commit fa7dcdb968.
3 years ago
Barış Soner Uşaklı 489c0d3015 refactor: remove extra zset remove, closes #10277 3 years ago
Julian Lam 1c7fb8fe11 fix: non-functional upgrade script 3 years ago
Barış Soner Uşaklı 350052ec50 fix: language keys 3 years ago
Barış Soner Uşaklı d70ce3a937 fix: #10273, properly calculate item count for best/controversial 3 years ago
Barış Soner Uşaklı b98758d30a chore: add missing quote 3 years ago
Julian Lam a2c7d69e1b fix: remove extraneous devDependencies on package merge
/cc @pitaj
3 years ago
Barış Soner Uşaklı 5143ca33f3 feat: handle array of keys in psql exists for zsets 3 years ago
Julian Lam 0ac2843587 feat: upgrade script to clean up leftover :thumb zsets 3 years ago
Julian Lam 0f788b8eaa fix: #10257, topic thumbs not deleting on topic deletion 3 years ago
Julian Lam 606808760e
test: add test to verify that a sorted set is automatically deleted if its last element is removed (#10261)
* test: add test to verify that a sorted set is automatically deleted if its last element is removed

* fix: remote empty zsets when all elements have been removed #yolo

* Revert "fix: remote empty zsets when all elements have been removed #yolo"

This reverts commit 0ac73244bb6ffd802007a252a35844c589ce8721.

* fix: altered behaviour in module.exists instead of zrem
3 years ago
Barış Soner Uşaklı 08f2a05053 fix: #10255, create verified/unverified groups on install 3 years ago
Barış Soner Uşaklı 6be330f2d6 lint: remove unused require 3 years ago
Barış Soner Uşaklı b548083b24 perf: increase batch size 3 years ago
Barış Soner Uşaklı 079c487dcb fix: controversial posts/bests posts not showing anything
fix upgrade script so posts with negative votes are stored, a post can have 10 upvotes and 2 downvotes
fix missing negative votes checks
remove unnecessary pids flters since the cids are only already filtered by topics:read
3 years ago
Julian Lam d34471f69f fix: regression in package.json merging logic that caused extraneous packages to not be removed 3 years ago
Julian Lam 689c125cd3 fix: #10229, package merging should deep merge nested objects
+ tests
3 years ago
Julian Lam cf88483fee feat: upgrade script to store downvotes posts in the user :votes sorted set 3 years ago
Julian Lam 5cff6e3f95 fix: bug where .reduce() exploded due to no initial value, if input value was an empty array 3 years ago
Julian Lam 5afd5de07d feat: new accounts route to show most downvoted ('controversial') posts 3 years ago
Barış Soner Uşaklı 45ca046533 Merge branch 'master' of https://github.com/NodeBB/NodeBB 3 years ago
Barış Soner Uşaklı dcb201dfa8 fix: https://github.com/NodeBB/NodeBB/issues/10242 3 years ago
Julian Lam ad63517511 fix: missing early return 3 years ago
Julian Lam 936562c3cb fix: handle case where email is explicitly passed into user.create, and thus is set in user hash, but confirmation request may have expired 3 years ago
Julian Lam 0322e984e0 fix: #10236, don't check email:uid, instead verify an email confirmation is active 3 years ago
Barış Soner Uşaklı 9883910857 fix: don't crash if requestedFields is undefined 3 years ago
Barış Soner Uşaklı 7f1c4477e3 feat: allow gif profile images, sharp 0.30.0 supports gifs 3 years ago
Julian Lam 8ba9e67cbd feat: detect alternative package managers based on lockfile
If a package manager is not explicitly set in config.json or passed-in via argv/env, NodeBB will now check for the presence of alternative package managers' lockfiles and adjust the package manager to-be-used accordingly. If the standard npm lockfile exists, npm will always be used.
3 years ago
Julian Lam 9a1690857d refactor: updated package-install.js exports style, new exported method 'getPackageManager' for use in cases where nconf is unreliable, fix bug where nconf was not correctly set up in cli tools, proper installation of dev dependencies based on global env value 3 years ago
Julian Lam c869d7dbb3 docs: some tweaks to cli help 3 years ago
Julian Lam c3d926ff7e fix: a missed invocation of colors 3 years ago
Julian Lam cf8f62aed9
feat: remove colors in favour of chalk (#10142)
* feat: remove colors in favour of chalk

* fix: bad conversion from colors to chalk in src/cli/index.js

* fix: padWidth calculation to account for control characters

* fix: termWidth calculation, but swapped one problem for another

* fix: formatItem, implement my own padRight to take control characters into account
3 years ago
Julian Lam fa7dcdb968 fix: proactively guard against homograph characters in website values 3 years ago
Barış Soner Uşaklı 1d01741ae7 fix: #10208, don't use leading slash in directory names
change to use decodeURIComponent in utils.params
3 years ago
Julian Lam dee9cca3c8 fix: email ban tests 3 years ago
Julian Lam e25c0313d1 Revert "refactor: emailer.send and emailer.sendToEmail returns Boolean based on message being successfully sent"
This reverts commit f0e32ff182.
3 years ago
Julian Lam 165a1d8b76 Revert "fix: update usage of emailer.send to not catch (as errors are no longer thrown), email error throttler"
This reverts commit d4e5259fcf.
3 years ago
Julian Lam d4e5259fcf fix: update usage of emailer.send to not catch (as errors are no longer thrown), email error throttler 3 years ago
Julian Lam b3f7b742c1 fix: derp 3 years ago
Julian Lam ea27eaf166 feat: no more sending emails to banned users, + feature flag 3 years ago
Julian Lam f0e32ff182 refactor: emailer.send and emailer.sendToEmail returns Boolean based on message being successfully sent
Note that of course this doesn't mean the message was _delivered_, just sent off.

This will stop issues where emailer errors crash NodeBB
3 years ago
Barış Soner Uşaklı 2a89ad8288 fix: use escaped group names in invite modal 3 years ago
Julian Lam e1e1d5223e feat: push the theme name into body class 3 years ago
Julian Lam d91aeea3c3 feat: add ACP toggles for COEP and CORP headers 3 years ago
Julian Lam d098e26f82
User Email and email validation API (#10160)
* feat: wip user emails api

* fix: allow admins with manage-users access to email confirmation api as well

* fix: wrong route path

* docs: openapi spec
3 years ago
Barış Soner Uşaklı 10949184ca
test: add failing guest csrf test (#10169)
* test: add failing guest csrf test

* test: use correct var

* fix: use applyCsrf for guests as well
3 years ago
Barış Soner Uşaklı 2835966518 fix: urls used when recent/unread/popular/top is used as the homepage
if recent is used as the homepage then changing the selected category or filters was redirecting the user to forum.com/recent?cid=1 instead of staying at forum.com/?cid=1

also fix unread page mark read button showing the selected category
3 years ago
Barış Soner Uşaklı c1ec20470b fix: catch exceptions from sendNotifications 3 years ago
Barış Soner Uşaklı 3e8cb732c5 fix: multiple cid filter on flags page
if multiple categories were selected it wasnt applied because of typeof string check
3 years ago
Magnus 7bd3e31dec
Fullname in notifications (#10157)
* init - fullname notifications setting

* fullname in topic reply

* fullname for group-request-membership

* fullname for group-leave notification

* fullname for new-post-flag & new-user-flag

* removed log

* fullname for user follow

* fullname in message notification

* fullname in follow

* fullname for sendNotificationToPostOwner

* fullname in sendNotificationToTopicOwner

* fullname in doExport

* shorthand name set

* shorter name set

* fullname in notifications

* displayname for notifications

* removed unused require
3 years ago
Barış Soner Uşaklı f9279b636b fix: post indices if there is a blocked user in topic 3 years ago
Barış Soner Uşaklı 3b72ff8742 fix: dont add duplicate link backs 3 years ago
Barış Soner Uşaklı b06c6329e4 fix: #10175, fix topic linkbacks duplicating on post edit 3 years ago
Barış Soner Uşaklı d1eb21c56d fix: #10173, don't show optional message if email is required 3 years ago
Barış Soner Uşaklı 6a75ed50fa fix: #10172, fix postqueue accept/reject notification text 3 years ago
Barış Soner Uşaklı 4799efc790 fix: #10167, fix regression prevent guest post 3 years ago
Julian Lam 31ea2266a6 feat: nicer error handling for bad jwt in unsubscribe template 3 years ago
Barış Soner Uşaklı c9fabb0e1d refactor: add method to error messages 3 years ago
Julian Lam e9ee843b27
fix: CSRF handler to go back to saving in session (#10159) 3 years ago
Julian Lam 6ca216ab6e feat: revoke user sessions on successful password reset 3 years ago
Julian Lam be4dbe3441 chore: org; merge consecutive await calls into one Promise.all 3 years ago
Julian Lam ffdf26afef docs: comment hint :shipit: 3 years ago
Barış Soner Uşaklı afc75ba48a lint: remove unused 3 years ago
Barış Soner Uşaklı 9b75b1ede2 test: update tag tests, fix linux symlink error 3 years ago
Barış Soner Uşaklı c9592e173c fix: lint 3 years ago
Barış Soner Uşaklı a75a043b61 feat: allow % in tags, #10135 3 years ago
Barış Soner Uşaklı 42caef7fa7 fix: #10143, add back ace editor searchbox 3 years ago
Barış Soner Uşaklı cc27a324b5 fix: notice links in subfolder installs 3 years ago
Julian Lam d89fc44c03 fix: move authenticateRequest before interstitial and maintenance mode middlewares, allowed plugins to disable authentication on certain routes
fixes #10112
3 years ago
Barış Soner Uşaklı 0d9ec9d30e test: fix restore test 3 years ago
Julian Lam b5b188fd53 feat: allow isCluster, isPrimary, and jobsDisabled to be passed in as numbers in addition to string/bool
/cc @barisusakli
3 years ago
Barış Soner Uşaklı 07232a8cf6 fix: retry incrObjtFieldBy 3 years ago
Julian Lam d960f601a1 style: eslint 3 years ago
Julian Lam 2fe53cf849 feat: `GET /api/v3/chats/:roomId/messages` 3 years ago
Julian Lam d95b4ee29a fix: assertion check to ensure messages are in the room when editing/deleting, etc 3 years ago
Julian Lam aaa6f752d0 refactor: put message api calls behind `/messages` prefix, #10097 3 years ago
Julian Lam aeb43b9bb1 fix: rename language key for incorrect parameter type error 3 years ago
Julian Lam 16ba16cdc4 fix: deprecate chats.leave 3 years ago
Julian Lam fe17c94c35 feat: `DELETE /api/v3/chats/:roomId/users` and `DELETE /api/v3/chats/:roomId/users/:uid` 3 years ago
Julian Lam 6294beea0b fix: re-allow kicking of the other party in a 1-to-1 chat 3 years ago
Julian Lam d62ee84637 feat: `POST /chats/:roomId/users` 3 years ago
Julian Lam 6eea6451d2 feat: `GET /chats/:roomId/users` [breaking] 3 years ago
Julian Lam d5fd098ecf feat: `POST /chats/:roomId/:mid` and `DELETE /chats/:roomId/:mid` 3 years ago
Julian Lam 90fcbe4416 feat: middleware.assert.message 3 years ago
Julian Lam b292960594 feat: `GET /chats/:roomId/:mid` 3 years ago
Julian Lam f48ed3658a feat: `PUT /chats/:roomId/:mid` 3 years ago
Julian Lam 140f9d2481 fix: isFinite check for room assertion, more test migrating 3 years ago
Julian Lam e745e21242 chore: use apiv3 for room rename tests 3 years ago
Julian Lam 74f1905ea8 feat: allow API checkRequired middleware error to be internationalized 3 years ago
Julian Lam 9a4fd5dc7e feat: `PUT /api/v3/chats/:roomId` 3 years ago
Julian Lam eeffb9d978 feat: `POST /api/v3/chats/:roomId` 3 years ago
Julian Lam 09cf9c7770 feat: `GET /api/v3/chats/:roomId` 3 years ago
Julian Lam 40b4544e70 feat: `POST /api/v3/chats`, chat room creation, plus openAPI docs update 3 years ago
Julian Lam 94bead71fe feat: `GET /api/v3/chats` 3 years ago
Julian Lam 02e878be72 feat: stub code for v3 chats api 3 years ago
Barış Soner Uşaklı 35fea58a57 refactor: only write analytics data on nbb that has runJobs=true
prevents mongodb index error when lots of nodebbs try to write to the same key
3 years ago
Barış Soner Uşaklı 42781467d2 refactor: remove knonwOwner param 3 years ago
Barış Soner Uşaklı 8fb89d761a fix: don't crash server if analytics fails to save
fixes
MongoBulkWriteError: E11000 duplicate key error collection:
 community.objects index: _key_1_value_-1 dup key: { _key: "analytics:pageviews", value: "1639807200000" }
3 years ago
Barış Soner Uşaklı e332acf3f7 fix: upgrade script to handle strings as well 3 years ago
Barış Soner Uşaklı 4e1d421722 refactor: remove unused validator 3 years ago
Barış Soner Uşaklı c4042c70de feat: #9506, allow seeing and editing your queued posts
allow regular users access to post queue
allow regular users to edit their queued post/topic title
allow regular users to remove their post from post queue
ability to send a notification to user without removing from post queue
allow accessing single post queue items from notifications
3 years ago
Barış Soner Uşaklı b8896d1328 refactor: only pass qs 3 years ago
Barış Soner Uşaklı 599bffd8e0 feat: pass in all query params to category search filter 3 years ago
Barış Soner Uşaklı c4156bdd7b feat: add data param to filter:categories.search
so plugins can do custom search for categories
3 years ago
Barış Soner Uşaklı 1e60ae8703 refactor: change error message 3 years ago
Barış Soner Uşaklı 1264dcb555 test: add email interstitial tests 3 years ago
Barış Soner Uşaklı 1f063058f0 breaking: remove socket.emit('user.exists')
remove socket.emit('user.deleteAccount')
remove socket.emit('user.follow')
remove socket.emit('user.unfollow')
remove socket.emit('user.saveSettings')
3 years ago
Barış Soner Uşaklı 6b45dee9c5 breaking: remove socket.emit('user.changeUsernameEmail')
remove socket.emit('user.changePassword')
remove socket.emit('user.updateProfile')
3 years ago
Barış Soner Uşaklı cc0a087a70 fix: prevent crash if groups is not valid json 3 years ago
Barış Soner Uşaklı 968d461692 fix: upgrade script 3 years ago
Barış Soner Uşaklı 737e1c191e fix: delete left over nav items after removal of some 3 years ago
Barış Soner Uşaklı 10e890e41f fix: targetBlank/dropdown not getting cleared
show caret if nav item is dropdown
3 years ago
Barış Soner Uşaklı 69c96078ea breaking: #10077, store nav items in objects 3 years ago
Barış Soner Uşaklı 3b0c42a591 fix: prettier bulk method usage 3 years ago
Julian Lam 42959df053 fix: bug where groupChat property was not set for chat rooms 3 years ago
Barış Soner Uşaklı f918a38164 breaking: remove socket.emit('topics.follow')
remove socket.emit('topics.changeWatching')
3 years ago
Barış Soner Uşaklı 6ad0472106 breaking: remove socket.emit('topics.post')
remove socket.emit('topics.search')
remove socket.emit('topics.getTopic')
3 years ago
Barış Soner Uşaklı 49641a3217 breaking: remove socket.emit('user.banUsers');
remove socket.emit('user.unbanUsers');
3 years ago
Barış Soner Uşaklı 4604a5724c breaking: remove socket.emit('posts.reply')
remove socket.emit('posts.getPost')
3 years ago
Barış Soner Uşaklı 6d95684bc8 breaking: remove socket.emit('user.changePicture') 3 years ago
Barış Soner Uşaklı 0d694c781c breaking: remove socket.emit('user.search') 3 years ago
Barış Soner Uşaklı 99f865c618 breaking: remove socketHelpers.setDefaultPostData 3 years ago
Barış Soner Uşaklı 02ea17ea1b breaking: remove deprecated groups socket calls
socket.emit('groups.join') removed use `PUT /api/v3/groups/:slug/membership/:uid`
socket.emit('groups.leave') removed use `DELETE /api/v3/groups/:slug/membership/:uid`
socket.emit('groups.grant') removed, `PUT /api/v3/groups/:slug/ownership/:uid`
socket.emit('groups.rescind') removed, `DELETE /api/v3/groups/:slug/ownership/:uid`
socket.emit('groups.update') removed, `PUT /api/v3/groups/:slug`
socket.emit('groups.create') removed, `POST /api/v3/groups`
socket.emit('groups.delete') removed, `DELETE /api/v3/groups`
3 years ago
Julian Lam bc7707aa88 fix: #9484 show user history only to admins and gmods 3 years ago
Baris Usakli 0d1e57dce0 breaking: remove deprecated methods
socket.emit('topics.delete') removed use `DELETE /api/v3/topics/state`
socket.emit('topics.restore') removed use `PUT /api/v3/topics/state`
socket.emit('topics.purge') removed use `DELETE /api/v3/topics`
socket.emit('topics.lock') removed use `PUT /api/v3/topics/lock`
socket.emit('topics.unlock') removed use `DELETE /api/v3/topics/lock`
socket.emit('topics.pin') removed use `PUT /api/v3/topics/pin`
socket.emit('topics.unpin') removed use `DELETE /api/v3/topics/pin`
3 years ago
Julian Lam 45c9dde319 fix: no need to pass 'img' to teaser tags stripping as images are already converted to alt text 3 years ago
Barış Soner Uşaklı bd1cb2d4f9 breaking: remove socket.emit('posts.delete')
remove socket.emit('posts.restore')
remove socket.emit('posts.purge')
remove socket.emit('posts.deletePosts')
remove socket.emit('posts.purgePosts')
3 years ago
Barış Soner Uşaklı ec1d5e38da breaking: remove socket.emit('posts.upvote')
socket.emit('posts.downvote')
socket.emit('posts.unvote')
3 years ago
Barış Soner Uşaklı 8427c5d9db breaking: remove socket.emit('posts.move') 3 years ago
Barış Soner Uşaklı 4247f62441 breaking: remove socket.emit('posts.edit') 3 years ago
Barış Soner Uşaklı f7418ccd47 breaking: remove socket.emit('posts.bookmark/unbookmark') 3 years ago
Barış Soner Uşaklı 5c3d5f1f40 test: make it async 3 years ago
Barış Soner Uşaklı cfd474487a refactor: async 3 years ago
Barış Soner Uşaklı f0394c4965 refactor: async 3 years ago
Barış Soner Uşaklı 8491f67daf refactor: use async 3 years ago
Barış Soner Uşaklı 07e2741ea6 breaking: remove deprecated admin.groups methods 3 years ago
Barış Soner Uşaklı a8afdc6019 fix: #10069, don't modify fields array
use a single setObjectFields for the profile update
3 years ago
Barış Soner Uşaklı 45d8157fee fix: tests 3 years ago
Barış Soner Uşaklı 9627fa9029 refactor: always returns array 3 years ago
Barış Soner Uşaklı 830166d120 fix: #10067, count posts instead of incr/decr 3 years ago
Barış Soner Uşaklı f4aa249d8c refactor: use async/await 3 years ago
Barış Soner Uşaklı cbf198fe9b lint: remove unused 3 years ago
Barış Soner Uşaklı 45d755b6ae breaking: remove socket.emit('categories.getCategory') 3 years ago
Barış Soner Uşaklı cc3f82bc83 breaking: remove socket.emit('admin.categories.setPrivilege') and socket.emit('admin.categories.getPrivilegeSettings') 3 years ago
Barış Soner Uşaklı 0b9c01f9a0 breaking: remove deprecated socket.emit('admin.categories.update') 3 years ago
Barış Soner Uşaklı ba5d2e7b81 breaking: remove deprecated socket.emit('admin.categories.purge') 3 years ago
Barış Soner Uşaklı b335372348 breaking: remove deprecated socket.emit('admin.categories.create') 3 years ago
Barış Soner Uşaklı 10c19af2ad breaking: remove deprecated socket.emit('admin.categories.getAll') 3 years ago
Barış Soner Uşaklı a20abdce02 lint: remove unused 3 years ago
Barış Soner Uşaklı 36eb47d9a0 refactor: change var name 3 years ago
Barış Soner Uşaklı 170e5dd941 breaking: remove getTopicPosts(tid, ...) usage 3 years ago
Barış Soner Uşaklı 906dc5675e fix: handle start=0 stop=0 for topics.getTopicPosts
add more tests
3 years ago
Julian Lam fa01801f64 fix: don't throw on invalid session, just return early so socket is not opened.
Also updated the plugin hook call to `static:sockets.validateSession` to not return a result, because in static calls that result is always null anyway
3 years ago
Barış Soner Uşaklı a29535833f fix: #10052, dont use spaces in tag class name 3 years ago
Barış Soner Uşaklı 41db9436e8 perf: only add middleware if relativePath is set 3 years ago
Julian Lam a3bdb70617 feat: ensure that all requests handled by NodeBB fall under the relative_path as configured 3 years ago
Barış Soner Uşaklı 2bb0828af6 refactor: dont need local function 3 years ago
sadaszewski a1c9a69cd3
incr by bulk. (#9952)
* incr by bulk.

* Update analytics.js

* Update analytics.js

* lint: fix

Co-authored-by: Barış Soner Uşaklı <baris@nodebb.org>
Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>
3 years ago
Barış Soner Uşaklı 6ea3b51f12
Zincrybulk (#9975)
* feat: zincry bulk

* feat: psql bulk incr placeholder

* test: redis test fix

* test: redis test
3 years ago
Barış Soner Uşaklı d9c42c000c feat: show 10 members 3 years ago
Barış Soner Uşaklı 1cdb0b1e19 fix: don't crash if tid is falsy 3 years ago
Barış Soner Uşaklı 0414356cf7 perf: don't load all set members to get count 3 years ago
Barış Soner Uşaklı 50063fe238 fix: regression from 27c05448e1 3 years ago
Barış Soner Uşaklı 82b72f7edc lint: remove unused utils 3 years ago
Barış Soner Uşaklı 5843122178 test: add missing tests 3 years ago
Barış Soner Uşaklı 8117b7f22f breaking: remove deprecated post diff socket calls 3 years ago
Barış Soner Uşaklı 324262cbb5 refactor: DRY 3 years ago
Barış Soner Uşaklı 1a7fffc7e9 breaking: remove deprecated user middlewares 3 years ago
Barış Soner Uşaklı 941ecaf899 fix: keep query params on /me redirects 3 years ago
Barış Soner Uşaklı 65c5504193 fix: 403/400/500 page not generating csrf_token 3 years ago
Barış Soner Uşaklı 3dd681ebce fix: error pages dont have config.csrf_token 3 years ago
Barış Soner Uşaklı 7434cbf66f test: add api token tests 3 years ago
Barış Soner Uşaklı 1e53552874 feat: closes #10018 3 years ago
Baris Usakli 06bfec8840 feat: #10018 add href 3 years ago
Baris Usakli 0f14f23b2a feat: #10018 , wip 3 years ago
Julian Lam 6c07433dea
refactor: use routePrefixMap instead of routeRegexpMap, +tests (#10035)
* refactor: use routePrefixMap instead of routeRegexpMap, +tests

Currently tests fail because privilege pages resolve if passed garbage... hmm

* fix: priv check paths

remove /v3 from path as well

Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>
3 years ago
Barış Soner Uşaklı daf385cd42 refactor: use hasOwnProprety 3 years ago
Barış Soner Uşaklı 404a877408 test: add missing tests 3 years ago
Barış Soner Uşaklı 6dcdf1d342 breaking: remove setTopicSort/setCategorySort 3 years ago
Barış Soner Uşaklı 7aa85882d5 chore: right dropdown 3 years ago
Barış Soner Uşaklı a998cc1c47 chore: right dropdown 3 years ago
Barış Soner Uşaklı a7d1dfb65c breaking: remove deprecated socket user create/delete functions
add missing tests
3 years ago
Barış Soner Uşaklı a0e2704da1 Merge branch 'master' of https://github.com/NodeBB/NodeBB 3 years ago
Barış Soner Uşaklı c93d7fdbdd breaking: remove deprecated uploads.delete 3 years ago
Julian Lam e0caa5e0c4 fix: removed unused var 3 years ago
Julian Lam 01bd8a8694
remove email only login (#10030)
* feat: remove ACP option for email-only logins

* feat: remove email-only login, upgrade script to fix config
3 years ago
Barış Soner Uşaklı 79de48c57f breaking: remove deprecated methods 3 years ago
Barış Soner Uşaklı 2473d5d873 fix: #10027, properly auto confirm first user 3 years ago
Barış Soner Uşaklı 71e34be565 fix: cli password reset 3 years ago
Barış Soner Uşaklı d375dcb873 test: submitUsage 3 years ago
Barış Soner Uşaklı 29b3587d91 test: middleware/expose.js 3 years ago
Barış Soner Uşaklı c5f08fdc81 breaking: remove socket.io/flags.js
refactor: helpers.loginUser returns a single object {jar, csrf_token}
3 years ago
Julian Lam f0d192fbfd feat: autocomplete for activate/reset
useless features™️
3 years ago
Julian Lam 5b42b6b369
API route for returning tracked analytics keys (#10019)
* feat: track metrics saved by NodeBB (and assoc. plugins), #9949

* feat: route to retrieve analytics keys, closes #9949
3 years ago
Julian Lam 449366ca83 fix: consolidate plugin reset logic 3 years ago
Barış Soner Uşaklı 9245f71a66 fix: search crash 3 years ago
Barış Soner Uşaklı fb363957d1 refactor: tab rules 3 years ago
Barış Soner Uşaklı c26870d227 feat: #10008, add history entry for note deletion 3 years ago
Barış Soner Uşaklı 697dd37670 refactor: change category feed so it is not updated on every reply
allow cid query param for recent/top/popular feeds
3 years ago
Barış Soner Uşaklı d5bfd51267 fix: #10010, handle reverse sorting for topic events
dont add events to dom if sort is most votes
if sorting is reverse add new events after the main post or at the top instead of bottom
3 years ago
Barış Soner Uşaklı e368feef51 refactor: dont expost entire res._locals to client side 3 years ago
Barış Soner Uşaklı 190532b3b4 refactor: shorter meta.settings.get 3 years ago
Barış Soner Uşaklı 51cbeccb08 refactor: clone settings before returning
prevents plugins from mistakenly modifying saved settings in cache
3 years ago
Barış Soner Uşaklı 27c05448e1 refactor: remove another async.series 3 years ago
Barış Soner Uşaklı 0532c1b2a1 feat: #9957, don't remove existing fields form config.json 3 years ago
Barış Soner Uşaklı 047f031dd7 fix: #10006, dont allow new rooms or adding to a room if target is blocked 3 years ago
Barış Soner Uşaklı f729e51921 refactor: clone before returning 3 years ago
Barış Soner Uşaklı 258f368e32 refactor: add filter:topic.getPosts
this hook only fires when loading the posts of a topic cold load + infinite scroll
do not remove posts if they have index =-1
use topics.getTopicPosts instead of getMainPostAndReplies
3 years ago
Barış Soner Uşaklı 8379c11b22 refactor: setObjectBulk to match sortedSetAddBulk 3 years ago
Baris Usakli d412ba4411 perf: closes #9994, bulk methods for settings 3 years ago
Julian Lam 09e0c6d503 feat: add feature flag to disable verification emails, closes #9996 3 years ago
Barış Soner Uşaklı d196409580 refactor: remove more async.eachSeries/mapSeries 3 years ago
Barış Soner Uşaklı 8750ee04a6 refactor: make a single call to set widgets per template 3 years ago
Barış Soner Uşaklı 80f9963bed refactor: remove jshint, remove async.parallel 3 years ago
Barış Soner Uşaklı 61d1f56500 test: socket.emit doesnt exist in tests 3 years ago
Julian Lam 1719bff89c feat: use auto-generated meta and link tags in ACP, closes #9991 3 years ago
Barış Soner Uşaklı 8b4510cc70 refactor: deprecate app.logout
use logout module instead
move header related code out of app.js
3 years ago
Barış Soner Uşaklı 1a9b15989b refactor: move search functions from app.js to search module
deprecate:
app.handleSearch, use search.init(options) instead
app.enableTopicSearch, use search.enableQuickSearch(options) instead
app.prepareSearch, use search.showAndFocusInput() instead
3 years ago
Barış Soner Uşaklı 518552543d refactor: move warnings/messages out of app.js 3 years ago
Julian Lam c1ac291284 fix: ability to enumerate email via updateProfile method 3 years ago
Julian Lam b912a564e3 fix: accidentally not clearing email when said email is confirmed for a different uid 3 years ago
Barış Soner Uşaklı 4b738c8cd3 refactor: cleanup info, better cpu usage % 3 years ago
Barış Soner Uşaklı 890bf03fcc refactor: acp only uses 3 modes and a single theme
so only copy 7 files to build folder instead of 400+
3 years ago
Barış Soner Uşaklı 28dd31a8e7 fix: #9976 3 years ago
Barış Soner Uşaklı 9bfb6c7281 fix: #9976, handle array or object 3 years ago
Barış Soner Uşaklı 66e7cdac7a fix: #9973, ignore if assigning to same parent 3 years ago
Barış Soner Uşaklı d27c9696e3
feat: add node 16 (#9847)
* feat: add node 16

* fix: check errors in fork

* test: add use-spawn

* test: another test

* Revert "test: another test"

This reverts commit 606efe26fe1decd5d9269d63d5b649441ba2203b.

* test: another test

* fix: lint

* fix: remove spawn-wrap

* test: comment out plugin installs

* fix: lint

* test: uncomment all tests except npm i

* fix: lint

* test: bring back tests

* test: remove leftover override
3 years ago
Barış Soner Uşaklı 67cb249122 fix: #9972 3 years ago
Barış Soner Uşaklı 2e623dd271 feat: #9967, allow dropdowns in navigation 3 years ago
Barış Soner Uşaklı b916e42f40 feat: show number of events per type in acp 3 years ago
Barış Soner Uşaklı 8c67031609 feat: show posts previews if enabled on mouse over 3 years ago
Barış Soner Uşaklı 3d611ab70e fix: events for just topic with main post 3 years ago
Barış Soner Uşaklı 89399c0ed5 fix: #9954, get next post timestamp
fixes topic events being inserted in after first page but at the wrong spot
3 years ago
Julian Lam 485b6ced1d fix: broken post uploads due to 6a976a9db0 3 years ago
Julian Lam 0ee85d5a0b fix: #9950, rename account export routes to remove `uid/` prefix 3 years ago
Julian Lam 60352eca54
fix: double invocation of authenticateRequest 3 years ago
Julian Lam 6a976a9db0 fix: #9945, call authenticateRequest middleware for mount points in /api 3 years ago
Barış Soner Uşaklı bc4b19b4d7 fix: typo in flags 3 years ago
Barış Soner Uşaklı 8f08d9cac0 fix: handle undefined data.query 3 years ago
Julian Lam 28efcb59cb chore: remove .opacity() mixin as it is supported cross-browser 3 years ago
Barış Soner Uşaklı c428ba80aa refactor: wider value field 3 years ago
Barış Soner Uşaklı c7e078d495 refactor: dont save partial searches 3 years ago
Julian Lam 80ea12c1c1 feat: new ACP option `emailPrompt`
... which allows administrators to disable the client-side prompt to
encourage users to enter or confirm their email addresses
3 years ago
Barış Soner Uşaklı 64192731a0 refactor: use search api for topic search 3 years ago
Barış Soner Uşaklı 6cfaea06f0 fix: undefined query showing in searches 3 years ago
Barış Soner Uşaklı 0926ae6ecf fix: api session revoke test 3 years ago
Barış Soner Uşaklı da64810a4a fix: crash 3 years ago
Barış Soner Uşaklı a528790615 refactor: typo 3 years ago
Barış Soner Uşaklı ee8e048015 fix: move record to controller 3 years ago
Barış Soner Uşaklı f4cf482a87 feat: show popular searches 3 years ago
Barış Soner Uşaklı 63572c23ce fix: profile edit fields showing translated values 3 years ago
Barış Soner Uşaklı 719cfc0d57 breaking: disable javascript in custom less tab 3 years ago
Barış Soner Uşaklı 04dab1d550 fix: token verify 3 years ago
Barış Soner Uşaklı 1783f918bc fix: guard against prototype pollution 3 years ago
Barış Soner Uşaklı c8b2fc46dc fix: translator path traversal 3 years ago
Barış Soner Uşaklı e62948f73d fix: there is no alltime digest, fixes translation in test email
there is no digest.title.alltime
3 years ago
Julian Lam 506c34a84d refactor: simplified utilities API > login rout
Removed continueLogin override in favour of a simpler `redirectAfterLogin` override
Use passport to authenticate username and password instead of duplicated logic.
3 years ago
Julian Lam 6b4f35c2fa feat: new plugin hook to allow plugins to reject email address on new registration or email change 3 years ago
Julian Lam 806a1e50d2 feat: utilities login API route now starts an actual login session, if requested 3 years ago
Barış Soner Uşaklı b91ae0880d feat: add method name to deprecation message 3 years ago
Barış Soner Uşaklı 1d62bd6d7b refactor: log error as well 3 years ago
Barış Soner Uşaklı 73a9ca09c9 refactor: catch errors from buildHeader in error handler 🔥 3 years ago
Barış Soner Uşaklı d4da98404c refactor: add missing helpers.tryRoute 3 years ago
Barış Soner Uşaklı 998b9e7918 fix: minification regression 3 years ago
Julian Lam d22b076b2e feat: additional quality options for jpeg uploads, added quality and compression settings for png uploads 3 years ago
Barış Soner Uşaklı ee0282f5aa refactor: shorter middleware 3 years ago
Barış Soner Uşaklı b2429ef00e refactor: meta/minifier use async/await 3 years ago
Barış Soner Uşaklı 90b81262fa refactor: remove unused var 3 years ago
Barış Soner Uşaklı 9cb4de50a2 fix: biweekly digest #8053 3 years ago
Julian Lam 44687394dc fix: restore plugin upgrade checking logic
unintended regression from ac86937c88
3 years ago
Barış Soner Uşaklı 8e319a9b25 refactor: catch errors from digest 3 years ago
Barış Soner Uşaklı f7967bdf68 feat: #8053, biweekly digest option 3 years ago
Barış Soner Uşaklı 6da3239230 refactor: less.render already returns promise
rename callback to next to match other controllers
3 years ago
Barış Soner Uşaklı c70eaa0a34 refactor: prompt.get already returns promise 3 years ago
Barış Soner Uşaklı 38756a0c34 refactor: no more 🐮 3 years ago
Barış Soner Uşaklı 4333d217a1 fix: #9917, show topics as unread for guests 3 years ago
Barış Soner Uşaklı a9bc6a0962 refactor: allow array of uids for blocks.is/list
remove async.filter
use cacheCreate
3 years ago
Barış Soner Uşaklı 9e0ce0272c fix: don't overwrite reloadRequired with false
1. meta.settings.set('name', values); // reloadRequired is set to true
2. meta.settings.set('otherName', values, false); // reloadRequired was set to false, even though it should stay true until restart due to step 1
3 years ago
Barış Soner Uşaklı 8e6bd7e913 refactor: show full url on error log 3 years ago
Barış Soner Uşaklı 1feb111ade
perf: dont fs.open if plugin doesnt have language namespace (#9893)
closes #9892
3 years ago
gasoved b0a24d6dd5
refactor: var to const and let (#9885)
* refactor: var to const and let

* fix: missed global bootbox usage

* refactor: align with eslint expectations
3 years ago
Baris Usakli 997fb2b348 refactor: remove unused code 3 years ago
gasoved c1149d045c fix: better nomenclature 3 years ago
gasoved 3acaac4c7c
fix: html attributes (#9877)
* fix: some empty xml tag bodies

* fix: missing/wrong attributing of label tags

* fix: attribute fixes

* fix: misassociated label

* fix: missing alt attributes

* fix: some more missing associated labels
3 years ago
Barış Soner Uşaklı 6c25b9dbaa test: remove escape 3 years ago
Barış Soner Uşaklı 4f9717fb08 fix: escape thumbs, allow robots meta tag 3 years ago
Barış Soner Uşaklı 27e53b42f3 feat: use unread icon in mobile 3 years ago
Barış Soner Uşaklı 8ad9a103b3
fix: #9866, fire vote hooks after reputation changes (#9867) 3 years ago
Barış Soner Uşaklı a0df389021 fix: dont show decimails on auto approva minutes 3 years ago
Barış Soner Uşaklı a70c69fa83 fix: delete old topic tags 3 years ago
gasoved d1ff3d6298
feat: cli user management commands (#9848)
* feat: cli user management commands

* fix: consistent nomenclature
3 years ago
Barış Soner Uşaklı 5aea6c6aa1 feat: #9855, allow uid for post queue notifications 3 years ago
Barış Soner Uşaklı 4404e81991
fix: switch inf. scroll to xhr (#9854)
this fixes infinitescroll when url has custom query parameters
also fixes infinitescroll for plugins like QnA
fixes infinitescroll on tags page
deprecate topics.loadMoreSortedTopics
deprecate topics.loadMoreFromSet
3 years ago
Barış Soner Uşaklı e6a17a6349
Psql multikey (#9852)
* perf: convert promise.all to single query

* perf: single query for removeBulk

* perf: list
3 years ago
Barış Soner Uşaklı ea04aeded4
perf: convert promise.all to single query (#9851) 3 years ago
Julian Lam be43cd2597
Topic Linkbacks (#9825)
* feat: WIP topic linkbacks, + failing tests

* test: don't accidentally comment out all of the post tests

* fix: rename to "backlinks"

* feat: more stub code, more failing tests

* feat: backend methods and passing tests for topic backlinks

* test: uncomment test/posts.js again

* fix: missing quotation mark in topic event helper

* fix: superfluous usage of Promise.all

* test: fix broken test -- used hardcoded (and incorrect) url

* test: parseInt shenanigans
3 years ago
Barış Soner Uşaklı f24b630e1a feat: add userData to static:user.delete 3 years ago
Barış Soner Uşaklı 6399b42826 feat: closes #9845, sort by views 3 years ago
Peter Jaszkowiak ff84d6c52f
Add more chat hooks, replace toobig.jpg (#9843)
* feat: more hooks for messaging

for use in global chat plugin

* fix: replace toobig.jpg

toobig.png is a real 10000x10000 image
3 years ago
gasoved ac1b9692f2 fix: handle undefined returnTo on registerAbort 3 years ago
Barış Soner Uşaklı f8d4ec6ca6 fix: psql test 3 years ago
Barış Soner Uşaklı 3605ac811d fix: possible test fix for subfolder redirect 3 years ago
Julian Lam 58e0a366c8 fix: #9834, missing null email check on new registrations, added tests 3 years ago
Julian Lam a9645475fe feat: duplicate `requireEmailAddress` settings block to Settings > User 3 years ago
Barış Soner Uşaklı 07adb49e7f
feat: mongodb driver 4.x (#9832)
* feat: mongodb driver 4.x

* feat: up dbsearach
3 years ago
Barış Soner Uşaklı 6b34065f2a refactor: remove async.waterfall from remaining upgrade scripts 3 years ago
Barış Soner Uşaklı 89af00d1d5 fix: #9827, fix reward duplication 3 years ago
Barış Soner Uşaklı 30f387710c fix: #9822, use correct username/pwd 3 years ago
Barış Soner Uşaklı 2add84a568 fix: remove unused translator 3 years ago
Barış Soner Uşaklı 9f0e55ad3e fix: #9819, show same time info for ban 3 years ago
Barış Soner Uşaklı c437b33652 fix: crash 3 years ago
Barış Soner Uşaklı 15f9aaa6ee fix: remove caller from payload after hooks is done
only if it was added automatically
3 years ago
Julian Lam ce8ea6ea42 fix: bad uid reference 3 years ago
Julian Lam f194809f06 feat: move filter:topic.post hook to top of method 3 years ago
Julian Lam 7777812e62 fix: update Topics.post and Topics.reply so that plugins can modify uid (or redirect a reply to a different topic)
/cc @antosik
3 years ago
Barış Soner Uşaklı c4fc7bf9b5 fix: #9818, fix totalTime calculation 3 years ago
psychobunny 1ed62aa82f fix: missing microdata in category data 3 years ago
Barış Soner Uşaklı c0a52924f1 fix: #9812, add topics:schedule 3 years ago
Barış Soner Uşaklı 18252fb9a8 refactor: no regex 3 years ago
Barış Soner Uşaklı 31a6d4b39a fix: for subfolders 3 years ago
Barış Soner Uşaklı 0236ea86ad fix: req.path doesn't have full url 3 years ago
Barış Soner Uşaklı 40c9fca918 fix: #9811, send bodyClass on 403
use helpers.formatApiResponse for /api/v3 routes only
3 years ago
Barış Soner Uşaklı 05ddd60c5e dont check empty emails in queue 3 years ago
Barış Soner Uşaklı 58ac55c16a refactor: remove async.waterfall 3 years ago
Barış Soner Uşaklı 222dccaf67 refactor: remove async.waterfall 3 years ago
Barış Soner Uşaklı f35a0f430a refactor: remove async.waterfall 3 years ago
Barış Soner Uşaklı ba3582b873 fix: xss on flags page via ban reason 3 years ago
Julian Lam 819917daf2 refactor: allow plugins to replace og:image, or specify additional og:image
/cc @antosik
3 years ago
Barış Soner Uşaklı 0c4b875e10 fix: redis batch 3 years ago
Barış Soner Uşaklı 3261edcc32 fix: redis processing batch+1 items every iteration 3 years ago
Barış Soner Uşaklı 8b576a3704 fix: #9560, don't save post diffs if content didn't change 3 years ago
Barış Soner Uşaklı 2657804c1f fix: #9790, fix sorting of more than one page of pinned topics 3 years ago
Barış Soner Uşaklı 3ecbb624d8
fix: privileges added by plugins (#9802)
* fix: privileges added by plugins

when copying a categories privileges, privileges added by plugins will be copied as well
when purging a category privileges added by plugins will be purged as well
show plugin privileges in privileges.<categories/admin/global>.get
show plugin privileges in privileges.<categories/admin/global>.userPrivileges
show plugin privileges in privileges.<categories/admin/global>.groupPrivileges

* fix: typo
3 years ago
Barış Soner Uşaklı 71ed50b9c1 fix: #9800, don't send all welcome test emails to test@example.org @julianlam 3 years ago
uplift 92d1ee31e4
Add authenticateRequest middleware (#9795)
* Add  authenticateRequest middleware

to Post routes

* Fix linting error
3 years ago
Barış Soner Uşaklı 397835a05a feat: allow removing multiple items from list 3 years ago
Barış Soner Uşaklı 7f48edc02a feat: add uid to filter:user.saveSettings 3 years ago
gasoved 84ff1152f7
feat: headers for global privs #9717 (#9762)
* feat: headers for global privs #9717

* fix: don't spoil headers to adminPrivs

Co-authored-by: Julian Lam <julian@nodebb.org>
3 years ago
Julian Lam 006fc700dd feat: add ACP option to require email address on new registration 3 years ago
Julian Lam 34afb74762 fix: browsers autocompleting smtp fields when they should not 3 years ago
psychobunny bf0c02a71e feat: a slightly less ugly rewards panel 3 years ago
psychobunny a7855c4cc4 fix: dashboard graph controls 3 years ago
Barış Soner Uşaklı 0ce4b87d85
fix: #9781 (#9782) 3 years ago
Julian Lam 856ba78a5f fix: replace logic in isPrivilegedOrSelfAndPasswordMatch to use privileges.users.canEdit 3 years ago
Julian Lam cdaea61136 fix: handle missing uid in deprecated socket call 3 years ago
Julian Lam 0a41741b7e refactor: deprecate picture update socket call, new API routes for picture update 3 years ago
Julian Lam e33e046f15 fix: use privileges.users.canEdit for image upload priv check 3 years ago
Barış Soner Uşaklı a48bbdbfe3 fix: errors from registerComplete 3 years ago
Julian Lam 60de084475 fix: simplify logic for fullname and email blanking in user retrieval (getUserDataByUserSlug)
Previous logic seemed to match the logic used in privileges.users.canEdit, except
the latter allows plugins to modify the value.
4 years ago
Barış Soner Uşaklı 1e2bda13d0 fix: lint 4 years ago
Barış Soner Uşaklı 488f0978a4 fix: manifest error 4 years ago
Barış Soner Uşaklı 72710b8040 fix: #9772, regression from 70a04bc105 4 years ago
Julian Lam dd4e66e22c fix: push back some deprecations, remove deprecated stuff scheduled for v1.18.0 4 years ago
Barış Soner Uşaklı 1f91a31327
Priv hook fix (#9775)
* fix: #9773, fire hooks properly for priv changes

* fix: admin/global group privs

dont allow invalid privs
4 years ago
Julian Lam 4ac701d747 fix: deprecate userData.showHidden as it is functionally equivalent to userData.canEdit 4 years ago
Barış Soner Uşaklı 6869920e06
fix: #9773, fire hooks properly for priv changes (#9774) 4 years ago
psychobunny 6afeac375b fix: automated tests are a good thing to have 4 years ago
psychobunny ae793b4a44 chore: found some hooks that don't play well docgen 4 years ago
gasoved 3df79683f5
feat: create folders in ACP uploads #9638 (#9750)
* feat: create folders in ACP uploads #9638

* fix: openapi

* test: missing tests

* fix: eslint

* fix: tests
4 years ago
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
4 years ago
Barış Soner Uşaklı e59d357533
feat: als (#9749)
* feat: als

* fix: up test timeout

* fix: don't overwrite caller if it already exists

* fix: up test timeout for psql
4 years ago
SAES:RPG dd15065706
Fix [MONGODB DRIVER] Warning: bulk operation `remove` has been deprecated, please use `delete` (#9746)
Co-authored-by: Brophy <paul.brophy@bastage.net>
4 years ago
Barış Soner Uşaklı 0743554dd4 fix: pluginPaths 4 years ago
Barış Soner Uşaklı 13878e9f14 fix: #9730, show warning if plugin is active but not installed 4 years ago
Barış Soner Uşaklı c354cde347 fix: #9719, only apply to non https 4 years ago
Barış Soner Uşaklı 6659e95a4a
refactor: remove promisify from redis, ioredis supports promises nati… (#9728)
* refactor: remove promisify from redis, ioredis supports promises natively

* refactor: remove unused util
4 years ago
Barış Soner Uşaklı a288f51f42 fix: allow smaller than 5mins for admin relogin duration
setting the value to 1min in ACP wasn't working
4 years ago
Barış Soner Uşaklı 794bf01b21 feat: allow changing default search in 4 years ago
Barış Soner Uşaklı 9de64bf516 fix: #9698, pass along query params in redirect 4 years ago
Barış Soner Uşaklı 358ad74054 feat: closes #9684, allow event deletion
fix: topic events appearing before necro messages
feat: add move topic event
feat: add ability to delete specific topic events via events.purge
4 years ago
opliko a370c26f73 feat: re-add FontAwesome font for compatibility 4 years ago
opliko 093ac1c09a fix: remove unnecessary quote 4 years ago
opliko 41762e6603 feat: update to FontAwesome 5.15, resolve #6976 4 years ago
Barış Soner Uşaklı 8fb53252a8 refactor: get rid of async.waterfall/each 4 years ago
Barış Soner Uşaklı 42dbd40253 refactor: remove unused async 4 years ago
Barış Soner Uşaklı 6b6a7d4b8a refactor: remove waterfall 4 years ago
Opliko d509a307f0
Remove some deprecated/unnecessary code (#9688)
* refactor: remove mkdirp promisify

* refactor: remove old session deletion API route

* refactor: remove middleware.isAdmin

* refactor: remove templateValues.config.bootswatchSkin

* fix: unused dependencies
4 years ago
Barış Soner Uşaklı 0c81642997 fix: #9681, update posts in queue if target tid is merged 4 years ago
Julian Lam 4a521ea218 fix: email update interstitial to not error on empty email field (on new registration) 4 years ago
Julian Lam 70a04bc105 feat: removed registerAndLoginUserCallback local helper, added handling if a bad interstitial doesn't go away nor throw errors 4 years ago
Julian Lam 0e05cbe1f7 feat: show instructional modal after email change request 4 years ago
Julian Lam e95df2f066 refactor: move interstitials into its own file in `src/user/` 4 years ago
Julian Lam 324a12b6c3 feat: return back to profile after editing email 4 years ago
Julian Lam b3c916414b feat: allow registration interstitial abort to also follow returnTo 4 years ago
Julian Lam 96398faa3c feat: plumb current session id into email removal/confirmation flow, so all other sessions are revoked except for the current session
This utilises the new argument in user.auth.revokeAllSessions
4 years ago
Julian Lam b0a4a1d3e4 feat: allow revokeAllSessions method to revoke all sessions except that which is passed in (new arg) 4 years ago
Julian Lam f53fc1ad0b feat: return generic 404 on invalid confirm code 4 years ago
Julian Lam 824a72b220 fix: updated ACP > Manage > Users to handle users with no email address 4 years ago
Julian Lam d5b5b7d531 fix: allowed reset and reset_notify emails to go out to unconfirmed email addresses 4 years ago
Julian Lam ccf004f1f4 refactor: added user.email.remove method, updated email interstitial to handle email removal 4 years ago
Julian Lam 414d733d76 fix: bug where confirmation email was sent to the old email address, not the new one 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 caf8968791 fix: accidental early return in confirmByCode, tests, race condition
A race condition caused mongo/psql tests to fail.
4 years ago
gasoved a917210c5b feat: invites no longer require email 4 years ago
Julian Lam 81611ae1c4 fix(emails): broken test for api/user/email/:email
+ fixed broken tests due to unexpected behaviour for email confirmation
4 years ago
Julian Lam c4e3362bd3 feat(emails): restore ability for admins to edit a user's email address [breaking]
The edited user's email will be automatically confirmed
4 years ago
Julian Lam afd2d8dab1 feat(emails): pass req in to filter:registration.interstitial 4 years ago
Barış Soner Uşaklı 7d115c8ef2 fix(emails): dont allow retrieving user data if showemail is false @julianlam 4 years ago
Julian Lam e726048e0c fix(emails): don't automatically associate email during user creation if passed in at registration 4 years ago
Julian Lam f52919990b feat(emails): display current email in interstitial form 4 years ago
Julian Lam b4b65ecd98 fix(emails): remove debug log 4 years ago
Julian Lam 087e6020e4 refactor(email): validation checking methods, +tests fix 4 years ago
Julian Lam 50517020a2 feat(emails): upgrade script for includeUnverifiedEmails 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
Julian Lam 74aaa0a926 feat: show different registration intersitial lead text on new account vs. existing 4 years ago
Julian Lam 7c1d1c777b refactor(emails): remove email validation on client and server side 4 years ago
Julian Lam 12b2a979a0 feat: removal of emailExists socket listener 4 years ago
Barış Soner Uşaklı 04b1f702cd feat: add loggedin/guest class to body 4 years ago
Julian Lam 340ccb2498 style: lint fix 4 years ago
Julian Lam d1959a258b fix: #9670 return 4xx errors instead of 5xx on flag routes, when unauthenticated or not privileged [breaking] 4 years ago
Barış Soner Uşaklı 6c47a060c1 fix: #9668, add raw info to psql database page 4 years ago
Julian Lam ef4e74bfc8 refactor: client-side to use flag notes API 4 years ago
Julian Lam cc6cbfcdc4
Flags API (#9666)
* feat: new routes for flags API

+ flag get
+ flag creation, migration from socket method
+ flag update, migration from socket method
* fixed bug where you could not unassign someone from a flag

* feat: tests for new flags API

added missing files for schema update

* fix: flag tests to use Write API instead of sockets

* feat: flag notes API + tests

* chore: remove debug line

* test: fix breaking test on mongo
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
Julian Lam 415416d2a7 fix: translate language keys if passed in to formatApiResponse 4 years ago
Julian Lam 7036c3751e feat: internationalize API error messages 4 years ago
Julian Lam a54a3ee1ca fix: return proper API-style response if exception caught by error handler on v3 routes [breaking] 4 years ago
Barış Soner Uşaklı ff78969c2c fix: lint 4 years ago
Barış Soner Uşaklı 55d7e55867 fix: tests 4 years ago
Barış Soner Uşaklı 6ed7e937ce refactor: fix wording 4 years ago
Barış Soner Uşaklı 47c8c69264 fix: keep query string on redirects 4 years ago
Barış Soner Uşaklı 5fd190f7c4 feat: #9651, change category desc to multiline 4 years ago
Barış Soner Uşaklı 8e0561f226 perf: cache Topics.getTopicsTags 4 years ago
Barış Soner Uşaklı 10ddfff38f perf: bypass getMultipleUserSettings 4 years ago
Julian Lam e03782f218 fix(docs): #9648 4 years ago
Barış Soner Uşaklı c9348efbdc feat: add merge/fork hooks 4 years ago
Julian Lam b896484351 fix: #9634, re-jig top bar of Admin > Manage > Users 4 years ago
gasoved 97c8569a79 fix: hide private user data in api/v3/users/[uid] 4 years ago
Barış Soner Uşaklı d9e2190a6b fix: numThumb upgrade script 4 years ago
Barış Soner Uşaklı fee782c436 fix: acp dashboard sometimes not loading on cold load 4 years ago
Julian Lam 849049765b fix: #9636, sanitize all attributes in meta and link tags 4 years ago
Julian Lam acdbd04913 fix: #9627 4 years ago
Anton Grigoryev db65360c0d
fix(post-queue): moderatedCids is an array of numbers (#9631) 4 years ago
Barış Soner Uşaklı 52596902a6 feat: #9617 update fa link 4 years ago
Barış Soner Uşaklı 909db3ae71 Merge branch 'master' of https://github.com/NodeBB/NodeBB 4 years ago
Barış Soner Uşaklı ab6f062ff9 fix: prevent crash in expandObjBy #9618 4 years ago
Barış Soner Uşaklı 1bf263c4a2
9622 (#9625)
* fix: #9622

dont allow regular user to remove system tags

* refactor: add guest/spider check to isPrivileged

string/trim tag
4 years ago
Barış Soner Uşaklı 0d975bc4fb fix: dont show system tags in whitelist dropdown to regular users 4 years ago
Barış Soner Uşaklı 84e065752f
fix: #9622 (#9623)
dont allow regular user to remove system tags
4 years ago
Barış Soner Uşaklı 73f40e96a5 fix: #9620, fix notif delay 4 years ago
Barış Soner Uşaklı c92fc19b5c fix: #9619, add group chat filter to /notifications 4 years ago
Barış Soner Uşaklı 3cd9434b56 fix: scope 4 years ago
Barış Soner Uşaklı 1eda538da5 fix: #9615, catch exceptions in renderOverride 4 years ago
Barış Soner Uşaklı 46a454f194 feat: add bodyClass to 500 page 4 years ago
gasoved 8168c6c407
fix: purge uploaded images accordingly #9606 (#9611)
* fix: purge uploaded images accordingly

* fix: tests

* fix: relative paths
4 years ago
Julian Lam a2400f6baf fix: accidental unnecessarily strict conditional that effectively rendered SSO state checking opt-in instead of opt-out 4 years ago
Julian Lam f9728aff2c feat: clear reset tokens on successful login 4 years ago
Julian Lam 5c42b3eab0 test: fixed broken tests from #9605, removed token clean on token usage as it is superceded by token clean on generation (+ associated test) 4 years ago
Julian Lam f6c14d6b62 fix: introduce artificial delay + delay fudging on invalid email during reset token generation 4 years ago
Julian Lam 229f96f872 fix: #9605, expire all active reset tokens for a uid if that uid generates a new one 4 years ago
Barış Soner Uşaklı 8c952aa381 fix: lint 4 years ago
Barış Soner Uşaklı be19f27f40 feat: add filter:categories.categorySearch 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
Barış Soner Uşaklı 6695927ea9 fix: pagination on acp users search 4 years ago