Commit Graph

465 Commits

Author SHA1 Message Date
Barış Soner Uşaklı
b5dd89e1c0 feat: store topic title and tags in diffs (#10900)
* feat: store topic title and tags in diffs

allow restoring post diff if tags didn't change

* test: fix tests, fast computer problems
2022-09-16 22:16:08 -04:00
Barış Soner Uşaklı
e06e526e54 fix: don't crash if post is undefined 2022-08-15 14:18:43 -04:00
Opliko
3975fa2e45 fix: return at least one in sizeCalculation (#10832)
if post content is empty post cache should still consider its size to be at least one. fixes #10831
2022-08-15 14:18:43 -04:00
Julian Lam
9b753d6d57 TTL Cache (#10816)
* refactor: move src/cacheCreate.js to src/cache/lru.js

* fix: call new library location for lru cache creator

* feat: add ttl cache

* fix: update upload throttler to use ttl cache instead of lru cache

* chore: add missing dependency

* fix: avoid pubsub conflicts

* fix: use get instead of peek, which is not available in ttl-cache
2022-08-10 15:26:07 -04:00
Julian Lam
c07d595662 Update to lru-cache@^7 (#10815)
* chore(deps): bump lru-cache from 6.0.0 to 7.13.1 in /install

Bumps [lru-cache](https://github.com/isaacs/node-lru-cache) from 6.0.0 to 7.13.1.
- [Release notes](https://github.com/isaacs/node-lru-cache/releases)
- [Changelog](https://github.com/isaacs/node-lru-cache/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/node-lru-cache/compare/v6.0.0...v7.13.1)

---
updated-dependencies:
- dependency-name: lru-cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix(lru-cache): remove unneeded `length` params for cache creation, as `maxSize` was not used in those init calls, also renamed some methods to match new method names in lru-cache [breaking]

Added deprecation notices for old params

* fix: replace three direct calls to lru-cache with call to cacheCreate, moved cache creation call in uploads to run on first init as config is not populated at lib init

* test: move configs init above cache reset calls in databasemock

* move some more code above cache clear

* refactor: remove unused

* test: lru

* test: more debug

* test: on more test

* use await helpers.uploadFile

* fix: tests remove logs

* fix: acp cache page

* fix: add in one more guard again cache instantiation with `length` prop but no `maxSize` prop

* fix(deps): bump markdown

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>
2022-08-10 13:24:16 -04:00
Barış Soner Uşaklı
cd438b328a fix: unnecessary escape 2022-07-30 19:57:48 -04:00
Julian Lam
dc3a6a29bc fix: #10783, do not purge files without a timestamp prefix 2022-07-29 15:32:23 -04:00
Julian Lam
22368b996e refactor: move orphan cleaning logic to its own method, added tests for getOrphans and cleanOrphans 2022-06-15 15:22:51 -04:00
Julian Lam
88aee43947 feat: new cronjob and ACP option to delete orphans after configurable number of days, closes #10659 2022-06-15 15:22:51 -04:00
Julian Lam
a04da673fa fix: #10690, all uploads in uploads/files showing orphaned 2022-06-10 15:29:18 -04:00
Barış Soner Uşaklı
9acdc6808c feat: allow unban/unmute on flag details page. closes #10593 2022-05-15 21:49:27 -04:00
Barış Soner Uşaklı
767973717b perf: WIP #10449, allow array of pids for posts.purge (#10465)
* perf: WIP #10449, allow array of pids for posts.purge

* refactor: deletePostDiffs

* perf: deletePostFromReplies/deletePostFromGroups

* refactor: upload

* refactor: deleteFromCategoryRecentPosts

deleteFromUsersBookmarks
deleteFromUsersVotes

* feat: closes #10468, add incrObjectFieldByBulk

* refactor: allow nids for notifications.rescind

* refactor: allow uids array for user.updatePostCount

* refactor: rewrite deleteFromTopicUserNotification to work with an array

* feat: deprecate action:post.purge as well

* lint: add missing comma
2022-04-07 14:06:25 -04:00
Barış Soner Uşaklı
9abe22a04b refactor: remove some verbose logging 2022-03-22 18:29:37 -04:00
Barış Soner Uşaklı
421ba6e1a2 feat: new admin events, closes #10405 2022-03-18 15:54:40 -04:00
Barış Soner Uşaklı
3414a23bce feat: min:rep:upvote, and other limits similar to downvotes
closes #10380
2022-03-11 13:34:36 -05:00
Barış Soner Uşaklı
2056ac04e0 feat: post-queue hooks, closes #10381 2022-03-11 12:27:07 -05:00
Barış Soner Uşaklı
df46ab4874 feat: add hook filter:posts.getUserInfoForPosts 2022-03-09 15:05:11 -05:00
gasoved
62187caa67 feat: post auto flagging on downvotes #10029 (#10367)
* feat: post auto flagging on downvotes

* fix: just get one admin
2022-03-04 15:38:16 -05:00
Barış Soner Uşaklı
e9e48a756f feat: delete diffs on post purge, closes #10291 2022-02-16 13:23:27 -05:00
Julian Lam
d5ed8736aa feat: deleting a user upload dissociates from posts, and vice versa 2022-02-14 15:02:07 -05:00
Julian Lam
6489e9fd9e refactor: change the post uploads' hash seeds to have the files/ prefix 2022-02-14 15:02:07 -05:00
Julian Lam
84dfda59e6 fix: #10144, automatically delete uploads from disk on post purge, ACP option to keep uploads on disk if desired 2022-02-14 15:02:07 -05:00
Julian Lam
aad0c5fd51 refactor: abstract some common code out to local utility methods 2022-02-14 15:02:07 -05:00
Barış Soner Uşaklı
079c487dcb fix: controversial posts/bests posts not showing anything
fix upgrade script so posts with negative votes are stored, a post can have 10 upvotes and 2 downvotes
fix missing negative votes checks
remove unnecessary pids flters since the cids are only already filtered by topics:read
2022-02-04 21:52:44 -05:00
Julian Lam
5afd5de07d feat: new accounts route to show most downvoted ('controversial') posts 2022-02-04 14:33:58 -05:00
Barış Soner Uşaklı
f9279b636b fix: post indices if there is a blocked user in topic 2022-01-18 20:31:06 -05:00
Barış Soner Uşaklı
c4042c70de feat: #9506, allow seeing and editing your queued posts
allow regular users access to post queue
allow regular users to edit their queued post/topic title
allow regular users to remove their post from post queue
ability to send a notification to user without removing from post queue
allow accessing single post queue items from notifications
2021-12-16 22:25:39 -05:00
Barış Soner Uşaklı
45d8157fee fix: tests 2021-12-07 19:03:20 -05:00
Barış Soner Uşaklı
830166d120 fix: #10067, count posts instead of incr/decr 2021-12-07 18:40:23 -05:00
Barış Soner Uşaklı
fb363957d1 refactor: tab rules 2021-11-18 16:42:18 -05:00
Barış Soner Uşaklı
8379c11b22 refactor: setObjectBulk to match sortedSetAddBulk 2021-11-12 19:51:59 -05:00
Barış Soner Uşaklı
67cb249122 fix: #9972 2021-11-03 22:47:15 -04:00
Barış Soner Uşaklı
8ad9a103b3 fix: #9866, fire vote hooks after reputation changes (#9867) 2021-10-05 12:20:09 -04:00
Julian Lam
be43cd2597 Topic Linkbacks (#9825)
* feat: WIP topic linkbacks, + failing tests

* test: don't accidentally comment out all of the post tests

* fix: rename to "backlinks"

* feat: more stub code, more failing tests

* feat: backend methods and passing tests for topic backlinks

* test: uncomment test/posts.js again

* fix: missing quotation mark in topic event helper

* fix: superfluous usage of Promise.all

* test: fix broken test -- used hardcoded (and incorrect) url

* test: parseInt shenanigans
2021-09-29 12:26:15 -04:00
Barış Soner Uşaklı
8b576a3704 fix: #9560, don't save post diffs if content didn't change 2021-09-14 14:07:58 -04:00
Barış Soner Uşaklı
0c81642997 fix: #9681, update posts in queue if target tid is merged 2021-07-30 22:51:06 -04:00
Barış Soner Uşaklı
84e065752f fix: #9622 (#9623)
dont allow regular user to remove system tags
2021-06-22 11:09:32 -04:00
Barış Soner Uşaklı
b40fc4b64d feat: #9511 send notifications on accept/reject 2021-04-26 14:50:44 -04:00
Barış Soner Uşaklı
285aa36556 feat: allow exists methods to work with arrays and single id 2021-03-31 13:20:35 -04:00
gasoved
aa0137b1c4 feat: rescheduling (editing ST) (#9445) 2021-03-30 17:51:23 -04:00
Barış Soner Uşaklı
a1ee1a2a76 chore: remove log 2021-03-24 19:21:01 -04:00
Barış Soner Uşaklı
c5dda64fa8 fix: #9410, fix post queue
items in the cache were parsed over and over again
2021-03-24 19:19:49 -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ı
801570e4cf fix: #9404, show signatures if the target user has signature privilege 2021-03-17 13:31:31 -04:00
Barış Soner Uşaklı
56523aa148 revert: change toPid truthy 2021-03-16 18:02:21 -04:00
Barış Soner Uşaklı
a8f7b24452 fix: #9395, pass all data from client to Topics.reply (#9396)
* fix: #9395, pass all data from client to Topics.reply

so plugins can set custom fields
refactor and use setDefaultPostData

* fix: circular json error

* refactor: change params
2021-03-15 15:34:05 -04:00
Barış Soner Uşaklı
eb360351e5 fix: #9394, fix guest handles 2021-03-15 14:03:35 -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
Barış Soner Uşaklı
f316c4d4b8 refactor: remove uncessary check 2021-03-14 00:39:11 -05:00
Barış Soner Uşaklı
0e07f3c9ba feat: allow defining a list of system tags 2021-02-17 14:44:04 -05:00