12367 Commits (e7fd186118d5ec1167b302208bdcd81392d2d021)

Author SHA1 Message Date
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