Commit Graph

1172 Commits (1ed62aa82f000ab357934f0429dcccf0df5749a6)

Author SHA1 Message Date
gasoved 53e0d4d2e0 feat: banned-users group
gasoved cabec378f4 fix: openapi test specs
gasoved 72b050b4a8 test: post diff deletion tests
Julian Lam bd5839639d fix: http 200 test for api routes
Julian Lam d6f60f4502 fix: broken test after sorted-lists logic change
Barış Soner Uşaklı 5bc1f5b4e8 fix: , fix redis pubsub connection
regression from fdfbc90255
Barış Soner Uşaklı d41ce87334 fix: removed object routes
Barış Soner Uşaklı 647d3ba810 fix: removed methods
Julian Lam aa8b84bb56 fix(topic-events): topicEvents.init() test
Julian Lam 449c379d22 feat(topic-events): server-side tests for topic events
Julian Lam ce7c74b2e1 fix: more tests for
Julian Lam f2a5cd0b67 fix: tests for
Barış Soner Uşaklı fdfbc90255 feat: async/await redis connection
Julian Lam 966c4117ec refactor(api): post move to write API
Barış Soner Uşaklı 1590cdf19f fix: , fix double escaped arguments
Julian Lam e817d5beda fix: test for topicThumbs
Barış Soner Uşaklı 8ece64ab82 fix: test for https://github.com/NodeBB/NodeBB/pull/9180
Julian Lam 9534d95619 fix: broken test due to change in response code
Julian Lam 0da2843281 feat(api): schema definition for new credential checking route
Barış Soner Uşaklı 0d7dfeeb86 chore: increase test timeout
Julian Lam 77a5adb616 fix(tests): handle nested allOf blocks
Julian Lam 895e3d939e fix: , server-side handling of disableChatMessageEditing
Julian Lam 80ee3dfbd1 fix(api): tests
Julian Lam 4fc1337762 feat(api): added schema for email unsubscribe token
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
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
Julian Lam bbd97ccb48 fix: subfolder handling in tests
Julian Lam 5f038dffbd test: changed test a bit to see what is going on
Julian Lam 6062039de2 fix: .flat() not defined in v10, added debug router to exclusion list
Julian Lam f416dc177a fix: all tests, wrap up work
Julian Lam 9c2de86a6e fix: two more routes
Julian Lam cb32e32ae3 feat: fix more tests, add more routes, update api test suite
Julian Lam 14c51e3c60 feat: add registration/complete route, fix some other tests
Julian Lam b9a61d2d45 fix: api tests
Julian Lam a962935743 fix: bad error message for request body api test
Julian Lam 7fc329de2f fix: modify backreference test to not check router.all() calls
Julian Lam 878ee06715 refactor: schema backreference test to use map instead of reduce, properly check write-api routes
Julian Lam df8d62ba06 feat: normalize paths before comparison
Julian Lam dbe85630e3 feat: additional test to ensure any new routes added to express have a corresponding schema doc
re: 
Barış Soner Uşaklı 2dee3cbe1a fix: test
Barış Soner Uşaklı 80de572aa1 feat: add user.email.confirmByUid for sso plugins
Julian Lam f8dff94a15 fix: derp?
Julian Lam 9a4ea04a75 fix: attempted fix for psql test in topic thumbs
Julian Lam e83baa97a0 fix: bad topic thumbs logic on local thumb upload
Julian Lam ce8057f389 feat: broken test for bad topic thumbs logic
Julian Lam 3e54b70c06 fix: , Topic thumbnails do not work with third-party uploaders
Julian Lam dd448e2b1a fix: move topic thumb tests to root level, so they actually get run by mocha
Julian Lam 9681557f60 fix: tests for topic thumbs
Julian Lam c043cfebd6 fix: added back missing topic thumb tests that were removed in last commit
Julian Lam 5ec3b3d083 fix: tests
Julian Lam c09c238e3f fix: do not allow thumb deletion route to arbitrarily delete other files in uploads folder
Julian Lam 5950683316 feat: closes , tests for topic thumbs routes, write API schema
Julian Lam 4152aa552e feat: tests for topic thumbs
Also added some error checking to addThumbs controller
Barış Soner Uşaklı 10cfdd4c5d fix: remove old utils.slugify tests
Barış Soner Uşaklı 1c45fa1ba5
feat: socket.io 3 changes ()
* 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
Barış Soner Uşaklı d2888d1d1f
Category tags ()
* 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
Barış Soner Uşaklı 557f0f5631 feat: use correct code
Barış Soner Uşaklı f25000cb60 fix: pwd reset test
Barış Soner Uşaklı 5080f35752 fix: , logout on password reset, dont verify email if password expired
dont allow same password on reset
Barış Soner Uşaklı 3cd0c9a476 fix: , allow guests to use write api to post/reply
Barış Soner Uşaklı 7f5efc3e93 fix: , set email:confirmed for first admin user
Julian Lam b596e94826 fix: tests
Barış Soner Uşaklı 77a6dbacc4 fix: api test
Barış Soner Uşaklı 3de692cd52 fix: csv test
Barış Soner Uşaklı 700ef1af97 Merge branch 'master' of https://github.com/NodeBB/NodeBB
Barış Soner Uşaklı 4afdf8bc27 fix: spec, remove old tests
Julian Lam 88a60473d9 fix(spec): breaking tests
Barış Soner Uşaklı 414caac01b fix:
Barış Soner Uşaklı 5bb5ec4618
fix: , clear purged replies and toPids ()
* fix: , clear purged replies and toPids

