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