Commit Graph

103 Commits (3e4d477e481f6e23edd52a9392ea43374e4de907)

Author SHA1 Message Date
Barış Soner Uşaklı e6a17a6349
Psql multikey ()
* perf: convert promise.all to single query

* perf: single query for removeBulk

* perf: list
Barış Soner Uşaklı ea04aeded4
perf: convert promise.all to single query ()
Barış Soner Uşaklı 397835a05a feat: allow removing multiple items from list
Barış Soner Uşaklı 0ce4b87d85
fix: ()
Barış Soner Uşaklı e59d357533
feat: als ()
* feat: als

* fix: up test timeout

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

* fix: up test timeout for psql
Barış Soner Uşaklı 2c22b06feb fix: isObjectField(s) empty field
Barış Soner Uşaklı 92de49be00 test: add test for undefined fields in getObjectsFields
Barış Soner Uşaklı 4327a09d76
feat: allow optional fields argument on db.getObject(s) ()
Barış Soner Uşaklı 8f0386d9ac
feat: add failing test for list append/prepend with list ()
* feat: add failing test for list append/prepend with list

* feat: mongo/psql

* feat: improve test
Peter Jaszkowiak dab3b23575 chore: eslint no-var, vars-on-top
Peter Jaszkowiak b56d9e12b5 chore: eslint prefer-arrow-callback
Peter Jaszkowiak 707b55b6a5 chore: eslint prefer-template
Barış Soner Uşaklı 47299ea587
Categories refactor ()
* 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: 

* fix: index 0

* fix: spec

* feat: , 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
Barış Soner Uşaklı 0d7dfeeb86 chore: increase test timeout
Barış Soner Uşaklı 7f5efc3e93 fix: , set email:confirmed for first admin user
Barış Soner Uşaklı 5bb5ec4618
fix: , clear purged replies and toPids ()
* fix: , clear purged replies and toPids

* fix: redis test
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.'
Timothy Fike 5078a8df25
ttl/pttl ()
Barış Soner Uşaklı 9389749b79 feat: sorted set lex test
Barış Soner Uşaklı e95cd28f6f
Zscan ()
* feat: zscan

* fix: mongodb tests

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

* fix: mongodb tests
Barış Soner Uşaklı bef37e27cb
fix: test lock for user create ()
* fix: test lock for user create

* fix: redis hdel with undefined

* feat: add test for undefined key in deleteObjectFields
Barış Soner Uşaklı 0009f54e6e feat: add getSortedSetMembers
Barış Soner Uşaklı 3b6d57e497 refactor: move code
Barış Soner Uşaklı 4ee3543ea4 feat: tweak intersection code, add tests
Barış Soner Uşaklı 12c6bc2e07 feat: convert queries so they used indices directly
Barış Soner Uşaklı 7a801abade fix: tests on redis
Barış Soner Uşaklı edf9fe3b7f feat: add null tests for sorted sets
Barış Soner Uşaklı 310c6fd33f
properly filter /unread /recent /popular /top ()
* 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
Barış Soner Uşaklı 22b02f1407
feat: add failing test for pagination ()
* feat: add failing test for pagination

* feat: test

* fix: redis tests

* refactor: remove logs
Barış Soner Uşaklı b602c04463 feat: refactor getSortedSetRange to allow big arrays
Baris Usakli 1e5246f9ad feat: add new test
Barış Soner Uşaklı 1e0190abef fix: , groups.invite works with an array of uids
Barış Soner Uşaklı 53e1b349ae
Change post owner ()
* feat: , allow array of keys for setObject

* feat: sortedSetRemoveBulk

* feat: test for bulk remove

* feat: , ability to change post ownership

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

* feat: , front end

* fix: , psql methods

* fix: add missing await

* fix: maybe psql
Barış Soner Uşaklı 805dcd7ca2
Async refactor in place ()
* 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
Barış Soner Uşaklı bd640a1107
Topic await errors ()
* 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
Barış Soner Uşaklı 3ecd703ea3 feat: , added sortedSetAddBulk
Barış Soner Uşaklı a39f0ef592 fix: , create per category user post zsets
Baris Usakli 31ccc860d3 feat: allow multiple scores in sortedSetsAdd
Barış Soner Uşaklı 2c98dd5f9d
Object cache refactor ()
* 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
Barış Soner Uşaklı 5917dec288
fix: only allow numbers as scores ()
* zadd score checks

* fix: only allow numbers as scores

* fix: convert values to strings
Barış Soner Uşaklı 3917022a48 fix:
Barış Soner Uşaklı fef7e13c9e feat: small fixes
Barış Soner Uşaklı eb7ae54f81
Category watch state ()
* 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
Barış Soner Uşaklı 263c918088
feat: remove uid:<uid>:ignored:cids ()
use cid:<cid>:ignorers instead
Baris Usakli e65d40c937 dont return undefined from sortedSetsCard if keys is empty or falsy
Baris Usakli 76af8caf58 add missing semicolon
Baris Usakli 420227faae parseFloat scores
Barış Soner Uşaklı 53ad2bbd6e
Categories optimize ()
* WIP

* fix category page

* fix counts, and copyPrivileges

* fix lint

* more fixes,

* redis fix

* fix test

* fix  category test

* remove getParentsAndChildren
Barış Soner Uşaklı ca1e3a758b