908 Commits (d7a7c3553cbc6b17bde65a5a7ff193159070d523)

Author SHA1 Message Date
Julian Lam 05dd859714 fix: postgres is slow™️ 4 years ago
Julian Lam 9f62df15bd chore: appease codeclimate 4 years ago
Julian Lam 24e754d120 feat: add thumbs to category data return 4 years ago
Julian Lam edf67f349f fix: use getSortedSetRange instead of getSortedSetsMembers 4 years ago
Julian Lam bd5c4a5cff fix: tests 4 years ago
Julian Lam e83baa97a0 fix: bad topic thumbs logic on local thumb upload 4 years ago
Julian Lam 3e54b70c06 fix: #9092, Topic thumbnails do not work with third-party uploaders 4 years ago
Julian Lam 2170c40007 fix: iteration logic bug 4 years ago
Julian Lam a30c8ab5c8 feat: clent-side modal for managing topic thumbs
closes #9087
4 years ago
Julian Lam 1c5cdb5121 feat: associate topic thumbs with post uploads (for the mainPid) 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 4152aa552e feat: tests for topic thumbs
Also added some error checking to addThumbs controller
4 years ago
Julian Lam ef7d6db912 feat: server-side work for #9047
- rename Thumbs.commit to Thumbs.migrate
- new PUT method that calls Thumbs.migrate
- `checkThumbPrivileges` now takes a single object parameter (ins. of req/res)
4 years ago
Julian Lam b5d910f53b feat: core work for #9042, thumb deletion now accepts uuids
+ common data validation for thumb addition and deletion
4 years ago
Julian Lam 1f0c1cd229 fix: references to since-removed Topics.thumbs.resizeAndUpload 4 years ago
Julian Lam 90497e3ef5 feat: more work on topic thumbs refactor
- addThumb and deleteThumb are now protected routes (duh)
- new getThumbs route GET /api/v3/topics/<tid>/thumbs
- Updated `assert.path` middleware to better handle if relative paths are received with upload_url
- Slight refactor of thumbs lib to use validator to differentiate between tid and UUID
4 years ago
Julian Lam 43dc3e3e48 fix: #9041, remove Topics.thumbs.resizeAndUpload() 4 years ago
Julian Lam 1257aa981e feat: expose uploaded thumbnails to client-side via API
+ plugin hook: filter:topics.getThumbs
4 years ago
Julian Lam 7e9e08f718 feat: server-side routes for handling multiple topic thumbnails
closes #8994, requires 'topic-thumb-refactor' branch of composer-default
4 years ago
Julian Lam 4fc9da81a9 refactor: topic thumbs lib to topics.thumbs 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ı 954dc5b7be feat: #8983, update pin tooltip in topic 4 years ago
Barış Soner Uşaklı 14bb0a4469 feat: #8960, update view count after merge 4 years ago
Barış Soner Uşaklı 5a137a0dd6 fix: guest handles to user displayname as well 4 years ago
Barış Soner Uşaklı 9ab4fb412b fix: order 4 years ago
Barış Soner Uşaklı d3c04afb98 fix: #8982, copy color on tag rename, dont copy if target exists
refresh page on tag rename
4 years ago
Julian Lam ad8e770037 feat: add pinExpiry and pinExpiryISO to topic data 4 years ago
Barış Soner Uşaklı c037779fa1 feat: add topicOwnerPost #8778 4 years ago
Julian Lam 90434a4668 Revert "fix(spec): always show thumb in topic response"
This reverts commit 493c568a75.
4 years ago
Julian Lam 493c568a75 fix(spec): always show thumb in topic response 4 years ago
Julian Lam eab4ca7104 fix: bug with Topics.resizeAndUploadThumb not checking for extension validity 4 years ago
Julian Lam 5dd3b03125 fix: a derp 4 years ago
Julian Lam 4ca62dc45b fix: improper handling of scheme-relative URLs in topic thumb logic 4 years ago
Julian Lam f33a9185ff fix: on OP edit, call helper method to upload and resize thumb 4 years ago
Barış Soner Uşaklı 9ee1fb490e fix: https://github.com/NodeBB/NodeBB/pull/8759 4 years ago
Julian Lam 6e2da9966e refactor: move plugin hook methods to plugin.hooks.* 4 years ago
Barış Soner Uşaklı ef3df47a6d refactor: remove breaking change in pin expiry 4 years ago
Julian Lam 046d0b1637
feat: allow pins to expire (if set) (#8908)
* fix: add back topic assert middleware for pin route

* feat: server-side handling of pin expiries

* refactor: togglePin to not require uid parameter [breaking]

* feat: automatic unpinning if pin has expiration set

* feat: client-side modal for setting pin expiration

* refactor: categories.getPinnedTids to accept multiple cids

... in preparation for pin expiry logic, direct access to *:pinned zsets is discouraged

* fix: remove references to since-removed jobs file for topics

* feat: expire pins when getPinnedTids is called

* refactor: make the togglePin change non-breaking

The 'action:topic.pin' hook now sends uid again, as before. However, if it is a system action (that is, a pin that expired), 'system' will be sent in instead of a valid uid
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
Barış Soner Uşaklı fb567a7a33 feat: #4456 4 years ago
Julian Lam 1392d064a1 fix(writeapi): normalizing data 4 years ago
Barış Soner Uşaklı 93bdfe2f10 perf: reorder async calls 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ı 0db0231cff feat: move postercount to topic hash 4 years ago
Barış Soner Uşaklı 203db47b30 fix: return early for guests/spiders 4 years ago
Julian Lam 177a961000 feat: new filter filter:teasers.configureStripTags 4 years ago
Barış Soner Uşaklı 7a019494e8 feat: add filter.topics.getPostReplies 4 years ago
Barış Soner Uşaklı 7beaf49028 feat: set unread false for guests 4 years ago
Barış Soner Uşaklı dc29f4dca2 refactor: switch to using slugify module 4 years ago
Barış Soner Uşaklı 83d4e7efaa feat: add number of posters to topic 4 years ago
Julian Lam 81595095da feat: allow plugins to override tags and tag counts 4 years ago
Barış Soner Uşaklı de824007d9 feat: allow custom req.query.filter on /unread /recent 4 years ago
Barış Soner Uşaklı 65d049c6f9 fix: tests 4 years ago
Barış Soner Uşaklı 2d5bd153e0 fix: check if unread_tids are followed 4 years ago
Barış Soner Uşaklı 1e5981c0d6 feat: replace relative urls to absolute before sending email notifs
https://github.com/NodeBB/NodeBB/pull/8366/files
4 years ago
Barış Soner Uşaklı 55533b11e5 fix: dupes in unread followed topics 4 years ago
Barış Soner Uşaklı bb224184d8 fix: #8539, enforce content checks for post queue 5 years ago
Barış Soner Uşaklı 519e665939 fix: #8538, go to first unread instead of last read 5 years ago
Barış Soner Uşaklı ce6b20c4b7 feat: remove topics.async.getTopicData usage 5 years ago
Barış Soner Uşaklı 658dd03b03
feat: add tools to recent/unread (#8477)
* feat: add tools to recent/unread

* fix: open api spec

* fix: more api spec
5 years ago
Barış Soner Uşaklı d6c619cf1a fix: don't show blocked users under nested replies 5 years ago
Barış Soner Uşaklı fef04fcf6b fix: missing backgroundImage #8386 5 years ago
Barış Soner Uşaklı fd400a008d fix: don't show in unreplied if score is null 5 years ago
Barış Soner Uşaklı e09ab3dc19 feat: closes #8440, allow configuring max topic count 5 years ago
Barış Soner Uşaklı c718b7293e feat: #3783, min/max tags per category 5 years ago
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
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ı 7d484fc0ad refactor: use getSortedSetMembers 5 years ago
Barış Soner Uşaklı f3afba6156 feat: filter followed tids by category 5 years ago
Barış Soner Uşaklı 1b9e8928eb feat: use getSortedSetsMembers to load followed tids 5 years ago
Barış Soner Uşaklı 7f24200c73 feat: add folder to filter:uploadImage and filter:uploadFile 5 years ago
Barış Soner Uşaklı 81e33b9391 fix: #8317 5 years ago
Barış Soner Uşaklı 0e58fa33eb feat: match hook property to topic property 5 years ago
Barış Soner Uşaklı bfad457275 feat: add methods for adding/removing tags from topics 5 years ago
Barış Soner Uşaklı e20ad5c56e fix: dont crash if topic is null 5 years ago
Barış Soner Uşaklı a73c755b05 feat: closes #8308, edit post notif for watched topic posts 5 years ago
Barış Soner Uşaklı 0431d75f0d fix: #8297, uids.length is different than topics.length 5 years ago
Julian Lam fcb81cb8ca fix: #8297 guest handles shown in category.tpl 5 years ago
Barış Soner Uşaklı 478ed6c16f refactor: match core field name pinned 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
Barış Soner Uşaklı 4eafe0f057 fix: #8269, return array of topics from hook 5 years ago
Barış Soner Uşaklı 59cf0e80d2 fix: throw error if topic does not exist 5 years ago
Barış Soner Uşaklı 32ada7c4e7 fix: #8188, fix bookmark if sorting is newest_to_oldest 5 years ago
Barış Soner Uşaklı bc93b5676c fix: #8175 5 years ago
Barış Soner Uşaklı e74954407f fix: #8157, update recent tid when post is moved 5 years ago
Baris Usakli 236e1e6859 fix: return correct number of suggested topics 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ı 9969dd6335 fix: use view_deleted when filtering, closes #8137 5 years ago
Barış Soner Uşaklı b7a57996f7 fix: escape topic.thumb 5 years ago
Barış Soner Uşaklı b91c4790d1 fix: dont show delete topics on unread 5 years ago
Barış Soner Uşaklı 0e5e47f410 fix: parseInt cutoff 5 years ago
Barış Soner Uşaklı e020b85bf5 feat: add filter:topics.unreadCutoff 5 years ago
Opliko 989107d9b5 feat: Add filter:topic.delete and filter:topic.restore (#7946) (#7989)
* Add filter:topic.delete

* Don't return undefined data

* add topic.restore and pass canRestore to filter

* fix some bugs created by conflict resolution and new changes

* more readable hook

* fix styling for TravisCI

* literally just two newlines so that TravisCI builds again
5 years ago
Barış Soner Uşaklı 661a0f5068 fix: don't show deleted topics on unread 5 years ago
Barış Soner Uşaklı ac4a500402 fix: remove 0 fields 5 years ago
Barış Soner Uşaklı f8c8038a06 refactor: remove log, topics.exists 5 years ago
Barış Soner Uşaklı b192605450 feat: add new hook to get custom category tids for unread 5 years ago
Barış Soner Uşaklı 05e753c73b refactor: remove var 5 years ago
Barış Soner Uşaklı 10f168b824 fix: #7934, return tids 5 years ago
Baris Usakli b93c826d35 feat: add new hook filteR:topics.getSortedTids
to let plugins replace the logic used to retrieve tids
5 years ago
Barış Soner Uşaklı ffe3670ff5 feat: deprecate file.isFileTypeAllowed
use image.isFileTypeAllowed, this function was always meant for images
5 years ago
Barış Soner Uşaklı 0ced71be39 refactor: async/await flags 5 years ago
Barış Soner Uşaklı 310c6fd33f
properly filter /unread /recent /popular /top (#7927)
* 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
5 years ago
Barış Soner Uşaklı f05c1dae69 feat: actually cache duh 5 years ago
Barış Soner Uşaklı 63bd252fba feat: cache tags:topic:count 5 years ago
Barış Soner Uşaklı 5c2afe5eac refactor: async/await socket.io/topics 5 years ago
Barış Soner Uşaklı 1d7e0c6341 feat: allow floating pinned topics to top in getSortedTopics 5 years ago
Julian Lam 29f96b199c fix(style): requiring parens in block bodies 6 years ago
Julian Lam 0921230976 fix(style): updated code to follow new eslint recommendations
Squashed commit of the following:

commit f9ce878b269b3568f0d649309aae1af4dcfdfeef
Author: Julian Lam <julian@nodebb.org>
Date:   Tue Aug 13 14:30:46 2019 -0400

    fix(style): updated code to follow new eslint recommendations

commit 80dd370e413f22badb96ff2138e7991dfff6d836
Author: Julian Lam <julian@nodebb.org>
Date:   Tue Aug 13 14:14:58 2019 -0400

    fix(deps): update dependency sitemap to v4

    Squashed commit of the following:

    commit f4dd9cabb21e26fdc21f8413be822ea7c64251f8
    Author: Julian Lam <julian@nodebb.org>
    Date:   Tue Aug 13 11:33:05 2019 -0400

        fix: resolved breaking changes from sitemap v4 upgrade

    commit 9043415ee16dcc27a8dcc2e4479d1bc5e2d1b60e
    Merge: e3352b272 72590b346
    Author: Julian Lam <julian@nodebb.org>
    Date:   Tue Aug 13 11:09:55 2019 -0400

        Merge branch 'master' into renovate/sitemap-4.x

    commit e3352b272eb9400bdb00774973181397803765e4
    Author: Renovate Bot <bot@renovateapp.com>
    Date:   Mon Aug 12 07:59:05 2019 +0000

        fix(deps): update dependency sitemap to v4

commit 8e3c0cdcae22acc32d352be8bb72d60e7502dbc5
Author: Renovate Bot <bot@renovateapp.com>
Date:   Fri Aug 9 00:49:51 2019 +0000

    fix(deps): update dependency commander to v3

commit 2104449d38818f2fa4d44b3a58a0a168781acbfb
Author: Renovate Bot <bot@renovateapp.com>
Date:   Tue Aug 13 15:00:27 2019 +0000

    fix(deps): update dependency mongodb to v3.3.0

commit d2937f446a21131c070ae5d0ff33d67cfe465b8c
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Tue Aug 13 10:36:48 2019 -0400

    feat: async/await admin/controllers

commit 1b97e8b199f960dc24e5722702f27499ae049914
Author: Misty (Bot) <deploy@nodebb.org>
Date:   Tue Aug 13 09:28:39 2019 +0000

    Latest translations and fallbacks

commit 69a48957a2f0d23c4d194b664bda3a0431179c01
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Mon Aug 12 21:56:09 2019 -0400

    feat: async/await

commit b9b2a7e593a452de4bef6d0ab6abe368a3bdb8dd
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Mon Aug 12 20:58:29 2019 -0400

    feat: async/await refactor

    controllers/accounts

commit a8d43a175974a0c8ae3dc132bf51a7ed9a4c6305
Author: Baris Usakli <barisusakli@gmail.com>
Date:   Mon Aug 12 14:49:40 2019 -0400

    feat: async/await controllers/accounts

commit 2f25aae57bf9dbe98d655276770e56bed9ec023b
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Sun Aug 11 23:09:50 2019 -0400

    fix: #7831, fix pagination

    convert to async/await

commit c9e83f2374572264855a04156278eef256b0a20c
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Sun Aug 11 00:14:35 2019 -0400

    fix: remove empty line

commit 30be91b26c4dd7583412c4e8d56e9c1688e48a44
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Sun Aug 11 00:13:41 2019 -0400

    fix: remove useless catchs and empty line

commit 2e4a71c0b6104738f15ffbfe3246105b922fdfb3
Author: Renovate Bot <bot@renovateapp.com>
Date:   Sat Aug 10 06:51:50 2019 +0000

    chore(deps): update dependency eslint-config-airbnb-base to v14
6 years ago
Barış Soner Uşaklı 292bbe3449 fix: remove empty line 6 years ago
Baris Usakli 9780f5b975 fix: #7809, dont check postDelay if submitting from queue 6 years ago
Baris Usakli 8bf40d04c9 fix: #7788, fix on topic move and new post 6 years ago
Julian Lam 66aa443b7a feat: added filter:tags.getAll plugin hook 6 years ago
Barış Soner Uşaklı 99cf47ee08 feat: get rid of async.eachSeries 6 years ago
Barış Soner Uşaklı 3c32d8600f
fix: #7788 No new posts (#7793)
* feat: debug no-new-posts

* feat: add test for user delete

* fix: timeout for flag test

* feat: shorter
6 years ago
Barış Soner Uşaklı 13aaf07bf5 fix: getTopicsFromSet 6 years ago
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 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
6 years ago
Barış Soner Uşaklı bd640a1107
Topic await errors (#7727)
* 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
6 years ago
Baris Usakli 708df46ebe fix: dont display post tools if there are no options 6 years ago
Barış Soner Uşaklı 3100d803c7 feat: use arrow functions 6 years ago
Barış Soner Uşaklı 198d05875f feat: cleanup, use bulk 6 years ago
Barış Soner Uşaklı a39f0ef592 fix: #5570, create per category user post zsets 6 years ago
Barış Soner Uşaklı 7e54d7aa35 feat: use db.sortedSetsAdd 6 years ago
Barış Soner Uşaklı 29a124c412 feat: use db.sortedSetsAdd 6 years ago
Barış Soner Uşaklı 4d9bc30d1f
feat: async3 upgrade (#7639)
* feat: async3 upgrade WIP

* fix: async.doWhilst

* fix: async early exit

* fix: psql doUntil

* fix: psql again
6 years ago
Barış Soner Uşaklı 8775e7e652 fix: node12 tests 6 years ago
Julian Lam 745a9589e9
Use topics:read privilege for topic filtering use cases (#7462)
* fix: use topics:read privilege for topic filtering use cases

* fix: tests

* fix: more broken tests
6 years ago
Baris Usakli 73d14e4516 fix: return early if there are not blocked uids 6 years ago
Baris Usakli e613f88b29 use params 6 years ago
Baris Usakli 23da300958 feat: pass options to digest 6 years ago
Julian Lam 9731350812 fix: incorrect teaserPost logic 6 years ago
Julian Lam f32a992237
feat: revamp email templates to be more style agnostic (#7375)
* feat: re-designed digest

Updated design, logic no longer shows "no topics", just doesn't
show the list at all, teaser re-retrieved for digest so that it
always grabs a teaser even if there is no reply, changed default
email background to a light grey.

* fix: minor padding issues in digest

* fix: banned template

* fix: invitation.tpl

* fix: removed unused notif_chat and notif_post email templates

* fix: notification template

* fix: registration_accepted template

* fix: reset tpl

* fix: test tpl

* fix: email verify tpl

* fix: reset notify tpl

* fix: welcome tpl

* fix: additional minor font fixes

* fix: removed unused email header image assets

* fix: internationalised 'your daily digest' string

* fix: broken url in digest 🤦

* feat: added RTL support for emailer

/cc @PostMidnight
6 years ago
Barış Soner Uşaklı 8e3bf58106 fix: #7338 6 years ago
Barış Soner Uşaklı cd2f72fb73 feat: pass topic creation data to action:topic.save 6 years ago
Barış Soner Uşaklı b9833483ca fix: #7209 6 years ago
Barış Soner Uşaklı fef7e13c9e feat: small fixes 6 years ago
Barış Soner Uşaklı 4650a76036 fix: #7124 6 years ago
Barış Soner Uşaklı eb7ae54f81
Category watch state (#7109)
* 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
6 years ago
Barış Soner Uşaklı f103390aa5 fix: #7103
update counter when user navigates to /unread
fix new topic alert on /unread
moved unread code from footer to unread
6 years ago
Barış Soner Uşaklı d117df77f7 fix: #7102 6 years ago
Barış Soner Uşaklı 85a07e999b fix: #7102 6 years ago
Barış Soner Uşaklı 263c918088
feat: remove uid:<uid>:ignored:cids (#7099)
use cid:<cid>:ignorers instead
6 years ago
Barış Soner Uşaklı 78fa734017 feat: cache category tag whitelist 6 years ago
Barış Soner Uşaklı 7ca62b8399 feat: closes #7070 6 years ago
Baris Usakli eab297bdc9 fix: #7061 6 years ago
Peter Jaszkowiak ba619c7ec8 style(eslint): match operator-linebreak preferences 6 years ago
Baris Usakli 1bb6067e19 suggested topics fix, if search doesn't return enough topics 6 years ago
Barış Soner Uşaklı b8c08a5417 dont call db for guests 6 years ago
Barış Soner Uşaklı e17c4b2766 uid fixes 6 years ago
Barış Soner Uşaklı 69bb3293ee misc fixes
handle spider uids properly
6 years ago
Barış Soner Uşaklı 96e986a865 optimize suggested topics/search 6 years ago
Barış Soner Uşaklı f8e219c323 handle empty set, add test 6 years ago
Barış Soner Uşaklı 973b5fcfe0 closes #6932 6 years ago
renovate[bot] 64b9dabff8 chore(deps): update dependency eslint-config-airbnb-base to v13 (#6599)
* chore(deps): update dependency eslint-config-airbnb-base to v13

* chore: #6599, linting 😬
6 years ago
Barış Soner Uşaklı 2df19c0ae4 fix typo 6 years ago
Barış Soner Uşaklı ed7399f9ed shorter code 6 years ago
Barış Soner Uşaklı c27be9db5a
Recent refactor (#6879)
* wip

* fix inf scroll

* remove duplicated code

* remove dupe code in /unread

* use topicList

* update tag page to use topicList

* fix tests

* combine ifs

* remove more dupe code

* disable timeout
6 years ago
Baris Usakli 12f3f56b01 change to .exists 6 years ago
Baris Usakli 566564ed74 fix redis tests
fixed typo in groups/data.js
added postcount,viewcount to int fields
6 years ago
Barış Soner Uşaklı fb6067a7ca only parse if field is requested 6 years ago
Barış Soner Uşaklı f3a679e268 remove parseInts 6 years ago
Barış Soner Uşaklı aca50f1fe1 dont crash if topic is moved to pinned topic 6 years ago
Barış Soner Uşaklı 728e7bdae9 remove more parseInts 6 years ago
Barış Soner Uşaklı 537b7ff7e8 remove more parseInts 6 years ago
Baris Usakli a228dc2de9 closes #6797 6 years ago
Baris Usakli 138154a71c move modules 6 years ago
Baris Usakli fdbefa3d1f remove more parseInts 6 years ago
Baris Usakli 881185ae59 closes #6857 6 years ago
Barış Soner Uşaklı ac39112271 remove more parseInts 6 years ago
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
6 years ago
Barış Soner Uşaklı f5fe91286e closes #6851 6 years ago
Barış Soner Uşaklı c3a903142a closes #6850 6 years ago
Barış Soner Uşaklı b2b33ffa57 topics data refactor 6 years ago
Barış Soner Uşaklı 26d4e0852f use includes instead of indexOf
use _.uniq instead of filter&indexOf
6 years ago
Baris Usakli b4d8b7cf38 move sorted topics code out of recent 6 years ago
Barış Soner Uşaklı 8079d3d3b7 add tids used to returned data 6 years ago
Barış Soner Uşaklı c06480b82e add tests for blocked users teaser/unread 6 years ago
Barış Soner Uşaklı a0f5461860
don't set and read from topic hash in parallel (#6831)
this was causing a test to fail, although very rarely
6 years ago
Barış Soner Uşaklı ba21c5170a moved increase/decrease
moved these two methods into addPostToTopic&removePostFromTopic
6 years ago
Barış Soner Uşaklı 5c7dd54815
fix zsets and update them on post move, closes #6823 (#6827) 6 years ago
Barış Soner Uşaklı 4b970a1072 use lodash, load 3 posts per iteration 6 years ago
Barış Soner Uşaklı 1590452697 filter topics you cant read @benlubar 6 years ago
Barış Soner Uşaklı cf75c79611
Unread changes closes #6781 (#6783)
* WIP

* more unread work

* faster teaser block handling

if user doesn't have anyone blocked don't check

* much faster filtering of blocked posts

* add missing uid

* add tidsByFilter to return

* dont load all pids to find previous non-blocked teaser

* fix unread filters

they no longer use unread/new unread/watched etc they are query strings now

* shorter nav item code

* add unreplied to filters

fix icons not clearing to 0
dont increment unread counters if there is a reply in a topic where you ignored the topic creator
6 years ago
Barış Soner Uşaklı 17ce482c9f closes #6780 6 years ago
Barış Soner Uşaklı b7ead6dc9c
Replace jimp with sharp (#6774)
* add probe image size and max image size

* replace jimp and image-probe with sharp

* better name for test

* resize with just path

* resize thumb inplace

* use filename
6 years ago
Barış Soner Uşaklı 08dfb3470c fix tests 6 years ago
Barış Soner Uşaklı b43bfa3d5b closes #6759
-moved user.blocks.filter from unread controller to getUnreadTopics so
topics are filtered at other places this function is called
- when a new post is made do not send it to uids that have blocked the
poster
- update getUnreadTids so it does not return topics that have new posts
from blocked users
- update hasReadTopics so it does not return false data if topic has new
posts from blocked users
6 years ago
Barış Soner Uşaklı 37ca5a1c63 filter falsy teasers 6 years ago
Barış Soner Uşaklı 93d52ef338 default to 'recent' sort 6 years ago
Barış Soner Uşaklı 6f18cf368b closes #6741 6 years ago
Baris Usakli e7bd0cea74 fix lint 7 years ago
Baris Usakli bcef32c5af closes #6645 7 years ago
Baris Usakli f830322ee9 closes #6597 7 years ago
Barış Soner Uşaklı ccad95cf73 closes #6579 7 years ago
Barış Soner Uşaklı f7a0815b46 fix redis tests 7 years ago
Barış Soner Uşaklı 2c3fd5fbce remove some dupe code 7 years ago
Barış Soner Uşaklı 2fd2accf8c add tests for top topics
fix popular page displaying 18 topics per page
7 years ago
Julian Lam cb3b2bd27b closes #6562 7 years ago
Barış Soner Uşaklı f77e7de285 closes #6067 7 years ago
Barış Soner Uşaklı 81328806a0 closes #6511 7 years ago