59 Commits

Author SHA1 Message Date
Barış Soner Uşaklı
bf2d4c46f8 feat: show topic follower counts (#13326)
fix upgrade script dates
add upgrade script to count topic followers for each topic
2025-04-15 10:07:45 -04:00
Barış Soner Uşaklı
3526c937cc fix: tag urls getting double escaped (#13306)
* fix: tag urls getting double escaped

get rid of weird decodeURIComponent($.param()) usage
$.param returns a string suitable for use in query param string

* add a new test
2025-04-07 13:23:22 -04:00
Barış Soner Uşaklı
70a9f6d337 fix: return null if field isn't in hash 2025-02-11 13:37:21 -05:00
Julian Lam
f368a1a87f fix: remove intFields hack and update db.parseIntFields to only parseInt if field value is a number 2024-03-06 11:45:34 -05:00
Julian Lam
56cfae0766 fix: accidental overwrite of hoisted internal variable 2024-02-14 11:56:21 -05:00
Julian Lam
ec2b375ae9 refactor: use existing sets for topics (instead of topicRemote, etc.) 2024-02-07 12:28:16 -05:00
Julian Lam
a3a0edb70b fix: a bunch of broken things, added test for Create(Note) 2024-01-26 21:39:20 -05:00
Julian Lam
2ff70fdde2 refactor: generate a topic id when asserting a new topic 2024-01-19 11:31:04 -05:00
Julian Lam
60bc27ec69 fix: saving teaserPid, timestamp, lastposttime in topic, fixed post index issue in loading topics 2024-01-17 12:15:58 -05:00
Julian Lam
4bd7a574c3 feat: some additional work to properly save and retrieve remote topic data 2024-01-12 16:39:29 -05:00
Barış Soner Uşaklı
a75a043b61 feat: allow % in tags, #10135 2022-01-10 16:44:16 -05:00
Barış Soner Uşaklı
a29535833f fix: #10052, dont use spaces in tag class name 2021-12-02 10:58:23 -05:00
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
2021-07-12 19:25:04 -04:00
gasoved
077330b764 feat: scheduled topics (#9399)
* feat: scheduled topics

* refactor: linting fixes

* fix: tests

* fix(test): race condition

* fix: make a single request
2021-03-24 14:28:02 -04:00
Barış Soner Uşaklı
4327a09d76 feat: allow optional fields argument on db.getObject(s) (#9385) 2021-03-14 11:40:54 -04:00
Peter Jaszkowiak
dab3b23575 chore: eslint no-var, vars-on-top 2021-02-08 18:06:44 -05:00
Peter Jaszkowiak
707b55b6a5 chore: eslint prefer-template 2021-02-08 18:06:44 -05:00
Julian Lam
cc0d562e9a chore: more removals of thumb specific backwards-compatibility [breaking] 2021-01-27 16:17:14 -05:00
Julian Lam
05d8b3c339 chore: add deprecation notice to topic thumb tpl value 2020-12-21 09:59:19 -05:00
Julian Lam
ad8e770037 feat: add pinExpiry and pinExpiryISO to topic data 2020-11-27 10:38:40 -05:00
Julian Lam
90434a4668 Revert "fix(spec): always show thumb in topic response"
This reverts commit 493c568a75.
2020-11-24 14:26:47 -05:00
Julian Lam
493c568a75 fix(spec): always show thumb in topic response 2020-11-24 14:19:40 -05:00
Julian Lam
6e2da9966e refactor: move plugin hook methods to plugin.hooks.* 2020-11-20 16:32:39 -05:00
Barış Soner Uşaklı
0db0231cff feat: move postercount to topic hash 2020-10-24 21:14:52 -04:00
Manuel Valle
056f85f864 Topic hooks extension (#8413)
* Update data.js with new hook

Implemented new 'filter:topic.getFields' hook as in posts

* Update data.js

* Update data.js
2020-06-16 13:50:07 -04:00
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>
2020-04-23 21:50:08 -04:00
Barış Soner Uşaklı
8c48f94b96 fix: #8139, dont allow restore if not deleted by self 2020-01-28 13:03:58 -05:00
Barış Soner Uşaklı
b7a57996f7 fix: escape topic.thumb 2020-01-15 18:53:08 -05:00
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 cea206a9b8.

* 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
2019-07-09 12:46:49 -04:00
Barış Soner Uşaklı
69bb3293ee misc fixes
handle spider uids properly
2018-11-12 00:20:44 -05:00
Baris Usakli
566564ed74 fix redis tests
fixed typo in groups/data.js
added postcount,viewcount to int fields
2018-10-26 13:01:34 -04:00
Barış Soner Uşaklı
fb6067a7ca only parse if field is requested 2018-10-25 19:58:01 -04:00
Barış Soner Uşaklı
f3a679e268 remove parseInts 2018-10-25 17:02:59 -04:00
Baris Usakli
fdbefa3d1f remove more parseInts 2018-10-23 13:59:28 -04:00
Barış Soner Uşaklı
ac39112271 remove more parseInts 2018-10-21 19:33:46 -04:00
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
2018-10-21 16:47:51 -04:00
Barış Soner Uşaklı
c3a903142a closes #6850 2018-10-20 16:31:16 -04:00
Barış Soner Uşaklı
b2b33ffa57 topics data refactor 2018-10-20 16:10:02 -04:00
Barış Soner Uşaklı
5c7dd54815 fix zsets and update them on post move, closes #6823 (#6827) 2018-10-11 16:00:22 -04:00
Barış Soner Uşaklı
2c3fd5fbce remove some dupe code 2018-06-18 02:27:12 -04:00
Barış Soner Uşaklı
1019feb569 fix method name 2017-09-12 11:51:38 -04:00
Barış Soner Uşaklı
f6ac92111b style changes 2017-05-26 00:02:20 -04:00
Peter Jaszkowiak
e382bca610 Fix tests 2017-04-15 04:22:28 -06:00
Peter Jaszkowiak
0fe10f5e86 Escape topic titles at the source, deduplicate 2017-04-15 01:38:42 -06:00
Peter Jaszkowiak
1ed571189c Make utils and translator easier to require
Move utils.walk to file.walk, backwards compatible
2017-04-08 20:27:52 -06:00
psychobunny
b3f8428691 closes #5510 2017-03-10 13:36:24 -05:00
Peter Jaszkowiak
3b0dd2d1ef ESlint padded-blocks 2017-02-18 02:32:24 -07:00
Peter Jaszkowiak
feb8405f95 ESlint eol-last 2017-02-18 02:30:48 -07:00
Peter Jaszkowiak
3361a72725 ESlint no-plusplus
and no-empty, space-unary-ops
2017-02-18 01:12:18 -07:00
HeeL
4a3c31b2dc Fix space-before-function-paren linter rule 2016-10-13 11:43:39 +02:00