Matt Jankowski
1564799952
Add spec coverage for media CLI refresh
command ( #28166 )
2023-12-01 14:18:45 +00:00
Matt Jankowski
7753e5f715
Add shared example for CLI command specs ( #28165 )
2023-12-01 12:00:34 +00:00
Matt Jankowski
92fa9b109f
Add spec coverage for media CLI usage command ( #28167 )
2023-12-01 11:56:47 +00:00
Claire
85662a5a57
Change img-src
and media-src
CSP directives to not include https:
( #28025 )
2023-11-30 13:47:01 +00:00
Matt Jankowski
973597c6f1
Consolidate configuration of Sidekiq::Testing.fake!
setup ( #28046 )
2023-11-23 09:43:43 +00:00
Claire
c260a68f54
Clean up some Mastodon::CLI::Accounts
tests ( #27473 )
2023-11-20 10:46:02 +00:00
Matt Jankowski
1fabf20a88
Reduce .times
usage in lib/mastodon/cli/accounts
spec ( #27944 )
2023-11-20 09:04:46 +00:00
Matt Jankowski
b2c5b20ef2
Fix RSpec/AnyInstance
cop ( #27810 )
2023-11-14 14:52:59 +00:00
Matt Jankowski
4329616c53
Ignore block result of send
method and remove rubocop:disable
in deepl spec ( #27741 )
2023-11-08 14:43:17 +00:00
Matt Jankowski
ee57bb4b44
Account statuses filter spec speedup ( #27674 )
2023-11-07 15:47:01 +00:00
Matt Jankowski
370802ce48
Add coverage for CLI::Maintenance#fix_duplicates
command ( #25252 )
2023-11-07 15:21:58 +00:00
Matt Jankowski
49e2772064
Fix RSpec/MessageSpies
cop ( #27751 )
2023-11-07 09:46:28 +00:00
Matt Jankowski
cfa14ec6d1
Fix Lint/EmptyBlock
cop ( #27748 )
2023-11-07 09:11:04 +00:00
Matt Jankowski
d6f50839e1
Fix RSpec/SpecFilePathFormat
cops ( #27730 )
2023-11-06 16:25:40 +00:00
Matt Jankowski
fe26f33e0a
Fix Rails/RedundantActiveRecordAllMethod
cop ( #26885 )
2023-11-06 15:51:52 +00:00
Matt Jankowski
949f5eb860
Fix RSpec/MetadataStyle
cop in spec/ ( #27729 )
2023-11-06 14:28:20 +00:00
Claire
c0989b78f8
Fix incoming status creation date not being restricted to standard ISO8601 ( #27655 )
2023-11-06 09:28:14 +00:00
Claire
0337df3a42
Fix posts from threads received out-of-order sometimes not being inserted into timelines ( #27653 )
2023-11-02 14:58:37 +00:00
Matt Jankowski
eae5c7334a
Extract class from CSP configuration/initialization ( #26905 )
2023-10-27 16:20:40 +00:00
Matt Jankowski
e93a75f1a1
Rails 7.1 update ( #25963 )
2023-10-23 17:58:29 +00:00
Claire
13688539bc
Fix processing LDSigned activities from actors with unknown public keys ( #27474 )
2023-10-20 10:45:46 +02:00
Daniel M Brasil
7bc8f03162
Add test coverage for Mastodon::CLI::Accounts#migrate
( #25284 )
2023-10-19 16:11:15 +02:00
Daniel M Brasil
091a21e1bc
Add test coverage for Mastodon::CLI::Accounts#prune
( #25204 )
2023-10-18 10:20:50 +02:00
Claire
b34a2b1b33
Fix errors in CLI specs ( #27399 )
2023-10-17 15:30:12 +02:00
Matt Jankowski
d54fec24e5
Add coverage for CLI::PreviewCards#remove
command ( #27441 )
2023-10-17 13:06:16 +02:00
Matt Jankowski
fc9ab61448
Expand spec coverage of CLI::Media
( #27437 )
2023-10-16 18:20:58 +02:00
Matt Jankowski
f8afa0f614
Remove unused stub json ld context ( #25454 )
2023-10-16 15:38:27 +02:00
Matt Jankowski
00e92b4038
Add coverage for CLI::Statuses
command ( #25321 )
2023-10-16 15:37:22 +02:00
Claire
299aa71c8f
Fix handling of inLanguage
attribute in preview card processing ( #27423 )
2023-10-16 15:24:14 +02: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
Claire
0619ec1592
Fix boosts of local users being filtered in account timelines ( #27204 )
2023-10-10 13:52:41 +02:00
Matt Jankowski
72cec47c13
Silence deprecation warning in CacheBuster spec ( #27264 )
2023-10-04 10:17:36 +02:00
Claire
ceb365c419
Fix boosts of local users being filtered in account timelines ( #27204 )
2023-10-03 12:21:42 +02:00
Claire
94893cf24f
Merge pull request from GHSA-hcqf-fw2r-52g4
...
* Revert "Fix request URL normalisation for bare domain and 8-bit characters (#26285 )"
This reverts commit 8891d8945d
.
* Revert "Do not normalize URL before fetching it (#26219 )"
This reverts commit fd284311e7
.
2023-09-19 16:52:52 +02:00
Eugen Rochko
3a679844e4
Fix account_id
, max_id
and min_id
params not working in search ( #26847 )
2023-09-08 14:25:00 +02:00
Eugen Rochko
ece1ff77d6
Add in:library
syntax to search ( #26760 )
...
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-09-04 17:20:35 +02:00
Claire
16681e0f20
Add admin notifications for new Mastodon versions ( #26582 )
2023-09-01 17:47:07 +02:00
Eugen Rochko
e754083e8a
Fix unmatched quotes and prefixes causing search to fail ( #26701 )
2023-09-01 09:43:12 +02:00
Claire
e3825a13c1
Add PublicStatusesCheck to Elasticsearch index check on admin dashboard ( #26650 )
2023-08-25 12:01:55 +02:00
jsgoldstein
30c191aaa0
Add new public status index ( #26344 )
...
Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-08-24 16:40:04 +02:00
Nick Schonning
b970ed6098
Update rubocop and rubocop-rspec ( #26329 )
2023-08-22 09:31:40 +02:00
Claire
ac0eb0533e
Add Elasticsearch cluster health check and indexes mismatch check to dashboard ( #26448 )
2023-08-21 16:50:22 +02:00
Renaud Chaput
b95867ad1f
Allow setting a custom HTTP method in CacheBuster ( #26528 )
...
Co-authored-by: Jorijn Schrijvershof <jorijn@jorijn.com>
2023-08-18 08:18:40 +02:00
Matt Jankowski
d9a9323968
Avoid connecting to a running ES instance in ES search check spec ( #26413 )
2023-08-09 13:15:04 +02:00
Christian Schmidt
8da99ffb0d
Add alt text for preview card thumbnails ( #26184 )
2023-08-03 15:41:51 +02:00
Christian Schmidt
8891d8945d
Fix request URL normalisation for bare domain and 8-bit characters ( #26285 )
2023-08-02 19:32:29 +02:00
Christian Schmidt
fd284311e7
Do not normalize URL before fetching it ( #26219 )
2023-07-31 23:17:37 +02:00
Claire
6c3c5bbbc3
Fix crash when processing Flag activity with no status ( #26189 )
2023-07-27 16:11:56 +02:00
Claire
5b457961fc
Fix linting issue ( #26106 )
2023-07-21 14:21:10 +02:00
Claire
144a406d33
Clean up unused application records ( #24871 )
2023-07-21 13:13:16 +02:00
Claire
1e3b19230a
Add stricter protocol fields validation for accounts ( #25937 )
2023-07-20 18:23:48 +02:00
Matt Jankowski
6c5a2233a8
Fix RSpec/StubbedMock
cop ( #25552 )
...
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-07-12 10:20:10 +02:00
Matt Jankowski
05f9e39b32
Fix RSpec/VerifiedDoubles
cop ( #25469 )
2023-06-22 14:55:22 +02:00
Claire
c78280a8ce
Add translate="no" to outgoing mentions and links ( #25524 )
2023-06-20 18:10:19 +02:00
Matt Jankowski
e1c9d52e91
Reduce sleep
time in request pool spec ( #25470 )
2023-06-19 13:48:25 +02:00
Matt Jankowski
4c5aa0e470
Update rubocop-rspec to version 2.22.0, fix RSpec/IndexedLet
cop ( #24698 )
2023-06-14 16:44:37 +02:00
Matt Jankowski
b5675e265e
Add coverage for CLI::Feeds
command ( #25319 )
2023-06-10 18:37:36 +02:00
Matt Jankowski
07933db788
Add coverage for CLI::Cache
command ( #25238 )
2023-06-10 18:36:09 +02:00
Matt Jankowski
6c0e3f490a
Fix RSpec/MissingExampleGroupArgument cop ( #25310 )
2023-06-06 15:51:42 +02:00
Matt Jankowski
b74c3cd708
Fix RSpec/DescribedClass
cop missed items ( #25309 )
2023-06-06 14:51:03 +02:00
Matt Jankowski
c42591356d
Fix RSpec/DescribedClass
cop ( #25104 )
2023-06-06 13:58:33 +02:00
Daniel M Brasil
eb6f8181e1
Add test coverage for Mastodon::CLI::Accounts#reset_relationships
( #25194 )
2023-06-06 13:37:09 +02:00
Eugen Rochko
4eda233e09
Add webhook templating ( #23289 )
...
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-06-06 10:42:47 +02:00
Matt Jankowski
af135bddd0
Update Admin::Metrics::Measure
classes for Rails 7 ( #25236 )
2023-06-05 20:46:04 +02:00
Matt Jankowski
3b21c13dcc
Rails 7 compatibility fix for Admin::Metrics::Dimension
classes ( #25277 )
2023-06-05 16:52:33 +02:00
Daniel M Brasil
70cd2d6000
Add test coverage for Mastodon::CLI::Accounts#cull
( #25250 )
2023-06-05 14:51:25 +02: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
Matt Jankowski
5c87c66504
Add coverage for CLI::CanonicalEmailBlocks command ( #25239 )
2023-06-05 08:20:18 +02:00
Daniel M Brasil
03a707f6a6
Add test coverage for Mastodon::CLI::Accounts#merge
( #25199 )
2023-06-05 08:16:12 +02:00
Daniel M Brasil
2a353200ad
Add test coverage for Mastodon::CLI::Accounts#rotate
( #25212 )
2023-06-01 14:29:29 +02:00
Daniel M Brasil
f906e21a4f
Add test coverage for Mastodon::CLI::Accounts#refresh
( #25196 )
2023-06-01 10:01:09 +02:00
Matt Jankowski
f84037ae2b
Remove unused #hash_to_object method in SettingsHelper ( #25213 )
2023-06-01 09:47:05 +02:00
Claire
e9385e93e9
Add a confirmation screen when suspending a domain ( #25144 )
2023-06-01 09:37:38 +02:00
Christian Schmidt
69057467cb
Translate CW, poll options and media descriptions ( #24175 )
...
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-06-01 00:10:21 +02:00
Daniel M Brasil
3c41547f49
Add test coverage for Mastodon::CLI::Accounts#backup
( #25163 )
2023-05-31 15:32:37 +02:00
Daniel M Brasil
bf9a7ce8e8
Add test coverage for Mastodon::CLI::Accounts#unfollow
( #25162 )
2023-05-31 09:33:57 +02:00
Daniel M Brasil
dbc44be0ca
Add test coverage for Mastodon::CLI::Accounts#follow
( #25161 )
2023-05-30 16:13:29 +02:00
Daniel M Brasil
3d253b9830
Add test coverage for Mastodon::CLI::Accounts#approve
( #25160 )
2023-05-30 15:00:21 +02:00
Daniel M Brasil
bbbcdc083f
Add test coverage for Mastodon::CLI::Accounts#delete
( #25146 )
2023-05-30 11:59:17 +02:00
Daniel M Brasil
bdc7548652
Add test coverage for Mastodon::CLI::Accounts#modify
( #25145 )
2023-05-29 15:31:59 +02:00
Daniel M Brasil
11b8336418
Add test coverage for Mastodon::CLI::Accounts#create
( #25143 )
2023-05-29 11:43:19 +02:00
Matt Jankowski
384345b0de
Add CLI Base class for command line code ( #25106 )
2023-05-24 11:55:40 +02:00
Matt Jankowski
778e4a7bf7
Fix RSpec/ExpectInHook cop ( #25100 )
2023-05-23 16:40:21 +02:00
Matt Jankowski
b6b4ea4ca5
Move the mastodon/*_cli files to mastodon/cli/* ( #24139 )
2023-05-23 16:08:26 +02:00
Emelia Smith
19f9098551
Allow reports with long comments from remote instances, but truncate ( #25028 )
2023-05-22 13:15:21 +02:00
Matt Jankowski
d34d94d08f
Add spec for migration warning module ( #25033 )
2023-05-19 10:53:50 +02:00
Claire
9015c2d646
Change profile updates to be sent to recently-mentioned servers ( #24852 )
2023-05-12 13:13:04 +02:00
Daniel M Brasil
9cbda99941
Add test coverage for Mastodon::IpBlocksCLI
( #24935 )
2023-05-11 10:19:24 +02:00
Claire
6b0942d107
Change AccessTokensVacuum to also delete expired tokens ( #24868 )
2023-05-11 04:40:03 +02:00
Daniel M Brasil
c9210af3ee
Add test coverage for Mastodon::SettingsCLI
( #24856 )
2023-05-04 20:37:42 +02:00
Matt Jankowski
710745e16b
Fix RSpec/ContextWording cop ( #24739 )
2023-05-04 05:49:08 +02:00
Matt Jankowski
3df665fd23
Fix Lint/ConstantDefinitionInBlock cop ( #24763 )
2023-05-03 10:32:30 +02:00
Matt Jankowski
570079f8ce
Fix Performance/TimesMap cop ( #24789 )
2023-05-02 18:07:16 +02:00
Claire
32a030dd74
Rewrite import feature ( #21054 )
2023-05-02 12:08:48 +02:00
Matt Jankowski
9d39b111f1
Expand coverage for "system checks" ( #24216 )
2023-04-07 14:39:34 +02:00
Eugen Rochko
a9b5598c97
Change user settings to be stored in a more optimal way ( #23630 )
...
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-03-30 14:44:00 +02:00
Matt Jankowski
b179ff84c7
Add specs for Chewy importers ( #24204 )
2023-03-22 14:06:26 +01:00
Christian Schmidt
bd047acc35
Replace Status#translatable?
with language matrix in separate endpoint ( #24037 )
2023-03-16 11:07:24 +01:00
Matt Jankowski
a471e1c48f
Add spec for the CLI version
task ( #23978 )
2023-03-15 03:56:09 +01:00
Matt Jankowski
688287c59d
Coverage improvement round-out following up previous work ( #23987 )
2023-03-10 13:33:30 +01:00
Christian Schmidt
684a970b3c
Unescape HTML entities ( #24019 )
2023-03-08 19:56:41 +01:00
Christian Schmidt
5a8c651e8f
Only offer translation for supported languages ( #23879 )
2023-03-03 21:06:31 +01:00
Claire
3a6451c867
Add support for incoming rich text ( #23913 )
2023-03-03 20:19:29 +01:00
Nick Schonning
84cc805cae
Enable Style/FrozenStringLiteralComment for specs ( #23790 )
2023-02-22 09:55:31 +09:00
Nick Schonning
2c3c734bcc
Autofix Rubocop Style/SymbolProc ( #23742 )
2023-02-20 07:58:46 +01:00
Nick Schonning
5116347eb7
Autofix Rubocop RSpec/BeEq ( #23740 )
2023-02-20 06:14:50 +01:00
Nick Schonning
4552685f6b
Autofix Rubocop RSpec/LeadingSubject ( #23670 )
2023-02-20 13:24:14 +09:00
Nick Schonning
38a1d8bb85
Autofix Rubocop RSpec/ImplicitSubject ( #23721 )
2023-02-20 05:00:48 +01:00
Nick Schonning
5179c47087
Autofix Rubocops RSpec/ScatteredLet ( #23725 )
2023-02-20 11:17:41 +09:00
Nick Schonning
bd1d57c230
Autofix Rubocop RSpec/EmptyLineAfterSubject ( #23719 )
2023-02-20 02:46:00 +01:00
Nick Schonning
dbc6d7b276
Autofix Rubocop Lint/UnusedBlockArgument ( #23712 )
2023-02-20 02:45:50 +01:00
Nick Schonning
65ba0d92ef
Enable Rubocop RSpec/NotToNot ( #23723 )
2023-02-20 02:33:27 +01:00
Nick Schonning
81ad6c2e39
Autofix Rubocop Style/StringLiterals ( #23695 )
2023-02-19 07:38:14 +09:00
Nick Schonning
3680e032b4
Autofix Rubocop RSpec/EmptyLineAfterFinalLet ( #23707 )
2023-02-19 07:10:19 +09:00
Nick Schonning
167709f6b0
Autofix Rubocop Style/BlockDelimiters ( #23706 )
2023-02-19 07:00:17 +09:00
Nick Schonning
08289a38fa
Autofix Rubocop Style/TrailingCommaInArrayLiteral ( #23692 )
2023-02-19 06:54:30 +09:00
Nick Schonning
5069769cbe
Autofix Rubocop Style/TrailingCommaInHashLiteral ( #23693 )
2023-02-18 23:33:41 +09:00
Nick Schonning
a7db0b41cd
Autofix Rubocop Lint/ParenthesesAsGroupedExpression ( #23682 )
2023-02-18 04:00:05 +01:00
Nick Schonning
efd424506a
Autofix Rubocop Style/RedundantPercentQ ( #23651 )
2023-02-18 03:32:57 +01:00
Nick Schonning
54318dcd6d
Autofix Rubocop RSpec/ClassCheck ( #23685 )
2023-02-18 03:24:16 +01:00
Nick Schonning
634368c491
Autofix Rubocop Lint/SymbolConversion ( #23683 )
2023-02-18 03:23:49 +01:00
Nick Schonning
6d42820e5d
Autofix Rubocop Lint/AmbiguousOperator ( #23680 )
2023-02-18 03:22:01 +01:00
Nick Schonning
669f6d2c0a
Run rubocop formatting except line length ( #23632 )
2023-02-18 06:56:20 +09:00
Claire
0c9eac80d8
Fix unbounded recursion in post discovery ( #23506 )
...
* Add a limit to how many posts can get fetched as a result of a single request
* Add tests
* Always pass `request_id` when processing `Announce` activities
---------
Co-authored-by: nametoolong <nametoolong@users.noreply.github.com>
2023-02-10 22:16:37 +01:00
Claire
15b88a83ab
Fix sanitizer parsing link text as HTML when stripping unsupported links ( #22558 )
2023-01-11 22:21:10 +01:00
Markus Unterwaditzer
0c689b9d01
fix: allow verification when page size exceeds 1MB (using HTML5 parser) ( #22879 )
...
* fix: allow verification when page size exceeds 1MB
Truncates the page after 1MB instead
Closes #15316
* switch to HTML5 parser, fix rubocop errors
* undo rubocop fixes
Co-authored-by: Chris Zubak-Skees <chriszs@gmail.com>
2023-01-11 21:59:13 +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
luzpaz
6ba52306f9
Fix typos ( #19849 )
...
Found via `codespell -q 3 -S ./yarn.lock,./CHANGELOG.md,./AUTHORS.md,./config/locales,./app/javascript/mastodon/locales -L ba,followings,keypair,medias,pattens,pixelx,rememberable,ro,te`
2022-11-08 17:32:03 +01:00
Claire
3114c826a7
Fix filter handling in status cache hydration ( #19963 )
2022-11-07 19:47:48 +01:00
Claire
bb89f83cc0
Fix additional issues with status cache hydration ( #19747 )
...
* Spare one SQL query when hydrating polls
* Improve tests
* Fix more discrepancies
* Fix possible crash when the status has no application set
2022-11-04 20:01:33 +01:00
Claire
03b991de6c
Fix various issues with store hydration ( #19746 )
...
- Improve tests
- Fix possible crash when application of a reblogged post isn't set
- Fix discrepancies around favourited and reblogged attributes
- Fix discrepancies around pinned attribute
- Fix polls not being hydrated
2022-11-04 19:33:16 +01:00
Eugen Rochko
5f9e47be34
Add caching for payload serialization during fan-out ( #19642 )
2022-11-04 13:21:06 +01:00
Eugen Rochko
bf0ab3e0fa
Fix vacuum scheduler missing lock, locks never expiring ( #19458 )
...
Remove vacuuming of orphaned preview cards
2022-10-26 12:10:48 +02:00
Eugen Rochko
839f893168
Change public accounts pages to mount the web UI ( #19319 )
...
* Change public accounts pages to mount the web UI
* Fix handling of remote usernames in routes
- When logged in, serve web app
- When logged out, redirect to permalink
- Fix `app-body` class not being set sometimes due to name conflict
* Fix missing `multiColumn` prop
* Fix failing test
* Use `discoverable` attribute to control indexing directives
* Fix `<ColumnLoading />` not using `multiColumn`
* Add `noindex` to accounts in REST API
* Change noindex directive to not be rendered by default before a route is mounted
* Add loading indicator for detailed status in web UI
* Fix missing indicator appearing while account is loading in web UI
2022-10-20 14:35:29 +02:00
Eugen Rochko
43b5d5e38d
Add logged-out access to the web UI ( #18961 )
2022-09-29 04:39:33 +02:00
Eugen Rochko
5c9abdeff1
Add retention policy for cached content and media ( #19232 )
2022-09-27 03:08:19 +02:00
Claire
8cf7006d4e
Refactor ActivityPub handling to prepare for non-Account actors ( #19212 )
...
* Move ActivityPub::FetchRemoteAccountService to ActivityPub::FetchRemoteActorService
ActivityPub::FetchRemoteAccountService is kept as a wrapper for when the actor is
specifically required to be an Account
* Refactor SignatureVerification to allow non-Account actors
* fixup! Move ActivityPub::FetchRemoteAccountService to ActivityPub::FetchRemoteActorService
* Refactor ActivityPub::FetchRemoteKeyService to potentially return non-Account actors
* Refactor inbound ActivityPub payload processing to accept non-Account actors
* Refactor inbound ActivityPub processing to accept activities relayed through non-Account
* Refactor how Account key URIs are built
* Refactor Request and drop unused key_id_format parameter
* Rename ActivityPub::Dereferencer `signature_account` to `signature_actor`
2022-09-21 22:45:57 +02:00
Eugen Rochko
50948b46aa
Add ability to filter followed accounts' posts by language ( #19095 )
2022-09-20 23:51:21 +02:00
luzpaz
4aa3b9bd01
Fix typos ( #18604 )
...
* Fix typos
Found via `codespell -q 3 -S ./CHANGELOG.md,./AUTHORS.md,./config/locales,./app/javascript/mastodon/locales -L ba,keypair,medias,pixelx,ro`
* Follow-up typo fix
2022-08-28 17:44:34 +02:00
Eugen Rochko
e7aa2be828
Change how hashtags are normalized ( #18795 )
...
* Change how hashtags are normalized
* Fix tests
2022-07-13 15:03:28 +02:00
Claire
1b4054256f
Fix crash when a remote Flag activity mentions a private post ( #18760 )
...
* Add tests
* Fix crash when a remote Flag activity mentions a private post
2022-07-04 11:08:30 +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
2b8dc58b7f
Change RSS feeds ( #18356 )
...
* Change RSS feeds
- Use date and time for titles instead of ellipsized text
- Use full content in body, even when there is a content warning
- Use media extensions
* Change feed icons and add width and height attributes to custom emojis
* Fix custom emoji animate on hover breaking
* Fix tests
2022-05-09 07:43:08 +02:00
Eugen Rochko
3917353645
Fix single Redis connection being used across all threads ( #18135 )
...
* Fix single Redis connection being used across all Sidekiq threads
* Fix tests
2022-04-28 17:47:34 +02:00
Claire
0360135d4d
Fix PeerTube videos appearing with an erroneous “Edited at” marker ( #18100 )
...
* Fix PeerTube videos appearing with an erroneous “Edited at” marker
PeerTube videos have an `updated` field equal to `published`.
When processing an incoming activity that has the same value for `updated` and
`published`, assume this doesn't represent an actual edit.
* Please CodeClimate
2022-04-26 21:25:26 +02:00
Eugen Rochko
6221b36b27
Remove sign-in token authentication, instead send e-mail about new sign-in ( #17970 )
2022-04-06 20:58:12 +02:00
Claire
30658924a8
Fix test-related issues ( #17888 )
...
* Remove obsolete RSS::Serializer test
Since #17828 , RSS::Serializer no longer has specific code for deleted statuses,
but it is never called on deleted statuses anyway.
* Rename erroneously-named test files
* Fix failing test
* Fix test deprecation warnings
* Update CircleCI Ruby orb
1.4.0 has a bug that does not match all the test files due to incorrect
globbing
2022-03-28 12:43:58 +02:00
Eugen Rochko
cefa526c6d
Refactor formatter ( #17828 )
...
* Refactor formatter
* Move custom emoji pre-rendering logic to view helpers
* Move more methods out of Formatter
* Fix code style issues
* Remove Formatter
* Add inline poll options to RSS feeds
* Remove unused helper method
* Fix code style issues
* Various fixes and improvements
* Fix test
2022-03-26 02:53:34 +01:00
Eugen Rochko
b58db8f12e
Add workaround for YouTube Shorts links ( #17869 )
...
* Add workaround for YouTube Shorts links
* Update link_details_extractor_spec.rb
2022-03-25 19:31:35 +01:00
Josh Soref
b5329e0035
Spelling ( #17705 )
...
* spelling: account
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: affiliated
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: appearance
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: autosuggest
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: cacheable
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: component
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: conversations
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: domain.example
Clarify what's distinct and use RFC friendly domain space.
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: environment
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: exceeds
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: functional
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: inefficiency
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: not
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: notifications
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: occurring
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: position
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: progress
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: promotable
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: reblogging
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: repetitive
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: resolve
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: saturated
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: similar
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: strategies
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: success
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: targeting
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: thumbnails
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: unauthorized
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: unsensitizes
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: validations
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: various
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
Co-authored-by: Josh Soref <jsoref@users.noreply.github.com>
2022-03-06 22:51:40 +01:00