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
4 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
psychobunny
05cc7ccb60
feat: make undoTimeout configurable, closes #9599
4 years ago
Mats
2b42e7edb0
chore: lint
4 years ago
Mats
6f73261186
fix: extra ')'
4 years ago
Mats
d07229aa6b
chore: fix indentation
4 years ago
Mats
edcba61aa9
fix: disallow editing of other users' notes
...
Feel free to close this if it is intentional, but as you are not allowed to delete other users notes I expect you shouldn't be able to edit them. Editing another users post also changes ownership, allowing you to then delete it.
I also added `error:` to the errormessage so that they display properly.
4 years ago
Barış Soner Uşaklı
ca72aa93d7
Locks bug failing test ( #9595 )
...
* test: failing test for issue
* fix : #9593 , don't lock if email is identical to username
* fix: lock calls after first call
* fix: add back email check
* test: remove invalid test
Co-authored-by: Julian Lam <julian@nodebb.org>
4 years ago
Julian Lam
816856b0c6
feat: introduce boolean res.locals flag to bypass session reroll (used by session-sharing)
...
The session reroll logic is still standard practice, but in some cases, it is not necessary or causes UX issues. An issue opened in session sharing (julianlam/nodebb-plugin-session-sharing#95 ) brought this to attention in that parsing the cookie to log in the user caused a reroll (as expected), but caused the session open on other tabs to be mismatched. If "re-validate" was turned on, it basically meant that it was not possible to use NodeBB with multiple tabs.
Session sharing now sets `reroll` to `false` if re-validate is enabled.
4 years ago
Barış Soner Uşaklı
286644d0b8
fix : #9592 , check session
4 years ago
Barış Soner Uşaklı
3717df610a
fix: don't crash if session doesn't exist
4 years ago
Barış Soner Uşaklı
66cae54ee3
fix: lint
4 years ago
Barış Soner Uşaklı
57e46e41e3
feat: allow modifying default category privileges
4 years ago
Julian Lam
16e0bca570
fix: improper use of filename extensions
4 years ago
Barış Soner Uşaklı
d8d6c98970
fix: return null
4 years ago
Barış Soner Uşaklı
ac7b093f99
feat: add filter:notifications.create
4 years ago
Barış Soner Uşaklı
3fb7444580
fix: returnOriginal deprecation
...
https://github.com/mongodb/node-mongodb-native/pull/2808
4 years ago
Barış Soner Uşaklı
3d5fef6e80
feat: pass req.query to getUnreadData
4 years ago
Julian Lam
d2960aeb09
feat: added GET user route for api v3
4 years ago
Julian Lam
48b8e3bb3f
fix: error when trying to trim an object
4 years ago
Barış Soner Uşaklı
9ebfdeb7ee
fix : #9580 , proper 404 when ajaxifying
4 years ago
Barış Soner Uşaklı
09f5179216
fix: lint
4 years ago
Barış Soner Uşaklı
77dde41f7b
feat: keep query string when redirecting category
4 years ago
Barış Soner Uşaklı
951e71a0e5
fix : #9567 fix tests
4 years ago
Barış Soner Uşaklı
5215c30ade
fix : #9567 , use regular 404
4 years ago
Barış Soner Uşaklı
3d6bdeb3df
feat: add req.query to flags.list/getCount
4 years ago
Barış Soner Uşaklı
d35c64b1a2
feat: add filter:flags.getFlagIdsWithFilters
4 years ago
Barış Soner Uşaklı
1ec9739629
switch to request-promise-native ( #9561 )
...
* refactor: cli/upgrade async/await
async/await cli/upgrade-plugins
remove unused payload.files
* fix: add missing await
* refactor: use request-promise-native
4 years ago
Barış Soner Uşaklı
ac86937c88
refactor: cli/upgrade async/await ( #9558 )
...
* refactor: cli/upgrade async/await
async/await cli/upgrade-plugins
remove unused payload.files
* fix: add missing await
4 years ago
Barış Soner Uşaklı
1ce595083a
fix: ioredis upgrade fix, maybe
4 years ago
Barış Soner Uşaklı
4afca6900b
feat: add filter:user.getWatchedCategories
4 years ago
Julian Lam
1d9cfe1e96
fix: bug where interstitial errors were not properly passed to the front-end via req.flash
4 years ago
Barış Soner Uşaklı
518157d9fa
feat: pass req.query to getUserDataByUserSlug
4 years ago
Barış Soner Uşaklı
0551642a35
fix : #9553 , use same fields for user search results in acp
4 years ago
Barış Soner Uşaklı
94c12e3771
feat: #9508 , add cluster support
4 years ago
Barış Soner Uşaklı
a3d6c56ec3
feat: #9551
4 years ago
Barış Soner Uşaklı
ffa8016355
fix: lint
4 years ago
Barış Soner Uşaklı
fad5988ed6
fix: tests
4 years ago
Barış Soner Uşaklı
074ee859c4
fix: tests
4 years ago
Barış Soner Uşaklı
1f3e660108
feat: add template to hook
4 years ago
Barış Soner Uşaklı
a2442ee914
feat: add filter:account.getPostsFromUserSet
4 years ago
Peter Jaszkowiak
dd81dd03e0
fix( #9508 ): switch to ioredis ( #9545 )
...
* switch to ioredis
also need this fix in redisearch:
redis-search.js:98
```
redisClient.multi(cmds).exec(function(err, ids) {
if (err) {
return callback(err);
}
var errRes = ids[resultIndex];
if (errRes[0]) {
return callback(errRes[0]);
}
callback(null, errRes[1]);
});
```
* dbsearch compatible with ioredis
* fixed dbsearch?
4 years ago
Barış Soner Uşaklı
0096cf178a
refactor: bubble other errors
4 years ago
Julian Lam
a9bb108802
fix: wrong error message checked
4 years ago
Julian Lam
ec6d1e2321
fix : #9507 session reroll causes socket.io to become confused ( #9534 )
...
* fix : #9507 session reroll causes socket.io to become confused
* fix: added return
* fix: simpler logic for error handling
* fix: overly sensitive catch
4 years ago
Barış Soner Uşaklı
f6b583bb9d
feat: #9533 , allow redirect in build hooks
4 years ago
Barış Soner Uşaklı
2c22b06feb
fix: isObjectField(s) empty field
4 years ago
Barış Soner Uşaklı
7c1e163d82
Revert "feat: add _hooks metadata object to all hooks that have object-type params"
...
This reverts commit 46899ccadb
.
4 years ago
Julian Lam
46899ccadb
feat: add _hooks metadata object to all hooks that have object-type params
4 years ago
Barış Soner Uşaklı
d8e4fd4cdd
feat: add filter:categories.copySettingsFrom
4 years ago
Barış Soner Uşaklı
084c985117
feat: guard against multiple resolves
4 years ago
Barış Soner Uşaklı
5fe97b9c2e
revert: sync hooks
4 years ago
Barış Soner Uşaklı
6ed8890c2e
fix : #9512 , fix chat icon if no privileges
4 years ago
Barış Soner Uşaklı
b40fc4b64d
feat: #9511 send notifications on accept/reject
4 years ago
Barış Soner Uşaklı
a478dc7ee8
feat: add filter:middleware.autoLocale
4 years ago
Barış Soner Uşaklı
308252f566
fix : #9503 , dont error in markUnread if room doesnt exist
...
this prevents deleting the user if they are the only person in the chat room
4 years ago
Barış Soner Uşaklı
9e07efc126
fix: use socket.request.headers
4 years ago
Barış Soner Uşaklı
ed534f34f5
fix: buildReqObject headers for socket.io calls
4 years ago
Barış Soner Uşaklı
01956af43a
feat: remove sync hooks support
4 years ago
Barış Soner Uşaklı
4e490f6058
test: fix redis tests
4 years ago
Barış Soner Uşaklı
92de49be00
test: add test for undefined fields in getObjectsFields
4 years ago
Barış Soner Uşaklı
1db8920b18
refactor: make debug handler async
4 years ago
gasoved
8b79c7f139
fix: regress. rescheduling shouldn't add to sets that pinning removed… ( #9477 )
...
* fix: regress. rescheduling shouldn't add to sets that pinning removed from
* test: remove the also from tests
4 years ago
Barış Soner Uşaklı
9b71b087ec
feat: lang strings
4 years ago
Barış Soner Uşaklı
435067aa5f
test: remove logs
4 years ago
Barış Soner Uşaklı
2ea468daa3
test: clear cache between runs, require middleware later in helpers
4 years ago
Barış Soner Uşaklı
d15e27107e
test: log
4 years ago
Barış Soner Uşaklı
354e0a822d
test: remove equals
4 years ago
psychobunny
4dd3844680
fix: logic is hard
4 years ago
psychobunny
2e9efc0e8a
fix: wrong variable for cache
4 years ago
psychobunny
fa0c92a7c4
fix: eslint
4 years ago
psychobunny
ea22cd302a
fix: use req.ip instead, since guests can upload as well
4 years ago
psychobunny
a9978fcfd2
feat: rate limit file uploads
4 years ago
Barış Soner Uşaklı
36f119a96a
fix : #9492 , keep query params on redirect
4 years ago
gasoved
8faa6e4515
feat: filter flags by username #8489 ( #9451 )
...
* feat: filter flags by username #8489
* feat: toggle flag filter text
4 years ago
Julian Lam
1fee6a702a
fix : #9487 , session data gathered during a session is lost upon login
...
e.g. returnTo, tids_viewed, etc.
4 years ago
Julian Lam
697ed3bf37
feat: roll session identifier on login, as security best practice
...
see: https://owasp.org/www-community/attacks/Session_fixation
4 years ago
Julian Lam
e845c34b52
fix: registration interstitials not handling promise rejections properly
4 years ago
Barış Soner Uşaklı
4494728cf8
feat: allow different slugs
4 years ago
psychobunny
60eed8d89f
fix: let recent replies respect oldest/newest sort settings
4 years ago
Barış Soner Uşaklı
6907837fce
fix : #9483 , fix events count display
4 years ago
Barış Soner Uşaklı
161081e960
fix: escape flag reason
4 years ago
Barış Soner Uşaklı
fd3bc605c6
feat: remove sort again
4 years ago
Barış Soner Uşaklı
2dc3283f19
fix: updateCategoryTagsCount
4 years ago
Barış Soner Uşaklı
f9df6431c9
revert: revert tag sort
4 years ago
Barış Soner Uşaklı
036f935fa9
fix : #9473 ( #9476 )
4 years ago
gasoved
397baf0254
refactor: widgets ( #9471 )
4 years ago