896 Commits (57f83162f98f28ef6751bff4dd690bfd94b201bc)

Author SHA1 Message Date
Baris Usakli 1970214a24 feat: #7743 user/ban, up mubsub 6 years ago
Barış Soner Uşaklı b24ce97602 feat: #7743, user/approval, user/auth 6 years ago
Barış Soner Uşaklı 2c33595507 feat: #7743 user/admin.js 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
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ı 6a7bc1c5fb fix: on new post add it to cid::uid::pids 6 years ago
Barış Soner Uşaklı 7e54d7aa35 feat: use db.sortedSetsAdd 6 years ago
Barış Soner Uşaklı 39ee3980d6 fix: get uids directly for csv 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ı 4b843ba16f fix: #7567, allow invite and approval at the same time 6 years ago
Julian Lam 80c0d579e3 fix: #7593, unable to set account password if no password set 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
Aziz Khoury 45acf80987 remove expire timestamp when banning user permanently, fixes #7547 (#7548) 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
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
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
Barış Soner Uşaklı fddb783ee9 fix: #7487 6 years ago
Barış Soner Uşaklı e331f6b51d fix: #7414 6 years ago
Julian Lam 0360f6e1cb fix: l2spread @baris nib 6 years ago
Baris Usakli 23da300958 feat: pass options to digest 6 years ago
Julian Lam f32a992237
feat: revamp email templates to be more style agnostic (#7375)
* feat: re-designed digest

Updated design, logic no longer shows "no topics", just doesn't
show the list at all, teaser re-retrieved for digest so that it
always grabs a teaser even if there is no reply, changed default
email background to a light grey.

* fix: minor padding issues in digest

* fix: banned template

* fix: invitation.tpl

* fix: removed unused notif_chat and notif_post email templates

* fix: notification template

* fix: registration_accepted template

* fix: reset tpl

* fix: test tpl

* fix: email verify tpl

* fix: reset notify tpl

* fix: welcome tpl

* fix: additional minor font fixes

* fix: removed unused email header image assets

* fix: internationalised 'your daily digest' string

* fix: broken url in digest 🤦

* feat: added RTL support for emailer

/cc @PostMidnight
6 years ago
Barış Soner Uşaklı c6ad8fae2a fix: #7354 6 years ago
Julian Lam aca0556052 fix: #7261, banned users still get digests 6 years ago
Barış Soner Uşaklı 56a493d873 fix: dont crash if userData is undefined #7262 6 years ago
Barış Soner Uşaklı d75a0d7724 feat: show more unread notifs 6 years ago
Aziz Khoury 6cd8248cae added empty array for customActions and another indentation fix attempt, related to #7284 6 years ago
Aziz Khoury 04232986ab related to https://github.com/NodeBB/NodeBB/issues/7212 6 years ago
Barış Soner Uşaklı ef0e780896 fix: use ACP config value for checking online status 6 years ago
Baris Usakli 7809ba2800 fix: #7193, closes #7194 7 years ago
Barış Soner Uşaklı 7e828404f6 fix: #7116
dont save relative_path in db for group covers
7 years ago
Barış Soner Uşaklı 29b63ae7fb fix: #6979 7 years ago
Barış Soner Uşaklı eb7ae54f81
Category watch state (#7109)
* feat: wip, category watch change

* feat: pass data to client

* feat: allow changing state

* fix: account page categories

* fix: show in unread if topic is followed or category is watched

* feat: add default watch state to acp

* feat: save user category watch state

* feat: update unread recent pages

* fix: remove dupe code

* fix: flip conditions

* fix: handle empty arrays

* fix: ignore/watch on others profile

* feat: upgrade script for category states

if there are any users ignoring categories set their state in new zset and delete cid:<cid>:ignorers

* fix: upgrade

* fix: tests

* fix: redis count

* fix: more tests
7 years ago
Barış Soner Uşaklı 62f01a839e fix: dont save data for non-positive uids 7 years ago
Barış Soner Uşaklı 263c918088
feat: remove uid:<uid>:ignored:cids (#7099)
use cid:<cid>:ignorers instead
7 years ago
Barış Soner Uşaklı a0f57c642c Merge branch 'master' of https://github.com/NodeBB/NodeBB 7 years ago
Barış Soner Uşaklı a6c8e0ab4f fix: logAttempt conditional 7 years ago
Julian Lam 33d4956b76 fix: #7087, server-side protection against guest blocks 7 years ago
Peter Jaszkowiak ba619c7ec8 style(eslint): match operator-linebreak preferences 7 years ago
Barış Soner Uşaklı 2c5e38d8f1 closes #7004
do not translate email subjects twice, emailer already translates the passed in subject param
7 years ago
Barış Soner Uşaklı 00a066985a cache categories:cid and cid:<cid>:children
these rarely change, no need to go to db for them
7 years ago
Barış Soner Uşaklı d8f114c982 dont check if guests/spiders are banned or load reason 7 years ago
Barış Soner Uşaklı 9d28b935fd dont load uid 0, -1 from db 7 years ago
Barış Soner Uşaklı eba1a405d2 load category parents and childrens in one call
add more missing guest/spider checks
7 years ago
Barış Soner Uşaklı a6864a8055 add groupTitle test for guests 7 years ago
Baris Usakli b83e50f286 remove delayImageLoading from api @julianlam 7 years ago
Barış Soner Uşaklı e17c4b2766 uid fixes 7 years ago
Baris Usakli c5a093e1f2 closes #6950 7 years ago
Barış Soner Uşaklı 69bb3293ee misc fixes
handle spider uids properly
7 years ago
renovate[bot] 64b9dabff8 chore(deps): update dependency eslint-config-airbnb-base to v13 (#6599)
* chore(deps): update dependency eslint-config-airbnb-base to v13

* chore: #6599, linting 😬
7 years ago
Julian Lam 501b3a79ca
Refactor skins to be built on server-side (#6849)
* WIP

* using bootswatch from npm instead of bootswatch CDN url

* feat: on-demand client css building for skins

* added ability for client-side to select a skin

* updated loading and saving logic of bootstrapSkin on client side user settings

* fix: broken test for #6849
7 years ago
Barış Soner Uşaklı 2e579ee0f9 closes #6883 7 years ago
Barış Soner Uşaklı 66ed48e088 closes #6875 7 years ago
Julian Lam 4919e9efa3 feat: allow disabling of GDPR features via ACP toggle, closes #6847 7 years ago
Baris Usakli 12f3f56b01 change to .exists 7 years ago
Barış Soner Uşaklı fb6067a7ca only parse if field is requested 7 years ago
Barış Soner Uşaklı f3a679e268 remove parseInts 7 years ago
Baris Usakli 138154a71c move modules 7 years ago
Barış Soner Uşaklı 4fff5e9baf closes #6855 7 years ago
Barış Soner Uşaklı 9c022afae1
Parse int (#6853)
* 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
7 years ago
Barış Soner Uşaklı f5fe91286e closes #6851 7 years ago
Barış Soner Uşaklı f53984aeae refactor user/category data 7 years ago
Barış Soner Uşaklı b2b33ffa57 topics data refactor 7 years ago
Barış Soner Uşaklı 26d4e0852f use includes instead of indexOf
use _.uniq instead of filter&indexOf
7 years ago
Barış Soner Uşaklı 1bea247748 add username/email to user-delete event 7 years ago
Barış Soner Uşaklı f77091d1ed change user delete so it returns quickly 7 years ago
Barış Soner Uşaklı 1cb2e1e368 remove console.log switch to series 7 years ago
Barış Soner Uşaklı 95501e8fee
closes #6738 closes #6290 (#6785)
* closes #6738 closes #6290

* fix test, delete keys

* delete all bans on user delete

* fix upgrade script to actually read reason
7 years ago
Barış Soner Uşaklı 3ed856f587 change if 7 years ago
Barış Soner Uşaklı 71ccd67665 closes #6722
calculate size of base64 image from buffer, still not perfect but better than string.length
7 years ago
Barış Soner Uşaklı b7ead6dc9c
Replace jimp with sharp (#6774)
* add probe image size and max image size

* replace jimp and image-probe with sharp

* better name for test

* resize with just path

* resize thumb inplace

* use filename
7 years ago
Barış Soner Uşaklı d996ea27be closes #6763 7 years ago
Barış Soner Uşaklı 25fed0aa8d change isPasswordCorrect to return false if user does not have password 7 years ago
Julian Lam 1e3cdc99ac fixes #6702 7 years ago
Julian Lam f9d3484ec6 fixes #6543 7 years ago
Julian Lam 3c6c0ed7a1 restoring passwordExpiry for use in continueLogin, fixed tests, hopefully 7 years ago
Julian Lam 786af5fbb3 derp 7 years ago
Julian Lam b6a5419ca1 closes #6674 7 years ago
Julian Lam 7dfe953526 closes #6672 7 years ago
Julian Lam 7558046e75 add brute-force protection for change password and email actions 7 years ago
Barış Soner Uşaklı 91f9c60660 closes #6643 7 years ago
Barış Soner Uşaklı cfb9784527 closes #6641 7 years ago
Barış Soner Uşaklı 8eea6017fe parseInt uid 7 years ago
Julian Lam a34584e8f5 fixed blocking cache derp 7 years ago
Barış Soner Uşaklı 3449cf321b add back cache and pubsub 7 years ago
Barış Soner Uşaklı ae0563375e derp 7 years ago
Baris Usakli 584f88e092 blocks WIP 7 years ago
Julian Lam 7e6007e146 revoke all sessions on email change 7 years ago
Julian Lam be0ef799ee closes #6592 7 years ago
Barış Soner Uşaklı ccad95cf73 closes #6579 7 years ago
Julian Lam 1f8b4bf820 closes #6576 7 years ago
Barış Soner Uşaklı 7a1888dfbf closes #6514 7 years ago
Barış Soner Uşaklı 6eea11a4fd closes #6529 7 years ago
Julian Lam 8e275df803 closes #6487 7 years ago
Julian Lam 4b25414c0b one more check 7 years ago
Julian Lam 9751c4b8db reworked logic in user.blocks.filter 7 years ago
Julian Lam 341a8d5046 guard against crashes if set is null or not passed in 7 years ago
Julian Lam 99f1a5380e closes #6483 7 years ago
Barış Soner Uşaklı beadcd7857 fix tests, remove dupe exposeUid 7 years ago
Julian Lam dc386b5b23 Merge branch 'master' into user-blocking 7 years ago
Julian Lam 8db98b5cf4 additional UCP integration for #6463 7 years ago
Julian Lam 3951bb9532 Merge remote-tracking branch 'origin/master' into user-blocking 7 years ago
Julian Lam 7089e5c6a6 Merge remote-tracking branch 'origin/master' into develop 7 years ago
Barış Soner Uşaklı 6659a520e0 closes #6465 7 years ago
Julian Lam 4f6cc20457 completed basic integration for #6463 7 years ago
Julian Lam 032ec8b443 tests!!! glorious tests!!!
re: #6463
7 years ago
Julian Lam a367b698e3 a bit more integration for #6463 7 years ago
Julian Lam bfee23adee basic methods and initial integration for #6463 7 years ago
Julian Lam a6564b7b4e endpoint to download user attachments, #6441 7 years ago
Barış Soner Uşaklı 5d2a7106f6 change upload storage 7 years ago
Barış Soner Uşaklı 927537c759 #6431 add private upload info 7 years ago
Barış Soner Uşaklı b35bfb81ce ability to delete uploads from account page #6431 7 years ago
Julian Lam 8e822c7772 Added user consent pages (#6430)
- "Your Rights & Consent" user settings page
7 years ago
Barış Soner Uşaklı 04979f86a8 delete users uploads on account delete
store uid:<uid>:uploads
7 years ago
Julian Lam 13a3f44ed3 closes #6432 7 years ago
Barış Soner Uşaklı 47606c8df5 merge 7 years ago
Julian Lam f769e734ed removed error output from user reset for rate limiting or incorrect email, so users cannot validate emails via this endpoint 7 years ago
Julian Lam 9641ada53c fixes #6415 7 years ago
Julian Lam 0158b1aa91 Various password logic fixes on client and server-side
Fixes #6399
Fixes #6400
7 years ago
Baris Usakli bf770636c5 closes #6377 7 years ago
Julian Lam 9e44fc6ae2 fixes #6371 7 years ago
Barış Soner Uşaklı fde44cb9b9 pass array to groups.destroy
pass array to db.sortedSetRemove
7 years ago
Barış Soner Uşaklı cfedcf7e0b check username 7 years ago
Barış Soner Uşaklı fe18a12ee0 if object doesn't exist user doesn't exist 7 years ago
Andrew Rodrigues 5602092de9 closes #6347 7 years ago
Barış Soner Uşaklı b9d410d612 closes #6332 7 years ago
Barış Soner Uşaklı 723f31a362 closes #6323 7 years ago
Barış Soner Uşaklı 7b6282f530 closes #6308 7 years ago
Barış Soner Uşaklı f2dcbcd710 closes #6318 7 years ago
Baris Usakli e99d4a5c61 closes #6313 7 years ago
Barış Soner Uşaklı 8427601b04 closes #6287 7 years ago
Barış Soner Uşaklı d70cdf1e28 show real emails sent number 7 years ago
Barış Soner Uşaklı d8b5d40668 closes #6242 8 years ago
Barış Soner Uşaklı 72140e5338 closes #5991, closes #5884 8 years ago
Barış Soner Uşaklı 1472bda9d2 closes #6225 8 years ago
Julian Lam 88b47f357b removed user.uploadFromUrl and associated logic as cropped image modal supercedes it @pichalite 8 years ago
Barış Soner Uşaklı 108c3c980a show invalid url error if request.head fails 8 years ago
Barış Soner Uşaklı e3ce817ab9 show settings in digest email closes #6160 8 years ago
Barış Soner Uşaklı b84e132601 remove unused settings 8 years ago
Barış Soner Uşaklı ee398d3979 don't crash if meta is undefined 8 years ago
Barış Soner Uşaklı 19ae8dc7e7 closes #6154 8 years ago
Barış Soner Uşaklı e3fd402070 escape email in registration queue and invites 8 years ago
Barış Soner Uşaklı a7a3f3619b dont allow login with invalid ip, escape ip display on user/info page 8 years ago
Barış Soner Uşaklı caaa72b752 closes #6124 8 years ago
Baris Usakli aecbcd9e89 add verbose message for field whitelist 8 years ago
Peter Jaszkowiak 74ceb78800 Upvote notification frequency selection (#6087)
Closes #5963

- Notify on every upvote
- Notify on every tenth upvote
- Notify logarithmically (on 10, 100, 1000...)
- Disable upvote notifications
8 years ago
Julian Lam bc6364f4c0 fixed #6082 8 years ago