1483 Commits (dfc155e4f63628ea9cc431e024d8df645b56da19)

Author SHA1 Message Date
Barış Soner Uşaklı ff850b2431 fix: lint 3 years ago
Barış Soner Uşaklı 4f8647a59c test: dashboard 3 years ago
Barış Soner Uşaklı 9fe9ab0869 test: add tests for admin privileges 3 years ago
Barış Soner Uşaklı 123354ca36 fix: psql tests 3 years ago
Barış Soner Uşaklı 3605ac811d fix: possible test fix for subfolder redirect 3 years ago
Barış Soner Uşaklı 3479832593 test: add missing tests 3 years ago
Julian Lam 8cb475482a test: remove debug log 3 years ago
Julian Lam 4eacfef02b fix: missing relative path in test 3 years ago
Julian Lam 58e0a366c8 fix: #9834, missing null email check on new registrations, added tests 3 years ago
Julian Lam cb69934ad0 test: no need to create fake interstitial as NodeBB comes with some by default 3 years ago
Barış Soner Uşaklı 07859f7e8c fix: ban info test 3 years ago
Barış Soner Uşaklı 896ff2152f fix: up timeout for psql tests 3 years ago
Barış Soner Uşaklı 2657804c1f fix: #9790, fix sorting of more than one page of pinned topics 3 years ago
Barış Soner Uşaklı 397835a05a feat: allow removing multiple items from list 3 years ago
Barış Soner Uşaklı 0ce4b87d85
fix: #9781 (#9782) 3 years ago
Julian Lam 8cbad61e8a test: added test for external image via new change picture API 3 years ago
gasoved 3df79683f5
feat: create folders in ACP uploads #9638 (#9750)
* feat: create folders in ACP uploads #9638

* fix: openapi

* test: missing tests

* fix: eslint