* fix: redis test
Barış Soner Uşaklı e32cd31ec6 fix:
Barış Soner Uşaklı 61c6a762ad fix: test
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
Barış Soner Uşaklı fa4177c3bc fix: , 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
Julian Lam a0b7a82350
feat(api): account deletion routes for the Write API ()
* feat(api): account deletion routes for the Write API

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

* style: apply DRY
Opliko 6e43086558
resolve - Allow nested objects in translations ()
* feat:  Allow nested objects in translations

* feat:  Allow nested objects in translations

* style: don't change formatting

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

* feat:  Allow nested objects in translations

* feat:  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
Barış Soner Uşaklı 7928036a1b feat: add test for custom translations
gasoved 3ccebf112e
feat: invites regardless of registration type, invite privilege, groups to join on acceptance ()
* feat: allow invites in normal registration mode + invite privilege

* feat: select groups to join from an invite

* test: check if groups from invitations have been joined

* fix: remove unused variable

* feat: write API versions of socket calls

* docs: openapi specs for the new routes

* test: iron out mongo redis difference

* refactor: move inviteGroups endpoint into write API

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

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

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

* fix: tests

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

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

* refactor: make helpers.invite awaitable

* fix: restrict invite API to self-use only

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

* fix: tests

Co-authored-by: Julian Lam <julian@nodebb.org>
Julian Lam 0a0b4661be
chore: remove debug log
Barış Soner Uşaklı e4d2764d4c fix: , remove header/footer cache
Julian Lam b3e00489c8 fix: add back test timeout for exports
Julian Lam bcccb331db docs: openapi schema for user/group exist check, session deletion
Julian Lam 97842c43d3 test: new api test to ensure each path's parameters are defined in context
Julian Lam 319cfeaa1c test: updated test name to be more specific
Julian Lam ee4d90f68f fix: test breakage from f300c933a5
Julian Lam f300c933a5 refactor: move session revocation route to write api
Barış Soner Uşaklı 3f5f38dd89 fix: clear header-cache after each suite
Barış Soner Uşaklı 255cf43ea9 fix: show msg on fail
Barış Soner Uşaklı f1f9b225b0
feat: , cache refactor ()
* feat: , 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
Julian Lam 512f6de6de
feat: allow passwords with length > 73 characters ()
* 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
Barış Soner Uşaklı b6d8687837 chore: add info log into tests
Julian Lam cc1c722092 fix: breaking test from 0db0231cff
Also lowered export timeout to 5s
Julian Lam 04185d94c1 fix: indentation
Julian Lam 8e7914ff72 fix: add back derpy 20 second sleep
Julian Lam 14e5c24ec5 fix(openapi): final fixes to schemas
Julian Lam 3ebb3a3479 fix: missing method in test error output
Julian Lam b092f65d95 fix(writeapi): tests
Julian Lam 843aff582d refactor: api test suite to accept methods other than GET
Julian Lam b156b8b573 feat: wip, write api tests framework
re-using read api tests if possible
Barış Soner Uşaklı a05905f196
performance improvements ()
* 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
Barış Soner Uşaklı 1f43e98f8b fix: allow admins adding users to global moderators
add new test
Barış Soner Uşaklı 75024c3580 refactor: remove console.log, extra require
Barış Soner Uşaklı b26e9b5993 fix: , dont save escaped data when renaming groups
Barış Soner Uşaklı 8fd3c04480 fix: test
Barış Soner Uşaklı bf480ee58b refactor: setupApiRoute signature
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.'
Julian Lam e98285dbbb fix: reimplementing isPrivilegedOrSelfAndPasswordMatch
Barış Soner Uşaklı 84a179f48c Merge branch 'master' of https://github.com/NodeBB/NodeBB
Julian Lam 222b4c9533 fix: broken tests from api change
Barış Soner Uşaklı 7d86be2bc2 fix: tests
Barış Soner Uşaklı e367c5403e refactor: move groups.leave, fix some tests
Barış Soner Uşaklı 8ae1f81cf4 feat: refactor groups.delete
Barış Soner Uşaklı d69e503d21 feat: move groups.join to api
Barış Soner Uşaklı 872bacf1c4
Admin/users ()
* feat: wip admin/users

