Commit Graph

200 Commits (e03782f218178a45d139adbe971598aa9d253c9d)

Author SHA1 Message Date
Julian Lam e03782f218 fix(docs):
Julian Lam f6c14d6b62 fix: introduce artificial delay + delay fudging on invalid email during reset token generation
Peter Jaszkowiak 707b55b6a5 chore: eslint prefer-template
Peter Jaszkowiak 4ee0f1459d chore: eslint import/newline-after-import
Peter Jaszkowiak 2be396ff6e fix: email testing and settings change from ACP
- changing email SMTP settings wouldn't apply the first time
- "Send Test Email" now will report emailer errors in most cases
Barış Soner Uşaklı e32cd31ec6 fix:
Julian Lam 6e2da9966e refactor: move plugin hook methods to plugin.hooks.*
Julian Lam a0b7a82350
feat(api): account deletion routes for the Write API ()
* feat(api): account deletion routes for the Write API

* refactor: rewrite client-side calls to account deletion to use api

* style: apply DRY
gasoved 3ccebf112e
feat: invites regardless of registration type, invite privilege, groups to join on acceptance ()
* feat: allow invites in normal registration mode + invite privilege

* feat: select groups to join from an invite

* test: check if groups from invitations have been joined

* fix: remove unused variable

* feat: write API versions of socket calls

* docs: openapi specs for the new routes

* test: iron out mongo redis difference

* refactor: move inviteGroups endpoint into write API

* refactor: use GET /api/v3/users/:uid/invites/groups

Instead of GET /api/v3/users/:uid/inviteGroups

* fix: no need for /api/v3 prefix when using api module

* fix: tests

* refactor: change POST /api/v3/users/invite

To POST /api/v3/users/:uid/invites

* refactor: make helpers.invite awaitable

* fix: restrict invite API to self-use only

* fix: move invite groups controller to write api, +tests

* fix: tests

Co-authored-by: Julian Lam <julian@nodebb.org>
Julian Lam d263192271 feat: group exists API call in write api
Julian Lam 1446cec77f feat: user exist route in write api
Julian Lam c26f2b6599 feat(writeapi): user settings API
Julian Lam 960e925e40 refactor: change password/user follow to use api lib
Julian Lam 3ea1aa4780 refactor(writeapi): update route prefix to api/v3, default error option
Julian Lam b5bbcbaeaa feat: added POST and DELETE /api/v1/users/:uid/follow routes
Julian Lam 4fca79380a fix: tests, because redis is TOO FAST
Julian Lam 29b357bc66 refactor: expose new method for appending moderation note
Barış Soner Uşaklı 8bd63f61e0 feat: resolve flag on delete/purge/ban/delete account
Barış Soner Uşaklı 4d0636f847 fix: , prevent account deletion
Barış Soner Uşaklı a7d2b8a1fe refactor: async/await socket.io
Barış Soner Uşaklı 805dcd7ca2
Async refactor in place ()
* 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
Andrew Rodrigues 50260e137a fix: "Disable password changes" can be sidestepped
Baris Usakli ed91d3f2c8 fix:
Baris Usakli f8fa659642 fix don't crash if settings are not passed in
Julian Lam 0c09b7402d feat: logging password resets and errors into event log
closes , also adds tests for password reset socket calls
Barış Soner Uşaklı 5353960ae7 fix:
Barış Soner Uşaklı 9c022afae1
Parse int ()
* Store config fields as JSON in the db

Fewer parseInts

* Remove unnecessary parseInts

* remove some dupe code add tests

* remove console.log

* remove more parseInts

* WIP: read meta.configs defaults from defaults.json

remove more parseInts

* more work

* add log for failing test

* update admin pwd

* fix tests, dont require posts/cache before configs are initialized

* handle saves

* Test boolean conditions

* remove more parseInts

* Fix boolean values

* remove lots more parseInts

* removed json parsing

* renamed var to number

* categories dont have timestamp
Barış Soner Uşaklı 1bea247748 add username/email to user-delete event
Barış Soner Uşaklı cf75c79611
Unread changes closes ()
* WIP

* more unread work

* faster teaser block handling

if user doesn't have anyone blocked don't check

* much faster filtering of blocked posts

* add missing uid

* add tidsByFilter to return

* dont load all pids to find previous non-blocked teaser

* fix unread filters

they no longer use unread/new unread/watched etc they are query strings now

* shorter nav item code

* add unreplied to filters

fix icons not clearing to 0
dont increment unread counters if there is a reply in a topic where you ignored the topic creator
Barış Soner Uşaklı 69c7260fe9 dont let sending more than max invites via bulk invite
Barış Soner Uşaklı 669a5135e1 closes
Barış Soner Uşaklı 25fed0aa8d change isPasswordCorrect to return false if user does not have password
Julian Lam b6a5419ca1 closes
Julian Lam fb42862ec7 check password validity in user delete socket call
Julian Lam be0ef799ee closes
Julian Lam 896a5325a5 added gdpr check socket method
Barış Soner Uşaklı 5d2a7106f6 change upload storage
Barış Soner Uşaklı 927537c759 add private upload info
Barış Soner Uşaklı b35bfb81ce ability to delete uploads from account page
Julian Lam 8e822c7772 Added user consent pages ()
- "Your Rights & Consent" user settings page
Julian Lam f769e734ed removed error output from user reset for rate limiting or incorrect email, so users cannot validate emails via this endpoint
Julian Lam a2627d2066 added default payload to emails, and adding nodebb logo for email header
Julian Lam 12524b5ce4 fix lint
Julian Lam d2b5b53cb4 refactor for sendValidationEmail, and sending better dummy data for welcome email template
Barış Soner Uşaklı f6ac92111b style changes
Barış Soner Uşaklı 6fdad4b002 fix test on redis
barisusakli 75e5f2da74 closes
Barış Soner Uşaklı fe27d40ff6 closes
barisusakli 5a2ff8ed0a closes
barisusakli b1b87d339f more refactors