10312 Commits (7a5dbd9ff584f27f2ac61155bdb070c226c3b4fb)

Author SHA1 Message Date
Barış Soner Uşaklı b24ce97602 feat: #7743, user/approval, user/auth 6 years ago
Barış Soner Uşaklı 7b95ebbb6a fix: #7748, if reputation system is disabled, dont check min reputation 6 years ago
Baris Usakli 8ef75be3e3 feat: #7743, posts/votes 6 years ago
Baris Usakli e1ecc36d04 feat: #7743 posts 6 years ago
Barış Soner Uşaklı 0ac49d63d9 fix: remove left over code, use proper names 6 years ago
Barış Soner Uşaklı 2c33595507 feat: #7743 user/admin.js 6 years ago
Barış Soner Uşaklı 0a6cfb37c2 feat: #7743, posts/user.js 6 years ago
Barış Soner Uşaklı 332a16c868 Merge branch 'master' of https://github.com/NodeBB/NodeBB 6 years ago
Barış Soner Uşaklı fba67196e1 fix: compatibility conditional 6 years ago
Barış Soner Uşaklı 805dcd7ca2
Async refactor in place (#7736)
* feat: allow both callback&and await

* feat: ignore async key

* feat: callbackify and promisify in same file

* Revert "feat: callbackify and promisify in same file"

This reverts commit cea206a9b8e6d8295310074b18cc82a504487862.

* feat: no need to store .callbackify

* feat: change getTopics to async

* feat: remove .async

* fix: byScore

* feat: rewrite topics/index and social with async/await

* fix: rewrite topics/data.js

fix issue with async.waterfall, only pass result if its not undefined

* feat: add callbackify to redis/psql

* feat: psql use await

* fix: redis 🌋

* feat: less returns

* feat: more await rewrite

* fix: redis tests

* feat: convert sortedSetAdd

rewrite psql transaction to async/await

* feat: 🐶

* feat: test

* feat: log client and query

* feat: log bind

* feat: more logs

* feat: more logs

* feat: check perform

* feat: dont callbackify transaction

* feat: remove logs

* fix: main functions

* feat: more logs

* fix: increment

* fix: rename

* feat: remove cls

* fix: remove console.log

* feat: add deprecation message to .async usage

* feat: update more dbal methods

* fix: redis :voodoo:

* feat:  fix redis zrem, convert setObject

* feat: upgrade getObject methods

* fix: psql getObjectField

* fix: redis tests

* feat: getObjectKeys

* feat: getObjectValues

* feat: isObjectField

* fix: add missing return

* feat: delObjectField

* feat: incrObjectField

* fix: add missing await

* feat: remove exposed helpers

* feat: list methods

* feat: flush/empty

* feat: delete

* fix: redis delete all

* feat: get/set

* feat: incr/rename

* feat: type

* feat: expire

* feat: setAdd

* feat: setRemove

* feat: isSetMember

* feat: getSetMembers

* feat: setCount, setRemoveRandom

* feat: zcard,zcount

* feat: sortedSetRank

* feat: isSortedSetMember

* feat: zincrby

* feat: sortedSetLex

* feat: processSortedSet

* fix: add mising await

* feat: debug psql

* fix: psql test

* fix: test

* fix: another test

* fix: test fix

* fix: psql tests

* feat: remove logs

* feat: user arrow func

use builtin async promises

* feat: topic bookmarks

* feat: topic.delete

* feat: topic.restore

* feat: topics.purge

* feat: merge

* feat: suggested

* feat: topics/user.js

* feat: topics modules

* feat: topics/follow

* fix: deprecation msg

* feat: fork

* feat: topics/posts

* feat: sorted/recent

* feat: topic/teaser

* feat: topics/tools

* feat: topics/unread

* feat: add back node versions

disable deprecation notice
wrap async controllers in try/catch

* feat: use db directly

* feat: promisify in place

* fix: redis/psql

* feat: deprecation message

logs for psql

* feat: more logs

* feat: more logs

* feat: logs again

* feat: more logs

* fix: call release

* feat: restore travis, remove logs

* fix: loops

* feat: remove .async. usage
6 years ago
Julian Lam 8a6a58ee43
feat: added new admin option newbiePostEditDuration (#7737)
* feat: added new admin option newbiePostEditDuration

Also:
  - Grammar-checked a couple language strings
  - Moved a couple form inputs around in new user restrictions
  - Added a test for the new option
  - fix: 'defore' typo
6 years ago
Baris Usakli f3440ebfca fix: typo 6 years ago
Julian Lam 8b1dadb7f8 fix: #7722, hsts deprecation warnings 6 years ago
Barış Soner Uşaklı bd640a1107
Topic await errors (#7727)
* feat: derp await

* feat: restore user.getSettings

* feat: cleanup

* feat: make tid const

* feat: cleanup

* fix: tests

* feat: deprecate filter:controllers.topic.get

* feat: rewrite post-index logic

* feat: change calculation to match others

* fix: use .async

* feat: remove try/catch wrapper
6 years ago
Julian Lam 75ff4d7dea feat: returning category data in tags page
For nodebb/nodebb-theme-persona#483
6 years ago
Julian Lam a0c0ef1ba4
feat: ACP analytics API route (#7725)
* feat: added API route for retrieving analytics via REST API

* feat: sets is now optional, can pass in multiple sets

* fix: moved expand and added json button to panel header

* fix: matching api params to socket method

* fix: update json api button url on graph change

* fix: updated default counts based on passed in units
6 years ago
Baris Usakli accf48f38b fix: upgrade script #7720 6 years ago
Baris Usakli 41bc6ca2c4 feat: add status to post summaries 6 years ago
Baris Usakli e299cafce7 Merge branch 'master' of https://github.com/NodeBB/NodeBB 6 years ago
Baris Usakli 708df46ebe fix: dont display post tools if there are no options 6 years ago
Julian Lam 67b8cb8977 fix: restore uid in teasers userObj 6 years ago
Baris Usakli 667bc67f04 fix: dont allow edit if post is deleted by someone else 6 years ago
Barış Soner Uşaklı 3100d803c7 feat: use arrow functions 6 years ago
Barış Soner Uşaklı f24c14d712 feat: ability to sort watched topics, closes #3735 6 years ago
Julian Lam d0ee312cd3 feat: use fewer system resources to draw the progress bar
There's reason to believe that upgrade scripts will run faster
if the system isn't spending a non-insignificant amount of
resources simply drawing the progress bar. Closes #7711

Some context: https://github.com/npm/npm/issues/11283
6 years ago
Barış Soner Uşaklı 23fb904fa6 feat: removed series from upgrade script 6 years ago
Barış Soner Uşaklı cb51c239f2 feat: remove duped zadds, these are already in topics.onNewPostMade 6 years ago
Barış Soner Uşaklı f8a7cf7378 feat: log data on error 6 years ago
Barış Soner Uşaklı 198d05875f feat: cleanup, use bulk 6 years ago
Barış Soner Uşaklı 3ecd703ea3 feat: #7707, added sortedSetAddBulk 6 years ago
Barış Soner Uşaklı e48c7cd717 fix: dont show delete posts on profile 6 years ago
Barış Soner Uşaklı 6a7bc1c5fb fix: on new post add it to cid::uid::pids 6 years ago
Barış Soner Uşaklı a39f0ef592 fix: #5570, create per category user post zsets 6 years ago
Barış Soner Uşaklı 3780a58ffb feat: shorter setsCard 6 years ago
Barış Soner Uşaklı b53a60c278 feat: show best & latest posts on profile 6 years ago
Barış Soner Uşaklı 7e54d7aa35 feat: use db.sortedSetsAdd 6 years ago
Barış Soner Uşaklı 29a124c412 feat: use db.sortedSetsAdd 6 years ago
Barış Soner Uşaklı 68e5d7adec fix: remove dupe code 6 years ago
Barış Soner Uşaklı 39ee3980d6 fix: get uids directly for csv 6 years ago
Barış Soner Uşaklı a7600b4bbe feat: dont log action:plugins.fireHook 6 years ago
Barış Soner Uşaklı ebfc369ade feat: upgrade to connect-mongo 3.0.0, closes #7693 6 years ago
Barış Soner Uşaklı a251032f02 fix: typo 6 years ago
Barış Soner Uşaklı b4cc8d88cd fix: id/for 6 years ago
Barış Soner Uşaklı 25ea634787 fix: #7659 add option to change cookie link url 6 years ago
Barış Soner Uşaklı ede060a646 feat: add hook for user notifications, closes #7672 6 years ago
Barış Soner Uşaklı 580f786095 feat: user/notifications refactor 6 years ago
Barış Soner Uşaklı 8c331088ca feat: send new post/topic event in batches 6 years ago
Julian Lam f6d3cc0ea4 feat: allowing count to be passed to ./nodebb events 6 years ago
Julian Lam aee47b299a
feat: awaitable websockets (#7645)
* feat: awaitable websockets

Adding in conditionals to check the method to call, and handling
it as a promise vs. a regular function depending on whether the
method itself is an asynchronous function.

* fix: switch to .then-checking for awaitable check

* fix: proper use of .then check
6 years ago
Aziz Khoury a6436716ea feat: hooks can now return promise or call callbacks
* hooks can now return promise or call callbacks, either way works

* cleanups

* moar cleanups and fix callback 1st null arg

* rm unnessesary spread
6 years ago
Barış Soner Uşaklı 5fa5e999f8
Plugin metrics (#7626)
* feat: add enable/disable checkbox for plugin usage

* feat: submit plugin data to packages.nodebb.org

only submit in production mode
submit once every 24 hours
dont submit for plugins that have "private": true in plugin.json
enabled on new installs
disabled on existing installs

* fix: hash not working after first send

fix statusCode

* fix: remove url

* feat: show compatibilty

* feat: add install question for submit plugin usage
6 years ago
Barış Soner Uşaklı 644504ff02 fix: #7483, show latest undeleted message as teaser 6 years ago
Julian Lam c7f95ccecc
feat: design revamp of ACP events page (#7664)
* feat: design revamp of ACP events page

- minor UX changes
- new filter controls, filters moved to sidebar
- form usable without js
- start/end filters NOT programmed yet

* feat: events ACP limit by date and perPage

* feat: pre-fill applied filters on template render

* fix: missing translation for ACP events perPage filter

* fix: added some comments to explain setHours behaviour

* fix: stop - start + 1

* fix: socket tests

* fix: +inf, not just inf

* fix: tests, because I am an idiot
6 years ago
Barış Soner Uşaklı 4b843ba16f fix: #7567, allow invite and approval at the same time 6 years ago
Barış Soner Uşaklı 5b85ed318a fix: #7625, on group rename update nav/widget items 6 years ago
Barış Soner Uşaklı 48538b28be feat: optimize group rename
removed async.each
6 years ago
Baris Usakli 8d319e4280 fix: psql error 6 years ago
Baris Usakli 2e6b562f1e fix: try to fix psql 🐶 6 years ago
Baris Usakli 31ccc860d3 feat: allow multiple scores in sortedSetsAdd 6 years ago
Barış Soner Uşaklı 0dca13e9c2 feat: optimize copy privileges 6 years ago
Barış Soner Uşaklı 8aef689f05 fix: no need for moderate bit for global mods and admins 6 years ago
Barış Soner Uşaklı 035f624758
Remove implicit mod privs. closes #6345 (#7648)
* feat: add upgrade script to give mods privs

* feat: give all privileges when making a moderator

* feat: remove implicit privs

* feat: give global mods default privs

* feat: more priv fixes

* feat: use lodash

* fix: remove implicit mod priv from topic delete

* fix: more privs

* fix: posts.canEdit

* fix: canDelete and canEdit

* fix: tests, remove console.log

* feat: shorter functions

* feat: add tests

* fix: uids

* fix: redis random test fail
6 years ago
Barış Soner Uşaklı 4d9bc30d1f
feat: async3 upgrade (#7639)
* feat: async3 upgrade WIP

* fix: async.doWhilst

* fix: async early exit

* fix: psql doUntil

* fix: psql again
6 years ago
Baris Usakli 64679b37cc fix: #7647, fix getModeratorUids
sets.groupNames is an array that contains other arrays of groupnames so passing it to getMembersOfGroups returned wrong results when there were more than 1 element in it.
6 years ago
Julian Lam 603c526287 fix: bad usage of async requisition 6 years ago
Julian Lam f321b426b1 fix: 7638, returnTo accidentally saved into user hash 6 years ago
Barış Soner Uşaklı 157b921e14 fix: #7634, make strip exif configurable 6 years ago
Barış Soner Uşaklı a8409fbd49 fix: #7636, use reputation threshold for post queue 6 years ago
Baris Usakli 63e5d383d9 fix: #7623, wait for lastonline to update on /users 6 years ago
Julian Lam 80c0d579e3 fix: #7593, unable to set account password if no password set 6 years ago
Barış Soner Uşaklı a8e6520559 fix: #7620, allow adding new fields into user objects for posts 6 years ago
Barış Soner Uşaklı 7ba4a864fd fix: #7629, new filter hook for room rename 6 years ago
Barış Soner Uşaklı 7a4b68e816 fix: #7628, log email send errors 6 years ago
Barış Soner Uşaklı f55cc66723 fix: {username} not working in notification.tpl
fix images going out of notification email
6 years ago
Barış Soner Uşaklı 3b0459a0a5 fix: do not prevent nbb from starting
if a plugin returns error for filter:auth.init
6 years ago
Julian Lam 91f0bce628 fix: #7624, default open state on stateless flags 6 years ago
Barış Soner Uşaklı 15391da51e fix: #7431, add /unread link to topic route 6 years ago
Barış Soner Uşaklı 35d10f764a fix: #7619 6 years ago
Barış Soner Uşaklı 172e688805 fix: handle missing timestamps 6 years ago
Julian Lam b70e03a7b0 fix: broken test for meta tags on ajaxify 6 years ago
Barış Soner Uşaklı f326f53d4f Merge branch 'master' of https://github.com/NodeBB/NodeBB 6 years ago
Barış Soner Uşaklı 15ce23da4c fix: #7613 6 years ago
Julian Lam f552cea523
fix: #7600, removing nbsp from email CTAs (#7606)
* fix: #7600, removing nbsp from email CTAs

* fix: added right arrow to CTA button
6 years ago
Julian Lam b32da57faf
fix: #7604 shortened CTA text and added custom text for some notifs (#7605)
* fix: #7604 shortened CTA text and added custom text for some notifs

Specifically, new-reply and new-chat have different CTA text as they
do not go to the forum home like other email templates send users to.

* fix: minor optimization as suggested by @barisusakli
6 years ago
Julian Lam a41769e61c
feat: update meta tags on ajaxify (#7580), fixes #7544
* feat: wip -- refresh meta tags on ajaxify

* feat: wrapped up meta tags update on ajaxify feature

* fix: removed commented-out line

* fix: removed another commented-out line
6 years ago
Barış Soner Uşaklı dfab231afd
Copy group privs (#7610)
* feat: ability to copy a groups privileges

ability to copy a group's privileges to all categories, or children of current category

* feat: switch to dropdown

added copy from category to groups

* fix: indents
6 years ago
Julian Lam 0d86781cb5 fix: #7599 image size measurement erroring out on missing path 6 years ago
Baris Usakli 3a7e99a503 fix: tests 6 years ago
Baris Usakli bd94fbc2b1 feat: let theme know downvoting is disabled, closes https://github.com/NodeBB/NodeBB/pull/7568
dont load downvote data if downvoting is disabled
6 years ago
Andrew Rodrigues 50260e137a fix: #7576 "Disable password changes" can be sidestepped 6 years ago
Andrew Rodrigues e114b16d7a fix: if editing password is disabled in ACP, prevent direct access via route/socket (related: #7576) 6 years ago
Baris Usakli cf5aeace6b feat: closes #7583 6 years ago
Baris Usakli c9ca72d0f3 fix: #7582 6 years ago
Barış Soner Uşaklı 96cb29aab0 fix: #7461 6 years ago
Barış Soner Uşaklı 3d938e7bf8 fix: increase batch size 6 years ago
jayjay9 8945ebcb81 fix: group cover upload not working for s3 upload (#7571) 6 years ago
Baris Usakli 07e9b67e8d fix: #7565 6 years ago
Barış Soner Uşaklı fe6d64ccbc fix: #7147 6 years ago
Barış Soner Uşaklı 8775e7e652 fix: node12 tests 6 years ago
Barış Soner Uşaklı 2c98dd5f9d
Object cache refactor (#7558)
* fix: cache refactor

db.getObjectField no longer loads entire object
db.getObjectsFields only clones data once
more tests

* feat: add back cache to redis

db.getObjectField no longer loads entire object
6 years ago
Aziz Khoury 45acf80987 remove expire timestamp when banning user permanently, fixes #7547 (#7548) 6 years ago
Barış Soner Uşaklı c6cd6c5705 fix: add post queue to /compose POST route 6 years ago
Barış Soner Uşaklı 4df925e76a fix: remove redis object cache 6 years ago
Andrew Rodrigues 740388492f fix: #7545 6 years ago
Andrew Rodrigues 9bf3517db1 fix: failing test from 00552d7183 6 years ago
Andrew Rodrigues 00552d7183 fix: fire filter:register.complete for users approved via registration queue 6 years ago
Andrew Rodrigues ddffc904f4 feat: allow file uploading on registration interstitial 6 years ago
Baris Usakli 8778f00b69 fix: #7540 6 years ago
Barış Soner Uşaklı ba5e1eaa4f feat: #7527 6 years ago
Julian Lam c38db4f765 feat: #7515
This reverts commit 81f8cfe3da.
6 years ago
Julian Lam d8978fb142 Merge remote-tracking branch 'origin/develop' 6 years ago
Julian Lam d3ebda7370 fix: more graceful error handling and output for cli/reset 6 years ago
Julian Lam 808c4909a4
fix: #6438 only apply whitelist when fields request empty (#7528)
* fix: #6438 only apply whitelist when fields request empty

* feat: explicit password retrieval denied via getUsersFields
6 years ago
Barış Soner Uşaklı eb2c3e5626 fix: don't crash if templateData is undefined 6 years ago
Barış Soner Uşaklı 81f8cfe3da Revert "feat: #7515"
This reverts commit ac889db16b.
6 years ago
Barış Soner Uşaklı ac889db16b feat: #7515 6 years ago
Barış Soner Uşaklı 397e062a3c fix: clear children before building tree
prevents infinite loop on databases that have children array saved in database
6 years ago
Barış Soner Uşaklı 4f3ca4d899 fix: upgrade script date 6 years ago
Aziz Khoury 3fbb6faf28 feat: update unban logic/invocation and refactor User.bans module
* auto unban when User.getUsersFields is called and the user is banned but has expired

* cleanups and removal of expiry_readable

* expiry_readable make an alias for backward compatibility

* User.bans.func vs User.*ban*Func

* console.log cleanups, plus todo message added

* use code util.deprecate

* fix: remove ununsed winston require
6 years ago
Baris Usakli ed91d3f2c8 fix: #7519 6 years ago
Baris Usakli fb58e23914 fix lint 6 years ago
Baris Usakli e479fad792 fix: #7517 6 years ago
Julian Lam 75ae29c1dd fix: #7470 Properly handle recompilation of email templates 6 years ago
Julian Lam 3871a02ccc fix: resolve CORS error on uploading via URL
On uploading a new profile picture via URL, a CORS error presents
itself during the .toDataUrl() call due to misconfigured CORS
handling in the library. The change here allows cropper.js to
check crossorigin attribute in image and handle appropriately.

Also, the error handling is improved so the error is caught on
Firefox, as it sends a different error message than on Chrome.
6 years ago
Barış Soner Uşaklı dbc4d8403d fix: #7461 6 years ago
Barış Soner Uşaklı abe4abb674
feat: add original sessionID to static:user.loggedOut 6 years ago
Barış Soner Uşaklı 8cc1864aa7 fix: #7491 6 years ago
Barış Soner Uşaklı 4db0efe32d fix: #7476 6 years ago
Barış Soner Uşaklı 2ee2cd528f feat: #7501 6 years ago
Barış Soner Uşaklı b52dba5c92 fix: #7508 6 years ago
Julian Lam 3ec9fc4098 fix: #7490 once again 6 years ago
Barış Soner Uşaklı 3304ffe978 fix: #7502 6 years ago
Julian Lam 6415ba82c4 fix: #7493, adding robots noindex meta tag to compose and reset routes 6 years ago
Julian Lam 86e1cdd541 fix: #7490, handling of image sizes if no size saved in db 6 years ago
Baris Usakli 8f55ab1340 fix: #7494 6 years ago
Julian Lam 63e16ec0a2 fix: #6911, email throttling options set 6 years ago
Julian Lam 33a1bf6cde fix: throttling email output to 2 messages every second, fixes #6911 6 years ago
Julian Lam 8d62ead329 fix: #7469 missing email logos, occasionally 6 years ago
Barış Soner Uşaklı 81306fff3c feat: allow multiple cids for getActiveUsers 6 years ago
Barış Soner Uşaklı b6440eed7a Merge branch 'master' of https://github.com/NodeBB/NodeBB 6 years ago
Barış Soner Uşaklı fddb783ee9 fix: #7487 6 years ago
Baris Usakli ad2d7a6991 fix: move upload_url to prestart so it is defined in upgrade scripts 6 years ago
Andrew Rodrigues cead89f0ba fix: #7342 6 years ago
Andrew Rodrigues 6bed51ef1c chore: comment cleanup 6 years ago
Andrew Rodrigues 24dcae2193 feat: manual password expiry. closes #7471 6 years ago
Andrew Rodrigues 240f563ab0 fix: #7477 6 years ago
Julian Lam c289b904e6 fix: #7473 6 years ago
Andrew Rodrigues 962b7f73d3 fix: #7472 6 years ago
Barış Soner Uşaklı dd8d4f206a fix: remove async.series, dont crash if postAtIndex is undefined 6 years ago
Barış Soner Uşaklı b4a9bb10e5 fix: #7468 6 years ago