Commit Graph

310 Commits

Author SHA1 Message Date
Julian Lam
6e2da9966e refactor: move plugin hook methods to plugin.hooks.* 2020-11-20 16:32:39 -05:00
Barış Soner Uşaklı
ef3df47a6d refactor: remove breaking change in pin expiry 2020-11-20 14:05:02 -05:00
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
2020-11-20 11:31:14 -05:00
Barış Soner Uşaklı
88a07e69b5 feat: add filter:category.getFields 2020-10-26 15:14:54 -04:00
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
2020-10-26 10:43:18 -04:00
Barış Soner Uşaklı
dc29f4dca2 refactor: switch to using slugify module 2020-10-11 21:49:37 -04:00
Barış Soner Uşaklı
948f26143c feat: #5964, #8734 remove colorpicker 2020-10-11 16:05:52 -04:00
Barış Soner Uşaklı
bbf6889ecc fix: topic count on category page if filter is author 2020-09-21 22:24:38 -04:00
Barış Soner Uşaklı
437424375e feat: expose calculateTopicPostCount and getChildrenTree 2020-09-14 14:27:44 -04:00
Barış Soner Uşaklı
ce6b20c4b7 feat: remove topics.async.getTopicData usage 2020-07-24 12:02:16 -04:00
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
2020-07-08 14:09:10 -04:00
Barış Soner Uşaklı
2355d9d5dd fix: escape navigation item fields, theme:id, category fields 2020-06-26 15:19:18 -04:00
Barış Soner Uşaklı
0d112b3605 refactor: make code climate happier? 2020-06-24 16:10:06 -04:00
Barış Soner Uşaklı
c718b7293e feat: #3783, min/max tags per category 2020-06-24 16:02:57 -04:00
Barış Soner Uşaklı
e8f0da6e42 refactor: shorter code 2020-06-19 11:51:41 -04:00
Barış Soner Uşaklı
8627bee541 fix: #8386, use backgroundImage everywhere 2020-06-09 10:39:55 -04:00
Barış Soner Uşaklı
ec5582b53c feat: add privilege give/rescind hooks (#8336)
* feat: add privilege give/rescind hooks

action:privileges.categories.give/rescind
action:privileges.global.give/rescind

breaking change, privileges.categories.give/rescind and privileges.global.give/rescind use full privilege name for groups ie `groups:find` instead of `find`

* fix: tests, privileges renamed
2020-05-26 21:57:38 -04:00
Barış Soner Uşaklı
97c086aba9 fix: missing await 2020-05-12 12:18:30 -04:00
Barış Soner Uşaklı
aad0880f7c feat: add filter:categories.getRecentTopicReplies
pass req.query to getRecentTopicReplies
2020-05-08 22:36:16 -04:00
Barış Soner Uşaklı
7e42988489 refactor: shorter function 2020-05-08 20:27:04 -04:00
Barış Soner Uşaklı
16a98eaf50 fix: only add to set if numRecentReplies>0 2020-05-05 14:12:46 -04:00
Barış Soner Uşaklı
6c59683b16 refactor: change to action:categories.updateRecentTid 2020-05-04 21:17:05 -04:00
Barış Soner Uşaklı
51933c1fcb feat: add filter:categories.updateRecentTid 2020-05-04 13:09:34 -04:00
Baris Usakli
485fbd2f14 feat: #7964, change all categories at once
allow passing cids to setCategoryWatchState and category.exists
2019-10-11 15:25:41 -04:00
Baris Usakli
ac6eb31c69 refactor: async/await flags.js 2019-09-28 14:37:50 -04:00
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
2019-09-26 21:55:49 -04:00
Barış Soner Uşaklı
86b16629f8 refactor: returned fields 2019-09-20 22:10:08 -04:00
Barış Soner Uşaklı
87f6ac59b1 fix: returned data 2019-09-20 19:04:47 -04:00
Barış Soner Uşaklı
307abaa8cc fix: only return necessary data for categories 2019-09-20 02:12:15 -04:00
Barış Soner Uşaklı
b81405a8cc feat: increase size of local cache 2019-09-11 18:09:39 -04:00
Barış Soner Uşaklı
6cda369872 refactor: make categories.buildForSelectCategories non async 2019-09-10 23:44:08 -04:00
Baris Usakli
71e50bbf4e refactor: socket.io/admin/categories async/await 2019-09-06 16:31:19 -04:00
Barış Soner Uşaklı
69333f59af refactor: remove vars 2019-08-22 21:16:37 -04:00
Barış Soner Uşaklı
f2912e9fe0 fix: pinned tids showing on page > 1 2019-08-22 21:14:18 -04:00
Julian Lam
29f96b199c fix(style): requiring parens in block bodies 2019-08-13 15:12:27 -04:00
Julian Lam
0921230976 fix(style): updated code to follow new eslint recommendations
Squashed commit of the following:

commit f9ce878b26
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 80dd370e41
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 f4dd9cabb2
    Author: Julian Lam <julian@nodebb.org>
    Date:   Tue Aug 13 11:33:05 2019 -0400

        fix: resolved breaking changes from sitemap v4 upgrade

    commit 9043415ee1
    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 e3352b272e
    Author: Renovate Bot <bot@renovateapp.com>
    Date:   Mon Aug 12 07:59:05 2019 +0000

        fix(deps): update dependency sitemap to v4

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

    fix(deps): update dependency commander to v3

commit 2104449d38
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 d2937f446a
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Tue Aug 13 10:36:48 2019 -0400

    feat: async/await admin/controllers

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

    Latest translations and fallbacks

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

    feat: async/await

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

    feat: async/await refactor

    controllers/accounts

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

    feat: async/await controllers/accounts

commit 2f25aae57b
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 c9e83f2374
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Sun Aug 11 00:14:35 2019 -0400

    fix: remove empty line

commit 30be91b26c
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 2e4a71c0b6
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
2019-08-13 15:12:27 -04:00
Barış Soner Uşaklı
fd5f9822bd fix: #7823, fix topic move readding pids when topic is deleted 2019-08-08 14:23:34 -04:00
Baris Usakli
8bf40d04c9 fix: #7788, fix on topic move and new post 2019-07-26 14:23:10 -04:00
Baris Usakli
053ff510bb fix: #7788, fix another edge case
ignore pids in topics that were purged/deleted
2019-07-26 13:22:33 -04:00
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
2019-07-23 21:11:04 -04:00
Barış Soner Uşaklı
fcf3e0770b feat: #7743 categories 2019-07-16 00:41:42 -04:00
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
2019-07-03 12:48:26 -04:00
Julian Lam
67b8cb8977 fix: restore uid in teasers userObj 2019-06-26 12:14:13 -04:00
Barış Soner Uşaklı
cb51c239f2 feat: remove duped zadds, these are already in topics.onNewPostMade 2019-06-24 23:05:56 -04:00
Barış Soner Uşaklı
198d05875f feat: cleanup, use bulk 2019-06-24 21:36:20 -04:00
Barış Soner Uşaklı
a39f0ef592 fix: #5570, create per category user post zsets 2019-06-24 15:21:43 -04:00
Barış Soner Uşaklı
0dca13e9c2 feat: optimize copy privileges 2019-05-30 21:41:54 -04:00
Barış Soner Uşaklı
8aef689f05 fix: no need for moderate bit for global mods and admins 2019-05-30 20:12:04 -04:00
Barış Soner Uşaklı
035f624758 Remove implicit mod privs. closes #6345 (#7648)
* feat: add upgrade script to give mods privs

* feat: give all privileges when making a moderator

* feat: remove implicit privs

* feat: give global mods default privs

* feat: more priv fixes

* feat: use lodash

* fix: remove implicit mod priv from topic delete

* fix: more privs

* fix: posts.canEdit

* fix: canDelete and canEdit

* fix: tests, remove console.log

* feat: shorter functions

* feat: add tests

* fix: uids

* fix: redis random test fail
2019-05-30 19:30:47 -04:00
Baris Usakli
64679b37cc fix: #7647, fix getModeratorUids
sets.groupNames is an array that contains other arrays of groupnames so passing it to getMembersOfGroups returned wrong results when there were more than 1 element in it.
2019-05-29 15:44:33 -04:00