Commit graph

156 commits

Author SHA1 Message Date
KMY
51cf7b3eb4 Merge remote-tracking branch 'parent/main' into upstream-20240417 2024-04-17 12:51:32 +09:00
Matt Jankowski
3159c0a547
Add scope Status.list_eligible_visibility (#29951) 2024-04-16 09:17:03 +00:00
KMY
52c5784910 Merge remote-tracking branch 'parent/main' into upstream-20240409 2024-04-09 12:15:51 +09:00
Matt Jankowski
285f63c02e
Use composable query in User.active scope (#29775) 2024-04-08 13:53:49 +00:00
KMY
479c4fecc1 Merge remote-tracking branch 'parent/main' into upstream-20240403 2024-04-03 12:12:09 +09:00
Matt Jankowski
921c4c1273
Match comment style of FeedManager list/tags checks (#29639)
Co-authored-by: Renaud Chaput <renchap@gmail.com>
2024-04-02 14:07:31 +00:00
KMY
9fa938eb0f Merge remote-tracking branch 'parent/main' into upstream-20240125 2024-01-25 18:15:21 +09:00
Matt Jankowski
1290fede65
Fix Rails/WhereExists cop in app/lib (#28862) 2024-01-24 11:51:09 +00:00
KMY
e65fb9fb51 Merge remote-tracking branch 'parent/main' into upstream-20240112 2024-01-12 14:48:17 +09:00
KMY
94c2396a34 Merge remote-tracking branch 'parent/main' into upstream-20231204 2023-12-04 12:04:52 +09:00
Matt Jankowski
3bc437b99a
Fix Style/RedundantParentheses cop (#28176) 2023-12-01 16:00:44 +00:00
KMY(雪あすか)
a88349af55
Add: #8 サークル投稿の転送 (#294)
* Add: `conversations`テーブルに`ancestor_status`プロパティ

* Fix test

* Fix test more

* Add: `limited_visibility`に`Reply`を追加、`context`のURI

* Add: 外部からの`context`受信処理

* Fix test

* Add: 公開範囲「返信」

* Fix test

* Fix: 返信に返信以外の公開範囲を設定できない問題

* Add: ローカル投稿時にメンション追加・他サーバーへの転送

* Fix test

* Fix test

* Test: ローカルスレッドへの返信投稿の転送

* Test: 未知のアカウントからのメンション

* Add: 編集・削除の連合に対応

* Remove: 重複テスト

* Fix: 改善

* Add: 編集削除の転送処理・返信なのにsilentなメンションでの通知

* Fix: リプライが第三者に届かない問題

* Add: `always_sign_unsafe`

* Add: Subject

* Remove space

* Fix: 他人のスレッドの送信先一覧を非表示

* Fix: おかしいコード
2023-11-30 09:29:24 +09:00
S.H
d18b233239
Fix: #304 rubocop:disable Style/OptionalBooleanParameter (#310) 2023-11-28 21:27:55 +09:00
KMY
55c6192f15 Merge remote-tracking branch 'parent/main' into upstream-20231111 2023-11-11 08:25:43 +09:00
Matt Jankowski
43e2f763b2
Extract crutches_active_mentions from FeedManager (#27785) 2023-11-10 12:47:38 +00:00
KMY
08f86bcb8f Merge commit '389a6cc4c0' into upstream-20231108 2023-11-08 10:41:10 +09:00
KMY
64578feeb4 Merge remote-tracking branch 'parent/main' into upstream-20231107 2023-11-07 11:35:05 +09:00
Matt Jankowski
0c4e7c06dc
Fix Rails/FindEach cop (#26886) 2023-11-06 15:53:29 +00:00
KMY(雪あすか)
eea84d476e Fix when unfollow a tag, my post also disappears from the home timeline (#27391) 2023-10-13 19:04:51 +09:00
KMY(雪あすか)
45bdd60f3c
Fix when unfollow a tag, my post also disappears from the home timeline (#27391) 2023-10-13 11:15:47 +02:00
KMY
952f51659b Fix: ブーストされたばかりの投稿を編集しても相手のタイムラインに反映されない問題 2023-10-02 17:25:49 +09:00
KMY
58583cb7bb Change list exclusive setting to apply antenna accounts 2023-09-21 20:42:56 +09:00
KMY
fdf1d6df38 Merge remote-tracking branch 'parent/main' into kb_migration 2023-09-06 10:09:07 +09:00
Claire
cab4cbfa5c
Fix “Scoped order is ignored, it's forced to be batch order.” warnings (#26793) 2023-09-05 15:37:23 +02:00
KMY
21e590c02b Remove statuses from antenna timeline when blocked 2023-08-20 11:43:19 +09:00
KMY
5c758b344c Add antenna timeline 2023-08-19 17:25:55 +09:00
KMY
a56a732dd2 Merge remote-tracking branch 'parent/main' into kb_migration 2023-07-18 11:35:02 +09:00
Claire
943f27f437
Remove unfollowed hashtag posts from home feed (#26028) 2023-07-17 13:56:28 +02:00
KMY
f59eb4c6d3 Add list exclusive property stl support 2023-06-07 14:48:43 +09:00
KMY
9027195ae3 Merge commit '0ddc895282' into kb_migration 2023-06-06 11:36:04 +09:00
Darius Kazemi
bacb674921
Add exclusive lists (#22048)
Co-authored-by: Liam Cooke <liam@liamcooke.com>
Co-authored-by: John Holdun <john@johnholdun.com>
Co-authored-by: Effy Elden <effy@effy.space>
Co-authored-by: Lina Reyne <git@lina.pizza>
Co-authored-by: Lina <20880695+necropolina@users.noreply.github.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-06-05 09:37:02 +02:00
KMY
db5c358f4f Merge commit '9ffe6817e0' into kb_migration 2023-05-25 09:03:06 +09:00
KMY
20497e0c21 Add login visibility 2023-05-24 17:41:47 +09:00
KMY
4a19077534 Merge commit 'dfa5889fc0' into kb_migration 2023-05-23 22:17:10 +09:00
Matt Jankowski
9f5deb310b
Fix Performance/MapCompact cop (#24797)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-05-23 10:49:12 +02:00
KMY
129fa63fc5 Bump to timeline items max 2023-05-10 09:02:04 +09:00
KMY
32f0e619f0 Merge commit 'f877aa9d70' into kb_migration 2023-05-07 14:50:12 +09:00
Nick Schonning
ff3b7069cf
Autofix Rubocop Style/ConcatArrayLiterals (#23755) 2023-05-04 05:57:40 +02:00
KMY
9e2390f3c9 Merge branch 'kb_development' into kb_migration 2023-03-08 16:38:48 +09:00
KMY
ed3abf4f2a Add public_unlisted scope as status privacy 2023-03-05 13:24:31 +09:00
Jean byroot Boussier
922837dc96
Upgrade to latest redis-rb 4.x and fix deprecations (#23616)
Co-authored-by: Jean Boussier <jean.boussier@gmail.com>
2023-03-04 16:38:28 +01:00
Eugen Rochko
4c919812b9
Change number of stored items in home feed from 400 to 800 (#23349) 2023-02-01 11:24:22 +01:00
Jeong Arm
fdd1facba1
Fix home TL could contain post from who blocked me (#22849)
* Fix home tl contains post from who blocked me

* Add test

* Fix feed_manager's build_crutches

blocked_by was not includes status' owner

* Add test for status from I blocked

* Fix typo
2023-01-05 13:30:38 +01:00
Eugen Rochko
1546538de9
Fix improperly checking for blocked domain on followed hashtags (#19472)
Fix #19469
2022-10-26 20:40:56 +02:00
Eugen Rochko
8f07381856
Revert "Remove preference to aggregate reblogs in home/list feeds (#18112)" (#19463)
This reverts commit af396fa35f.
2022-10-26 09:10:18 +02:00
Eugen Rochko
50948b46aa
Add ability to filter followed accounts' posts by language (#19095) 2022-09-20 23:51:21 +02:00
Eugen Rochko
af396fa35f
Remove preference to aggregate reblogs in home/list feeds (#18112) 2022-08-25 23:38:36 +02:00
Eugen Rochko
c3f0621a59
Add ability to follow hashtags (#18809) 2022-07-17 13:49:29 +02:00
Claire
02851848e9
Revamp post filtering system (#18058)
* Add model for custom filter keywords

* Use CustomFilterKeyword internally

Does not change the API

* Fix /filters/edit and /filters/new

* Add migration tests

* Remove whole_word column from custom_filters (covered by custom_filter_keywords)

* Redesign /filters

Instead of a list, present a card that displays more information and handles
multiple keywords per filter.

* Redesign /filters/new and /filters/edit to add and remove keywords

This adds a new gem dependency: cocoon, as well as a npm dependency:
cocoon-js-vanilla. Those are used to easily populate and remove form fields
from the user interface when manipulating multiple keyword filters at once.

* Add /api/v2/filters to edit filter with multiple keywords

Entities:
- `Filter`: `id`, `title`, `filter_action` (either `hide` or `warn`), `context`
  `keywords`
- `FilterKeyword`: `id`, `keyword`, `whole_word`

API endpoits:
- `GET /api/v2/filters` to list filters (including keywords)
- `POST /api/v2/filters` to create a new filter
  `keywords_attributes` can also be passed to create keywords in one request
- `GET /api/v2/filters/:id` to read a particular filter
- `PUT /api/v2/filters/:id` to update a new filter
  `keywords_attributes` can also be passed to edit, delete or add keywords in
   one request
- `DELETE /api/v2/filters/:id` to delete a particular filter
- `GET /api/v2/filters/:id/keywords` to list keywords for a filter
- `POST /api/v2/filters/:filter_id/keywords/:id` to add a new keyword to a
   filter
- `GET /api/v2/filter_keywords/:id` to read a particular keyword
- `PUT /api/v2/filter_keywords/:id` to edit a particular keyword
- `DELETE /api/v2/filter_keywords/:id` to delete a particular keyword

* Change from `irreversible` boolean to `action` enum

* Remove irrelevent `irreversible_must_be_within_context` check

* Fix /filters/new and /filters/edit with update for filter_action

* Fix Rubocop/Codeclimate complaining about task names

* Refactor FeedManager#phrase_filtered?

This moves regexp building and filter caching to the `CustomFilter` class.

This does not change the functional behavior yet, but this changes how the
cache is built, doing per-custom_filter regexps so that filters can be matched
independently, while still offering caching.

* Perform server-side filtering and output result in REST API

* Fix numerous filters_changed events being sent when editing multiple keywords at once

* Add some tests

* Use the new API in the WebUI

- use client-side logic for filters we have fetched rules for.
  This is so that filter changes can be retroactively applied without
  reloading the UI.
- use server-side logic for filters we haven't fetched rules for yet
  (e.g. network error, or initial timeline loading)

* Minor optimizations and refactoring

* Perform server-side filtering on the streaming server

* Change the wording of filter action labels

* Fix issues pointed out by linter

* Change design of “Show anyway” link in accordence to review comments

* Drop “irreversible” filtering behavior

* Move /api/v2/filter_keywords to /api/v1/filters/keywords

* Rename `filter_results` attribute to `filtered`

* Rename REST::LegacyFilterSerializer to REST::V1::FilterSerializer

* Fix systemChannelId value in streaming server

* Simplify code by removing client-side filtering code

The simplifcation comes at a cost though: filters aren't retroactively
applied anymore.
2022-06-28 09:42:13 +02:00
Eugen Rochko
b93e2ae0a4
Fix n+1 query on feed merge and populate operations (#18111) 2022-04-26 22:06:31 +02:00