* fix: tests
3 years ago
Barış Soner Uşaklı e59d357533
feat: als (#9749)
* feat: als

* fix: up test timeout

* fix: don't overwrite caller if it already exists

* fix: up test timeout for psql
3 years ago
Barış Soner Uşaklı 162ebacf5b fix: parseInt tids 4 years ago
Barış Soner Uşaklı 0c81642997 fix: #9681, update posts in queue if target tid is merged 4 years ago
Julian Lam caf8968791 fix: accidental early return in confirmByCode, tests, race condition
A race condition caused mongo/psql tests to fail.
4 years ago
gasoved a917210c5b feat: invites no longer require email 4 years ago
Julian Lam 81611ae1c4 fix(emails): broken test for api/user/email/:email
+ fixed broken tests due to unexpected behaviour for email confirmation
4 years ago
Julian Lam 6694bdd550 fix(emails): registration tests, email no longer passed-in, API tests (confirm email for test accounts) 4 years ago
Julian Lam 087e6020e4 refactor(email): validation checking methods, +tests fix 4 years ago
Julian Lam ab9b671693 fix(emails): broken test due to sticky registration interstitial 4 years ago
Julian Lam a3a3b10fb3 test(emails): fixing broken tests introduced by e5ff68acd 4 years ago
Julian Lam 12b2a979a0 feat: removal of emailExists socket listener 4 years ago
Julian Lam 2c06ac9a45 fix: test :shipit: 4 years ago
Julian Lam f71f29510d fix: failing test from d1959a2 4 years ago
Julian Lam cc6cbfcdc4
Flags API (#9666)
* feat: new routes for flags API

+ flag get
+ flag creation, migration from socket method
+ flag update, migration from socket method
* fixed bug where you could not unassign someone from a flag

* feat: tests for new flags API

added missing files for schema update

* fix: flag tests to use Write API instead of sockets

* feat: flag notes API + tests

* chore: remove debug line

* test: fix breaking test on mongo
4 years ago
Barış Soner Uşaklı 4a56388ec3
feat: store topic tags in topic hash (#9656)
* feat: store topic tags in topic hash

breaking: remove color info from tags (use css)

* fix: remove unused tag modal

* fix: tag search
4 years ago
Julian Lam 0960a81468 fix: tests 4 years ago
gasoved 97c8569a79 fix: hide private user data in api/v3/users/[uid] 4 years ago
Barış Soner Uşaklı 84e065752f
fix: #9622 (#9623)
dont allow regular user to remove system tags
4 years ago
gasoved 8168c6c407
fix: purge uploaded images accordingly #9606 (#9611)
* fix: purge uploaded images accordingly

* fix: tests

* fix: relative paths
4 years ago
Julian Lam f9728aff2c feat: clear reset tokens on successful login 4 years ago
Julian Lam 5c42b3eab0 test: fixed broken tests from #9605, removed token clean on token usage as it is superceded by token clean on generation (+ associated test) 4 years ago
Julian Lam 16e0bca570 fix: improper use of filename extensions 4 years ago
Barış Soner Uşaklı 2c22b06feb fix: isObjectField(s) empty field 4 years ago
Barış Soner Uşaklı 084c985117 feat: guard against multiple resolves 4 years ago
Barış Soner Uşaklı 5fe97b9c2e revert: sync hooks 4 years ago
Barış Soner Uşaklı 308252f566 fix: #9503, dont error in markUnread if room doesnt exist
this prevents deleting the user if they are the only person in the chat room
4 years ago
Barış Soner Uşaklı 1029a06a87 test: fix tests 4 years ago
Barış Soner Uşaklı 01956af43a feat: remove sync hooks support 4 years ago
Barış Soner Uşaklı 92de49be00 test: add test for undefined fields in getObjectsFields 4 years ago
gasoved 8b79c7f139
fix: regress. rescheduling shouldn't add to sets that pinning removed… (#9477)
* fix: regress. rescheduling shouldn't add to sets that pinning removed from

* test: remove the also from tests
4 years ago
Barış Soner Uşaklı 435067aa5f test: remove logs 4 years ago
Barış Soner Uşaklı 2ea468daa3 test: clear cache between runs, require middleware later in helpers 4 years ago
Barış Soner Uşaklı 2f401d7d74 test: test times 4 years ago
psychobunny 4dd3844680 fix: logic is hard 4 years ago
psychobunny bc0ca61c6a fix: run in series 4 years ago
Barış Soner Uşaklı 80ef108220 test: log 4 years ago
psychobunny 13fa983e61 fix: accidentally committed this 4 years ago
psychobunny eb240c905f fix: tests 4 years ago
psychobunny ea22cd302a fix: use req.ip instead, since guests can upload as well 4 years ago
psychobunny a9978fcfd2 feat: rate limit file uploads 4 years ago
Barış Soner Uşaklı 36f119a96a fix: #9492, keep query params on redirect 4 years ago
Julian Lam f4c5050a16 fix: failure on session reroll 🍣 test 4 years ago
Julian Lam a3a7ab3ae1 test: added test for session id reroll on login 4 years ago
Barış Soner Uşaklı 161081e960 fix: escape flag reason 4 years ago
Barış Soner Uşaklı f9df6431c9 revert: revert tag sort 4 years ago
Barış Soner Uşaklı 05f2236193 feat: add reverse of recent to getSortedTopics 4 years ago
gasoved aa0137b1c4
feat: rescheduling (editing ST) (#9445) 4 years ago
Barış Soner Uşaklı f7f46e7c65
feat: upgrade sharp (#9442) 4 years ago
gasoved 077330b764
feat: scheduled topics (#9399)
* feat: scheduled topics

* refactor: linting fixes

* fix: tests

* fix(test): race condition

* fix: make a single request
4 years ago
Barış Soner Uşaklı eb360351e5 fix: #9394, fix guest handles 4 years ago
Barış Soner Uşaklı 5c59354c58 fix: #9389, allow admins to add themselves to private groups 4 years ago
Barış Soner Uşaklı 4327a09d76
feat: allow optional fields argument on db.getObject(s) (#9385) 4 years ago
Barış Soner Uşaklı e789fe8d2a fix: #9383, don't show deleted topic titles in inf scroll 4 years ago
Barış Soner Uşaklı 34b9aaedee
feat: allow sync function (#9379)
* feat: allow sync function

* fix: remove async
4 years ago
Barış Soner Uşaklı e725beaa4a Revert "feat: allow filter functions that return promises or the data directly"
This reverts commit e6c52cf26c.
4 years ago
Barış Soner Uşaklı e6c52cf26c feat: allow filter functions that return promises or the data directly 4 years ago
Barış Soner Uşaklı 46270f9f20 feat: bring back static hook timeout 4 years ago
Barış Soner Uşaklı 39b0e0fb91 fix: tests 4 years ago
Barış Soner Uşaklı 8ef38cb252 test: add missing test 4 years ago
Barış Soner Uşaklı 70a653d0a5 test: double filter test 4 years ago
Barış Soner Uşaklı f4f61b92b4 fix: lint 4 years ago
Barış Soner Uşaklı 0e67ab01ca test: admin/manage/users tests 4 years ago
Barış Soner Uşaklı 0af9d26fe5 feat: change uploadCroppedPicture to use updateProfile as well 4 years ago
Barış Soner Uşaklı a598abcd8e feat: use updateProfile for picture change
so it triggers action:user:updateProfile
4 years ago
Barış Soner Uşaklı ca8176312f fix: notification prune test 4 years ago
Barış Soner Uşaklı 293b7c2650
refactor: privileges, export modules directly (#9325)
fix unused/commented out methods in admin privileges
4 years ago
Julian Lam 0804d54759 spec: schema docs for new ACP dashboard subpage routes 4 years ago
Barış Soner Uşaklı cfc237c2b7 Merge branch 'master' of https://github.com/NodeBB/NodeBB 4 years ago
Barış Soner Uşaklı a592ebd1ff feat: category search test 4 years ago
Julian Lam d3a9e76ae2 test(user): added additional tests for icon background colour 4 years ago
Barış Soner Uşaklı 0e07f3c9ba feat: allow defining a list of system tags 4 years ago
Barış Soner Uşaklı bbaaead09c feat: add category search test, #9307 4 years ago
Julian Lam ad54b174a4 test: topic reordering tests 4 years ago
Julian Lam 7223074f1d feat: ability to re-order topic thumbnails 4 years ago
Barış Soner Uşaklı 8f0386d9ac
feat: add failing test for list append/prepend with list (#9303)
* feat: add failing test for list append/prepend with list

* feat: mongo/psql

* feat: improve test
4 years ago
Julian Lam 782bef5eec fix: another topic thumb test fix 4 years ago
Julian Lam 7ebb6d3056 fix: thumbs.associate logic fix + tests 4 years ago
Julian Lam 50664487b9 test: additional tests for topic thumbs 4 years ago
Julian Lam b81508c4e2 fix: init topic events from webserver.js 4 years ago
Barış Soner Uşaklı 3595473485 feat: load user posts/topics via xhr on infinitescroll 4 years ago
Barış Soner Uşaklı fc90f32ec0 fix: tests, new categories go to top now 4 years ago
Barış Soner Uşaklı c953b1b3d1 fix: #9292, messageobj.content already parsed 4 years ago
Barış Soner Uşaklı 670cde78da feat: add invalid event name to error message 4 years ago
Peter Jaszkowiak cc9d6fd08b chore: eslint max-len 4 years ago
Peter Jaszkowiak 5c2f0f0557 chore: eslint no-restricted-syntax 4 years ago
Peter Jaszkowiak 23f212a4c0 chore: eslint prefer-destructuring 4 years ago
Peter Jaszkowiak dab3b23575 chore: eslint no-var, vars-on-top 4 years ago
Peter Jaszkowiak b56d9e12b5 chore: eslint prefer-arrow-callback 4 years ago
Peter Jaszkowiak 707b55b6a5 chore: eslint prefer-template 4 years ago
Peter Jaszkowiak 4ee0f1459d chore: eslint import/newline-after-import 4 years ago
Barış Soner Uşaklı 47299ea587
Categories refactor (#9257)
* feat: wip categories pagination

* feat: add subCategoriesPerPage setting

* feat: add load more sub categories button to category page

* fix: openapi spec

* feat: show sub categories left on category page

hide button when no more categories left

* breaking: rename categories to allCategories on /search

categories contains the search results

* fix: spec

* refactor: remove cidsPerPage

* fix: tests

* feat: use component for subcategories

* fix: prevent negative subCategoriesLeft

* feat: new category filter/search WIP

* feat: remove categories from /tag

* fix: dont load all categories when showing move modal

* feat: allow adding custom categories to list

* breaking: dont load entire category tree on post queue

removed unused code
add hooks to filter/selector
add options to filter/selector

* feat: make selector modal work again

* feat: replace old search module

* fix: topic move selector

* feat: dont load all categories on create category modal

* fix: fix more categorySelectors

* feat: dont load entire category tree on group details page

* feat: dont load all categories on home page and user settings page

* feat: add pagination to /user/:userslug/categories

* fix: update schemas

* fix: more tests

* fix: test

* feat: flags page, dont return entire category tree

* fix: flag test

* feat: categories manage page

dont load all categories
allow changing root category
clear caches properly

* fix: spec

* feat: admins&mods page

dont load all categories

* fix: spec

* fix: dont load all children when opening dropdown

* fix: on search results dont return all children

* refactor: pass all options, rename options.cids to options.selectedCids

* fix: #9266

* fix: index 0

* fix: spec

* feat: #9265, add setObjectBulk

* refactor: shoter updateOrder

* feat: selectors on categories/category

* fix: tests and search filter

* fix: category update test

* feat: pagination on acp categories page

show order in set order modal

* fix: allow drag&drop on pages > 1 in /admin/manage/categories

* fix: teasers for deep nested categories

fix sub category display on /category page

* fix: spec

* refactor: use eslint-disable-next-line

* refactor: shorter
4 years ago
Julian Lam 5c21c33e58 fix: tests breakage due to 67e3fb6498 4 years ago
Julian Lam f79aeef889 fix: posts.uploads.sync dissociates uploaded thumbs of the main pid 4 years ago
Julian Lam 28b3013424 test: added more topic thumbnail tests
... to test for post upload tracking logic
4 years ago
gasoved 53e0d4d2e0 feat: banned-users group 4 years ago
gasoved cabec378f4 fix: openapi test specs 4 years ago
gasoved 72b050b4a8 test: post diff deletion tests 4 years ago
Julian Lam bd5839639d fix: http 200 test for api routes 4 years ago
Julian Lam d6f60f4502 fix: broken test after sorted-lists logic change 4 years ago
Barış Soner Uşaklı 5bc1f5b4e8 fix: #9231, fix redis pubsub connection
regression from fdfbc90255
4 years ago
Barış Soner Uşaklı d41ce87334 fix: removed object routes 4 years ago
Barış Soner Uşaklı 647d3ba810 fix: removed methods 4 years ago
Julian Lam aa8b84bb56 fix(topic-events): topicEvents.init() test 4 years ago
Julian Lam 449c379d22 feat(topic-events): server-side tests for topic events 4 years ago
Julian Lam ce7c74b2e1 fix: more tests for #9217 4 years ago
Julian Lam f2a5cd0b67 fix: tests for #9217 4 years ago
Barış Soner Uşaklı fdfbc90255 feat: async/await redis connection 4 years ago
Julian Lam 966c4117ec refactor(api): post move to write API 4 years ago
Barış Soner Uşaklı 1590cdf19f fix: #9206, fix double escaped arguments 4 years ago
Julian Lam e817d5beda fix: test for topicThumbs 4 years ago
Barış Soner Uşaklı 8ece64ab82 fix: test for https://github.com/NodeBB/NodeBB/pull/9180 4 years ago
Julian Lam 9534d95619 fix: broken test due to change in response code 4 years ago
Julian Lam 0da2843281 feat(api): schema definition for new credential checking route 4 years ago
Barış Soner Uşaklı 0d7dfeeb86 chore: increase test timeout 4 years ago
Julian Lam 77a5adb616 fix(tests): handle nested allOf blocks 4 years ago
Julian Lam 895e3d939e fix: #9149, server-side handling of disableChatMessageEditing 4 years ago
Julian Lam 80ee3dfbd1 fix(api): tests 4 years ago
Julian Lam 4fc1337762 feat(api): added schema for email unsubscribe token 4 years ago
Julian Lam 501a7b7774 fix: bug in api path existence test
It was only checking for the path, but not ensuring that the method was also defined
4 years ago
Peter Jaszkowiak 2be396ff6e fix: email testing and settings change from ACP
- changing email SMTP settings wouldn't apply the first time
- "Send Test Email" now will report emailer errors in most cases
4 years ago
Julian Lam bbd97ccb48 fix: subfolder handling in tests 4 years ago
Julian Lam 5f038dffbd test: changed test a bit to see what is going on 4 years ago
Julian Lam 6062039de2 fix: .flat() not defined in v10, added debug router to exclusion list 4 years ago
Julian Lam f416dc177a fix: all tests, wrap up work 4 years ago
Julian Lam 9c2de86a6e fix: two more routes 4 years ago
Julian Lam cb32e32ae3 feat: fix more tests, add more routes, update api test suite 4 years ago
Julian Lam 14c51e3c60 feat: add registration/complete route, fix some other tests 4 years ago
Julian Lam b9a61d2d45 fix: api tests 4 years ago
Julian Lam a962935743 fix: bad error message for request body api test 4 years ago
Julian Lam 7fc329de2f fix: modify backreference test to not check router.all() calls 4 years ago
Julian Lam 878ee06715 refactor: schema backreference test to use map instead of reduce, properly check write-api routes 4 years ago
Julian Lam df8d62ba06 feat: normalize paths before comparison 4 years ago
Julian Lam dbe85630e3 feat: additional test to ensure any new routes added to express have a corresponding schema doc
re: #9103
4 years ago
Barış Soner Uşaklı 2dee3cbe1a fix: test 4 years ago
Barış Soner Uşaklı 80de572aa1 feat: add user.email.confirmByUid for sso plugins 4 years ago
Julian Lam f8dff94a15 fix: derp? 4 years ago
Julian Lam 9a4ea04a75 fix: attempted fix for psql test in topic thumbs 4 years ago
Julian Lam e83baa97a0 fix: bad topic thumbs logic on local thumb upload 4 years ago
Julian Lam ce8057f389 feat: broken test for bad topic thumbs logic 4 years ago
Julian Lam 3e54b70c06 fix: #9092, Topic thumbnails do not work with third-party uploaders 4 years ago
Julian Lam dd448e2b1a fix: move topic thumb tests to root level, so they actually get run by mocha 4 years ago
Julian Lam 9681557f60 fix: tests for topic thumbs 4 years ago
Julian Lam c043cfebd6 fix: added back missing topic thumb tests that were removed in last commit 4 years ago
Julian Lam 5ec3b3d083 fix: tests 4 years ago
Julian Lam c09c238e3f fix: do not allow thumb deletion route to arbitrarily delete other files in uploads folder 4 years ago
Julian Lam 5950683316 feat: closes #9048, tests for topic thumbs routes, write API schema 4 years ago
Julian Lam 4152aa552e feat: tests for topic thumbs
Also added some error checking to addThumbs controller
4 years ago
Barış Soner Uşaklı 10cfdd4c5d fix: remove old utils.slugify tests 4 years ago
Barış Soner Uşaklı 1c45fa1ba5
feat: socket.io 3 changes (#8845)
* feat: socket.io 3 changes

* feat: replace socketio-wildcard with socket.onAny

up socket.io-redis to 6.x

* feat: remove mongodb/psql socket.io adapters

* feat: show data on fail

* fix: tests

* fix: typo

* fix: logger test fix

* fix: logger.io_close

* chore: up deps

* chore: update readme to reflect redis requirement

* fix: increase timeout show data if test fails
4 years ago
Barış Soner Uşaklı d2888d1d1f
Category tags (#8938)
* feat: wip category tags

* fix: tag search

* feat: remove debug

* fix: returns of searchTags and autocomplete

* fix: alpha sort

* fix: redis

* fix: delete zsets on category purge, fix another test

* fix: test
4 years ago
Barış Soner Uşaklı 557f0f5631 feat: use correct code 4 years ago
Barış Soner Uşaklı f25000cb60 fix: pwd reset test 4 years ago
Barış Soner Uşaklı 5080f35752 fix: #8991, logout on password reset, dont verify email if password expired
dont allow same password on reset
4 years ago
Barış Soner Uşaklı 3cd0c9a476 fix: #8998, allow guests to use write api to post/reply 4 years ago
Barış Soner Uşaklı 7f5efc3e93 fix: #8992, set email:confirmed for first admin user 4 years ago
Julian Lam b596e94826 fix: tests 4 years ago
Barış Soner Uşaklı 77a6dbacc4 fix: api test 4 years ago
Barış Soner Uşaklı 3de692cd52 fix: csv test 4 years ago
Barış Soner Uşaklı 700ef1af97 Merge branch 'master' of https://github.com/NodeBB/NodeBB 4 years ago
Barış Soner Uşaklı 4afdf8bc27 fix: spec, remove old tests 4 years ago
Julian Lam 88a60473d9 fix(spec): breaking tests 4 years ago
Barış Soner Uşaklı 414caac01b fix: #8957 4 years ago
Barış Soner Uşaklı 5bb5ec4618
fix: #8954, clear purged replies and toPids (#8959)
* fix: #8954, clear purged replies and toPids

* fix: redis test
4 years ago
Barış Soner Uşaklı e32cd31ec6 fix: #8918 4 years ago
Barış Soner Uşaklı 61c6a762ad fix: test 4 years ago
Barış Soner Uşaklı 5fa098326f fix: https://github.com/NodeBB/NodeBB/pull/8685
fix category link redirect on cold load
fix helpers.redirect if passed in url is external
fix ajaxify so it doesn't slice first character of external url
4 years ago
Barış Soner Uşaklı fa4177c3bc fix: #6407, fix feeds
display latest posts instead of oldest in topic rss feed
fix missing await that was causing rss_tokens to not function
fix feed test
more tests for getTopicWithPosts
4 years ago
Julian Lam a0b7a82350
feat(api): account deletion routes for the Write API (#8881)
* feat(api): account deletion routes for the Write API

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

* style: apply DRY
4 years ago
Opliko 6e43086558
resolve #8444 - Allow nested objects in translations (#8793)
* feat: #8444 Allow nested objects in translations

* feat: #8444 Allow nested objects in translations

* style: don't change formatting

* fix: don't use the first string match if key isn't finished

* feat: #8444 Allow nested objects in translations

* feat: #8444 Allow nested objects in translations

* style: don't change formatting

* fix: don't use the first string match if key isn't finished

* feat: add nested translations test
4 years ago
Barış Soner Uşaklı 7928036a1b feat: add test for custom translations 4 years ago
gasoved 3ccebf112e
feat: invites regardless of registration type, invite privilege, groups to join on acceptance (#8786)
* feat: allow invites in normal registration mode + invite privilege

* feat: select groups to join from an invite

* test: check if groups from invitations have been joined

* fix: remove unused variable

* feat: write API versions of socket calls

* docs: openapi specs for the new routes

* test: iron out mongo redis difference

* refactor: move inviteGroups endpoint into write API

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

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

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

* fix: tests

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

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

* refactor: make helpers.invite awaitable

* fix: restrict invite API to self-use only

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

* fix: tests

Co-authored-by: Julian Lam <julian@nodebb.org>
4 years ago
Julian Lam 0a0b4661be
chore: remove debug log 4 years ago
Barış Soner Uşaklı e4d2764d4c fix: #8884, remove header/footer cache 4 years ago
Julian Lam b3e00489c8 fix: add back test timeout for exports 4 years ago
Julian Lam bcccb331db docs: openapi schema for user/group exist check, session deletion 4 years ago
Julian Lam 97842c43d3 test: new api test to ensure each path's parameters are defined in context 4 years ago
Julian Lam 319cfeaa1c test: updated test name to be more specific 4 years ago
Julian Lam ee4d90f68f fix: test breakage from f300c933a5 4 years ago
Julian Lam f300c933a5 refactor: move session revocation route to write api 4 years ago
Barış Soner Uşaklı 3f5f38dd89 fix: clear header-cache after each suite 4 years ago
Barış Soner Uşaklı 255cf43ea9 fix: show msg on fail 4 years ago
Barış Soner Uşaklı f1f9b225b0
feat: #8824, cache refactor (#8851)
* feat: #8824, cache refactor

ability to disable caches
ability to download contents of cache
refactor cache modules to remove duplicated code

* fix: remove duplicate hit/miss tracking

check cacheEnabled in getUncachedKeys
4 years ago
Julian Lam 512f6de6de
feat: allow passwords with length > 73 characters (#8818)
* feat: allow passwords longer than 73 characters

Context: A bcrypt/blowfish limitation means that password length is capped at 72 characters. We can get around this without compromising on security
by hashing all incoming passwords with SHA512, and then sending that to bcrypt.

https://dropbox.tech/security/how-dropbox-securely-stores-your-passwords

* feat: add additional test for passwords > 73 chars

* fix: remove 'password-too-long' error message and all invocations

* test: added test to show that a super long password won't bring down NodeBB

* fix: remove debug log

* Revert "fix: remove 'password-too-long' error message and all invocations"

This reverts commit 1e312bf7ef7e119fa0f1bd3517d756ca013d5e79.

* fix: added back password length checks, but at 512 chars

As processing a large string still uses a lot of memory
4 years ago
Barış Soner Uşaklı b6d8687837 chore: add info log into tests 4 years ago
Julian Lam cc1c722092 fix: breaking test from 0db0231cff
Also lowered export timeout to 5s
4 years ago
Julian Lam 04185d94c1 fix: indentation 4 years ago
Julian Lam 8e7914ff72 fix: add back derpy 20 second sleep 4 years ago
Julian Lam 14e5c24ec5 fix(openapi): final fixes to schemas 4 years ago
Julian Lam 3ebb3a3479 fix: missing method in test error output 4 years ago
Julian Lam b092f65d95 fix(writeapi): tests 4 years ago
Julian Lam 843aff582d refactor: api test suite to accept methods other than GET 4 years ago
Julian Lam b156b8b573 feat: wip, write api tests framework
re-using read api tests if possible
4 years ago
Barış Soner Uşaklı a05905f196
performance improvements (#8795)
* perf: nconf/winston/render

cache nconf.get calls
modify middleware.pageView to call next earlier
don't call winston.verbose on every hook see https://github.com/winstonjs/winston/issues/1669
translate header/footer separately and cache results for guests

* fix: copy paste fail

* refactor: style and fire hook only log in dev mode

* fix: cache key, header changes based on template

* perf: change replace

* fix: add missing await

* perf: category

* perf: lodash clone

* perf: remove escapeRegexChars
4 years ago
Barış Soner Uşaklı 1f43e98f8b fix: allow admins adding users to global moderators
add new test
4 years ago
Barış Soner Uşaklı 75024c3580 refactor: remove console.log, extra require 4 years ago
Barış Soner Uşaklı b26e9b5993 fix: #8595, dont save escaped data when renaming groups 4 years ago
Barış Soner Uşaklı 8fd3c04480 fix: test 4 years ago
Barış Soner Uşaklı bf480ee58b refactor: setupApiRoute signature 4 years ago
Barış Soner Uşaklı b2ff1594b8 fix: redis hget
'node_redis: The HGET command contains a invalid argument type.\n' +
'Only strings, dates and buffers are accepted. Please update your code to use valid argument types.'
4 years ago
Julian Lam e98285dbbb fix: reimplementing isPrivilegedOrSelfAndPasswordMatch 4 years ago
Barış Soner Uşaklı 84a179f48c Merge branch 'master' of https://github.com/NodeBB/NodeBB 4 years ago
Julian Lam 222b4c9533 fix: broken tests from api change 4 years ago
Barış Soner Uşaklı 7d86be2bc2 fix: tests 4 years ago
Barış Soner Uşaklı e367c5403e refactor: move groups.leave, fix some tests 4 years ago
Barış Soner Uşaklı 8ae1f81cf4 feat: refactor groups.delete 4 years ago
Barış Soner Uşaklı d69e503d21 feat: move groups.join to api 4 years ago
Barış Soner Uşaklı 872bacf1c4
Admin/users (#8762)
* feat: wip admin/users

* feat: more work

* feat: more fixes

* feat: #8662, verified/unverified user groups

* feat: add filter

* feat: change user search to use filters array

* refactor: remove unused search call

* fix: tests

* fix: cant join system groups

* fix: upgrade script
4 years ago
psychobunny 7b2301ff9c fix: enable tests 4 years ago
Barış Soner Uşaklı 1ee9384875 fix: #8757, allow all slashes in category route 4 years ago
Barış Soner Uşaklı d76229c061 feat: add checkbox tests 4 years ago
Barış Soner Uşaklı e92d4719cc feat: add test for serialize/deserialize form 4 years ago
Barış Soner Uşaklı 7db224f689 fix: timeago test for dev/prod 4 years ago
Barış Soner Uşaklı cecdd2915e fix: timeago test 4 years ago
Barış Soner Uşaklı ae5fb103ca feat: disable write api tests until fixed 4 years ago
Barış Soner Uşaklı dc29f4dca2 refactor: switch to using slugify module 4 years ago
Barış Soner Uşaklı 3b231360d3 feat: load jquery-form before using 4 years ago
Julian Lam 87e3f26fe4 feat(openapi): schema validation for write api definitions file 4 years ago
Julian Lam ebcb664b41 fix(writeapi): tests 4 years ago
Julian Lam 229eb2c2d8 fix(writeapi): tests 4 years ago
Julian Lam 41f55b7a5a fix(writeapi): tests 4 years ago
psychobunny bf3c1c0878 fix: manifest test + remove duplicate test 4 years ago
psychobunny 5b427a0c3b feat: option in ACP to configure notification/email delay for chats 4 years ago
Timothy Fike 5078a8df25
ttl/pttl (#8689) 4 years ago
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