12176 Commits (90fcbe4416d293a9b7c1b2769f766494cb188c20)

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