* feat: more work

* feat: more fixes

* feat: , 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
psychobunny 7b2301ff9c fix: enable tests
Barış Soner Uşaklı 1ee9384875 fix: , allow all slashes in category route
Barış Soner Uşaklı d76229c061 feat: add checkbox tests
Barış Soner Uşaklı e92d4719cc feat: add test for serialize/deserialize form
Barış Soner Uşaklı 7db224f689 fix: timeago test for dev/prod
Barış Soner Uşaklı cecdd2915e fix: timeago test
Barış Soner Uşaklı ae5fb103ca feat: disable write api tests until fixed
Barış Soner Uşaklı dc29f4dca2 refactor: switch to using slugify module
Barış Soner Uşaklı 3b231360d3 feat: load jquery-form before using
Julian Lam 87e3f26fe4 feat(openapi): schema validation for write api definitions file
Julian Lam ebcb664b41 fix(writeapi): tests
Julian Lam 229eb2c2d8 fix(writeapi): tests
Julian Lam 41f55b7a5a fix(writeapi): tests
psychobunny bf3c1c0878 fix: manifest test + remove duplicate test
psychobunny 5b427a0c3b feat: option in ACP to configure notification/email delay for chats
Timothy Fike 5078a8df25
ttl/pttl ()
Barış Soner Uşaklı ac43cd8b6f fix: , trim email before checking validity
Barış Soner Uşaklı ccddbb15c9 feat: edit test
Barış Soner Uşaklı fe2dc3101e fix: auth tests
Barış Soner Uşaklı 5e8c376115 fix: remove old test
Barış Soner Uşaklı 38d3982bf1 fix:
allow updating other profile fields when username isnt being changed
Barış Soner Uşaklı 4be693f2e7
feat: fullname search ()
* 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
Barış Soner Uşaklı 9389749b79 feat: sorted set lex test
Julian Lam 885e0ebfde Revert "fix: bypass nbbpm for now"
This reverts commit 33c1bd5f01.
Barış Soner Uşaklı 5f10d67db5
Remove sounds ()
* feat: remove sounds

* feat: remove more sounds

* feat: disable sounds plugin

* fix: openapi
Barış Soner Uşaklı e3a0b4b1c1 fix: tests
Barış Soner Uşaklı 33c1bd5f01 fix: bypass nbbpm for now
Barış Soner Uşaklı 1b7ba2c8f1 feat: force upgrade scripts for test
Julian Lam f743f92088
refactor: socket posts delete/restore/purge so tid is not necessary ()
* 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
Barış Soner Uşaklı 9f9164a9be fix:
Julian Lam 563937950a fix: reintroduce 20s delay for api tests
Julian Lam 4737f937ee feat: expose global/admin privileges to all routes
@barisusakli revert if necessary 😬
Julian Lam e047b72c87 feat: additional tests for
Julian Lam 360aa00d5a fix: flag list tests due to breaking change in API
Julian Lam d935f03636 fix(openapi): tests
Julian Lam 334be11382 fix: no-widgets messaging in ACP + copy
Barış Soner Uşaklı 846b7d2430 refactor: change pwd change logic
add one more test