* refactor: start migrating to node-redis
* few more zset fixes
* fix: db.scan
* fix: list methods
* fix set methods
* fix: hash methods
* use hasOwn, remove cloning
* sorted set fixes
* fix: so data is converted to strings before saving
otherwise node-redis throws below error
TypeError: "arguments[2]" must be of type "string | Buffer", got number instead.
* chore: remove comments
* fix: zrank string param
* use new close
* chore: up dbsearch
* test: add log
* test: more log
* test: log failing test
* test: catch errors in formatApiResponse
add await so exception goes to catch
* tetst: add log
* fix: dont set null/undefined values
* test: more fixes
* confirmObj changes
dont expire confirm:<code>, add a expires field instead
dont expire confirm:byUid:<uid>
on admin manage users display the users email status
1. verified
2. verify email sent (pending)
3. verify email sent (expired)
4. no email entered
fix validate email in acp to use
email in user:<uid> if they have one
if not check if its in confirm:<code>
if its not in above cant validate throw error
fix send validate email to use
email in user:<uid> if they have one
if not check if its in confirm:<code>
if its not in above too cant validate throw error
* add back socket.io tests
* test: fix confirm tests
no longer using pexpire
return correct time left on token
* chore: update openapi
* fix: delete call
* test: mget test fixes
* test: fix tests
* switch to ioredis
also need this fix in redisearch:
redis-search.js:98
```
redisClient.multi(cmds).exec(function(err, ids) {
if (err) {
return callback(err);
}
var errRes = ids[resultIndex];
if (errRes[0]) {
return callback(errRes[0]);
}
callback(null, errRes[1]);
});
```
* dbsearch compatible with ioredis
* fixed dbsearch?
* 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
'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.'
* 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