10567 Commits (5ed7fc0ffa12fe24e793d87771bce7a541098e02)

Author SHA1 Message Date
Barış Soner Uşaklı 764a2b1210 feat: #7743 navigation 6 years ago
Barış Soner Uşaklı e72f3e4ffe feat: #7743 account/posts controller 6 years ago
Barış Soner Uşaklı 9b3f4b98d1 feat: #7743 finish topics controller 6 years ago
Barış Soner Uşaklı 0b498acdcf fix: #7765 6 years ago
Barış Soner Uşaklı 0d047f4eb9 feat: #7743, webserver 6 years ago
Julian Lam 87552c559c fix: tests 6 years ago
Julian Lam 7dc0eaf070 feat: #7743 meta/themes.js 6 years ago
Barış Soner Uşaklı a15c50bf62 feat: #7743, meta/sounds 6 years ago
Barış Soner Uşaklı 7f72181ec8 feat: #7743 , meta/cachebuster, meta/configs 6 years ago
Julian Lam 756a717eb8
feat: convert src/messaging/* to async/await (#7778)
* feat: src/messaging/create.js, #7743

* feat: src/messaging/data.js, #7743

* feat: src/messaging/delete.js, #7743

* feat: src/messaging/edit.js, index.js, #7743

* fix: added in missing awaits

* feat: wrapped up src/messaging/* rewrite

* refactor: messaging delete/restore similar blocks of code
6 years ago
Barış Soner Uşaklı fcf8fd51cb feat: #7743 meta/blacklist 6 years ago
Barış Soner Uşaklı 3dd806dcb8 fix: revert requires 6 years ago
Barış Soner Uşaklı 69860e582b feat: #7743 meta/index 6 years ago
Barış Soner Uşaklı c126cd8572 feat: #7743 plugins 6 years ago
Barış Soner Uşaklı f5f5f76b12 feat: #7743 plugins/data 6 years ago
Barış Soner Uşaklı 17f843f991 feat: dont waste whitespace 6 years ago
Barış Soner Uşaklı 34d85b5205 feat: switch to promise.all 6 years ago
Barış Soner Uşaklı f8d341014a fix: #7763, parse about me on all profile pages 6 years ago
Barış Soner Uşaklı faccb191ec feat: #7743, privileges 6 years ago
Barış Soner Uşaklı e2e33dfb1e fix: status and groupTitle, if its not set 6 years ago
Barış Soner Uşaklı 2f0a331f02 fix: don't return promise 6 years ago
Barış Soner Uşaklı 44a3352003 fix: socket.io methods calling callbacks twice if method returns promise 6 years ago
Julian Lam 4fb271c684
System chat messages (#7771)
* fix: removed duplicate checkContent call in addMessage

addMessage is called in one place (sendMessage), and the checks
are already contained there. addMessage is the lower level call
and so should be called only from within core itself.

* feat: #7330 chat system messages for join, leave, rename

* fix: add back content checking in .addMessage();

* fix: tests, and added .addSystemMessage() method

Tests were relying on message indices that changed due to the
new system messages.

* feat: add tests for system chat messages

* refactor: rewrite half of src/messaging/rooms.js, fix tests

* feat: #7743 messaging/room.js

* fix: tests for messaging/room.js, #7743

* fix: trying to fix tests

* fix: omg :rage2:
6 years ago
Baris Usakli 6d3a92b851 feat: #7743 , search.js 6 years ago
Barış Soner Uşaklı 8e75646ac0 feat: shorter name 6 years ago
Barış Soner Uşaklı daed76d5d6 feat: cache group:members for priv groups 6 years ago
Barış Soner Uşaklı 72def7dfa6 feat: #7743 finish groups 6 years ago
Barış Soner Uşaklı a39ca51e06 feat: #7743, groups/index, invite, leave,membership 6 years ago
Barış Soner Uşaklı d5342a40ba feat: #7743,groups/index,join 6 years ago
Barış Soner Uşaklı 87b1148fa8
fix: tests 6 years ago
Baris Usakli fcd4445a89 feat: #7743, groups/delete,ownership,posts,user 6 years ago
Baris Usakli 5e8614e15b feat: #7743 groups/cover,create,data 6 years ago
Barış Soner Uşaklı c0c6c652be feat: #7743, finish post module 6 years ago
Baris Usakli c4bb467ea5 feat: #7743 posts/diff, posts/edit 6 years ago
Barış Soner Uşaklı 1b2b308a7e feat: #7743, posts module 6 years ago
Barış Soner Uşaklı 930ffd074f fix: tests 6 years ago
Barış Soner Uşaklı a51ec591ee feat: #7743, finish user module 6 years ago
Barış Soner Uşaklı 6fea46b6e2 feat: #7743
user/posts
user/profile
6 years ago
Julian Lam 0e8ee31b90 fix: #7601 removed check for another user when sending messages
This is an old check back when the sorted set that messages were
appended to depended on what users were in the chat room. Once
messages were refactored (in 2017) to use roomIds, this is no
longer a limitation of the platform and users should be free to
talk to themselves all they want.
6 years ago
Barış Soner Uşaklı cd80c2638c feat: #7743
user/password
user/picture
6 years ago
Barış Soner Uşaklı 0a690c5710 feat: #7743
user/online.js
6 years ago
Barış Soner Uşaklı 1c5fad6dae feat: #7743
user/notifications.js
6 years ago
Barış Soner Uşaklı fe4c048198 feat: #7743
user/index.js
user/info.js
user/invite.js
user/jobs.js
6 years ago
Barış Soner Uşaklı 3b24de4cb3 fix: mongodb tests 6 years ago
Barış Soner Uşaklı fcf3e0770b feat: #7743 categories 6 years ago
Barış Soner Uşaklı c610eb1430 feat: #7743, user/digest, user/email, user/follow 6 years ago
Barış Soner Uşaklı 13aaf07bf5 fix: getTopicsFromSet 6 years ago
Barış Soner Uşaklı 9eb1fcd4e5 fix: #7762, allow array for isBanned
dont filter banned users one by one in digest
6 years ago
Barış Soner Uşaklı d6e36c3166 feat: #7743, user/create, user/data, user/delete 6 years ago
Barış Soner Uşaklı 46639be32d fix: add flag for change post owner 6 years ago
Barış Soner Uşaklı 4541caa4f8 feat: #7743 , user/block, user/categories 6 years ago
Barış Soner Uşaklı 6f738c2b44 feat: #7743 notifications 6 years ago
Barış Soner Uşaklı cd2e68cb2d feat: remove unused code, add 2 tests 6 years ago
Baris Usakli 1970214a24 feat: #7743 user/ban, up mubsub 6 years ago
Barış Soner Uşaklı 53e1b349ae
Change post owner (#7752)
* feat: #7749, allow array of keys for setObject

* feat: sortedSetRemoveBulk

* feat: test for bulk remove

* feat: #7083, ability to change post ownership

* feat: #7083, fix tid:<tid>:posters

* feat: #7083, front end

* fix: #7752, psql methods

* fix: add missing await

* fix: maybe psql
6 years ago
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
Julian Lam 697a6597f3
fix: #7444 Re-factor handling of og:image tags (#7463)
* fix: display proper site logo or og-image with sizes in head

* fix: refactor og:image logic, #7444

- Updated logic to set additional og:image tags based on more
  factors
- logo.png fallback

* feat: save image sizes on post upload, re: #7444

* fix: awaiting addTags in topic controller

* fix: pass strings to meta tags object

* fix: sending absolute image url to meta tag

* fix: removed unneeded async and requiring sync db

* feat: upgrade to calculate image sizes for all post uploads tracked

* fix: tests
6 years ago
Julian Lam 745a9589e9
Use topics:read privilege for topic filtering use cases (#7462)
* fix: use topics:read privilege for topic filtering use cases

* fix: tests

* fix: more broken tests
6 years ago
Baris Usakli 45d7e37ae8 fix: tests 6 years ago
Baris Usakli b48b6d75e5 fix: callbacks 6 years ago
Baris Usakli f8fa659642 fix don't crash if settings are not passed in 6 years ago
Baris Usakli 7addc5a0e2 fix: return early if keys is empty 6 years ago
Baris Usakli b3962c1694 fix: return early if keys is empty 6 years ago
Barış Soner Uşaklı 6cd3ac5b9b Merge branch 'master' of https://github.com/NodeBB/NodeBB 6 years ago
Barış Soner Uşaklı b71e0eb179 fix: prevent infinite loops if category is already in children 6 years ago
Julian Lam d2cfe6b946
Moved onSuccessfulLogin call from plugins to core, + auth verification hook (#7416)
* fix: #7412, calling controllers.onSuccessfulLogin in core

* feat: added plugin hook for auth validation
6 years ago
Barış Soner Uşaklı b2fbeb053a Merge branch 'master' of https://github.com/NodeBB/NodeBB 6 years ago
Barış Soner Uşaklı 4732bed3db fix: #7448
don't set parent to itself
6 years ago
Baris Usakli 73d14e4516 fix: return early if there are not blocked uids 6 years ago
Baris Usakli 7211dde7b9 feat: #7358 6 years ago
Baris Usakli 756dfd8ae6 fix: #7008 6 years ago
Baris Usakli cbfbcee50f fix: #7406 6 years ago
Barış Soner Uşaklı aecdf739fd fix: change user/system cpu usage 6 years ago
Barış Soner Uşaklı 5eaa14e746 fix: strip exif data on image uploads 6 years ago
Barış Soner Uşaklı 2b6f1a05bf feat: admin/groups style change 6 years ago
Barış Soner Uşaklı db47753877 feat: add process cpu usage to admin 6 years ago
Barış Soner Uşaklı 684175f7d7 fix: #7413 6 years ago
Barış Soner Uşaklı e331f6b51d fix: #7414 6 years ago
Julian Lam 0360f6e1cb fix: l2spread @baris nib 6 years ago
Julian Lam 6c1f9c3c46 fix: restored email logo to all outgoing emails 6 years ago
Baris Usakli e613f88b29 use params 6 years ago
Baris Usakli 23da300958 feat: pass options to digest 6 years ago
Julian Lam 9731350812 fix: incorrect teaserPost logic 6 years ago
Julian Lam 43c4eb2350 fix: normalized font sizes for paragraphs in digest 6 years ago
Julian Lam d3a10628e7 fix: broken 50% border radius on emails, failing tests 6 years ago
Barış Soner Uşaklı d813a77a62 Merge branch 'master' of https://github.com/NodeBB/NodeBB 6 years ago
Barış Soner Uşaklı 6472a06515 fix: hook names getting objectified by winston 6 years ago
Julian Lam 3a7f1c192b fix: failing tests from revamped-emails branch 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
Julian Lam d722f3b8b6 fix: mounting of all-route middlewares to router instead of app
related to julianlam/nodebb-plugin-session-sharing#73
These three lines haven't changed in two years, but it makes more
sense for them to be called against the relative path router,
otherwise req.originalUrl contains the relative path, which is
not necessary.
6 years ago
Julian Lam f972f75202 fix: incorrect returnTo set in registerComplete 6 years ago
Julian Lam eafe76debb feat: add vote status to getPostData API call 6 years ago
Julian Lam 7a5344533e fix: tests for #7385 6 years ago
Julian Lam 57069a5c48 fix: #7385 better handling for errors in Adv>Databases 6 years ago
Barış Soner Uşaklı c01d43e01d feat: quick search 6 years ago
Julian Lam 949b10f132 fix: no relative path needed in req.session.returnTo
re: julianlam/nodebb-plugin-session-sharing#73
6 years ago
Barış Soner Uşaklı c2e7ae7f41 fix: #7373 6 years ago
Barış Soner Uşaklı 2996a5dc25 fix: #7359 6 years ago
Barış Soner Uşaklı c6ad8fae2a fix: #7354 6 years ago
Barış Soner Uşaklı efd7d953de fix: uid check 6 years ago
Barış Soner Uşaklı c24dcf78b7 fix: uid checks 6 years ago
Barış Soner Uşaklı 5917dec288
fix: only allow numbers as scores (#7356)
* zadd score checks

* fix: only allow numbers as scores

* fix: convert values to strings
6 years ago
Barış Soner Uşaklı fe63fca846 fix: remove debug logs 6 years ago
Barış Soner Uşaklı bcd62586e2 fix: database 0 was being replaced with undefined because 0 is falsy 6 years ago
Barış Soner Uşaklı ba90bf3114 feat: check overide 6 years ago
Barış Soner Uşaklı f2d7f75ee2 feat: check CI failure 6 years ago
Barış Soner Uşaklı 2e2c3ac110 fix: #7352 6 years ago
Julian Lam aca0556052 fix: #7261, banned users still get digests 6 years ago
Baris Usakli 8c68780e54 fix: #7350 6 years ago
Julian Lam 0c09b7402d feat: logging password resets and errors into event log
closes #7343, also adds tests for password reset socket calls
6 years ago
Barış Soner Uşaklı fab52b840c fix: prevent crash if results.stats or results.serverStatus is undefined 6 years ago
Barış Soner Uşaklı 70d9c6c4ce fix: #7232 6 years ago
Barış Soner Uşaklı 8e3bf58106 fix: #7338 6 years ago
Barış Soner Uşaklı 56a493d873 fix: dont crash if userData is undefined #7262 6 years ago
Barış Soner Uşaklı a2f08e7da2 fix: #7240 6 years ago
Barış Soner Uşaklı cd1209906d fix: give default privs on new install to guests/spiders 6 years ago
Barış Soner Uşaklı c72da5595a fix: #6806
3 new global privileges
view:users
view:tags
view:groups
6 years ago
Barış Soner Uşaklı 9d1fcf4e36 fix: closes #7217 6 years ago
Andrew Rodrigues 5031bfe8c0 feat: allow themes to define custom classes for categories via filter:admin.category.get
`datalist` isn't supported in all browsers but this will fallback to the original behavior. The first item in the list is the placeholder.
6 years ago
Barış Soner Uşaklı d75a0d7724 feat: show more unread notifs 6 years ago
Barış Soner Uşaklı 6e69a9ab31 fix: merge post notifs 6 years ago
Barış Soner Uşaklı cd2f72fb73 feat: pass topic creation data to action:topic.save 6 years ago
Barış Soner Uşaklı 5353960ae7 fix: #7316 6 years ago
Aziz Khoury 6cd8248cae added empty array for customActions and another indentation fix attempt, related to #7284 6 years ago
Aziz Khoury 14addef67b indentation fix #7284 6 years ago
Aziz Khoury d94f6248ca related to https://github.com/NodeBB/NodeBB/issues/7212 6 years ago
Aziz Khoury eb21ca1190 added customAction in the registration queue users list, related to #7212 6 years ago
Aziz Khoury 04232986ab related to https://github.com/NodeBB/NodeBB/issues/7212 6 years ago
Julian Lam 02a8ed9b11 feat: textcomplete over jquery-textcomplete, closes #7309 6 years ago
Barış Soner Uşaklı 920efad04d fix: #7300 6 years ago
Barış Soner Uşaklı 70f8b418c4 fix: #6848
fixed in winston 3.2.0
6 years ago
Julian Lam f659ef4d80 feat: new hook filter:privileges.posts.edit 6 years ago
Julian Lam df6f75eb05 fix: #7298 privilege header misalignment 6 years ago
Barış Soner Uşaklı cf918078e5 fix: #7211 6 years ago
Julian Lam 0edeeea2cf Merge branch 'develop' 6 years ago
Barış Soner Uşaklı 7064fd0678 fix: #7235 6 years ago
Barış Soner Uşaklı ef0e780896 fix: use ACP config value for checking online status 6 years ago
Barış Soner Uşaklı a083d5f429 Merge branch 'master' of https://github.com/NodeBB/NodeBB 6 years ago
Barış Soner Uşaklı a22a3a9861 fix: log error to prevent headers already sent
retry on uniq index fail
6 years ago
Julian Lam 63061ffd37 feat: new hook filter:user.logout
- used for setting "next" for post logout redirection
6 years ago
Ricki Hirner 0a662e4882 Add Disallow: /compose to robots.txt 6 years ago
Julian Lam cee47f78b2 fix: #7289 timeago shorthand toggle fails on non-existant language
- Exposing timeagoCodes to frontend
- Timeago language and shorthand toggling will fall back to 'en'
  if the requested language does not exist
6 years ago
Julian Lam 059a4be204 feat: explicit handling of SSO success and failure 6 years ago
Julian Lam 831d079512 fix: #7274 incorrect handling of client script 404s 6 years ago
Julian Lam a23854e3ff feat: new hook type: `response`
Used in authentication middleware. Instead of firing an action
hook, it now fires a response hook.

Response hooks are invoked serially, and if headers are sent from
one of the hook listeners, all subsequent hook methods are not
called.

Response hooks should only be used in situations where res.send
(or other like methods) are invoked. Existing plugin hooks that
pass in res purely for data retrieval purposes have not changed).

fixes nodebb/nodebb-plugin-write-api#101
6 years ago
Julian Lam f122fc44d0 fix: #7266 body does not contain skin class
A regression was identified where the skin was not shown in the
body class. This resolves the issue and adds a workaround so that
the fix does not become breaking for custom themes.
6 years ago
Barış Soner Uşaklı 7524d3c33b fix: generate timeago codes from files 6 years ago
Julian Lam 2b9322e1c2 feat: additional options for SSO plugins
+checkState property, pass Boolean false to skip nonce checking
+callbackMethod, default 'get', you can pass in 'post', etc.
6 years ago
Barış Soner Uşaklı ed5d2d6d15 feat: get rid of disk access 6 years ago
Julian Lam c831ff0de3
fix: removal of timeago fallback middleware (#7259)
* fix: removal of timeago fallback middleware

Instead of loading English fallback on missing language, we opt
to not send a script tag for a missing language to begin with.

Timeago already loads with English as default, so it will just
continue to use English.

* fix: check userLang against supported language codes

* fix: cleaned up code as per @pitaj

* fix: added comments

* fix: more fixes as per @pitaj

* feat: added addl. test for timeago locales, fixed broken test
6 years ago
Baris Usakli c14dbfc6b7 attempt to fix tests 6 years ago
Baris Usakli 65f6630722 add new hook action:plugins.firehook 6 years ago
Barış Soner Uşaklı ac655564bb fix: post queue notifs
fix moderators not showing up immediately when adding them
6 years ago
Peter Jaszkowiak e1ca2d81f9 refactor: use loash when possible (#7230) 6 years ago
Barış Soner Uşaklı 9328eeca95 fix: escape hook method 6 years ago
Barış Soner Uşaklı 428f587cbe fix: #7208 6 years ago
Barış Soner Uşaklı a662f118a5 fix: #7054 6 years ago
Barış Soner Uşaklı b9833483ca fix: #7209 6 years ago
Julian Lam 70a87d4399
feat: support for one-click unsubscribe from email clients (#7203)
* feat: sending notifs via ACP creates real notification

re: #7202

* feat: basic integration for one-click unsubscription #7202

* feat: tests for #7202 + bugfix

* feat: added and organized digest unsub tests

closes #7202
6 years ago
Baris Usakli 1a3838e13c fix: missing notification 6 years ago
Baris Usakli 7809ba2800 fix: #7193, closes #7194 6 years ago
Julian Lam 0263b4daec
feat: added new hook `static:sockets.validateSession` (#7189)
* feat: added new hook

* fix: improper .bind() call, +req in static:sockets.validateSession

* fix: restored original sessionStore logic, +hook

original logic to retrieve the sessionStore was not faulty, but
was changed for the sake of changing things, which ultimately
led to issues with tests, etc.
6 years ago
Barış Soner Uşaklı 6f1fb4eb24 fix: #https://github.com/barisusakli/nodebb-plugin-dbsearch/issues/49 6 years ago
Barış Soner Uşaklı 28459d04c6 fix: #7187 6 years ago
Baris Usakli 9aa1aa689d fix: #7174
always pass string in service
6 years ago
Baris Usakli 934e1854d3 remove unnecessary escape 6 years ago
Baris Usakli 0d409610c4 fix: #7181 6 years ago
Julian Lam b0eaa858b5 fix: #7169 Fixed logout being broken 6 years ago
Barış Soner Uşaklı 72afc1806e fix: uid filtering 6 years ago
Barış Soner Uşaklı 41fb5cca81 fix: dont crash if default cover is invalid 6 years ago
Julian Lam d81e0a5f5b fix: #7146 Better RTL handling on (de-)authentication
- RTL is applied (or unapplied) on login and logout depending on
  user language/guest-detected language.
- config is automatically saved into res.locals.config whenever
  loadConfig is called
- On login/logout, buildHeader is called instead of getting config
- On logout, req.uid is deleted instead of set to 0
6 years ago
Julian Lam 900f0a0b78 fix: #7118, invoking autoLocale middleware on logout
Also:
- firing client-side hook on header update
- updating bootbox locale on header update
6 years ago
Barış Soner Uşaklı 3917022a48 fix: #7139 6 years ago
Barış Soner Uşaklı 7e828404f6 fix: #7116
dont save relative_path in db for group covers
6 years ago
Baris Usakli f4ea2c43ab feat: #7120 6 years ago
Baris Usakli 0c1ac4d6a2 feat: #7032 6 years ago
Barış Soner Uşaklı d31684e8b8 fix: #7131 6 years ago
Barış Soner Uşaklı fef7e13c9e feat: small fixes 6 years ago
Barış Soner Uşaklı b2a74b4172 fix: remove cache 6 years ago
Barış Soner Uşaklı b9b9d8b2e9 feat: name topic controller 6 years ago
Barış Soner Uşaklı 0cb9bba4da feat: header 6 years ago
Barış Soner Uşaklı 60390c01f1 fix: loop 6 years ago
Barış Soner Uşaklı ae0fe5e880 feat: more naming 6 years ago
Barış Soner Uşaklı f88db22ca2 feat: give the rest of the middlewares names 6 years ago
Barış Soner Uşaklı fdfbcc6efe feat: give names to more middlewares 6 years ago
Barış Soner Uşaklı 53793e1603 feat: give names to middlewares 6 years ago
Barış Soner Uşaklı 4650a76036 fix: #7124 6 years ago
Barış Soner Uşaklı 9f5062682d fix: unread badge
- only increase unread badge if topic or category is watched
- fix logic for "there are new posts/topics" on /unread and /recent
6 years ago
Barış Soner Uşaklı d2c2d56f59 feat: change sortedSetsScore 6 years ago
Barış Soner Uşaklı 99e0895e99 fix: move the check to get methods
all .post methods will have csrf
6 years ago
Julian Lam fbe6ccd773 style: lint fix 6 years ago
Barış Soner Uşaklı 989879a6b5 fix: #7115 6 years ago
Barış Soner Uşaklı 14c4552304 dont modify session for spiders 6 years ago
Barış Soner Uşaklı 29b63ae7fb fix: #6979 6 years ago
Barış Soner Uşaklı 0eef3e1c27 fix: upgrade script key 6 years ago
Barış Soner Uşaklı 00afc5b3ab fix: remove log 6 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
6 years ago
Ben Lubar ff5b04beb9 Log port number of current instance in addition to pid. (#7110) 6 years ago
Barış Soner Uşaklı 8169739069 fix: #7108 6 years ago
Barış Soner Uşaklı 62f01a839e fix: dont save data for non-positive uids 6 years ago
Barış Soner Uşaklı f103390aa5 fix: #7103
update counter when user navigates to /unread
fix new topic alert on /unread
moved unread code from footer to unread
6 years ago