1193 Commits (2bed40bed057046ed482ac65efecc9f652684c00)

Author SHA1 Message Date
Barış Soner Uşaklı ac43cd8b6f fix: #8665, trim email before checking validity 4 years ago
Barış Soner Uşaklı ccddbb15c9 feat: edit test 4 years ago
Barış Soner Uşaklı fe2dc3101e fix: auth tests 4 years ago
Barış Soner Uşaklı 5e8c376115 fix: remove old test 4 years ago
Barış Soner Uşaklı 38d3982bf1 fix: #8418
allow updating other profile fields when username isnt being changed
4 years ago
Barış Soner Uşaklı 4be693f2e7
feat: fullname search (#8641)
* feat: fullname search

* fix: take last element

* fix: attempt to fix psql like query

* feat: upgrade sript, another fix attempt

* fix: psql test

* fix: psql scan

* feat: add debug for test

* feat: test collate

* feat: cleanup

* fix: upgrade script
4 years ago
Barış Soner Uşaklı 9389749b79 feat: sorted set lex test 4 years ago
Julian Lam 885e0ebfde Revert "fix: bypass nbbpm for now"
This reverts commit 33c1bd5f01.
4 years ago
Barış Soner Uşaklı 5f10d67db5
Remove sounds (#8617)
* feat: remove sounds

* feat: remove more sounds

* feat: disable sounds plugin

* fix: openapi
4 years ago
Barış Soner Uşaklı e3a0b4b1c1 fix: tests 4 years ago
Barış Soner Uşaklı 33c1bd5f01 fix: bypass nbbpm for now 4 years ago
Barış Soner Uşaklı 1b7ba2c8f1 feat: force upgrade scripts for test 4 years ago
Julian Lam f743f92088
refactor: socket posts delete/restore/purge so tid is not necessary (#8607)
* refactor: socket posts delete/restore/purge so tid is not necessary

* refactor: stop trying to be fancy

* fix: tests to not pass in tid into posts.deletePosts

* fix: some more unnecessary tid passing
4 years ago
Barış Soner Uşaklı 9f9164a9be fix: #8582 4 years ago
Julian Lam 563937950a fix: reintroduce 20s delay for api tests 4 years ago
Julian Lam 4737f937ee feat: expose global/admin privileges to all routes
@barisusakli revert if necessary 😬
4 years ago
Julian Lam e047b72c87 feat: additional tests for #8569 4 years ago
Julian Lam 360aa00d5a fix: flag list tests due to breaking change in API 4 years ago
Julian Lam d935f03636 fix(openapi): tests 4 years ago
Julian Lam 334be11382 fix: no-widgets messaging in ACP + copy 4 years ago
Barış Soner Uşaklı 846b7d2430 refactor: change pwd change logic
add one more test
5 years ago
Barış Soner Uşaklı a333cb6ca4 feat: one more test 5 years ago
Barış Soner Uşaklı ecda4ad8ad feat: tests for password change 5 years ago
Peter Jaszkowiak 1d170e0c1c
fix: #8547, remove old deps during upgrade (#8557) 5 years ago
Barış Soner Uşaklı b61a4da50c feat: #8550, add upgrade script test
flush test db after tests are complete
5 years ago
Julian Lam a716a5529c
feat: more discrete commit-on-save instead of commit-on-change w/ confirm modals (#8541)
* feat: privileges save button, #8537, WIP

* fix: disable firefox autocomplete on privilege form fields

* feat: closes #8537 privilege changes commit on save

- new language strings for confirmation and success modals/toasts
- indeterminate privilege handling (/cc @psychobunny)
- added new discard button
- both discard and save buttons now have confirmation dialogs

* fix(tests): remove duplicate template helper test

* fix(tests): broken template helper test

* feat: confirm dialogs for all privilege copy actions

Also, ability to add user to a privilege table without needing
to refresh the privilege table.

* feat: group row addition w/o table refresh

breaking: helpers.getUserPrivileges and helpers.getGroupPrivileges
no longer make socket calls to the following hooks:

- filter:privileges.list, filter:privileges.admin.list,
  filter:privileges.global.list, filter:privileges.groups.list,
  filter:privileges.admin.groups.list,
  filter:privileges.gloval.groups.list

The filters are still called, but done before the helper method
is called, and the results are passed in instead. This change
should only affect you if you directly call the helper methods,
otherwise the change is transparent.

* fix: stale ajaxify data on privilege category switch

* fix: implicit privileges not showing for user privs

* fix: groups, not group, also fix tests

* fix(tests): again

* fix: wrong tpl rendered when adding group to global priv table
5 years ago
Barış Soner Uşaklı 52718ce0ba fix: remove old test 5 years ago
Barış Soner Uşaklı 609e37a67b feat: remove deprecated utils.walk 5 years ago
Julian Lam 55b0e902fb feat: consolidation of flags to reduce flagspam, #8510
Squashed commit of the following:

commit c6d09396208a10c244d7b3d22ffd2d7dd1274d3a
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 24 13:41:32 2020 -0400

    fix: more tests

commit 32f9af2a87a81fa62ecca01e71d6f0d5b9d37ba1
Merge: e50907535 4eae927d1
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 24 10:53:04 2020 -0400

    Merge remote-tracking branch 'origin/master' into singleton-flags

commit e50907535109dbdbe8f15c3e2fcdf22d90b1332a
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 24 10:52:46 2020 -0400

    fix: controllers-admin test

commit fd5af99e303de48a80b0ccc166eee19175cf232b
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 17 17:26:55 2020 -0400

    fix(tests): dummy commit to trigger travisCI

commit c452a6ffcfaef91403de084c4ae16795cb23c60e
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 17 17:05:09 2020 -0400

    fix(openapi): openapi spec changes

commit 8089a74e89128141ab1e6f8ff83447114b3b846b
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 17 15:48:00 2020 -0400

    fix: reversing the order of reports for display purposes

commit a099892b377333561c72f1ad5b6b20ddb4ce8a96
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 17 15:45:44 2020 -0400

    refactor: run all flag creation calls in a single batch

commit b24999682f9d5a33a08a049749c1f0eb4f00facc
Author: Julian Lam <julian@nodebb.org>
Date:   Fri Jul 17 15:08:23 2020 -0400

    feat: handling multiple reporters per flag, #8510

commit 08c75c020021ada754bf0e39eae77d631b01dee5
Author: Julian Lam <julian@nodebb.org>
Date:   Thu Jul 16 20:53:18 2020 -0400

    feat: upgrade script for #8510
5 years ago
Barış Soner Uşaklı 2cdb935f1d feat: remove file.isFileTypeAllowed 5 years ago
Barış Soner Uşaklı b9cff5775c fix: edge case in test
if user is created the other one will be renamed
5 years ago
Barış Soner Uşaklı 844f2b4ed0 feat: #8524, allow editing category of queued topic 5 years ago
Barış Soner Uşaklı 6f889c9c83 fix: try again 5 years ago
Barış Soner Uşaklı a46adb3fd5 fix: more tests 5 years ago
Barış Soner Uşaklı 65395ae59d fix: tests 5 years ago
Barış Soner Uşaklı 2485a55092 feat: #8521, allow editing title before posting from queue 5 years ago
Barış Soner Uşaklı 00d39fb32c feat: #8460, export groups members as csv 5 years ago
Barış Soner Uşaklı 73ddf1cb98 fix: groups.updateCover 5 years ago
Barış Soner Uşaklı c513b88dff feat: #8427, daily downvote limits 5 years ago
Barış Soner Uşaklı c2ca02dfc7 fix: #8474
make isPrimary and isCluster always booleans
they were strings when using ./nodebb start and boolean if they were in config.json and started with node app.js
5 years ago
Barış Soner Uşaklı 02ac44cc5a fix: dont allow searching by ip/banned/flagged for regular users 5 years ago
Barış Soner Uşaklı e95cd28f6f
Zscan (#8458)
* feat: zscan

* fix: mongodb tests

* feat: scan, ip search starts with
5 years ago
Barış Soner Uşaklı 723fe8e8e0
feat: zscan (#8457)
* feat: zscan

* fix: mongodb tests
5 years ago
Barış Soner Uşaklı f0ce309d03 fix: test 5 years ago
Barış Soner Uşaklı c718b7293e feat: #3783, min/max tags per category 5 years ago
Barış Soner Uşaklı 6aecc1770c feat: increase wait 5 years ago
Barış Soner Uşaklı f03ca0867b fix: tests 5 years ago
Barış Soner Uşaklı 48b41debe6
fix: vulnerability in cover and admin uploads (#8419)
* fix: vulnerability in cover and admin uploads

* fix: remove old test

* fix: update tests
5 years ago
Barış Soner Uşaklı bef37e27cb
fix: test lock for user create (#8415)
* fix: test lock for user create

* fix: redis hdel with undefined

* feat: add test for undefined key in deleteObjectFields
5 years ago
Julian Lam f909ed2541 feat: show editor in post diffs if available 5 years ago
Julian Lam d5578c9906 fix: tests breaking due to #8406 5 years ago
Barış Soner Uşaklı 18d892398f fix: add timestamp to initial username history 5 years ago
Barış Soner Uşaklı bb3aa54006 feat: merge changes
allow selecting main topic to merge into
allow specifying a new title for merge topic
upon merge go to correct topic
new tests for merging with options
5 years ago
Barış Soner Uşaklı 3be4d5f7d5 feat: redirect /me to user profile 5 years ago
Julian Lam 6b1d1acb48 fix(style): more switch..case 5 years ago
Barış Soner Uşaklı 75b3a81dad fix: clear error log before checking
fix intermittent test failure due to analytics being written every 10 seconds
5 years ago
Peter Jaszkowiak de7ec47f13
fix: #8352, remove webfonts (#8354) 5 years ago
Julian Lam da90fd562e fix: more tests 5 years ago
Julian Lam a51fff8bd1
refactor: remove general menu from ACP (#8347)
* refactor: remove general menu from ACP

* fix: incorrect translation keys, fixed tests
5 years ago
Julian Lam a66fe01377 fix: test breakages from 8d995d1eb6 5 years ago
Barış Soner Uşaklı 0009f54e6e feat: add getSortedSetMembers 5 years ago
Barış Soner Uşaklı ec5582b53c
feat: add privilege give/rescind hooks (#8336)
* feat: add privilege give/rescind hooks

action:privileges.categories.give/rescind
action:privileges.global.give/rescind

breaking change, privileges.categories.give/rescind and privileges.global.give/rescind use full privilege name for groups ie `groups:find` instead of `find`

* fix: tests, privileges renamed
5 years ago
Barış Soner Uşaklı 3b6d57e497 refactor: move code 5 years ago
Barış Soner Uşaklı 4ee3543ea4 feat: tweak intersection code, add tests 5 years ago
Julian Lam 6f504c4142
Remove allowFileUploads ACP option (#8324)
* feat: allow awaitable upgrade scripts

* feat: allowFileUploads removal upgrade script

* refactor: remove unnecessary ACP option `allowFileUploads`

* fix: updated upgrade script template to not use callback arg

* fix: upgrade script as per @baris

* fix: add missing await

* fix: add missing await
5 years ago
Barış Soner Uşaklı f2907908c9 fix: another test fix 5 years ago
Barış Soner Uşaklı feb748a44d fix: tests 5 years ago
Barış Soner Uşaklı 12c6bc2e07 feat: convert queries so they used indices directly 5 years ago
Barış Soner Uşaklı 7a801abade fix: tests on redis 5 years ago
Barış Soner Uşaklı a032e12b7e fix: tests 5 years ago
Barış Soner Uşaklı 81e33b9391 fix: #8317 5 years ago
Barış Soner Uşaklı bfad457275 feat: add methods for adding/removing tags from topics 5 years ago
Barış Soner Uşaklı 97c086aba9 fix: missing await 5 years ago
Barış Soner Uşaklı edf9fe3b7f feat: add null tests for sorted sets 5 years ago
Barış Soner Uşaklı aad0880f7c feat: add filter:categories.getRecentTopicReplies
pass req.query to getRecentTopicReplies
5 years ago
Barış Soner Uşaklı a969c5cec9 feat: allow activating additional plugins for testing via config.json 5 years ago
Barış Soner Uşaklı 3a23ddaba5 feat: move plugin tests to separate file 5 years ago
Barış Soner Uşaklı a6bb9f4364 fix: #3321, run plugin tests for installed plugins 5 years ago
Barış Soner Uşaklı 3d0db9630f fix: remove deprecated mocha.opts 5 years ago
Barış Soner Uşaklı 9d153fd388 fix: #8287, dont readd user after deletion
don't add user uid back to users:* sorted sets if they are deleted
upgrade script to fix users:* sorted sets
5 years ago
Barış Soner Uşaklı 0391856d7d fix: #8286, rescind notif when its resolved/rejected 5 years ago
Julian Lam ccc6118d30
Testing suite integration for openapi spec (#8263)
* feat: testing suite integration for openapi spec

The testing suite now takes the openapi spec into account. It will
check each route defined, make a call to it, and compare the
response with the defined schema. Any mismatches will cause the
test to fail.

* fix(openapi): removed debug stuff from tests

* fix(openapi): fixed some tests

* fix(openapi): added additional check to tests, test fixes

* fix(openapi): better tests, fixed spec errors

* fix(openapi): bad conditional in test

* fix: oops

* fix(openapi): more tests fixing

* fix(openapi): more tests

* fix(openapi): fix some more tests

* fix: verbose'd an info log

* fix: topic pagination route returns schema-optimized pagination block

* fix(openapi): more test/spec fixes

* fix(openapi): accidentally sending in authenticated jar for anon routes

* fix(openapi): more test/spec fixes

* fix(openapi): more spec fixes

* fix: timestampReadable Invalid Date

* fix(openapi): more tests... almost there

* fix(openapi): more tests fixing

* fix(openapi): finally all tests passing

* fix(openapi): added reverse test to compare response to spec

... and fixed all the tests that broke

* fix: remove tests related to group covers, as route is gone

* fix(openapi): broken test on travis

* fix(openapi): broken test on travis

* fix(openapi): broken test on travis

* fix(openapi): object cache is not present for psql

* fix: tests

Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>
5 years ago
Julian Lam 6edf02d4a5 fix: remove upload picture test (avatars) 5 years ago
Julian Lam 442fe65f5a fix: remove tests related to group covers, as route is gone 5 years ago
Julian Lam 8387178b25 feat(openapi): merging openapi-test branch into master 5 years ago
Barış Soner Uşaklı 8e23dec84b fix: lint 5 years ago
Barış Soner Uşaklı e72a29b3fd fix: return null if field does not exist 5 years ago
Andrew Rodrigues 3c9689a5ac
feat: settings sorted list (#8170)
* feat: settings sorted list

see https://github.com/NodeBB/nodebb-plugin-quickstart/pull/9/files for sample
5 years ago
Barış Soner Uşaklı 067034082f fix: #6422, update deleted/restored messages 5 years ago
Barış Soner Uşaklı 4d0636f847 fix: #8163, prevent account deletion 5 years ago
Julian Lam d6e3f3f058
fix: #8142, broken site if no server-side session (#8148)
* fix: #8142, broken site if no server-side session

During the `addHeader` middleware, a check is now done to see if
`req.session.meta` is present. This value is only present if the user
has a valid server-side session.  If it is missing, then it is probably
safe to assume that the server-side session was deleted (either
intentionally or accidentally). In that scenario, the client-side cookie
should be cleared.

Also, there was an issue where the sessionRefresh flag was never cleared
after a successful login, so that was fixed too.

* feat: exported method to get cookie config

* fix: don't clear cookie if cookie is being set

* fix: socket.io tests

Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>
5 years ago
Baris Usakli 87225a90c3 fix: #8134, upgrade mkdirp to 1.0.x 5 years ago
Barış Soner Uşaklı 8c48f94b96 fix: #8139, dont allow restore if not deleted by self 5 years ago
Barış Soner Uşaklı 66febb8071 feat: add test for isOnline 5 years ago
Barış Soner Uşaklı df2c785127 feat: add test for change post owner 5 years ago
Barış Soner Uşaklı 23810cc64b fix: #8133, check if user is in room before removing 5 years ago
Baris Usakli 418c174d56 fix: dont return flag data to client 5 years ago
Barış Soner Uşaklı 51236df4ed fix: check if user has read priv before flagging 5 years ago
Barış Soner Uşaklı 1f13ab8a19 fix: restrict getUsersInRoom to members 5 years ago
Julian Lam ecc579a29c fix: tests for messaging 5 years ago
Barış Soner Uşaklı 1b08f37612 fix: tests, was using hardcoded message id 5 years ago
Barış Soner Uşaklı bfaba89557 Merge branch 'master' of https://github.com/NodeBB/NodeBB 5 years ago
Julian Lam 8e5a2276af
feat: check flag values on save (assignee and state) (#8122)
* feat: add assignee checking when updating flag

Prior to this, it was possible to update the assignee to any value (or
any user. This commit adds checking to allow only admins, global
moderators, or in the case of flagged posts, moderators.

Also some prep work was added for value checking `state`.

* feat: value checking `state` on flag update

The state should be one of the constants defined earlier in the file.
5 years ago
Barış Soner Uşaklı 6a63c1a100 fix: escape system message, don't allow editing system messages 5 years ago
Barış Soner Uşaklı 8c6a7954cf fix: delete upload 5 years ago
Barış Soner Uşaklı 01d1ae78c8 fix: #8120, bubble errors from static hooks 5 years ago
Barış Soner Uşaklı 3e52557689 fix: change owner missing await 5 years ago
Barış Soner Uşaklı e06c1bfcd2 fix: escape config.userLang/acpLang, don't allow invalid language codes 5 years ago
Barış Soner Uşaklı 61da8c29ac fix: group create/join/update name validation 5 years ago
Barış Soner Uşaklı 10989cccaa fix: meta description missing if url doesn't have post index 5 years ago
Barış Soner Uşaklı 9d074731f4 fix: login with weak password 5 years ago
Baris Usakli c2cd7de891 fix: #8069, dont show hidden groups in search 5 years ago
Opliko 0efe27b1f2 fix: make _csrf a secure cookie if the website is using https (#8045)
* Make _csrf a secure cookie if the website is using https

* fix style for TravsCI

* Add `url_parsed` to databasemock
5 years ago
Barış Soner Uşaklı 480a64aaa7 feat: #7467, pass query params when redirecting to posts 5 years ago
Barış Soner Uşaklı e3c9dafa08 fix: tests 5 years ago
Barış Soner Uşaklı 1cedc4a0d6 feat: #7957, allow post queue based on group
allow multiple select in ACP pages
5 years ago
Julian Lam cf7e0cfd2d
feat: no more session cookie for guests (#7982)
* feat: no more session cookie for guests

* fix(tests): added additional tests and fixed the broken test
5 years ago
Barış Soner Uşaklı 441dd86d29 fix: convert param to string in slugify
fixes adding users to privilege table
5 years ago
Barış Soner Uşaklı ca3be1f336
fix: #7974 (#7976) 5 years ago
Baris Usakli 0da4f7ee8d fix: event tests 5 years ago
Barış Soner Uşaklı 661a0f5068 fix: don't show deleted topics on unread 5 years ago
Barış Soner Uşaklı 75bcb0f484 fix: remove unused data from post/topic/user hashes 5 years ago
Barış Soner Uşaklı 6fb29e8408 fix: tests 5 years ago
Barış Soner Uşaklı 02d38caf47 refactor: async/await 5 years ago
Barış Soner Uşaklı 3caa387ac6 fix: tests 5 years ago
Baris Usakli 9c051386d5 fix: tests 5 years ago
Barış Soner Uşaklı ffe3670ff5 feat: deprecate file.isFileTypeAllowed
use image.isFileTypeAllowed, this function was always meant for images
5 years ago
Barış Soner Uşaklı 310c6fd33f
properly filter /unread /recent /popular /top (#7927)
* feat: add failing test for pagination

* feat: test

* fix: redis tests

* refactor: remove logs

* fix: add new test

* feat: make sortedSetRangeByScore work with keys on redis

* fix: hardcoded set name

* feat: show topics from readable categories on recent/popular/top

* feat: rewrite unread topics

respect watched categories and followed topics

* fix: term + watched
5 years ago
Barış Soner Uşaklı 22b02f1407
feat: add failing test for pagination (#7924)
* feat: add failing test for pagination

* feat: test

* fix: redis tests

* refactor: remove logs
5 years ago
Barış Soner Uşaklı b602c04463 feat: refactor getSortedSetRange to allow big arrays 5 years ago
Baris Usakli 1e5246f9ad feat: add new test 5 years ago
Barış Soner Uşaklı f9d6912b4a refactor: async/await file 5 years ago
Barış Soner Uşaklı 96ab8d05aa fix: only allow png/jpg/bmp in cover/profile images 5 years ago
Baris Usakli ecf39727cc fix: #7912 5 years ago
Opliko b9583ed838 Add privilege for accessing user information (#7859)
* Add view users info global privilege

* Show user ip only to global mods and admins

* fix missing comma

* Hide link for users without correct privilege

* move getting privilege information to getAllData

* Hide the link from Global Moderators as well

* Give Global Moderator view:users:info privilege

* Restrict ip in post menu to view:users:info

* add some trailing commas....

* Add privilege to categories test

* Add group privilege to categories test

* add upgrade script

* fix style for TravisCI

* more styling - change spaces to tabs

* some more styling fixes (hopefully final one)

* fix style for Travis CI

* hide ip in chat messages

* Don't show even hidden ips on user profile page
5 years ago
Barış Soner Uşaklı de4619689b fix: change params 5 years ago
Julian Lam 1796b65d34 feat: option to restrict group leaving, closes #7770 5 years ago
Julian Lam 30a86ed553 fix: #7853, dissociation on post purge 5 years ago
Barış Soner Uşaklı aea04de094
feat: update LESS to v3.x, #7855 (#7867)
* feat: #7855

* fix: tests
5 years ago
Barış Soner Uşaklı f15c7f12b3 refactor: async/await 5 years ago
Barış Soner Uşaklı 1e0190abef fix: #7842, groups.invite works with an array of uids 6 years ago
Barış Soner Uşaklı fa26855671 feat: #7842, make isInvited, isPending work with uids 6 years ago
Julian Lam c44bf48c01 fix: removed console.logs 6 years ago
Julian Lam f736f0b382 fix: broken tests from 71b205a889 6 years ago
Barış Soner Uşaklı 23046bab9a Merge branch 'master' of https://github.com/NodeBB/NodeBB 6 years ago
Baris Usakli 2abe244b6e fix: newPostEditDuration 6 years ago
Barış Soner Uşaklı dec8040c09 feat: widgets/index.js
enable widget-essentials in tests
fix widget test
6 years ago
Barış Soner Uşaklı 3c32d8600f
fix: #7788 No new posts (#7793)
* feat: debug no-new-posts

* feat: add test for user delete

* fix: timeout for flag test

* feat: shorter
6 years ago
Julian Lam 79eed9ae60 feat: #7743 meta/templates.js 6 years ago
Barış Soner Uşaklı 0b498acdcf fix: #7765 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
Barış Soner Uşaklı c0c6c652be feat: #7743, finish post module 6 years ago
Barış Soner Uşaklı 1b2b308a7e feat: #7743, posts module 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ı fe4c048198 feat: #7743
user/index.js
user/info.js
user/invite.js
user/jobs.js
6 years ago
Barış Soner Uşaklı cd2e68cb2d feat: remove unused code, add 2 tests 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ı 4170abfd6b feat: add utils.promiseParallel 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
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
Barış Soner Uşaklı 3ecd703ea3 feat: #7707, added sortedSetAddBulk 6 years ago
Barış Soner Uşaklı a39f0ef592 fix: #5570, create per category user post zsets 6 years ago
Julian Lam 289dada5f7 fix(deps): update to eslint@6 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ı 4b843ba16f fix: #7567, allow invite and approval at the same time 6 years ago
Baris Usakli 31ccc860d3 feat: allow multiple scores in sortedSetsAdd 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
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
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
Barış Soner Uşaklı b990312088 fix: test 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
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
Barış Soner Uşaklı 2ee2cd528f feat: #7501 6 years ago
Barış Soner Uşaklı b52dba5c92 fix: #7508 6 years ago
Barış Soner Uşaklı c12e1d19a7 fix: tests 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 f9d92db5d5 fix: typo 6 years ago
Baris Usakli e71ae80cbc fix: tests 6 years ago
Baris Usakli 23da300958 feat: pass options to digest 6 years ago
Julian Lam d3a10628e7 fix: broken 50% border radius on emails, failing tests 6 years ago
Julian Lam 3a7f1c192b fix: failing tests from revamped-emails branch 6 years ago
Barış Soner Uşaklı c6ad8fae2a fix: #7354 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
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ı c72da5595a fix: #6806
3 new global privileges
view:users
view:tags
view:groups
6 years ago
Barış Soner Uşaklı ae779ea4f9 fix: #7334 6 years ago
Barış Soner Uşaklı 9d1fcf4e36 fix: closes #7217 6 years ago
Barış Soner Uşaklı 5353960ae7 fix: #7316 6 years ago
Barış Soner Uşaklı bc41848adb fix: test 6 years ago
renovate[bot] 8a64667ff8 fix(deps): update dependency sharp to v0.21.3 (#7267)
* fix(deps): update dependency sharp to v0.21.3

* fix: tests for new sharp version errors
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
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
renovate[bot] 84e228bbb8 fix(deps): update dependency diff to v4 (#7198)
* fix(deps): update dependency diff to v4

* chore(deps): +diff@4.0.1

* fix: test for #7198
6 years ago
Baris Usakli 7809ba2800 fix: #7193, closes #7194 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 0c1ac4d6a2 feat: #7032 6 years ago
Barış Soner Uşaklı fef7e13c9e feat: small fixes 6 years ago
Barış Soner Uşaklı 99e0895e99 fix: move the check to get methods
all .post methods will have csrf
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
Barış Soner Uşaklı 263c918088
feat: remove uid:<uid>:ignored:cids (#7099)
use cid:<cid>:ignorers instead
6 years ago
Barış Soner Uşaklı 26ccd8f626 fix: db info page
if there is no connection to db, connect first
6 years ago
Barış Soner Uşaklı 81aa3a0b8a fix: don't crash in flags.validate if user blocked target 6 years ago
Barış Soner Uşaklı e55fb43703 fix: #7086 6 years ago
Baris Usakli e65d40c937 dont return undefined from sortedSetsCard if keys is empty or falsy 6 years ago
Baris Usakli 76af8caf58 add missing semicolon 6 years ago
Baris Usakli 420227faae parseFloat scores 6 years ago
Julian Lam 5f3d1c76c8
fix: #7038, autoLocale logic not playing nicely with no-refresh auths (#7059)
* fix: #7038, autoLocale logic not playing nicely with no-refresh auths

- on login, req.query.lang is deleted (since it seems to be left over)
- on logout, the middleware.autoLocale is executed, which resets
  req.query.lang
- middleware.autoLocale is new, just refactored existing logic in
  webserver.js into new middleware method.

* style: tests, use lodash

* fix: timeago strings not switching languages on login or out
6 years ago
Baris Usakli d3c6cba33f closes #7060 6 years ago
Barış Soner Uşaklı a63ddbe2aa fix: #7040
if category doesn't exist return null and 404
6 years ago
Barış Soner Uşaklı 1f918ca8f8
Home route (#7039)
* fix: WIP home fix

* remove console.log

* fix: #6949

on redis run all tests in subfolder /forum
fix URI errors
fix sping/ping
6 years ago
Baris Usakli cd46febdd0 fix lint 6 years ago
Baris Usakli b86f155690 fix: #7037 6 years ago
Peter Jaszkowiak ba619c7ec8 style(eslint): match operator-linebreak preferences 6 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
6 years ago
Barış Soner Uşaklı c240733aee fix logs test 6 years ago
Barış Soner Uşaklı 0361849bb1 check status code 6 years ago
Barış Soner Uşaklı 47b2057f20 #7007 6 years ago
Barış Soner Uşaklı 53ad2bbd6e
Categories optimize (#6999)
* WIP

* fix category page

* fix counts, and copyPrivileges

* fix lint

* more fixes,

* redis fix

* fix test

* fix  category test

* remove getParentsAndChildren
6 years ago
Barış Soner Uşaklı 9d28b935fd dont load uid 0, -1 from db 6 years ago
Barış Soner Uşaklı a6864a8055 add groupTitle test for guests 6 years ago
Barış Soner Uşaklı ca1e3a758b #6986 6 years ago
Baris Usakli b83e50f286 remove delayImageLoading from api @julianlam 6 years ago
Barış Soner Uşaklı afa84023a2 closes #6942 6 years ago
Barış Soner Uşaklı f8e219c323 handle empty set, add test 6 years ago
Barış Soner Uşaklı b6771836cf closes #6937 6 years ago
Baris Usakli 62787368c6 add searchonly option to searh api 6 years ago
Julian Lam da10ca084b fix: #6921, allow square brackets in usernames 6 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 😬
6 years ago
Barış Soner Uşaklı 75816deca7
add cache to redis (#6917)
* add cache to redis

move out cache module from mongo

* fix redis tests

* add callback noop

* fix typo

* del cache on field delete

* make redis/mongo caches separate
6 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
6 years ago
Baris Usakli 3c611d85ed closes #6912
- on category setParent dialog do not show children of current category
- break recursion if category parentCid is equal to child cid to prevent
infinite loop
- dont allow setting the parentCid of a category to one of it's children
6 years ago
Peter Jaszkowiak 9a32118418 Enable `require.main.require` in tests (#6896) 6 years ago
Barış Soner Uşaklı d3e4daebec posts/delete cleanup 6 years ago
Barış Soner Uşaklı 7aa937a657 remove dupe code in mongodb sorted 6 years ago
Barış Soner Uşaklı ea1e8fb8fe Merge branch 'master' of https://github.com/NodeBB/NodeBB 6 years ago
Barış Soner Uşaklı 19e6c61244 add new test for queue 6 years ago
Barış Soner Uşaklı c27be9db5a
Recent refactor (#6879)
* wip

* fix inf scroll

* remove duplicated code

* remove dupe code in /unread

* use topicList

* update tag page to use topicList

* fix tests

* combine ifs

* remove more dupe code

* disable timeout
6 years ago
Baris Usakli 566564ed74 fix redis tests
fixed typo in groups/data.js
added postcount,viewcount to int fields
6 years ago
Barış Soner Uşaklı fb6067a7ca only parse if field is requested 6 years ago
Barış Soner Uşaklı f3a679e268 remove parseInts 6 years ago
Barış Soner Uşaklı 9c03881d5a add threshold for image resizing 6 years ago
Barış Soner Uşaklı 537b7ff7e8 remove more parseInts 6 years ago
Baris Usakli a228dc2de9 closes #6797 6 years ago
Barış Soner Uşaklı 175e13edf6 group data 6 years ago
Barış Soner Uşaklı c30ff42817 test for hooks page 6 years ago
Barış Soner Uşaklı c738dc7d3e remove some more parseInts 6 years ago
Barış Soner Uşaklı 7a44424214 parse '123' to 123 if it has no default 6 years ago
Barış Soner Uşaklı d07e3e6d97 if not in defaults use string 6 years ago
Barış Soner Uşaklı 4fff5e9baf closes #6855 6 years ago
Barış Soner Uşaklı ac39112271 remove more parseInts 6 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
6 years ago
Barış Soner Uşaklı ee2f9e9434 remove some parseInts 6 years ago
Barış Soner Uşaklı 26d4e0852f use includes instead of indexOf
use _.uniq instead of filter&indexOf
6 years ago
Barış Soner Uşaklı 038f97b0f5 more settings tests 6 years ago
Barış Soner Uşaklı 8c9754ecee add test for /admin/settings/user 6 years ago
Barış Soner Uşaklı 250e8c01ff closes #5008 6 years ago
Barış Soner Uşaklı da1a90a470 add search test 6 years ago
Baris Usakli baf91089a6 remove unused methods 6 years ago
Baris Usakli 74fdadf8a6 test pubsub cache 6 years ago
Baris Usakli 444fd70ba3 test pubsub 6 years ago
Barış Soner Uşaklı 986511e718 try with higher timeout 6 years ago
Barış Soner Uşaklı 1d15dc089b revert isCluster 6 years ago
Barış Soner Uşaklı aa567a5f2d print out connString and opts 6 years ago
Barış Soner Uşaklı 38ce83304d up widget essentials 6 years ago
Barış Soner Uşaklı 2d8d234c57 test mongodb again 6 years ago
Barış Soner Uşaklı 8f7482955d set cluster to false again 6 years ago
Barış Soner Uşaklı fd31ad3cfe disable busy check on tests 6 years ago
Barış Soner Uşaklı f4df89fe90 closes #6840 6 years ago
Barış Soner Uşaklı 5dbc7f032a reset post cache between each suite 6 years ago
Barış Soner Uşaklı fc68263f91 change to TEST_ENV 6 years ago
Barış Soner Uşaklı 45b6e56665 add node_env to tests 6 years ago
Barış Soner Uşaklı 85c60316ed
upgrade to winston 3.1, closes #6590 (#6838)
* upgrade to winston 3.1

* fix winston in web/install and tests
6 years ago
Barış Soner Uşaklı b57db7fd8e
update groups join to take array of group names (#6834)
* allow groups.join to take an array of group names

* pass an array to groups.join/leave in privileges

* split up groups/membership

* add hits/miss to group cache

* fix typo
6 years ago
Barış Soner Uşaklı c06480b82e add tests for blocked users teaser/unread 6 years ago
Barış Soner Uşaklı d4db8c2d42 removed reset 6 years ago
Barış Soner Uşaklı 1024a0efa1 add reset to pubsub for tests 6 years ago
Baris Usakli 7d8fc09226 add test for pubsub 6 years ago
Baris Usakli 28f2144933 remove time out on plugin upgrade test 6 years ago
Baris Usakli a867b77509 add assert message to test 6 years ago
Barış Soner Uşaklı e615391b22 convert values to string before removing 6 years ago
Barış Soner Uşaklı 5c7dd54815
fix zsets and update them on post move, closes #6823 (#6827) 6 years ago
Baris Usakli 5f49a1d82c disable timeout on build templates 6 years ago
Baris Usakli 9ed4239d8e small changes and test for user/:slug/categories 6 years ago
Barış Soner Uşaklı b58ab48485 add test for /sessions controller 6 years ago
Barış Soner Uşaklı a7c4c59121 change to series 6 years ago
Barış Soner Uşaklı 1bea247748 add username/email to user-delete event 6 years ago
Barış Soner Uşaklı f77091d1ed change user delete so it returns quickly 6 years ago
Barış Soner Uşaklı 805da98a36 remove unnecessary groups.resetCache calls 6 years ago
Barış Soner Uşaklı 061b279c48 Merge branch 'master' of https://github.com/NodeBB/NodeBB 6 years ago
Barış Soner Uşaklı 77beaf2e15
Allow local login,closes #6800 (#6803)
* WIP

* reset groups cache after every suite
6 years ago
Barış Soner Uşaklı 2bd02a7ae1 disable timeout on plugin installs 6 years ago
Barış Soner Uşaklı 944972c6f2 change to series 6 years ago