feld
ff6f5a417f
Merge branch 'mrf-nsfw-otp25' into 'develop'
...
Fix Logger.warn deprecation error on OTP25
See merge request pleroma/pleroma!4135
2024-05-30 15:38:18 +00:00
lain
6feb536e79
Merge branch 'missing-fks' into 'develop'
...
Add missing foreign key indexes
See merge request pleroma/pleroma!4134
2024-05-30 15:24:24 +00:00
Mark Felder
f5065eaf99
Fix Logger.warn deprecation error on OTP25
2024-05-30 11:09:42 -04:00
Mark Felder
5f6e477eca
Missing FKs changelog
2024-05-30 10:53:05 -04:00
Mark Felder
c20ac6d1ad
Add missing foreign key indexes
2024-05-30 10:53:00 -04:00
Mark Felder
b5fcb82bff
Test for missing FK indexes
2024-05-30 10:49:45 -04:00
lain
bc4d6adbec
Merge branch 'bandit-update' into 'develop'
...
Update Bandit to 1.5.2
See merge request pleroma/pleroma!4133
2024-05-30 09:35:42 +00:00
Mark Felder
36b440d9be
Update Bandit to 1.5.2
...
Lots of fixes, also requires Websock Adapter update due to internal module changes in Bandit 1.4.0.
2024-05-29 21:59:50 -04:00
feld
b4332b47d5
Merge branch 'mix-indexer' into 'develop'
...
Add additional flags to the Pleroma.Search.Indexer Mix task
See merge request pleroma/pleroma!4131
2024-05-29 15:04:58 +00:00
Mark Felder
14b4bd69a8
Add additional flags to the Pleroma.Search.Indexer Mix task
2024-05-29 10:44:40 -04:00
feld
3b639b467e
Merge branch 'dialyzer-fixes' into 'develop'
...
Dialyzer fixes
See merge request pleroma/pleroma!4128
2024-05-28 17:26:58 +00:00
lain
41d3c14ba5
Merge branch 'feature/akkoma-prune-old-posts' into 'develop'
...
add options to mix prune_objects to delete more things
See merge request pleroma/pleroma!3952
2024-05-28 15:19:38 +00:00
Mark Felder
79c418bcb7
Dialyzer: fix invalid @spec
2024-05-28 11:07:28 -04:00
Lain Soykaf
f663135724
DatabaseTest: Fix test.
2024-05-28 18:54:36 +04:00
Mark Felder
6b6a2adb07
Dialyzer: The function call will not succeed.
...
:idna.encode/1 expects a charlist even though it will accept a binary string. That functionality is undocumented / not part of its typespec, so we should turn it into a charlist first. Also switch to using match?/2
lib/pleroma/user.ex:2056:call
The function call will not succeed.
:idna.encode(_host :: binary())
will never return since the success typing is:
(string()) :: string()
and the contract is
(string()) :: string()
2024-05-28 10:49:43 -04:00
Mark Felder
6551ca2db7
Dialyzer: overlapping_contract
...
Wrong @spec name for remove_from_block/2
lib/pleroma/user.ex:2721:overlapping_contract
Overloaded contract for Pleroma.User.add_to_block/2 has
overlapping domains; such contracts are currently unsupported and
are simply ignored.
2024-05-28 10:40:54 -04:00
Mark Felder
8743c6c640
Dialyzer: The pattern can never match the type
...
We will never pass :plain to query_with/4, so remove that match and change it to query_with/3
lib/pleroma/search/database_search.ex:127:pattern_match
The pattern can never match the type.
Pattern:
_q, :rum, _search_query, :plain
Type:
%Ecto.Query{
:aliases => _,
:assocs => _,
:combinations => _,
:distinct => _,
:from => _,
:group_bys => _,
:havings => _,
:joins => _,
:limit => _,
:lock => _,
:offset => _,
:order_bys => _,
:prefix => _,
:preloads => _,
:select => _,
:sources => _,
:updates => _,
:wheres => _,
:windows => _,
:with_ctes => _
},
:rum,
_,
:websearch
2024-05-28 10:36:00 -04:00
Lain Soykaf
a041879eaa
Linting
2024-05-28 18:26:30 +04:00
Mark Felder
1b3c84e241
Dialyzer: no_local_return
...
WebPushEncryption.send_web_push/4 was written to raise on erroroneus input, so we must guard against that.
lib/pleroma/web/push/impl.ex:65:no_return Function push_message/4 has no local return.
2024-05-28 10:19:35 -04:00
Mark Felder
17ebb2df84
Dialyzer: fix pattern matches preventing video thumbnailing from working
...
lib/pleroma/web/media_proxy/media_proxy_controller.ex:154:pattern_match
The pattern can never match the type.
Pattern:
{:ok, _thumbnail_binary}
Type:
{:error, boolean() | {:ffmpeg, :command_not_found}}
2024-05-28 10:19:22 -04:00
Mark Felder
18835bf701
Use the configured http client options for mediaproxy
2024-05-28 09:38:36 -04:00
Mark Felder
f8ce639e3f
Dialyzer: guard clause can never succeed
...
lib/pleroma/web/activity_pub/mrf/dnsrbl_policy.ex:106:guard_fail
The guard clause:
when _ ::
[
binary()
| [string() | char()]
| {string() | integer(), string()}
| {{byte(), byte(), byte(), byte()}, integer(), binary()}
| {integer(), integer(), integer(), string() | byte()}
| {integer(), integer(), string(), string(), string(), string()}
| {string(), string(), integer(), integer(), integer(), integer(), integer()}
| {char(), char(), char(), char(), char(), char(), char(), char()}
] === nil
can never succeed.
2024-05-28 09:30:19 -04:00
Mark Felder
42c5f7c74e
Dialyzer: fix invalid @spec
...
The callback already defines the @spec and these do not match it.
lib/pleroma/upload/filter/exiftool/strip_location.ex:12:callback_spec_type_mismatch
The @spec return type does not match the expected return type
for filter/1 callback in Pleroma.Upload.Filter behaviour.
Actual:
@spec filter(...) :: {:ok, _}
Expected:
@spec filter(...) :: {:error, _} | {:ok, :filtered | :noop} | {:ok, :filtered, struct()}
2024-05-28 08:55:18 -04:00
Lain Soykaf
cc42b50c5b
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into pleroma-feature/akkoma-prune-old-posts
2024-05-28 16:51:19 +04:00
Mark Felder
0b864c3696
Dialyzer: fix invalid @spec
...
lib/pleroma/notification.ex:492:invalid_contract
The @spec for the function does not match the success typing of the function.
Function:
Pleroma.Notification.get_notified_from_activity/2
Success typing:
@spec get_notified_from_activity(_, _) :: [any()]
2024-05-28 08:49:34 -04:00
lain
bef15cde61
Merge branch 'secure-mode' into 'develop'
...
Reject requests from specified instances if `authorized_fetch_mode` is enabled
See merge request pleroma/pleroma!3711
2024-05-28 11:22:34 +00:00
Lain Soykaf
335691bae1
Add changelog
2024-05-28 14:38:44 +04:00
Lain Soykaf
8066645f71
Linting
2024-05-28 14:20:48 +04:00
Lain Soykaf
f5978da676
HTTPSignaturePlugTest: Rewrite to use mox.
2024-05-28 14:00:25 +04:00
Lain Soykaf
3b4be5daa2
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into pleroma-secure-mode
2024-05-28 12:31:12 +04:00
lain
25903a4996
Merge branch 'auth-fetch-exception' into 'develop'
...
HTTPSignaturePlug: Add :authorized_fetch_mode_exceptions
See merge request pleroma/pleroma!4007
2024-05-28 04:42:35 +00:00
lain
8ff0c32903
Merge branch 'httpfixes' into 'develop'
...
Some HTTP and connection pool improvements
See merge request pleroma/pleroma!4124
2024-05-28 04:38:01 +00:00
Lain Soykaf
73d58c22d4
Linting
2024-05-28 08:09:19 +04:00
feld
cdde3afb57
Merge branch 'credo' into 'develop'
...
Credo
See merge request pleroma/pleroma!4126
2024-05-27 19:21:14 +00:00
Mark Felder
bb86a01b9b
Credo
2024-05-27 15:20:47 -04:00
Lain Soykaf
687ac4a850
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into auth-fetch-exception
2024-05-27 23:09:17 +04:00
feld
38db406ce4
Merge branch 'simpler-oban-queues' into 'develop'
...
Oban queue simplification
See merge request pleroma/pleroma!4123
2024-05-27 19:02:53 +00:00
lain
121791882f
Merge branch 'explicitly-allow-unsafe-2' into 'develop'
...
Explicitly allow unsafe 2
See merge request pleroma/pleroma!4125
2024-05-27 18:43:05 +00:00
lain
3316a7ab70
Merge branch 'qdrant-search-2' into 'develop'
...
Search: Basic Qdrant/Ollama search
See merge request pleroma/pleroma!4109
2024-05-27 18:41:20 +00:00
Lain Soykaf
81e44ced0c
HTTPSecurityPlug: Fix tests
2024-05-27 22:13:20 +04:00
Mark Felder
ba511a30b9
RichMedia use of ConcurrentLimiter was removed in the refactor
2024-05-27 14:12:38 -04:00
Mark Felder
6b8c15a4a1
Remove MediaProxyWarmingPolicy config for ConcurrentLimiter as we are not using it
2024-05-27 14:11:42 -04:00
feld
42150d5581
Merge branch 'logger-metadata' into 'develop'
...
Logger metadata
See merge request pleroma/pleroma!3990
2024-05-27 17:53:33 +00:00
Mark Felder
29eac86dc0
Logger metadata changelog
2024-05-27 13:53:22 -04:00
Mark Felder
f63e44b8bc
Fix Oban related tests
2024-05-27 13:48:24 -04:00
Mark Felder
0847d9ebaf
Oban queue simplification
2024-05-27 13:48:17 -04:00
lain
b1fec8594d
Merge branch 'tusooa/extract-fix' into 'develop'
...
OAuth scopes translations: write out which operations are processed
See merge request pleroma/pleroma!3907
2024-05-27 17:41:33 +00:00
Lain Soykaf
c67b41415b
Changelog: Add changelog entry.
2024-05-27 21:28:46 +04:00
Lain Soykaf
fc7ce339ed
Cheatsheet: Add allow_unsafe_eval
2024-05-27 21:28:20 +04:00
Lain Soykaf
1c699144d2
HttpSecurityPlug: Don't allow unsafe-eval by default
2024-05-27 21:26:40 +04:00
lain
07b7a8d697
Merge branch 'image-description-summary' into 'develop'
...
Add support for Honk "summary" + "name"
See merge request pleroma/pleroma!3854
2024-05-27 16:51:07 +00:00
feld
10b7efa98c
Merge branch 'anti-mention-spam-mrf' into 'develop'
...
Anti-mention Spam MRF
See merge request pleroma/pleroma!4072
2024-05-27 16:46:31 +00:00
feld
10713fa913
Merge branch 'feat/mrf-dnsrbl' into 'develop'
...
Anti-spam using an MRF DNSRBL
See merge request pleroma/pleroma!3278
2024-05-27 16:42:38 +00:00
Mark Felder
cab6372d7a
Make user age limit configurable
...
Switch to milliseconds for consistency with other configuration options in codebase
2024-05-27 12:31:29 -04:00
Mark Felder
0d092a3d4f
Changelog
2024-05-27 12:26:55 -04:00
Alex Gleason
02d8ce8f0b
AntiMentionSpamPolicy: remove followers check
2024-05-27 12:25:09 -04:00
Alex Gleason
64cacc3694
AntiMentionSpamPolicy: fix user age check
2024-05-27 12:25:09 -04:00
Alex Gleason
5e963736ce
Add AntiMentionSpamPolicy
2024-05-27 12:25:09 -04:00
Mark Felder
0bddca361d
DNSRBL in an MRF
2024-05-27 12:23:36 -04:00
feld
6291bf22bd
Merge branch 'prometheus-docs' into 'develop'
...
Update Prometheus docs
See merge request pleroma/pleroma!4018
2024-05-27 16:20:15 +00:00
Mark Felder
7258ab1aed
Changelog
2024-05-27 12:20:00 -04:00
Mark Felder
f4693dc671
Update Prometheus/Grafana docs for PromEx
2024-05-27 12:18:51 -04:00
Lain Soykaf
284cd0abe5
Add changelog
2024-05-27 20:04:12 +04:00
Lain Soykaf
f4c0a01f09
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into image-description-summary
2024-05-27 20:03:14 +04:00
Lain Soykaf
e4f1325f78
InetHelper: Don't use deprecated function.
2024-05-27 19:44:41 +04:00
lain
7798fdc711
Merge branch 'show-reposted-replies' into 'develop'
...
Display reposted replies with exclude_replies: true
See merge request pleroma/pleroma!3961
2024-05-27 15:33:50 +00:00
Mark Felder
8b61d4e3e1
Changelogs
2024-05-27 11:28:31 -04:00
Lain Soykaf
d3e85da0fd
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into auth-fetch-exception
2024-05-27 19:27:02 +04:00
Mark Felder
37d79b76bb
Use the configured http client options for mediaproxy
2024-05-27 11:26:21 -04:00
Mark Felder
d272eb62cd
Trust the connection pools to enforce the concurrency limitations
2024-05-27 11:25:19 -04:00
Lain Soykaf
03d0c5abfb
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into tusooa/extract-fix
2024-05-27 19:21:20 +04:00
lain
e93ae96e13
Merge branch 'nsfw-api-mrf' into 'develop'
...
NSFW API Policy
See merge request pleroma/pleroma!3471
2024-05-27 15:20:43 +00:00
Mark Felder
6708f154a4
Rework Gun connection pool sizes to make better use of the default 250 connections
2024-05-27 11:18:58 -04:00
Mark Felder
a50c657427
Add a dedicated connection pool for Rich Media
...
Sharing this pool with regular Media is problematic as Rich Media will connect to many different
domains and thrash the pool, but regular Media will have predictable connections to the webservers
hosting media for the fediverse servers you peer with.
2024-05-27 11:17:02 -04:00
lain
d11ba9e85b
Merge branch 'ipfs_uploader' into 'develop'
...
feat: simple, but not stupid, uploader for IPFS
See merge request pleroma/pleroma!3654
2024-05-27 15:06:12 +00:00
Lain Soykaf
ed93af64e1
Add changelog
2024-05-27 17:50:34 +04:00
Lain Soykaf
4325b1aec3
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into nsfw-api-mrf
2024-05-27 17:49:31 +04:00
Lain Soykaf
3055c1598b
IPFSTest: Fix configuration mocking
2024-05-27 17:22:18 +04:00
Lain Soykaf
825b4122a5
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into pleroma-ipfs_uploader
2024-05-27 16:23:40 +04:00
lain
6757382abe
Merge branch 'reject-replies-to-deleted' into 'develop'
...
Return a 422 when trying to reply to a deleted status
See merge request pleroma/pleroma!4122
2024-05-27 11:41:46 +00:00
Lain Soykaf
f214c2cdac
NotificationTest: Remove impossible case.
2024-05-27 15:23:33 +04:00
Lain Soykaf
4d6316b488
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into reject-replies-to-deleted
2024-05-27 15:19:53 +04:00
Lain Soykaf
ddf103eca0
QdrantSearch: Fetch a post in search if possible.
2024-05-27 14:35:08 +04:00
Lain Soykaf
f4c04e6b2d
QdrantSearch: Add health checks.
2024-05-27 14:21:55 +04:00
Lain Soykaf
ec3f3fef77
Fastembed Server: Add health check endpoint
2024-05-27 14:15:04 +04:00
Lain Soykaf
8b76f56050
QdrantSearch: Add healthcheck for qdrant
2024-05-27 14:01:17 +04:00
Lain Soykaf
08e9d995f8
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into qdrant-search-2
2024-05-27 13:50:22 +04:00
lain
5e43060128
Merge branch 'search-healthcheck' into 'develop'
...
Search backend healthcheck process
See merge request pleroma/pleroma!4120
2024-05-27 09:46:57 +00:00
Lain Soykaf
d35b69d268
Pleroma.Search: Remove wrong (but irrelevant) results
2024-05-27 13:18:02 +04:00
Mark Felder
d9b82255b9
Add an HTTP timeout for the healthcheck
2024-05-26 15:23:12 -04:00
Mark Felder
d4769b076a
Return a 422 when trying to reply to a deleted status
2024-05-26 15:14:48 -04:00
feld
c3c804b71f
Merge branch 'fix/rich-media-ttl' into 'develop'
...
Fix rich media parsing some Amazon URLs
See merge request pleroma/pleroma!4121
2024-05-26 18:29:46 +00:00
Mark Felder
03f4b46189
Test that healthchecks behave correctly for the expected HTTP responses
2024-05-26 14:21:24 -04:00
Mark Felder
f2b0d5f1d0
Make it easier to read the state for debugging purposes and expose functions for testing
2024-05-26 14:11:41 -04:00
Mark Felder
807782b7f9
Fix rich media parsing some Amazon URLs
2024-05-26 14:02:20 -04:00
Mark Felder
354b700bed
Assert that AWS URLs without query parameters do not crash
2024-05-26 14:01:12 -04:00
Mark Felder
3474b42ce3
Drop TTL to 5 seconds
2024-05-25 16:55:29 -04:00
Mark Felder
61a3b79316
Search backend healthcheck process
2024-05-25 16:07:47 -04:00
lain
895eea5c75
Merge branch 'api-docs' into 'develop'
...
Update pleroma_api.md
See merge request pleroma/pleroma!4119
2024-05-25 07:17:05 +00:00
marcin mikołajczak
618b77071a
Update pleroma_api.md
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-25 09:12:37 +02:00
tusooa
19b2637c51
Merge branch 'bugfix/realpath-over-readlink' into 'develop'
...
pleroma_ctl: Use realpath(1) instead of readlink(1)
See merge request pleroma/pleroma!4118
2024-05-25 00:54:17 +00:00
lain
134f3bff67
Merge branch 'bump-elixir' into 'develop'
...
Bump minimum Elixir to 1.13
See merge request pleroma/pleroma!4014
2024-05-24 09:20:06 +00:00
Lain Soykaf
a566ad56e1
QdrantSearch: Fix actor / author restriction
2024-05-23 18:55:16 +04:00
Lain Soykaf
94e4f21589
QdrantSearch: Deal with actor restrictions
2024-05-23 14:38:30 +04:00
Haelwenn (lanodan) Monnier
818712f99f
pleroma_ctl: Use realpath(1) instead of readlink(1)
...
From realpath(1) in POSIX 202x Draft 4.1:
> If file does not name a symbolic link, readlink shall write a diagnostic
> message to standard error and exit with non-zero status.
Which also doesn't includes `-f`, in preference of `realpath`.
2024-05-23 00:39:53 +02:00
Lain Soykaf
f726e5fbbd
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into qdrant-search-2
2024-05-22 20:07:43 +04:00
lain
05b9805bf9
Merge branch 'mergeback-2.6.3' into 'develop'
...
Mergeback 2.6.3
Closes #3245
See merge request pleroma/pleroma!4117
2024-05-22 15:48:42 +00:00
Lain Soykaf
3f0e9fd474
Merge branch 'stable' into develop
2024-05-22 19:47:15 +04:00
lain
7566b4a348
Merge branch 'release-2.6.3' into 'stable'
...
Release 2.6.3
See merge request pleroma/pleroma!4115
2024-05-22 15:17:36 +00:00
Lain Soykaf
53a3176d24
WebFingerControllerTest: Restore host after test.
2024-05-22 19:09:26 +04:00
marcin mikołajczak
c42527dc2e
changelog
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-22 19:09:16 +04:00
marcin mikołajczak
45b5e6ecd8
Fix tests
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-22 19:09:07 +04:00
marcin mikołajczak
b245a5c8c2
Fix validate_webfinger when running a different domain for Webfinger
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-22 18:59:14 +04:00
marcin mikołajczak
50ffbd980e
Revert "Webfinger: Allow managing account for subdomain"
...
This reverts commit 84bb854056
.
2024-05-22 18:59:07 +04:00
lain
a8e1fc0f6a
Merge branch 'webfinger-validation' into 'develop'
...
Fix validate_webfinger when running a different domain for Webfinger
See merge request pleroma/pleroma!4116
2024-05-22 14:58:48 +00:00
Lain Soykaf
5f1f574f01
WebFingerControllerTest: Restore host after test.
2024-05-22 18:45:34 +04:00
marcin mikołajczak
d536d58080
changelog
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-22 15:54:17 +02:00
marcin mikołajczak
70cabbf6dc
Fix tests
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-22 15:53:16 +02:00
marcin mikołajczak
d0b18e338b
Fix validate_webfinger when running a different domain for Webfinger
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-22 15:52:35 +02:00
marcin mikołajczak
1f2f7e044d
Revert "Webfinger: Allow managing account for subdomain"
...
This reverts commit 84bb854056
.
2024-05-22 15:52:10 +02:00
Lain Soykaf
7b4e6d4c16
Collect changelog
2024-05-22 17:44:10 +04:00
Lain Soykaf
239c9c3f1c
Mix: Update version
2024-05-22 17:40:20 +04:00
Lain Soykaf
20fa400082
Webfinger: Allow managing account for subdomain
2024-05-22 17:38:23 +04:00
Lain Soykaf
2212287b00
Changelog: Adjust changelog type
2024-05-22 17:38:16 +04:00
Lain Soykaf
275fdb26c1
Add changelog
2024-05-22 17:38:08 +04:00
Lain Soykaf
eafcb7b4ec
Webfinger: Fix test
2024-05-22 17:38:03 +04:00
Alex Gleason
364f6e1620
Prevent webfinger spoofing
2024-05-22 17:37:57 +04:00
Lain Soykaf
29b968ce20
Webfinger: Add test showing wrong webfinger behavior
2024-05-22 17:37:49 +04:00
lain
c8e5a1f6b0
Merge branch 'fix-webfinger-spoofing' into 'develop'
...
Fix webfinger spoofing
See merge request pleroma/pleroma!4114
2024-05-22 12:45:24 +00:00
Lain Soykaf
84bb854056
Webfinger: Allow managing account for subdomain
2024-05-22 15:12:29 +04:00
Lain Soykaf
91c93ce3cd
Changelog: Adjust changelog type
2024-05-22 13:14:59 +04:00
Lain Soykaf
4491e8c9a3
Add changelog
2024-05-22 13:01:23 +04:00
Lain Soykaf
206ea92837
Webfinger: Fix test
2024-05-22 12:59:10 +04:00
Alex Gleason
b15f8b0642
Prevent webfinger spoofing
2024-05-22 12:57:45 +04:00
Lain Soykaf
d1b053f3ba
Webfinger: Add test showing wrong webfinger behavior
2024-05-22 12:57:30 +04:00
lain
7fca598268
Merge branch 'status-notification-type' into 'develop'
...
Add "status" notification type
See merge request pleroma/pleroma!3659
2024-05-21 05:01:45 +00:00
marcin mikołajczak
36fa0debfe
Fix get_notified_from
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-20 23:25:50 +02:00
Lain Soykaf
c67506ba68
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into auth-fetch-exception
2024-05-20 18:21:46 +04:00
Lain Soykaf
f5c0295247
CI: Specify correct image name.
2024-05-20 13:43:18 +04:00
Lain Soykaf
f8411a351d
CI: Specify version fully in base image tag
2024-05-20 13:30:31 +04:00
Lain Soykaf
226874c9d6
CI: Add new builders for base images
2024-05-20 13:12:12 +04:00
Lain Soykaf
ad26b6d593
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into bump-elixir
2024-05-20 12:30:15 +04:00
lain
e8cd6662eb
Merge branch 'familiar-followers' into 'develop'
...
Implement `/api/v1/accounts/familiar_followers`
See merge request pleroma/pleroma!4098
2024-05-19 12:05:55 +00:00
Lain Soykaf
1b4f1db9b2
QdrantSearch: Support pagination.
2024-05-19 14:41:05 +04:00
Lain Soykaf
dbaab6f54e
Docs: Mention running the Qdrant server
2024-05-19 13:38:31 +04:00
Lain Soykaf
6ec306d068
Docs: Add more information about index memory consumption.
2024-05-19 13:24:24 +04:00
Lain Soykaf
6a3a0cc0f5
Docs: Write docs for the QdrantSearch
2024-05-19 13:20:37 +04:00
Lain Soykaf
23881842ae
B FastembedAPI: Add readme
2024-05-19 13:04:27 +04:00
Lain Soykaf
8329ad5214
B FastembedAPI: Add requirements.txt
2024-05-19 12:59:03 +04:00
Lain Soykaf
dd48810186
B FastembedAPI: Move to more appropriate folder
2024-05-19 12:47:08 +04:00
Lain Soykaf
e142ea400a
Docs: Switch docs from Ollama to OpenAI.
2024-05-19 12:42:08 +04:00
Lain Soykaf
c139a9f38c
B Config: Set default Qdrant embedder to our fastembed-api server
2024-05-19 12:39:54 +04:00
Lain Soykaf
b9af017a4c
B FastembedServer: Switch to OpenAI api, support changing models
2024-05-19 12:33:49 +04:00
Lain Soykaf
72ec261a69
B QdrantSearch: Switch to OpenAI api
2024-05-19 12:17:46 +04:00
Lain Soykaf
cc1321ea2e
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into qdrant-search-2
2024-05-19 11:51:33 +04:00
lain
401aca2548
Merge branch 'mark-read' into 'develop'
...
PleromaAPI: Simplify marking notifications as read
See merge request pleroma/pleroma!4111
2024-05-19 07:48:32 +00:00
Mark Felder
d07d49227f
PleromaAPI: marking notifications as read no longer returns notifications
2024-05-18 18:17:35 +00:00
Lain Soykaf
3345ddd2d4
Linting
2024-05-18 15:02:22 +04:00
Lain Soykaf
7923ede8ba
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into qdrant-search-2
2024-05-18 14:45:26 +04:00
Lain Soykaf
39525bcec7
Add qdrant changelog
2024-05-18 14:07:47 +04:00
Lain Soykaf
e3933a067f
QdrantSearch: Implement post deletion
2024-05-18 14:04:32 +04:00
Lain Soykaf
933117785f
QdrantSearch: Add basic test
2024-05-18 13:43:47 +04:00
marcin mikołajczak
2e76ceb5b4
Merge remote-tracking branch 'origin/develop' into status-notification-type
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-18 11:30:25 +02:00
Lain Soykaf
61e9027131
Add docker compose file for fastembed server
2024-05-18 12:19:42 +04:00
Lain Soykaf
769773a500
Add dockerfile
2024-05-18 12:08:42 +04:00
Lain Soykaf
069ce4448c
Add basic fastembed server
2024-05-18 11:55:17 +04:00
feld
99eab1fa2a
Merge branch 'revert-e944b152' into 'develop'
...
Revert "Merge branch 'strip-object-actor' into 'develop'"
See merge request pleroma/pleroma!4112
2024-05-16 23:34:00 +00:00
feld
9988dc2227
Revert "Merge branch 'strip-object-actor' into 'develop'"
...
This reverts merge request !4105
2024-05-16 23:33:48 +00:00
feld
7de657ac45
Merge branch 'bad-mrf' into 'develop'
...
Startup detection for configured MRF modules that are missing or incorrectly defined
See merge request pleroma/pleroma!4110
2024-05-16 20:37:37 +00:00
Mark Felder
7f8a9329e5
Startup detection for configured MRF modules that are missing or incorrectly defined
2024-05-16 16:13:29 -04:00
Lain Soykaf
a9be4907c0
SearchBackend: Add drop_index
2024-05-16 10:47:24 +04:00
feld
e944b15298
Merge branch 'strip-object-actor' into 'develop'
...
Strip actor from objects before federating
Closes #3269
See merge request pleroma/pleroma!4105
2024-05-15 20:51:47 +00:00
Mark Felder
2965ed47bd
Changelog for stripping actor from objects
2024-05-15 16:40:31 -04:00
feld
53ef576739
Merge branch 'instance_rules' into 'develop'
...
Instance rules
See merge request pleroma/pleroma!3669
2024-05-15 20:29:04 +00:00
feld
8da103da57
Merge branch 'fix-muted-web-push' into 'develop'
...
Fix processing of Web Push and streaming notifications
See merge request pleroma/pleroma!4032
2024-05-15 20:12:41 +00:00
Lain Soykaf
1261c43a7a
SearchBackend: Add create_index
2024-05-14 17:19:36 +04:00
Lain Soykaf
c50f0f31f4
Docs/Search: Add basic documentation of the qdrant search
2024-05-14 16:56:58 +04:00
Lain Soykaf
1490ff30af
QdrantSearch: Add query prefix.
2024-05-14 15:09:38 +04:00
Lain Soykaf
bb08a766f4
QdrantSearch: Remove debugging stuff
2024-05-14 14:26:41 +04:00
Lain Soykaf
cd7e2138d1
Search: Basic Qdrant/Ollama search
2024-05-14 14:13:37 +04:00
feld
c954437cc0
Merge branch 'mastodon-instance-v2' into 'develop'
...
Add new values to /api/v2/instance
Closes #3250 and #3251
See merge request pleroma/pleroma!4106
2024-05-11 12:11:00 +00:00
Mark Felder
16c72d0701
Merge branch 'develop' into fix-muted-web-push
2024-05-11 08:06:04 -04:00
faried nawaz
fdc3cbb8cb
add documentation for the prune_objects mix task options
2024-05-09 10:43:41 +05:00
faried nawaz
1bf3ae07b6
add options to mix pleroma.database prune_objects to delete more activities
2024-05-09 10:43:34 +05:00
feld
6cfb0d7ddb
Merge branch 'restore/card-img-alt' into 'develop'
...
Include image description in status media cards
See merge request pleroma/pleroma!4108
2024-05-08 17:55:32 +00:00
Mark Felder
ccceb41bf3
Add test for StatusView rendering of Cards when missing descriptions
2024-05-08 13:54:57 -04:00
Mark Felder
5e7f4f687e
Improve StatusView tests for Cards
2024-05-08 13:52:25 -04:00
marcin mikołajczak
818d9f7b63
Include image description in status media cards
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-08 13:40:26 -04:00
feld
8eea4f58c7
Merge branch 'rich-media-db' into 'develop'
...
RichMedia refactor
See merge request pleroma/pleroma!4057
2024-05-08 03:12:09 +00:00
Mark Felder
54c2bab25f
Fix module struct matching
2024-05-07 22:27:18 -04:00
Mark Felder
9a83301ff8
Credo
2024-05-07 22:11:19 -04:00
Mark Felder
37c35daba6
Credo
2024-05-07 22:10:49 -04:00
Mark Felder
9b9a32bf74
Fix compile warning
...
warning: "else" clauses will never match because all patterns in "with" will always match
lib/pleroma/web/rich_media/parser/ttl/opengraph.ex:10
2024-05-07 21:56:27 -04:00
Mark Felder
19002fd6c1
Mastodon API: Remove deprecated GET /api/v1/statuses/:id/card endpoint
...
Removed back in 2019
https://github.com/mastodon/mastodon/pull/11213
2024-05-08 01:44:58 +00:00
Mark Felder
37de58823f
Remove test validating missing descriptions are returned as an empty string
2024-05-08 00:49:29 +00:00
Mark Felder
5bbcf5b8b7
Improve test description
2024-05-08 00:36:16 +00:00
Mark Felder
c16c023ebf
Rich Media Cards are fetched asynchonously and not guaranteed to be available on first post render
2024-05-08 00:26:32 +00:00
Mark Felder
fa66bd95dc
Rich Media Cards are cached by URL not per status
2024-05-08 00:23:59 +00:00
Mark Felder
5a5a193877
Fix broken Rich Media parsing when the image URL is a relative path
2024-05-07 19:54:56 -04:00
Mark Felder
d21aa1a77c
Respect the TTL returned in OpenGraph tags
2024-05-07 19:54:56 -04:00
Mark Felder
f40084e019
Fix broken tests
2024-05-07 19:54:56 -04:00
Mark Felder
df0734fcbf
Increase the :max_body for Rich Media to 5MB
...
Websites are increasingly getting more bloated with tricks like inlining content (e.g., CNN.com) which puts pages at or above 5MB. This value may still be too low.
2024-05-07 19:54:56 -04:00
Mark Felder
ede414094f
RichMedia refactor
...
Rich Media parsing was previously handled on-demand with a 2 second HTTP request timeout and retained only in Cachex. Every time a Pleroma instance is restarted it will have to request and parse the data for each status with a URL detected. When fetching a batch of statuses they were processed in parallel to attempt to keep the maximum latency at 2 seconds, but often resulted in a timeline appearing to hang during loading due to a URL that could not be successfully reached. URLs which had images links that expire (Amazon AWS) were parsed and inserted with a TTL to ensure the image link would not break.
Rich Media data is now cached in the database and fetched asynchronously. Cachex is used as a read-through cache. When the data becomes available we stream an update to the clients. If the result is returned quickly the experience is almost seamless. Activities were already processed for their Rich Media data during ingestion to warm the cache, so users should not normally encounter the asynchronous loading of the Rich Media data.
Implementation notes:
- The async worker is a Task with a globally unique process name to prevent duplicate processing of the same URL
- The Task will attempt to fetch the data 3 times with increasing sleep time between attempts
- The HTTP request obeys the default HTTP request timeout value instead of 2 seconds
- URLs that cannot be successfully parsed due to an unexpected error receives a negative cache entry for 15 minutes
- URLs that fail with an expected error will receive a negative cache with no TTL
- Activities that have no detected URLs insert a nil value in the Cachex :scrubber_cache so we do not repeat parsing the object content with Floki every time the activity is rendered
- Expiring image URLs are handled with an Oban job
- There is no automatic cleanup of the Rich Media data in the database, but it is safe to delete at any time
- The post draft/preview feature makes the URL processing synchronous so the rendered post preview will have an accurate rendering
Overall performance of timelines and creating new posts which contain URLs is greatly improved.
2024-05-07 19:54:56 -04:00
feld
b42963a52c
Merge branch 'revert-50af909c' into 'develop'
...
Revert "Merge branch 'pleroma-card-image-description' into 'develop'"
See merge request pleroma/pleroma!4107
2024-05-07 23:21:37 +00:00
feld
750fb25f48
Revert "Merge branch 'pleroma-card-image-description' into 'develop'"
...
This reverts merge request !4101
2024-05-07 23:20:38 +00:00
Mark Felder
acf73f7e13
Update changelog entry
2024-05-07 17:48:40 -04:00
Mark Felder
06c26bf9c9
Add the absent max_featured_tags to the api spec for /api/v1/instance
2024-05-07 17:46:05 -04:00
Mark Felder
b979389958
Add configuration[accounts][max_pinned_statuses] to /api/v2/instance
...
Also add the absent max_featured_tags to the api spec for /api/v2/instance
2024-05-07 17:45:02 -04:00
Mark Felder
3cad57bf48
Add configuration[statuses][characters_reserved_per_url] to /api/v2/instance
...
Fixes #3250
2024-05-07 17:25:30 -04:00
Mark Felder
dd03184811
Strip actor from objects before federating
2024-05-07 11:54:45 -04:00
lain
ffa6805c09
Merge branch 'description-type' into 'develop'
...
Fix type in config description
See merge request pleroma/pleroma!4104
2024-05-07 11:39:48 +00:00
marcin mikołajczak
637f5bc431
Fix type in description
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-04-27 20:29:23 +02:00
Haelwenn
88412daf11
Apply @lanodan's suggestion
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-04-25 12:34:12 +02:00
lain
50af909c01
Merge branch 'pleroma-card-image-description' into 'develop'
...
Include image description in status media cards
See merge request pleroma/pleroma!4101
2024-04-19 07:39:05 +00:00
marcin mikołajczak
6f6bede900
Include image description in status media cards
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-04-19 10:20:31 +04:00
lain
87b8ac3ce6
Merge branch 'receiverworker-error-handling' into 'develop'
...
ReceiverWorker: Make sure non-{:ok, _} is returned as {:error, …}
See merge request pleroma/pleroma!4100
2024-04-19 06:04:44 +00:00
Haelwenn
71a0373232
Merge branch 'ffmpeg-limiter' into 'develop'
...
Prevent Media Helper from respawning ffmpeg for bad media
See merge request pleroma/pleroma!4086
2024-04-17 05:47:54 +00:00
Haelwenn (lanodan) Monnier
a299ddb10e
ReceiverWorker: Make sure non-{:ok, _} is returned as {:error, …}
...
Otherwise an error like `{:signature, {:error, {:error, :not_found}}}` ends up considered a success.
2024-04-17 07:43:47 +02:00
tusooa
d80e0d6873
Merge branch 'user-actor-webfinger' into 'develop'
...
FEP-2c59, add "webfinger" to user actor
See merge request pleroma/pleroma!4099
2024-04-12 03:09:37 +00:00
marcin mikołajczak
4f5c4d79c4
FEP-2c59, add "webfinger" to user actor
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-04-11 17:50:11 +02:00
marcin mikołajczak
ccc3ac241f
Add hint to rules
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-04-06 11:45:19 +02:00
marcin mikołajczak
9e6cf45906
/api/v1/accounts/familiar_followers
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-04-06 11:43:56 +02:00
marcin mikołajczak
01a5f839c5
Merge remote-tracking branch 'origin/develop' into instance_rules
2024-04-06 10:42:23 +02:00
lain
987f44d811
Merge branch 'bookmark-folders' into 'develop'
...
Fix BookmarkFolderView, add test
See merge request pleroma/pleroma!4096
2024-03-20 13:26:47 +00:00
marcin mikołajczak
37ec645ff2
Fix BookmarkFolderView, add test
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-20 13:24:43 +01:00
Mark Felder
462d5aa5cb
logger: remove request_id metadata which is not useful
2024-03-19 20:53:40 -04:00
Mark Felder
99cee755d8
Show Logger metadata in dev
2024-03-19 12:15:10 -04:00
Mark Felder
40823462e7
Logger metadata for request path and authenticated user
2024-03-19 12:15:10 -04:00
Mark Felder
7dfd148ff8
Logger metadata for inbound federation requests
2024-03-19 12:15:10 -04:00
Mark Felder
741f22bfe0
MediaHelper: cache failed URLs for 15 minutes to prevent excessive retries
2024-03-19 12:14:03 -04:00
Mark Felder
c25fda34e7
Skip generating notifications for internal users
2024-03-19 12:11:30 -04:00
Mark Felder
291d531e4c
Unify notification push and streaming events for both local and federated activities
...
This also removes generation of notifications for blocked/filtered/muted users and threads.
2024-03-19 12:11:30 -04:00
lain
f775a1931b
Merge branch 'transient-validators-defaults' into 'develop'
...
Set defaults values on transient objects (attachment, poll options) validators
See merge request pleroma/pleroma!4090
2024-03-19 12:44:13 +00:00
Lain Soykaf
4e8a1b40cb
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into transient-validators-defaults
2024-03-19 16:26:02 +04:00
lain
8a14fdbe47
Update transient-validators-defaults.change
2024-03-19 12:03:43 +00:00
lain
4e37cd85ef
Merge branch 'fix-bookmark-test' into 'develop'
...
CI: Move changelog check to later in the pipeline
See merge request pleroma/pleroma!4095
2024-03-19 12:02:10 +00:00
Lain Soykaf
040a980277
Add changelog
2024-03-19 15:03:16 +04:00
Lain Soykaf
afae3a94a4
CI: Move changelog check to later in the pipeline
...
No reason to not run tests.
2024-03-19 13:54:35 +04:00
Lain Soykaf
9617189e96
Tests: Actually run the bookmark folder tests.
2024-03-19 13:51:04 +04:00
lain
8e37f19883
Merge branch 'test-improvements' into 'develop'
...
Tests: Explicitly set db pool size and max cases to the same value.
See merge request pleroma/pleroma!4094
2024-03-19 07:44:05 +00:00
Lain Soykaf
665947ab2a
Tests: Reduced the max case number to make tests more stable.
2024-03-19 11:03:05 +04:00
Lain Soykaf
3cc8414c2e
Add changelog
2024-03-19 10:38:29 +04:00
Lain Soykaf
923803a533
Tests: Explicitly set db pool size and max cases to the same value.
2024-03-19 10:34:37 +04:00
lain
ca5766c0a7
Merge branch 'postgres-bump' into 'develop'
...
Update minimum Postgres version to 11.0; disable JIT
See merge request pleroma/pleroma!4093
2024-03-19 04:46:40 +00:00
Mark Felder
357553a64a
Remove usage of :persistent_term for Postgres version storage, fix test
...
This test should not have been passing. The search result's activity id should not be the same id as the local post.
capture_log was not being used. Removed.
2024-03-18 16:27:52 -04:00
Mark Felder
b822a912ad
Remove test for postgres < 11
2024-03-18 16:15:40 -04:00
Mark Felder
1413d2e517
Remove vestiges of old Postgres support
2024-03-18 15:42:15 -04:00
Mark Felder
7f97fbc1ae
Update minimum Postgres version to 11.0; disable JIT
...
This release is where JIT was introduced and it should be disabled. Pleroma's queries do not benefit from JIT, but it can increase latency of queries.
2024-03-18 15:36:26 -04:00
lain
0e4e20315b
Merge branch 'bookmark-folders' into 'develop'
...
Bookmark folders
See merge request pleroma/pleroma!4080
2024-03-18 14:26:19 +00:00
marcin mikołajczak
60c4cb21ea
InstanceView: Update features
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-18 14:02:29 +01:00
marcin mikołajczak
918c406a91
Merge remote-tracking branch 'origin/develop' into instance_rules
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-18 13:50:25 +01:00
lain
2b71f4897f
Merge branch 'develop' into 'bookmark-folders'
...
# Conflicts:
# docs/development/API/differences_in_mastoapi_responses.md
2024-03-18 10:35:02 +00:00
lain
cf0aa1238c
Merge branch 'public-polls' into 'develop'
...
Expose nonAnonymous field from Smithereen polls
See merge request pleroma/pleroma!3962
2024-03-18 06:26:22 +00:00
lain
4f7f44ced1
Merge branch 'develop' into 'develop'
...
Notifications: filter on users rather than activities
See merge request pleroma/pleroma!4089
2024-03-17 20:17:04 +00:00
Matthieu Rakotojaona
a48f5f860e
Notifications: filter on users rather than activities
2024-03-17 20:58:59 +01:00
lain
d5b64846ed
Merge branch 'remove-rum-tests' into 'develop'
...
CI: Remove RUM tests.
See merge request pleroma/pleroma!4092
2024-03-17 16:33:26 +00:00
lain
56e456fb5b
Merge branch 'fix-3241' into 'develop'
...
Consider a case when users.inbox is nil (Fix 3241)
Closes #3241
See merge request pleroma/pleroma!4083
2024-03-17 13:38:59 +00:00
Lain Soykaf
caf855cf9c
ActivityPub.Publisher: Don't try federating if a user doesn't have an inbox.
2024-03-17 16:57:45 +04:00
Lain Soykaf
0450da88b6
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into pleroma-fix-3241
2024-03-17 16:42:17 +04:00
lain
95bcd5d28f
Merge branch 'force-mention' into 'develop'
...
Add ForceMention mrf
See merge request pleroma/pleroma!4082
2024-03-17 12:32:14 +00:00
Lain Soykaf
f0cca36e07
CI: Remove RUM tests.
2024-03-17 15:39:24 +04:00
feld
0b5bba23ce
Merge branch 'backups' into 'develop'
...
Include following/followers in backups
See merge request pleroma/pleroma!4085
2024-03-15 19:32:35 +00:00
Haelwenn (lanodan) Monnier
4ad1d02d7e
changelog.d/transient-validators-defaults.change: insert
2024-03-15 16:25:02 +01:00
Haelwenn (lanodan) Monnier
48c22a67de
QuestionOptionsValidator: set default AS types
2024-03-15 16:22:18 +01:00
Haelwenn (lanodan) Monnier
8b651fab1d
AttachmentValidator: Set "Link" as default type
2024-03-15 16:22:18 +01:00
marcin mikołajczak
bb0b17f4d9
Include following/followers in backups
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-10 23:53:12 +01:00
tusooa
df7a8d4efe
Merge branch 'instance-contact-account' into 'develop'
...
Add contact account to InstanceView
See merge request pleroma/pleroma!3960
2024-03-10 13:14:19 +00:00
feld
72daf522c9
Merge branch 'fix-framegrabs' into 'develop'
...
Fix ffmpeg framegrabs with Exile
See merge request pleroma/pleroma!4087
2024-03-08 14:48:26 +00:00
marcin mikołajczak
c0c4a9ed0d
Merge remote-tracking branch 'origin/develop' into instance-contact-account
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-08 12:12:55 +01:00
tusooa
139057f346
Merge branch 'link-verification' into 'develop'
...
Verify profile link ownership with rel="me"
Closes #2733
See merge request pleroma/pleroma!3959
2024-03-08 00:52:09 +00:00
Mark Felder
54ff7234b9
Fix ffmpeg framegrabs with Exile
2024-03-07 17:38:21 -05:00
marcin mikołajczak
961a5dd4cd
Add test
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-07 16:42:22 +01:00
marcin mikołajczak
b7c625db0f
Merge remote-tracking branch 'origin/develop' into link-verification
2024-03-07 13:13:49 +01:00
tusooa
47ce33a90d
Apply tusooa's suggestion
2024-03-07 11:55:31 +00:00
tusooa
1422082bf2
Apply ledyba's suggestion(s) to 1 file(s)
2024-03-07 04:43:56 +00:00
tusooa
8298b326a7
Merge branch 'instance-v2' into 'develop'
...
Add some missing fields to instanceV2
See merge request pleroma/pleroma!4081
2024-03-07 01:31:27 +00:00
Kaede Fujisaki
0242c1f691
fmt
2024-03-02 18:34:12 +09:00
Kaede Fujisaki
1311f8314e
add changelog.d
2024-03-02 18:24:39 +09:00
Kaede Fujisaki
fb1873b6ec
add changelog.d
2024-03-02 18:23:56 +09:00
Kaede Fujisaki
2e548c31d4
Add changelog
2024-03-02 18:13:36 +09:00
Kaede Fujisaki
6ad4acea50
Consider a case when inbox is nil
2024-03-02 18:09:08 +09:00
marcin mikołajczak
9cfa4e67b1
Add ForceMention mrf
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-01 18:16:09 +01:00
marcin mikołajczak
d415686bb9
Allow to group bookmarks in folders
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-01 11:04:01 +01:00
marcin mikołajczak
acb9e46074
Add some missing fields to instanceV2
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-02-27 13:25:26 +01:00
Haelwenn
03e54aaba9
Merge branch 'remote-fetcher-error' into 'develop'
...
RemoteFetcherWorker: Make sure {:error, _} is returned on failure
See merge request pleroma/pleroma!4077
2024-02-24 11:37:34 +00:00
feld
bd4d2e1d83
Merge branch 'exile-freebsd' into 'develop'
...
Exile: change to upstream pre-release commit that fixes build on FreeBSD
See merge request pleroma/pleroma!4079
2024-02-23 20:52:04 +00:00
Mark Felder
267e20dbcd
Exile: change to upstream pre-release commit that fixes build on FreeBSD
2024-02-23 15:36:37 -05:00
feld
6144cb43a8
Merge branch 'gun-pool-retry' into 'develop'
...
Gun connection pooling: rename variable for clarity
See merge request pleroma/pleroma!4078
2024-02-23 16:44:53 +00:00
Mark Felder
f4e48bc53e
Rename variable to make the worker retry logic easier to read
...
The boolean value matches the intent of the "last_attempt" variable name now
2024-02-23 11:12:10 -05:00
Haelwenn
00e828b1a0
Merge branch 'gun-pool-retry' into 'develop'
...
Gun connection pool retry fix
See merge request pleroma/pleroma!4076
2024-02-23 06:47:56 +00:00
Haelwenn (lanodan) Monnier
6af6a9704d
RemoteFetcherWorker: Make sure {:error, _} is returned on failure
...
Otherwise jobs are considered a success.
2024-02-23 01:59:30 +01:00
marcin mikołajczak
c592a0e58d
Merge remote-tracking branch 'origin/develop' into HEAD
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-02-22 21:05:20 +01:00
Mark Felder
72fc41d891
Prevent publisher jobs from erroring if the connection pool is full
...
A full pool is a soft-error. Snooze the job for 30 seconds and try again.
2024-02-22 14:14:40 -05:00
Mark Felder
ac55764599
Gun Connection Pool was not attempting to free a connection and retry once if the pool was full.
2024-02-22 14:07:46 -05:00
Haelwenn
f0468697cd
Merge branch 'mergeback/2.6.2' into 'develop'
...
Mergeback: Security Release 2.6.2
Closes #3245
See merge request pleroma/pleroma!4075
2024-02-20 10:52:46 +00:00
Haelwenn
fb4aa9f725
Merge branch 'release/2.6.2' into 'stable'
...
Security Release 2.6.2
See merge request pleroma/pleroma!4074
2024-02-20 08:43:07 +00:00
Haelwenn (lanodan) Monnier
e149ee6e22
Mergeback of security release 2.6.2
2024-02-20 09:34:11 +01:00
Haelwenn (lanodan) Monnier
be075a4336
Security release 2.6.2
2024-02-20 09:16:36 +01:00
Haelwenn (lanodan) Monnier
ac977bdb1c
StealEmojiPolicy: Sanitize shortcodes
...
Closes: https://git.pleroma.social/pleroma/pleroma/-/issues/3245
2024-02-20 09:14:02 +01:00
Haelwenn (lanodan) Monnier
7d624c4750
StealEmojiPolicy: Sanitize shortcodes
...
Closes: https://git.pleroma.social/pleroma/pleroma/-/issues/3245
2024-02-20 09:09:54 +01:00
feld
0b9bc4a0d0
Merge branch 'memleak' into 'develop'
...
Force more frequent full_sweep GC runs on the Websocket processes
See merge request pleroma/pleroma!4060
2024-02-17 16:21:55 +00:00
Mark Felder
7e99d0619d
Force more frequent full_sweep GC runs on the Websocket processes
...
Websocket processes seem to be the primary culprit for Binary memory allocation bloat.
2024-02-17 09:53:52 -05:00
Haelwenn
a145d909b5
Merge branch 'weblate' into 'develop'
...
Translations update from Pleroma Weblate
See merge request pleroma/pleroma!4070
2024-02-16 18:28:55 +00:00
SyoBoN
2c9fed9b73
Translated using Weblate (Japanese)
...
Currently translated at 63.1% (60 of 95 strings)
Translation: Pleroma/Pleroma Backend (domain errors)
Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma-backend-domain-errors/ja/
2024-02-16 17:54:01 +00:00
feld
0fbec6b532
Merge branch 'deps-changelog-revert' into 'develop'
...
Revert "Support a new changelog entry type: deps"
See merge request pleroma/pleroma!4071
2024-02-16 17:53:52 +00:00
Mark Felder
1951d56ed9
Revert "Add support for a "deps" changelog type and document deps changes since 2.6.1 release"
...
This reverts commit 2a4fa4c408
.
2024-02-16 12:53:18 -05:00
Mark Felder
c9cd449bba
Revert "Support a new changelog entry type: deps"
...
This reverts commit 4648997a10
.
2024-02-16 12:52:56 -05:00
feld
03834454d9
Merge branch 'tesla' into 'develop'
...
Update Tesla, document some deps changes
See merge request pleroma/pleroma!4069
2024-02-15 15:27:34 +00:00
Mark Felder
2a4fa4c408
Add support for a "deps" changelog type and document deps changes since 2.6.1 release
2024-02-15 10:27:13 -05:00
Mark Felder
772f8d08cf
Tesla changelog
2024-02-15 10:24:32 -05:00
Mark Felder
4648997a10
Support a new changelog entry type: deps
2024-02-15 10:24:31 -05:00
feld
b91317b9bf
Merge branch 'bandit' into 'develop'
...
Support Bandit as a Phoenix HTTP adapter
See merge request pleroma/pleroma!4068
2024-02-15 15:23:41 +00:00
Mark Felder
202721e80c
Remove Cowboy-specific HTTP options
...
These were only used in dev and served no specific purpose. The equivalent settings for Bandit are under a key called :http1_options and the default values are set to 10_000.
2024-02-15 09:55:03 -05:00
Mark Felder
0c5bec0493
Support Bandit as an alternate HTTP backend to Cowboy. This is currently considered experimental, but may improve performance and resource usage.
2024-02-15 09:54:52 -05:00
feld
4dd8a1a1ca
Merge branch 'websocket-refactor' into 'develop'
...
Websocket refactor to use Phoenix.Socket.Transport
See merge request pleroma/pleroma!4064
2024-02-15 14:36:54 +00:00
lain
d3208d2250
Merge branch 'oauth-nickname' into 'develop'
...
Use User.full_nickname/1 in oauth html template
See merge request pleroma/pleroma!4054
2024-02-15 09:35:39 +00:00
lain
f2f455f283
Merge branch 'frontend-caching' into 'develop'
...
FrontendStatic should have reasonable caching
See merge request pleroma/pleroma!3685
2024-02-15 09:23:47 +00:00
Haelwenn
f28dcc9cb7
Merge branch 'config-stat-symlink' into 'develop'
...
Config: Check the permissions of the linked file instead of the symlink
See merge request pleroma/pleroma!4061
2024-02-15 01:48:03 +00:00
Haelwenn
d19642d7eb
Merge branch 'bugfix-ccworks' into 'develop'
...
Bugfix for ccworks AP bridge
Closes #3234
See merge request pleroma/pleroma!4043
2024-02-15 01:30:22 +00:00
feld
802c618885
Merge branch 'atom-leaks' into 'develop'
...
Fix minor atom leaks
See merge request pleroma/pleroma!4065
2024-02-14 23:28:00 +00:00
Mark Felder
9138754b0a
Changelog
2024-02-14 18:04:39 -05:00
Mark Felder
91c83a82a0
Fix atom leak in background worker
...
The only permitted values are "blocks_import", "follow_import", "mutes_import" of which we already have the equivalent atoms defined.
2024-02-14 18:03:54 -05:00
Mark Felder
86e6d395d9
Fix atom leak in password digest functionality
...
The value here gets passesd to :crypto.pbkdf2_hmac and it expects one of these atoms: :sha | :sha224 | :sha256 | :sha384 | :sha512 so it will always exist
2024-02-14 17:54:56 -05:00
Mark Felder
6be129ead2
Websocket refactor changelog
2024-02-14 15:27:12 -05:00
Mark Felder
d0f4b2b02f
Remove invalid test
...
It is not allowed to use the Sec-WebSocket-Protocol header for arbitrary values. This was possible due to the raw websocket handling we were doing with Cowboy, but Phoenix.Socket.Transport does not allow this as the value of this header is compared against a static list of subprotocols.
https://hexdocs.pm/phoenix/Phoenix.Endpoint.html#socket/3-websocket-configuration
Additionally I cannot find anywhere that we depended on this behavior. Setting the Sec-WebSocket-Protocol header does not appear to be a part of PleromaFE.
2024-02-14 15:27:12 -05:00
Mark Felder
64ad451a7b
Websocket refactor to use Phoenix.Socket.Transport
...
This will make us compatible with Cowboy and Bandit
2024-02-14 15:27:07 -05:00
feld
af9bb77cad
Merge branch 'gun-logs' into 'develop'
...
Gun connection pool logs
See merge request pleroma/pleroma!4063
2024-02-14 18:57:11 +00:00
feld
1b2f9d4a6d
Merge branch 'proxy-headers' into 'develop'
...
MediaProxy RFC compliance
See merge request pleroma/pleroma!4062
2024-02-14 18:56:54 +00:00
Mark Felder
9a4c8e2316
Change some Gun connection pool logs to debug level
2024-02-14 13:28:32 -05:00
Mark Felder
60ba6fd244
MediaProxy RFC compliance
2024-02-14 13:25:52 -05:00
Haelwenn (lanodan) Monnier
3b82864bcc
Config: Check the permissions of the linked file instead of the symlink↵
2024-02-14 18:19:50 +01:00
feld
79d69ce72a
Merge branch 'gitignore' into 'develop'
...
Update .gitignore
See merge request pleroma/pleroma!4059
2024-02-12 22:23:31 +00:00
Mark Felder
67c3acde34
Update .gitignore
2024-02-12 17:22:57 -05:00
feld
769e02d0de
Merge branch 'notifications-query' into 'develop'
...
Fix notifications query to use the index
See merge request pleroma/pleroma!4058
2024-02-12 19:37:17 +00:00
Mark Felder
cb4d3db8c6
Changelog for notifications fix pulled in from Rebased
2024-02-12 14:14:38 -05:00
Alex Gleason
8daf19ec0f
Fix notifications index
2024-02-12 14:13:11 -05:00
feld
991807080b
Merge branch 'gun-fix' into 'develop'
...
Fix Gun connection supervisor logic error
See merge request pleroma/pleroma!4056
2024-02-09 16:48:05 +00:00
Mark Felder
0eca3e38eb
Fix Gun connection supervisor logic error
...
This was recently changed to solve a Dialyzer error, but the replacement logic was faulty as "retry" would only be compared to :error and not have its truthiness evaluated.
The original logic was also faulty as it returned {:error, :pool_full} even retry was true. It never retried when the pool was full.
2024-02-09 10:48:40 -05:00
marcin mikołajczak
0fcdcc2300
Use User.full_nickname/1 in oauth html template
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-02-09 16:46:45 +01:00
feld
72480e7b2f
Merge branch 'rich-media-tests' into 'develop'
...
Pleroma.Web.RichMedia.Parser: Remove test-specific codepaths
See merge request pleroma/pleroma!4053
2024-02-07 05:47:38 +00:00
Mark Felder
9f2319e50d
RichMedia.Helpers: move the validate_page_url/1 function to the Parser module
...
This will ensure that the page validation happens in Parser.parse/1 so it can be called from anywhere and still filter invalid URLs.
2024-02-06 18:34:02 -05:00
Mark Felder
6b7b443ff9
Pleroma.Web.RichMedia.Parser: Remove test-specific codepaths
...
Also consolidate Tesla mocks into the HttpRequestMock module.
Tests were not exercising the real codepaths. The Rich Media Preview only works with https, but most of these tests were only mocking http.
2024-02-06 18:33:54 -05:00
feld
e957362779
Merge branch 'rich-media-cache' into 'develop'
...
Fix Rich Media Previews for updated activities
See merge request pleroma/pleroma!4052
2024-02-05 05:58:07 +00:00
Mark Felder
0cc038b67c
Ensure URLs with IP addresses for the host do not generate previews
2024-02-05 00:09:37 -05:00
Mark Felder
579561e97b
URI.authority is deprecated
2024-02-04 23:49:07 -05:00
Mark Felder
04fc4eddaa
Fix Rich Media Previews for updated activities
...
The Rich Media Previews were not regenerated when a post was updated due to a cache invalidation issue. They are now cached by the activity id so they can be evicted with the other activity cache objects in the :scrubber_cache.
2024-02-04 23:47:04 -05:00
feld
0b9990a7e5
Merge branch 'dialyzer-fixes' into 'develop'
...
Dialyzer and gradient fixes
See merge request pleroma/pleroma!4051
2024-02-04 17:56:14 +00:00
Mark Felder
0ffeb84f0c
Changelog
2024-02-02 12:14:21 -05:00
Mark Felder
a2c686e16c
Pleroma.Filter: fix gradient error
...
lib/pleroma/filter.ex: The clause on line 220 cannot be reached
2024-02-02 12:14:21 -05:00
Mark Felder
d42b0eb29b
Pleroma.Config.DeprecationWarnings: fix gradient errors
...
lib/pleroma/config/deprecation_warnings.ex: The atom :error on line 292 is expected to have type :ok | nil but it has type :error
lib/pleroma/config/deprecation_warnings.ex: The function call move_namespace_and_warn(
[
{Pleroma.ActivityExpiration, Pleroma.Workers.PurgeExpiredActivity,
"
* `config :pleroma, Pleroma.ActivityExpiration` is now `config :pleroma, Pleroma.Workers.PurgeExpiredActivity`"}
],
warning_preface
) on line 350 is expected to have type :ok | nil but it has type :ok | nil | :error
lib/pleroma/config/deprecation_warnings.ex: The function call move_namespace_and_warn(
[
{Pleroma.Plugs.RemoteIp, Pleroma.Web.Plugs.RemoteIp, "
* `config :pleroma, Pleroma.Plugs.RemoteIp` is now `config :pleroma, Pleroma.Web.Plugs.RemoteIp`"}
],
warning_preface
) on line 366 is expected to have type :ok | nil but it has type :ok | nil | :error
lib/pleroma/config/deprecation_warnings.ex: The atom :error on line 390 is expected to have type :ok | nil but it has type :error
lib/pleroma/config/deprecation_warnings.ex: The atom :error on line 413 is expected to have type :ok | nil but it has type :error
2024-02-02 12:14:21 -05:00
Mark Felder
bff04da0f3
Pleroma.Emoji.Pack: fix gradient error
...
lib/pleroma/emoji/pack.ex: The tuple {:cwd, tmp_dir} on line 103 is expected to have type :cooked
| :keep_old_files
| :memory
| :verbose
| {:cwd, list(char())}
| {:file_filter, (record(:zip_file) -> boolean())}
| {:file_list, list(:file.name())} but it has type {:cwd, binary()}
2024-02-02 12:14:21 -05:00
Mark Felder
ac7f2cf105
Pleroma Emoji mix task: fix gradient error
...
lib/mix/tasks/pleroma/emoji.ex: The tuple {:cwd, pack_path} on line 114 is expected to have type :cooked
| :keep_old_files
| :memory
| :verbose
| {:cwd, list(char())}
| {:file_filter, (record(:zip_file) -> boolean())}
| {:file_list, list(:file.name())} but it has type {:cwd, binary()}
2024-02-02 12:14:21 -05:00
Mark Felder
15621b7284
Pleroma.HTTP.RequestBuilder: fix gradient error
...
lib/pleroma/http/request_builder.ex: The variable key on line 69 is expected to have type String.t() but it has type atom()
2024-02-02 12:14:21 -05:00
Mark Felder
cccfdde14c
Pleroma.MFA: fix gradient error
...
lib/pleroma/mfa.ex: The map %{error: msg} on line 80 is expected to have type {:ok, list(binary())} | {:error, String.t()} but it has type %{required(:error) => any()}
2024-02-02 12:14:15 -05:00
Mark Felder
7745ee27bc
Pleroma.MFA.Totp.provisioning_uri/3: add @spec
2024-02-02 12:13:31 -05:00
marcin mikołajczak
1ed8ae2d8e
Add changelog
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-01-31 22:55:58 +01:00
marcin mikołajczak
226e53fdd7
Merge remote-tracking branch 'origin/develop' into status-notification-type
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-01-31 22:19:33 +01:00
Mark Felder
f933d24b02
Pleroma.Config.DeprecationWarnings: fix type errors detected by gradient
...
lib/pleroma/config/deprecation_warnings.ex: The atom :error on line 278 is expected to have type :ok | nil but it has type :error
lib/pleroma/config/deprecation_warnings.ex: The atom :error on line 292 is expected to have type :ok | nil but it has type :error
lib/pleroma/config/deprecation_warnings.ex: The atom :error on line 390 is expected to have type :ok | nil but it has type :error
lib/pleroma/config/deprecation_warnings.ex: The atom :error on line 413 is expected to have type :ok | nil but it has type :error
2024-01-31 14:55:14 -05:00
Mark Felder
518a38577b
Fix dialyzer errors due to deprecated usage of put_layout/2
2024-01-31 14:55:11 -05:00
Mark Felder
97c4d3bcc9
Pleroma.Web.Plugs.RateLimiter.Supervisor: dialyzer error
...
lib/pleroma/web/plugs/rate_limiter/supervisor.ex:12:no_return
Function init/1 has no local return.
2024-01-31 13:12:56 -05:00
Mark Felder
92992c022d
Pleroma.Web.OAuth.OAuthController: dialyzer error
...
validate_scopes/2 can never receive a map as it is only called in one place with a guard requiring a list
lib/pleroma/web/o_auth/o_auth_controller.ex:615:guard_fail
The guard test:
is_map(_params :: maybe_improper_list())
can never succeed.
2024-01-31 11:29:06 -05:00
Mark Felder
5e8bedcca0
Pleroma.Web.PleromaAPI.MascotController: fix dialyzer error due to bad error match
...
lib/pleroma/web/pleroma_api/controllers/mascot_controller.ex:37:pattern_match
The pattern can never match the type.
Pattern:
{:content_type, _}
Type:
{:error, _}
________________________________________________________________________________
lib/pleroma/web/pleroma_api/controllers/mascot_controller.ex:40:pattern_match
The pattern can never match the type.
Pattern:
{:upload, {:error, _}}
Type:
{:error, _}
2024-01-31 11:15:48 -05:00
Mark Felder
ed2f8e45e9
Pleroma.Web.MastodonAPI.SearchController: fix dialyzer errors
...
Add a separate Pagination.paginate_list/2 function instead of overloading paginate/4 and complicating its matching and @spec
2024-01-31 11:12:41 -05:00
Mark Felder
c6f783c551
Pleroma.Web.ControllerHelper: fix @spec to resolve dialyzer errors
...
lib/pleroma/web/admin_api/controllers/user_controller.ex:333:no_return
Function index/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:357:unused_fun
Function maybe_parse_filters/1 will never be called.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:366:no_return
Function page_params/1 has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:368:call
The function call will not succeed.
Pleroma.Web.ControllerHelper.fetch_integer_param(_params :: any(), :page, 1)
breaks the contract
(map(), String.t(), integer() | nil) :: integer() | nil
2024-01-31 11:01:37 -05:00
feld
3b9d991514
Merge branch 'dialyzer-fixes' into 'develop'
...
More dialyzer fixes
See merge request pleroma/pleroma!4050
2024-01-31 15:37:44 +00:00
Mark Felder
e17441b0ed
Changelog
2024-01-31 10:13:02 -05:00
Mark Felder
225afe05b3
Pleroma.Web.TwitterAPI.UtilController: fix dialyzer errors with replace_params: false
2024-01-31 10:13:02 -05:00
Mark Felder
b8db67dafa
Pleroma.Web.MastodonAPI.StatusController: fix dialzyer errors with replace_params: false
2024-01-31 10:13:02 -05:00
Mark Felder
fb7535ff9a
MascotController dialyzer error
...
lib/pleroma/web/pleroma_api/controllers/mascot_controller.ex:31:call
The function call will not succeed.
Pleroma.Web.ActivityPub.ActivityPub.upload(_file :: atom() | %{:content_type => _, _ => _}, [{:actor, <<_::56, _::size(8)>>}, ...]) ::
:ok
def a() do
:ok
end
will never return since the 2nd arguments differ
from the success typing arguments:
(any(), [
{:activity_type | :description | :filters | :size_limit | :type | :uploader,
atom() | binary() | [atom()] | non_neg_integer()}
])
2024-01-31 10:13:02 -05:00
Mark Felder
9760149886
Pleroma.Web.PleromaAPI.UserImportController: fix dialyzer errors with replace_params: false
2024-01-31 10:13:02 -05:00
Mark Felder
c39e4dd214
Pleroma.Web.PleromaAPI.NotificationController: fix dialyzer errors with replace_params: false
2024-01-31 10:13:02 -05:00
Mark Felder
e157fd60ee
Pleroma.Web.PleromaAPI.MascotController: fix dialyzer errors with replace_params: false
2024-01-31 10:13:02 -05:00
Mark Felder
9d16393d8b
Pleroma.Web.PleromaAPI.EmojiPackController: fix dialyzer errors with replace_params: false
2024-01-31 10:13:02 -05:00
Mark Felder
f1aeb80518
Pleroma.Web.PleromaAPI.EmojiFileController: fix dialyzer errors with replace_params: false
2024-01-31 10:13:02 -05:00
Mark Felder
4d20fbc6d9
Pleroma.Web.PleromaAPI.ChatController: fix dialyzer errors with replace_params: false
2024-01-31 10:12:59 -05:00
Mark Felder
fdddba100e
Pleroma.Web.MastodonAPI.SearchController: fix dialyzer errors with replace_params: false
2024-01-30 18:40:46 -05:00
Mark Felder
324fd08455
Pleroma.Web.MastodonAPI.ScheduledActivityController: fix dialyzer errors with replace_params: false
2024-01-30 18:33:23 -05:00
Mark Felder
d3c6acd2f2
Pleroma.Web.MastodonAPI.PollController: fix dialyzer errors with replace_params: false
2024-01-30 18:31:13 -05:00
Mark Felder
0a6b2c9587
Pleroma.Web.MastodonAPI.NotificationController: fix dialyzer errors with replace_params: false
2024-01-30 18:27:31 -05:00
Mark Felder
90c9f38f40
Pleroma.Web.MastodonAPI.MediaController: fix dialyzer errors with replace_params: false
2024-01-30 18:09:11 -05:00
Mark Felder
9741f045e4
Pleroma.Web.MastodonAPI.ListController: fix dialyzer errors with replace_params: false
2024-01-30 18:05:28 -05:00
Mark Felder
14de8376ad
Pleroma.Web.MastodonAPI.FollowRequestController: fix dialyzer errors with replace_params: false
2024-01-30 17:56:43 -05:00
Mark Felder
f400224a00
Pleroma.Web.AdminAPI.UserController: fix dialyzer errors with replace_params: false
2024-01-30 17:51:40 -05:00
Mark Felder
dd916e0b4c
Pleroma.Web.AdminAPI.ReportController: fix dialyzer errors with replace_params: false
2024-01-30 17:24:26 -05:00
Mark Felder
b84a33a101
Pleroma.Web.AdminAPI.RelayController: fix dialyzer errors with replace_params: false
2024-01-30 17:13:14 -05:00
Mark Felder
fb6f53fc12
Pleroma.Web.AdminAPI.MediaProxyCacheController: fix dialyzer errors with replace_params: false
2024-01-30 17:11:43 -05:00
Mark Felder
ea26dcd800
Pleroma.Web.AdminAPI.InviteController: fix dialyzer errors with replace_params: false
2024-01-30 17:06:37 -05:00
Mark Felder
85c9397ec7
Pleroma.Web.AdminAPI.InstanceDocumentController: fix dialyzer errors with replace_params: false
2024-01-30 17:04:12 -05:00
Mark Felder
ef1f301756
Pleroma.Web.AdminAPI.ConfigController: fix dialyzer errors with replace_params: false
2024-01-30 16:59:28 -05:00
Mark Felder
dec82a6a36
Phoenix.Endpoint.Cowboy2Handler does not exist
...
This should have always failed as it would not be an existing atom. Unclear how it worked since the upgrade to Phoenix 1.6.
2024-01-30 16:58:19 -05:00
Mark Felder
81c8592d69
Pleroma.Web.MastodonAPI.AccountController: fix dialyzer errors with replace_params: false
2024-01-30 16:50:00 -05:00
feld
1bba02863d
Merge branch 'dialyzer-fixes' into 'develop'
...
Dialyzer fixes, some reverts
See merge request pleroma/pleroma!4049
2024-01-30 20:32:32 +00:00
Mark Felder
cfe7438b2f
Pleroma.Web.MastodonAPI.DomainBlockController: dialyzer fixes via :replace_params
2024-01-30 14:52:15 -05:00
Mark Felder
608466d098
Modify our CastAndValidate plug to include the new functionality provided by the :replace_params config option
...
This allows us to configure Open API Spex to not overwrite the params with the casted versions which violates the Plug.Conn.t() contract
https://github.com/open-api-spex/open_api_spex/issues/92
https://github.com/open-api-spex/open_api_spex/pull/425
2024-01-30 14:49:55 -05:00
Mark Felder
91a70ba552
Bump open_api_spex
2024-01-30 14:48:45 -05:00
Mark Felder
8476eb1842
Revert "Pleroma.Web.AdminAPI.MediaProxyCacheController: dialyzer errors"
...
This reverts commit 8b02c85810
.
2024-01-30 14:20:02 -05:00
Mark Felder
88a35b2865
Revert "Pleroma.Web.TwitterAPI.UtilController: dialyzer fixes"
...
This reverts commit 17f4251b19
.
2024-01-30 14:19:54 -05:00
Mark Felder
674ae51d6a
Revert "Pleroma.Web.PleromaAPI.UserImportController: Dialyzer errors"
...
This reverts commit 52e18a6249
.
2024-01-30 14:19:41 -05:00
Mark Felder
4a80a285d1
Revert "Pleroma.Web.PleromaAPI.NotificationController: dialyzer errors"
...
This reverts commit 26a95e5787
.
2024-01-30 14:19:32 -05:00
Mark Felder
1e76ceacd5
Revert "Pleroma.Web.AdminAPI.ConfigController: dialyzer error"
...
This reverts commit 60d89cb404
.
2024-01-30 14:19:13 -05:00
Mark Felder
2c8e4f32c6
Revert "Pleroma.Web.PleromaAPI.MascotController: dialyzer errors"
...
This reverts commit 9c8055d4b3
.
2024-01-30 14:18:36 -05:00
Mark Felder
b1a6102a85
Revert "Pleroma.Web.PleromaAPI.EmojiPackController: dialyzer errors"
...
This reverts commit 77bf617c4b
.
2024-01-30 14:15:40 -05:00
Mark Felder
4a9ed4682a
Revert "Pleroma.Web.PleromaAPI.EmojiFileController: dialyzer errors"
...
This reverts commit dc912dc590
.
2024-01-30 14:15:17 -05:00
Mark Felder
b709fc4dfe
Revert "Pleroma.Web.PleromaAPI.ChatController: Dialyzer error"
...
This reverts commit 8d64eedbec
.
2024-01-30 14:15:05 -05:00
Mark Felder
589456f0ba
Revert "Pleroma.Web.AdminAPI.InviteController: dialyzer errors"
...
This reverts commit db87be126e
.
2024-01-30 14:14:56 -05:00
Mark Felder
4227db0871
Revert "Pleroma.Web.AdminAPI.UserController: dialyzer errors"
...
This reverts commit d92c3d927d
.
2024-01-30 14:14:39 -05:00
Mark Felder
ac06a47689
Revert "Pleroma.Web.AdminAPI.RelayController: dialyzer errors"
...
This reverts commit 94838ed941
.
2024-01-30 14:14:22 -05:00
Mark Felder
da5e0fca4f
Revert "Pleroma.Web.AdminAPI.ReportController: dialyzer errors"
...
This reverts commit bfe626d578
.
2024-01-30 14:14:07 -05:00
Mark Felder
39241107d9
Revert "Pleroma.Web.AdminAPI.InstanceDocumentController: fix dialyzer error"
...
This reverts commit a3024dd5ac
.
2024-01-30 14:13:56 -05:00
Mark Felder
1fa1a93cd6
Revert "Pleroma.Web.MastodonAPI.AccountController: dialyzer errors"
...
This reverts commit e53c20b03c
.
2024-01-30 14:13:46 -05:00
Mark Felder
41493bd642
Revert "Pleroma.Web.MastodonAPI.DomainBlockController: dialyzer errors"
...
This reverts commit 378edeaf15
.
2024-01-30 14:13:23 -05:00
Mark Felder
a3426fcaf3
Revert "Pleroma.Web.MastodonAPI.MediaController: dialyzer errors"
...
This reverts commit 8cd5279857
.
2024-01-30 14:13:13 -05:00
Mark Felder
b666710574
Pleroma.Web.MediaProxy.MediaProxyController: dialyzer errors
...
lib/pleroma/web/media_proxy/media_proxy_controller.ex:55:no_return
Function handle_preview/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/media_proxy/media_proxy_controller.ex:59:call
The function call will not succeed.
Pleroma.HTTP.request(<<72, 69, 65, 68>>, _media_proxy_url :: any(), [], [], [{:pool, :media}])
will never return since the success typing is:
(
:delete | :get | :head | :options | :patch | :post | :put | :trace,
binary(),
any(),
[{binary(), binary()}],
Keyword.t()
) :: any()
and the contract is
(
method(),
Pleroma.HTTP.Request.url(),
String.t(),
Pleroma.HTTP.Request.headers(),
:elixir.keyword()
) :: {:ok, Tesla.Env.t()} | {:error, any()}
________________________________________________________________________________
lib/pleroma/web/media_proxy/media_proxy_controller.ex:95:unused_fun
Function handle_preview/3 will never be called.
________________________________________________________________________________
lib/pleroma/web/media_proxy/media_proxy_controller.ex:111:unused_fun
Function handle_png_preview/2 will never be called.
________________________________________________________________________________
lib/pleroma/web/media_proxy/media_proxy_controller.ex:134:unused_fun
Function handle_jpeg_preview/2 will never be called.
________________________________________________________________________________
lib/pleroma/web/media_proxy/media_proxy_controller.ex:152:unused_fun
Function handle_video_preview/2 will never be called.
________________________________________________________________________________
lib/pleroma/web/media_proxy/media_proxy_controller.ex:164:unused_fun
Function drop_static_param_and_redirect/1 will never be called.
________________________________________________________________________________
lib/pleroma/web/media_proxy/media_proxy_controller.ex:173:unused_fun
Function fallback_on_preview_error/2 will never be called.
________________________________________________________________________________
lib/pleroma/web/media_proxy/media_proxy_controller.ex:177:unused_fun
Function put_preview_response_headers/1 will never be called.
________________________________________________________________________________
lib/pleroma/web/media_proxy/media_proxy_controller.ex:177:unused_fun
Function put_preview_response_headers/2 will never be called.
________________________________________________________________________________
lib/pleroma/web/media_proxy/media_proxy_controller.ex:187:unused_fun
Function thumbnail_max_dimensions/0 will never be called.
________________________________________________________________________________
lib/pleroma/web/media_proxy/media_proxy_controller.ex:196:unused_fun
Function min_content_length_for_preview/0 will never be called.
________________________________________________________________________________
lib/pleroma/web/media_proxy/media_proxy_controller.ex:200:unused_fun
Function media_preview_proxy_config/0 will never be called.
2024-01-29 18:50:50 -05:00
Mark Felder
8cd5279857
Pleroma.Web.MastodonAPI.MediaController: dialyzer errors
...
lib/pleroma/web/mastodon_api/controllers/media_controller.ex:32:call
The function call will not succeed.
Phoenix.Controller.render(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:file => _, _ => _},
_ => _
},
<<97, 116, 116, 97, 99, 104, 109, 101, 110, 116, 46, 106, 115, 111, 110>>,
%{:attachment => map()}
)
will never return since the success typing is:
(
%Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state =>
:chunked | :file | :sent | :set | :set_chunked | :set_file | :unset | :upgraded,
:status => nil | non_neg_integer()
},
atom() | binary(),
atom() | binary() | [{_, _}] | map()
) :: %Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state => :sent,
:status => nil | non_neg_integer()
}
and the contract is
(Plug.Conn.t(), binary() | atom(), Keyword.t() | map()) :: Plug.Conn.t()
________________________________________________________________________________
lib/pleroma/web/mastodon_api/controllers/media_controller.ex:48:call
The function call will not succeed.
Plug.Conn.put_status(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:file => _, _ => _},
_ => _
},
202
)
breaks the contract
(t(), status()) :: t()
________________________________________________________________________________
lib/pleroma/web/mastodon_api/controllers/media_controller.ex:63:call
The function call will not succeed.
Phoenix.Controller.render(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:description => _, _ => _},
_ => _
},
<<97, 116, 116, 97, 99, 104, 109, 101, 110, 116, 46, 106, 115, 111, 110>>,
%{:attachment => map()}
)
will never return since the success typing is:
(
%Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state =>
:chunked | :file | :sent | :set | :set_chunked | :set_file | :unset | :upgraded,
:status => nil | non_neg_integer()
},
atom() | binary(),
atom() | binary() | [{_, _}] | map()
) :: %Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state => :sent,
:status => nil | non_neg_integer()
}
and the contract is
(Plug.Conn.t(), binary() | atom(), Keyword.t() | map()) :: Plug.Conn.t()
2024-01-29 18:36:46 -05:00
Mark Felder
378edeaf15
Pleroma.Web.MastodonAPI.DomainBlockController: dialyzer errors
...
lib/pleroma/web/mastodon_api/controllers/domain_block_controller.ex:32:call
The function call will not succeed.
Phoenix.Controller.json(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:domain => _, _ => _},
_ => _
},
%{}
)
breaks the contract
(Plug.Conn.t(), term()) :: Plug.Conn.t()
________________________________________________________________________________
lib/pleroma/web/mastodon_api/controllers/domain_block_controller.ex:43:call
The function call will not succeed.
Phoenix.Controller.json(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:domain => _, _ => _},
_ => _
},
%{}
)
breaks the contract
(Plug.Conn.t(), term()) :: Plug.Conn.t()
2024-01-29 18:36:34 -05:00
Mark Felder
3cb2807244
Pleroma.Web.MastodonAPI.StatusView: dialyzer error
...
lib/pleroma/web/mastodon_api/views/status_view.ex:799:pattern_match_cov
The pattern
_, _
can never match, because previous clauses completely cover the type
%URI{
:authority => URI.authority(),
:fragment => nil | binary(),
:host => nil | binary(),
:path => nil | binary(),
:port => nil | char(),
:query => nil | binary(),
:scheme => nil | binary(),
:userinfo => nil | binary()
},
%URI{
:authority => URI.authority(),
:fragment => nil | binary(),
:host => nil | binary(),
:path => nil | binary(),
:port => nil | char(),
:query => nil | binary(),
:scheme => nil | binary(),
:userinfo => nil | binary()
}
.
2024-01-29 18:28:49 -05:00
Mark Felder
a266492776
Pleroma.User: dialyzer errors
...
lib/pleroma/user.ex:757:no_return
Function register_changeset/1 has no local return.
________________________________________________________________________________
lib/pleroma/user.ex:757:no_return
Function register_changeset/2 has no local return.
________________________________________________________________________________
lib/pleroma/user.ex:757:no_return
Function register_changeset/3 has no local return.
________________________________________________________________________________
lib/pleroma/user.ex:778:call
The function call will not succeed.
Pleroma.User.approval_changeset(
%Ecto.Changeset{
:action => atom(),
:changes => %{atom() => _},
:constraints => [
%{
:constraint =>
binary()
| %Regex{
:opts => binary() | [any()],
:re_pattern => _,
:re_version => _,
:source => binary()
},
:error_message => binary(),
:error_type => atom(),
:field => atom(),
:match => :exact | :prefix | :suffix,
:type => :check | :exclusion | :foreign_key | :unique
}
],
:data => nil | map(),
:empty_values => _,
:errors => Keyword.t({binary(), Keyword.t()}),
:filters => %{atom() => _},
:params => nil | %{binary() => _},
:prepare => [(_ -> any())],
:repo => atom(),
:repo_opts => Keyword.t(),
:required => [atom()],
:types =>
nil
| %{
atom() =>
atom()
| {:array | :assoc | :embed | :in | :map | :maybe | :param, _}
| {:parameterized, atom(), _}
},
:valid? => boolean(),
:validations => Keyword.t()
},
[{:set_approval, _}, ...]
)
breaks the contract
(t(), :elixir.keyword()) :: Ecto.Changeset.t()
________________________________________________________________________________
lib/pleroma/user.ex:854:unused_fun
Function maybe_validate_required_birthday/1 will never be called.
2024-01-29 17:37:52 -05:00
Mark Felder
2de84e2e3b
API Specs: many dialyzer errors
...
Too many to include in a commit log
Module instead of schema was being passed
2024-01-29 17:10:28 -05:00
Mark Felder
4fc177eb46
Pleroma.Web.ControllerHelper: dialyzer error
...
lib/pleroma/web/controller_helper.ex:97:pattern_match
The pattern can never match the type.
Pattern:
nil
Type:
%Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{
binary() =>
binary()
| [binary() | [any()] | %{binary() => _}]
| %{binary() => binary() | [any()] | %{binary() => _}}
},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() =>
binary()
| [binary() | [any()] | %{binary() => _}]
| %{binary() => binary() | [any()] | %{binary() => _}}
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{binary(), binary()}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{binary(), binary()}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state => :sent,
:status => nil | non_neg_integer()
}
2024-01-29 16:42:48 -05:00
Haelwenn
251c455b91
Merge branch 'deps-bump' into 'develop'
...
Bump dependencies
See merge request pleroma/pleroma!4044
2024-01-29 17:43:00 +00:00
feld
c9dc881747
Merge branch 'dialyzer-fixes' into 'develop'
...
More dialyzer fixes
See merge request pleroma/pleroma!4048
2024-01-28 23:20:25 +00:00
Mark Felder
6a22a80f9f
Pleroma.Web.MastodonAPI.DirectoryController: dialyzer errors
...
lib/pleroma/web/mastodon_api/controllers/directory_controller.ex:6:unused_fun
Function skip_auth/2 will never be called.
________________________________________________________________________________
lib/pleroma/web/mastodon_api/controllers/directory_controller.ex:6:unused_fun
Function skip_plug/2 will never be called.
________________________________________________________________________________
lib/pleroma/web/mastodon_api/controllers/directory_controller.ex:18:guard_fail
The guard clause:
when _action :: atom() == <<105, 110, 100, 101, 120>>
can never succeed.
2024-01-28 17:41:07 -05:00
Mark Felder
e53c20b03c
Pleroma.Web.MastodonAPI.AccountController: dialyzer errors
...
lib/pleroma/web/mastodon_api/controllers/account_controller.ex:479:call
The function call will not succeed.
Phoenix.Controller.render(
_conn :: %{
:assigns => %{:account => _, :user => _, _ => _},
:body_params => %{:comment => _, _ => _},
_ => _
},
<<114, 101, 108, 97, 116, 105, 111, 110, 115, 104, 105, 112, 46, 106, 115, 111, 110>>,
[
{:target, %Pleroma.User{:id => _, _ => _}} | {:user, %Pleroma.User{:id => _, _ => _}},
...
]
)
will never return since the success typing is:
(
%Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state =>
:chunked | :file | :sent | :set | :set_chunked | :set_file | :unset | :upgraded,
:status => nil | non_neg_integer()
},
atom() | binary(),
atom() | binary() | [{_, _}] | map()
) :: %Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state => :sent,
:status => nil | non_neg_integer()
}
and the contract is
(Plug.Conn.t(), binary() | atom(), Keyword.t() | map()) :: Plug.Conn.t()
________________________________________________________________________________
lib/pleroma/web/mastodon_api/controllers/account_controller.ex:519:call
The function call will not succeed.
Plug.Conn.assign(
_conn :: %{:body_params => %{:uri => _, _ => _}, _ => _},
:account,
_user :: %Pleroma.User{_ => _}
)
breaks the contract
(t(), atom(), term()) :: t()
2024-01-28 17:41:07 -05:00
Mark Felder
e2fc03ec72
Pleroma.Web.ActivityPub.Utils: dialyzer error
...
lib/pleroma/web/activity_pub/utils.ex:779:guard_fail
The guard clause:
when _ :: %Pleroma.Object{_ => _} === nil
can never succeed.
2024-01-28 17:14:41 -05:00
Mark Felder
082d665160
Pleroma.Web.AdminAPI.UserController: dialyzer errors
...
lib/pleroma/web/admin_api/controllers/user_controller.ex:205:no_return
Function activate/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:215:call
The function call will not succeed.
Keyword.values(
_updated_users :: %Pleroma.User{
:__meta__ => _,
:accepts_chat_messages => _,
:actor_type => _,
:allow_following_move => _,
:also_known_as => _,
:ap_id => _,
:avatar => _,
:background => _,
:banner => _,
:bio => _,
:birthday => _,
:blocked_users => _,
:blockee_blocks => _,
:blocker_blocks => _,
:blocker_users => _,
:blocks => _,
:confirmation_token => _,
:default_scope => _,
:deliveries => _,
:disclose_client => _,
:domain_blocks => _,
:email => _,
:email_notifications => _,
:emoji => _,
:endorsed_users => _,
:endorsee_endorsements => _,
:endorser_endorsements => _,
:endorser_users => _,
:featured_address => _,
:fields => _,
:follower_address => _,
:follower_count => _,
:following_address => _,
:following_count => _,
:hide_favorites => _,
:hide_followers => _,
:hide_followers_count => _,
:hide_follows => _,
:hide_follows_count => _,
:id => _,
:inbox => _,
:incoming_relationships => _,
:inserted_at => _,
:invisible => _,
:is_active => _,
:is_admin => _,
:is_approved => _,
:is_confirmed => _,
:is_discoverable => _,
:is_locked => _,
:is_moderator => _,
:is_suggested => _,
:keys => _,
:language => _,
:last_active_at => _,
:last_digest_emailed_at => _,
:last_refreshed_at => _,
:last_status_at => _,
:local => _,
:mascot => _,
:multi_factor_authentication_settings => _,
:muted_notifications => _,
:muted_reblogs => _,
:muted_users => _,
:mutee_mutes => _,
:muter_mutes => _,
:muter_users => _,
:mutes => _,
:name => _,
:nickname => _,
:no_rich_text => _,
:note_count => _,
:notification_muted_users => _,
:notification_mutee_mutes => _,
:notification_muter_mutes => _,
:notification_muter_users => _,
:notification_settings => _,
:notifications => _,
:outgoing_relationships => _,
:password => _,
:password_confirmation => _,
:password_hash => _,
:password_reset_pending => _,
:pinned_objects => _,
:pleroma_settings_store => _,
:public_key => _,
:raw_bio => _,
:raw_fields => _,
:reblog_muted_users => _,
:reblog_mutee_mutes => _,
:reblog_muter_mutes => _,
:reblog_muter_users => _,
:registration_reason => _,
:registrations => _,
:search_rank => _,
:search_type => _,
:shared_inbox => _,
:show_birthday => _,
:show_role => _,
:skip_thread_containment => _,
:subscribee_subscriptions => _,
:subscribee_users => _,
:subscriber_subscriptions => _,
:subscriber_users => _,
:subscribers => _,
:tags => _,
:updated_at => _,
:uri => _
}
)
will never return since the success typing is:
([any()]) :: [any()]
and the contract is
(t()) :: [value()]
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:218:no_return
Function deactivate/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:228:call
The function call will not succeed.
Keyword.values(
_updated_users :: %Pleroma.User{
:__meta__ => _,
:accepts_chat_messages => _,
:actor_type => _,
:allow_following_move => _,
:also_known_as => _,
:ap_id => _,
:avatar => _,
:background => _,
:banner => _,
:bio => _,
:birthday => _,
:blocked_users => _,
:blockee_blocks => _,
:blocker_blocks => _,
:blocker_users => _,
:blocks => _,
:confirmation_token => _,
:default_scope => _,
:deliveries => _,
:disclose_client => _,
:domain_blocks => _,
:email => _,
:email_notifications => _,
:emoji => _,
:endorsed_users => _,
:endorsee_endorsements => _,
:endorser_endorsements => _,
:endorser_users => _,
:featured_address => _,
:fields => _,
:follower_address => _,
:follower_count => _,
:following_address => _,
:following_count => _,
:hide_favorites => _,
:hide_followers => _,
:hide_followers_count => _,
:hide_follows => _,
:hide_follows_count => _,
:id => _,
:inbox => _,
:incoming_relationships => _,
:inserted_at => _,
:invisible => _,
:is_active => _,
:is_admin => _,
:is_approved => _,
:is_confirmed => _,
:is_discoverable => _,
:is_locked => _,
:is_moderator => _,
:is_suggested => _,
:keys => _,
:language => _,
:last_active_at => _,
:last_digest_emailed_at => _,
:last_refreshed_at => _,
:last_status_at => _,
:local => _,
:mascot => _,
:multi_factor_authentication_settings => _,
:muted_notifications => _,
:muted_reblogs => _,
:muted_users => _,
:mutee_mutes => _,
:muter_mutes => _,
:muter_users => _,
:mutes => _,
:name => _,
:nickname => _,
:no_rich_text => _,
:note_count => _,
:notification_muted_users => _,
:notification_mutee_mutes => _,
:notification_muter_mutes => _,
:notification_muter_users => _,
:notification_settings => _,
:notifications => _,
:outgoing_relationships => _,
:password => _,
:password_confirmation => _,
:password_hash => _,
:password_reset_pending => _,
:pinned_objects => _,
:pleroma_settings_store => _,
:public_key => _,
:raw_bio => _,
:raw_fields => _,
:reblog_muted_users => _,
:reblog_mutee_mutes => _,
:reblog_muter_mutes => _,
:reblog_muter_users => _,
:registration_reason => _,
:registrations => _,
:search_rank => _,
:search_type => _,
:shared_inbox => _,
:show_birthday => _,
:show_role => _,
:skip_thread_containment => _,
:subscribee_subscriptions => _,
:subscribee_users => _,
:subscriber_subscriptions => _,
:subscriber_users => _,
:subscribers => _,
:tags => _,
:updated_at => _,
:uri => _
}
)
will never return since the success typing is:
([any()]) :: [any()]
and the contract is
(t()) :: [value()]
2024-01-28 17:14:37 -05:00
Mark Felder
a3024dd5ac
Pleroma.Web.AdminAPI.InstanceDocumentController: fix dialyzer error
...
lib/pleroma/web/admin_api/controllers/instance_document_controller.ex:32:call
The function call will not succeed.
Phoenix.Controller.json(_conn :: %{:body_params => %{:file => _, _ => _}, _ => _}, %{<<_::24>> => binary()}) ::
:ok
def a() do
:ok
end
breaks the contract
(Plug.Conn.t(), term()) :: Plug.Conn.t()
2024-01-28 16:35:30 -05:00
Mark Felder
bfe626d578
Pleroma.Web.AdminAPI.ReportController: dialyzer errors
...
lib/pleroma/web/admin_api/controllers/report_controller.ex:48:no_return
Function update/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/report_controller.ex:70:call
The function call will not succeed.
Pleroma.Web.ControllerHelper.json_response(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:reports => _, _ => _},
_ => _
},
:bad_request,
_result :: [any()]
)
will never return since the 1st arguments differ
from the success typing arguments:
(
%Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{
binary() =>
binary() | [binary() | [any()] | map()] | %{binary() => binary() | [any()] | map()}
},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() =>
binary() | [binary() | [any()] | map()] | %{binary() => binary() | [any()] | map()}
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{binary(), binary()}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{binary(), binary()}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state =>
:chunked | :file | :sent | :set | :set_chunked | :set_file | :unset | :upgraded,
:status => nil | non_neg_integer()
},
atom() | 1..1_114_111,
any()
)
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/report_controller.ex:72:call
The function call will not succeed.
Pleroma.Web.ControllerHelper.json_response(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:reports => _, _ => _},
_ => _
},
:no_content,
<<>>
)
will never return since the 1st arguments differ
from the success typing arguments:
(
%Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{
binary() =>
binary() | [binary() | [any()] | map()] | %{binary() => binary() | [any()] | map()}
},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() =>
binary() | [binary() | [any()] | map()] | %{binary() => binary() | [any()] | map()}
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{binary(), binary()}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{binary(), binary()}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state =>
:chunked | :file | :sent | :set | :set_chunked | :set_file | :unset | :upgraded,
:status => nil | non_neg_integer()
},
atom() | 1..1_114_111,
any()
)
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/report_controller.ex:76:no_return
Function notes_create/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/report_controller.ex:89:call
The function call will not succeed.
Pleroma.Web.ControllerHelper.json_response(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:content => _, _ => _},
_ => _
},
:no_content,
<<>>
)
will never return since the 1st arguments differ
from the success typing arguments:
(
%Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{
binary() =>
binary() | [binary() | [any()] | map()] | %{binary() => binary() | [any()] | map()}
},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() =>
binary() | [binary() | [any()] | map()] | %{binary() => binary() | [any()] | map()}
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{binary(), binary()}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{binary(), binary()}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state =>
:chunked | :file | :sent | :set | :set_chunked | :set_file | :unset | :upgraded,
:status => nil | non_neg_integer()
},
atom() | 1..1_114_111,
any()
)
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/report_controller.ex:91:call
The function call will not succeed.
Pleroma.Web.ControllerHelper.json_response(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:content => _, _ => _},
_ => _
},
:bad_request,
<<>>
)
will never return since the 1st arguments differ
from the success typing arguments:
(
%Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{
binary() =>
binary() | [binary() | [any()] | map()] | %{binary() => binary() | [any()] | map()}
},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() =>
binary() | [binary() | [any()] | map()] | %{binary() => binary() | [any()] | map()}
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{binary(), binary()}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{binary(), binary()}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state =>
:chunked | :file | :sent | :set | :set_chunked | :set_file | :unset | :upgraded,
:status => nil | non_neg_integer()
},
atom() | 1..1_114_111,
any()
)
2024-01-28 16:32:50 -05:00
Mark Felder
94838ed941
Pleroma.Web.AdminAPI.RelayController: dialyzer errors
...
lib/pleroma/web/admin_api/controllers/relay_controller.ex:34:no_return
Function follow/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/relay_controller.ex:38:call
The function call will not succeed.
Phoenix.Controller.json(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:relay_url => _, _ => _},
_ => _
},
%{:actor => binary(), :followed_back => boolean()}
)
breaks the contract
(Plug.Conn.t(), term()) :: Plug.Conn.t()
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/relay_controller.ex:41:call
The function call will not succeed.
Plug.Conn.put_status(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:relay_url => _, _ => _},
_ => _
},
500
)
breaks the contract
(t(), status()) :: t()
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/relay_controller.ex:47:no_return
Function unfollow/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/relay_controller.ex:51:call
The function call will not succeed.
Phoenix.Controller.json(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:relay_url => _, _ => _},
_ => _
},
_target :: binary()
)
breaks the contract
(Plug.Conn.t(), term()) :: Plug.Conn.t()
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/relay_controller.ex:54:call
The function call will not succeed.
Plug.Conn.put_status(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:relay_url => _, _ => _},
_ => _
},
500
)
breaks the contract
(t(), status()) :: t()
2024-01-28 16:09:55 -05:00
Mark Felder
d92c3d927d
Pleroma.Web.AdminAPI.UserController: dialyzer errors
...
lib/pleroma/web/admin_api/controllers/user_controller.ex:54:no_return
Function delete/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:74:call
The function call will not succeed.
Phoenix.Controller.json(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:nicknames => _, _ => _},
_ => _
},
_nicknames :: any()
)
breaks the contract
(Plug.Conn.t(), term()) :: Plug.Conn.t()
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:77:no_return
Function follow/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:99:call
The function call will not succeed.
Phoenix.Controller.json(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:followed => _, :follower => _, _ => _},
_ => _
},
<<111, 107>>
)
breaks the contract
(Plug.Conn.t(), term()) :: Plug.Conn.t()
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:102:no_return
Function unfollow/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:124:call
The function call will not succeed.
Phoenix.Controller.json(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:followed => _, :follower => _, _ => _},
_ => _
},
<<111, 107>>
)
breaks the contract
(Plug.Conn.t(), term()) :: Plug.Conn.t()
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:127:no_return
Function create/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:130:no_return
The created anonymous function has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:163:call
The function call will not succeed.
Phoenix.Controller.render(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:users => _, _ => _},
_ => _
},
<<99, 114, 101, 97, 116, 101, 100, 95, 109, 97, 110, 121, 46, 106, 115, 111, 110>>,
[{:users, [any()]}, ...]
)
will never return since the success typing is:
(
%Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state =>
:chunked | :file | :sent | :set | :set_chunked | :set_file | :unset | :upgraded,
:status => nil | non_neg_integer()
},
atom() | binary(),
atom() | binary() | [{_, _}] | map()
) :: %Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state => :sent,
:status => nil | non_neg_integer()
}
and the contract is
(Plug.Conn.t(), binary() | atom(), Keyword.t() | map()) :: Plug.Conn.t()
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:175:call
The function call will not succeed.
Plug.Conn.put_status(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:users => _, _ => _},
_ => _
},
:conflict
)
breaks the contract
(t(), status()) :: t()
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:205:no_return
Function activate/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:215:call
The function call will not succeed.
Keyword.values(
_updated_users :: %Pleroma.User{
:__meta__ => _,
:accepts_chat_messages => _,
:actor_type => _,
:allow_following_move => _,
:also_known_as => _,
:ap_id => _,
:avatar => _,
:background => _,
:banner => _,
:bio => _,
:birthday => _,
:blocked_users => _,
:blockee_blocks => _,
:blocker_blocks => _,
:blocker_users => _,
:blocks => _,
:confirmation_token => _,
:default_scope => _,
:deliveries => _,
:disclose_client => _,
:domain_blocks => _,
:email => _,
:email_notifications => _,
:emoji => _,
:endorsed_users => _,
:endorsee_endorsements => _,
:endorser_endorsements => _,
:endorser_users => _,
:featured_address => _,
:fields => _,
:follower_address => _,
:follower_count => _,
:following_address => _,
:following_count => _,
:hide_favorites => _,
:hide_followers => _,
:hide_followers_count => _,
:hide_follows => _,
:hide_follows_count => _,
:id => _,
:inbox => _,
:incoming_relationships => _,
:inserted_at => _,
:invisible => _,
:is_active => _,
:is_admin => _,
:is_approved => _,
:is_confirmed => _,
:is_discoverable => _,
:is_locked => _,
:is_moderator => _,
:is_suggested => _,
:keys => _,
:language => _,
:last_active_at => _,
:last_digest_emailed_at => _,
:last_refreshed_at => _,
:last_status_at => _,
:local => _,
:mascot => _,
:multi_factor_authentication_settings => _,
:muted_notifications => _,
:muted_reblogs => _,
:muted_users => _,
:mutee_mutes => _,
:muter_mutes => _,
:muter_users => _,
:mutes => _,
:name => _,
:nickname => _,
:no_rich_text => _,
:note_count => _,
:notification_muted_users => _,
:notification_mutee_mutes => _,
:notification_muter_mutes => _,
:notification_muter_users => _,
:notification_settings => _,
:notifications => _,
:outgoing_relationships => _,
:password => _,
:password_confirmation => _,
:password_hash => _,
:password_reset_pending => _,
:pinned_objects => _,
:pleroma_settings_store => _,
:public_key => _,
:raw_bio => _,
:raw_fields => _,
:reblog_muted_users => _,
:reblog_mutee_mutes => _,
:reblog_muter_mutes => _,
:reblog_muter_users => _,
:registration_reason => _,
:registrations => _,
:search_rank => _,
:search_type => _,
:shared_inbox => _,
:show_birthday => _,
:show_role => _,
:skip_thread_containment => _,
:subscribee_subscriptions => _,
:subscribee_users => _,
:subscriber_subscriptions => _,
:subscriber_users => _,
:subscribers => _,
:tags => _,
:updated_at => _,
:uri => _
}
)
will never return since the success typing is:
([any()]) :: [any()]
and the contract is
(t()) :: [value()]
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:218:no_return
Function deactivate/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:228:call
The function call will not succeed.
Keyword.values(
_updated_users :: %Pleroma.User{
:__meta__ => _,
:accepts_chat_messages => _,
:actor_type => _,
:allow_following_move => _,
:also_known_as => _,
:ap_id => _,
:avatar => _,
:background => _,
:banner => _,
:bio => _,
:birthday => _,
:blocked_users => _,
:blockee_blocks => _,
:blocker_blocks => _,
:blocker_users => _,
:blocks => _,
:confirmation_token => _,
:default_scope => _,
:deliveries => _,
:disclose_client => _,
:domain_blocks => _,
:email => _,
:email_notifications => _,
:emoji => _,
:endorsed_users => _,
:endorsee_endorsements => _,
:endorser_endorsements => _,
:endorser_users => _,
:featured_address => _,
:fields => _,
:follower_address => _,
:follower_count => _,
:following_address => _,
:following_count => _,
:hide_favorites => _,
:hide_followers => _,
:hide_followers_count => _,
:hide_follows => _,
:hide_follows_count => _,
:id => _,
:inbox => _,
:incoming_relationships => _,
:inserted_at => _,
:invisible => _,
:is_active => _,
:is_admin => _,
:is_approved => _,
:is_confirmed => _,
:is_discoverable => _,
:is_locked => _,
:is_moderator => _,
:is_suggested => _,
:keys => _,
:language => _,
:last_active_at => _,
:last_digest_emailed_at => _,
:last_refreshed_at => _,
:last_status_at => _,
:local => _,
:mascot => _,
:multi_factor_authentication_settings => _,
:muted_notifications => _,
:muted_reblogs => _,
:muted_users => _,
:mutee_mutes => _,
:muter_mutes => _,
:muter_users => _,
:mutes => _,
:name => _,
:nickname => _,
:no_rich_text => _,
:note_count => _,
:notification_muted_users => _,
:notification_mutee_mutes => _,
:notification_muter_mutes => _,
:notification_muter_users => _,
:notification_settings => _,
:notifications => _,
:outgoing_relationships => _,
:password => _,
:password_confirmation => _,
:password_hash => _,
:password_reset_pending => _,
:pinned_objects => _,
:pleroma_settings_store => _,
:public_key => _,
:raw_bio => _,
:raw_fields => _,
:reblog_muted_users => _,
:reblog_mutee_mutes => _,
:reblog_muter_mutes => _,
:reblog_muter_users => _,
:registration_reason => _,
:registrations => _,
:search_rank => _,
:search_type => _,
:shared_inbox => _,
:show_birthday => _,
:show_role => _,
:skip_thread_containment => _,
:subscribee_subscriptions => _,
:subscribee_users => _,
:subscriber_subscriptions => _,
:subscriber_users => _,
:subscribers => _,
:tags => _,
:updated_at => _,
:uri => _
}
)
will never return since the success typing is:
([any()]) :: [any()]
and the contract is
(t()) :: [value()]
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:231:no_return
Function approve/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:241:call
The function call will not succeed.
Phoenix.Controller.render(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:nicknames => _, _ => _},
_ => _
},
<<105, 110, 100, 101, 120, 46, 106, 115, 111, 110>>,
[{:users, _}, ...]
)
will never return since the success typing is:
(
%Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state =>
:chunked | :file | :sent | :set | :set_chunked | :set_file | :unset | :upgraded,
:status => nil | non_neg_integer()
},
atom() | binary(),
atom() | binary() | [{_, _}] | map()
) :: %Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state => :sent,
:status => nil | non_neg_integer()
}
and the contract is
(Plug.Conn.t(), binary() | atom(), Keyword.t() | map()) :: Plug.Conn.t()
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:244:no_return
Function suggest/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:254:call
The function call will not succeed.
Phoenix.Controller.render(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:nicknames => _, _ => _},
_ => _
},
<<105, 110, 100, 101, 120, 46, 106, 115, 111, 110>>,
[{:users, _}, ...]
)
will never return since the success typing is:
(
%Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state =>
:chunked | :file | :sent | :set | :set_chunked | :set_file | :unset | :upgraded,
:status => nil | non_neg_integer()
},
atom() | binary(),
atom() | binary() | [{_, _}] | map()
) :: %Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state => :sent,
:status => nil | non_neg_integer()
}
and the contract is
(Plug.Conn.t(), binary() | atom(), Keyword.t() | map()) :: Plug.Conn.t()
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:257:no_return
Function unsuggest/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:267:call
The function call will not succeed.
Phoenix.Controller.render(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:nicknames => _, _ => _},
_ => _
},
<<105, 110, 100, 101, 120, 46, 106, 115, 111, 110>>,
[{:users, _}, ...]
)
will never return since the success typing is:
(
%Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state =>
:chunked | :file | :sent | :set | :set_chunked | :set_file | :unset | :upgraded,
:status => nil | non_neg_integer()
},
atom() | binary(),
atom() | binary() | [{_, _}] | map()
) :: %Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state => :sent,
:status => nil | non_neg_integer()
}
and the contract is
(Plug.Conn.t(), binary() | atom(), Keyword.t() | map()) :: Plug.Conn.t()
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:270:no_return
Function index/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:294:unused_fun
Function maybe_parse_filters/1 will never be called.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:303:no_return
Function page_params/1 has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:305:call
The function call will not succeed.
Pleroma.Web.ControllerHelper.fetch_integer_param(_params :: any(), :page, 1)
breaks the contract
(map(), String.t(), integer() | nil) :: integer() | nil
2024-01-28 16:05:25 -05:00
Mark Felder
db87be126e
Pleroma.Web.AdminAPI.InviteController: dialyzer errors
...
lib/pleroma/web/admin_api/controllers/invite_controller.ex:46:call
The function call will not succeed.
Phoenix.Controller.render(
_conn :: %{:body_params => %{:token => _, _ => _}, _ => _},
<<115, 104, 111, 119, 46, 106, 115, 111, 110>>,
[
{:invite,
%Pleroma.UserInviteToken{
:__meta__ => _,
:expires_at => _,
:id => _,
:inserted_at => _,
:invite_type => _,
:max_use => _,
:token => _,
:updated_at => _,
:used => _,
:uses => _
}},
...
]
)
will never return since the success typing is:
(
%Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state =>
:chunked | :file | :sent | :set | :set_chunked | :set_file | :unset | :upgraded,
:status => nil | non_neg_integer()
},
atom() | binary(),
atom() | binary() | [{_, _}] | map()
) :: %Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state => :sent,
:status => nil | non_neg_integer()
}
and the contract is
(Plug.Conn.t(), binary() | atom(), Keyword.t() | map()) :: Plug.Conn.t()
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/invite_controller.ex:66:call
The function call will not succeed.
Pleroma.Web.ControllerHelper.json_response(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:email => _, _ => _},
_ => _
},
:no_content,
<<>>
)
will never return since the 1st arguments differ
from the success typing arguments:
(
%Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{
binary() =>
binary() | [binary() | [any()] | map()] | %{binary() => binary() | [any()] | map()}
},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() =>
binary() | [binary() | [any()] | map()] | %{binary() => binary() | [any()] | map()}
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{binary(), binary()}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{binary(), binary()}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state =>
:chunked | :file | :sent | :set | :set_chunked | :set_file | :unset | :upgraded,
:status => nil | non_neg_integer()
},
atom() | 1..1_114_111,
any()
)
2024-01-28 15:53:47 -05:00
Mark Felder
8d64eedbec
Pleroma.Web.PleromaAPI.ChatController: Dialyzer error
...
lib/pleroma/web/pleroma_api/controllers/chat_controller.ex:128:call
The function call will not succeed.
Phoenix.Controller.render(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:last_read_id => _, _ => _},
_ => _
},
<<115, 104, 111, 119, 46, 106, 115, 111, 110>>,
[
{:chat,
%Pleroma.Chat{
:__meta__ => _,
:id => _,
:inserted_at => _,
:recipient => _,
:updated_at => _,
:user => _,
:user_id => _
}},
...
]
)
will never return since the success typing is:
(
%Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state =>
:chunked | :file | :sent | :set | :set_chunked | :set_file | :unset | :upgraded,
:status => nil | non_neg_integer()
},
atom() | binary(),
atom() | binary() | [{_, _}] | map()
) :: %Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state => :sent,
:status => nil | non_neg_integer()
}
and the contract is
(Plug.Conn.t(), binary() | atom(), Keyword.t() | map()) :: Plug.Conn.t()
2024-01-28 15:52:09 -05:00
Mark Felder
456f7cab3e
Pleroma.Web.PleromaAPI.ChatController: Dialyzer errors
...
lib/pleroma/web/pleroma_api/controllers/chat_controller.ex:91:pattern_match
The pattern can never match the type.
Pattern:
{:reject, _message}
Type:
nil
________________________________________________________________________________
lib/pleroma/web/pleroma_api/controllers/chat_controller.ex:96:pattern_match
The pattern can never match the type.
Pattern:
{:error, _message}
Type:
nil
2024-01-28 15:52:09 -05:00
Mark Felder
dc912dc590
Pleroma.Web.PleromaAPI.EmojiFileController: dialyzer errors
...
lib/pleroma/web/pleroma_api/controllers/emoji_file_controller.ex:52:no_return
Function update/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/pleroma_api/controllers/emoji_file_controller.ex:59:call
The function call will not succeed.
Phoenix.Controller.json(_conn :: %{:body_params => %{:shortcode => _, _ => _}, _ => _}, %{
binary() =>
binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | char(),
binary() | []
)
})
breaks the contract
(Plug.Conn.t(), term()) :: Plug.Conn.t()
________________________________________________________________________________
lib/pleroma/web/pleroma_api/controllers/emoji_file_controller.ex:62:call
The function call will not succeed.
Plug.Conn.put_status(_conn :: %{:body_params => %{:shortcode => _, _ => _}, _ => _}, :conflict)
breaks the contract
(t(), status()) :: t()
________________________________________________________________________________
lib/pleroma/web/pleroma_api/controllers/emoji_file_controller.ex:70:call
The function call will not succeed.
Plug.Conn.put_status(_conn :: %{:body_params => %{:shortcode => _, _ => _}, _ => _}, :unprocessable_entity) ::
:ok
def a() do
:ok
end
breaks the contract
(t(), status()) :: t()
________________________________________________________________________________
lib/pleroma/web/pleroma_api/controllers/emoji_file_controller.ex:75:call
The function call will not succeed.
Pleroma.Web.PleromaAPI.EmojiFileController.handle_error(
_conn :: %{:body_params => %{:shortcode => _, _ => _}, _ => _},
_error :: {:error, atom()},
%{:code => _, :message => <<_::328>>, :pack_name => binary()}
)
will never return since the 1st arguments differ
from the success typing arguments:
(
%Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{
binary() =>
binary() | [binary() | [any()] | map()] | %{binary() => binary() | [any()] | map()}
},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() =>
binary() | [binary() | [any()] | map()] | %{binary() => binary() | [any()] | map()}
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{binary(), binary()}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{binary(), binary()}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state =>
:chunked | :file | :sent | :set | :set_chunked | :set_file | :unset | :upgraded,
:status => nil | non_neg_integer()
},
{:error, atom()},
%{:message => <<_::328, _::size(88)>>, :pack_name => binary(), :code => _}
)
________________________________________________________________________________
lib/pleroma/web/pleroma_api/controllers/emoji_file_controller.ex:75:call
The function call will not succeed.
Pleroma.Web.PleromaAPI.EmojiFileController.handle_error(
_conn :: %{:body_params => %{:shortcode => _, _ => _}, _ => _},
_error :: {:error, atom()},
%{:code => binary(), :message => <<_::328>>, :pack_name => binary()}
)
will never return since the 1st arguments differ
from the success typing arguments:
(
%Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{
binary() =>
binary() | [binary() | [any()] | map()] | %{binary() => binary() | [any()] | map()}
},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() =>
binary() | [binary() | [any()] | map()] | %{binary() => binary() | [any()] | map()}
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{binary(), binary()}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{binary(), binary()}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state =>
:chunked | :file | :sent | :set | :set_chunked | :set_file | :unset | :upgraded,
:status => nil | non_neg_integer()
},
{:error, atom()},
%{:message => <<_::328, _::size(88)>>, :pack_name => binary(), :code => _}
)
2024-01-28 15:52:09 -05:00
Mark Felder
77bf617c4b
Pleroma.Web.PleromaAPI.EmojiPackController: dialyzer errors
...
________________________________________________________________________________
lib/pleroma/web/pleroma_api/controllers/emoji_pack_controller.ex:112:no_return
Function download/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/pleroma_api/controllers/emoji_pack_controller.ex:114:call
The function call will not succeed.
Phoenix.Controller.json(_conn :: %{:body_params => %{:name => _, :url => _, _ => _}, _ => _}, <<111, 107>>)
breaks the contract
(Plug.Conn.t(), term()) :: Plug.Conn.t()
________________________________________________________________________________
lib/pleroma/web/pleroma_api/controllers/emoji_pack_controller.ex:117:call
The function call will not succeed.
Plug.Conn.put_status(
_conn :: %{:body_params => %{:name => _, :url => _, _ => _}, _ => _},
:internal_server_error
)
breaks the contract
(t(), status()) :: t()
________________________________________________________________________________
lib/pleroma/web/pleroma_api/controllers/emoji_pack_controller.ex:122:call
The function call will not succeed.
Plug.Conn.put_status(
_conn :: %{:body_params => %{:name => _, :url => _, _ => _}, _ => _},
:internal_server_error
)
breaks the contract
(t(), status()) :: t()
________________________________________________________________________________
lib/pleroma/web/pleroma_api/controllers/emoji_pack_controller.ex:127:call
The function call will not succeed.
Plug.Conn.put_status(
_conn :: %{:body_params => %{:name => _, :url => _, _ => _}, _ => _},
:internal_server_error
)
breaks the contract
(t(), status()) :: t()
________________________________________________________________________________
lib/pleroma/web/pleroma_api/controllers/emoji_pack_controller.ex:187:no_return
Function update/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/pleroma_api/controllers/emoji_pack_controller.ex:189:call
The function call will not succeed.
Phoenix.Controller.json(_conn :: %{:body_params => %{:metadata => _, _ => _}, _ => _}, map())
breaks the contract
(Plug.Conn.t(), term()) :: Plug.Conn.t()
________________________________________________________________________________
lib/pleroma/web/pleroma_api/controllers/emoji_pack_controller.ex:192:call
The function call will not succeed.
Plug.Conn.put_status(_conn :: %{:body_params => %{:metadata => _, _ => _}, _ => _}, :bad_request)
breaks the contract
(t(), status()) :: t()
________________________________________________________________________________
lib/pleroma/web/pleroma_api/controllers/emoji_pack_controller.ex:203:call
The function call will not succeed.
Plug.Conn.put_status(_conn :: %{:body_params => %{:metadata => _, _ => _}, _ => _}, :internal_server_error) ::
:ok
def a() do
:ok
end
breaks the contract
(t(), status()) :: t()
2024-01-28 15:52:09 -05:00
Mark Felder
a32d6b3aa4
Pleroma.Web.PleromaAPI.MascotController: dialyzer error
...
lib/pleroma/web/pleroma_api/controllers/mascot_controller.ex:33:pattern_match
The pattern can never match the type.
Pattern:
{:content_type, _}
Type:
{:error, _}
2024-01-28 15:52:09 -05:00
Mark Felder
9c8055d4b3
Pleroma.Web.PleromaAPI.MascotController: dialyzer errors
...
lib/pleroma/web/pleroma_api/controllers/mascot_controller.ex:25:no_return
Function update/2 has no local return.
lib/pleroma/web/pleroma_api/controllers/mascot_controller.ex:27:call
The function call will not succeed.
Pleroma.Web.ActivityPub.ActivityPub.upload(_file :: atom() | %{:content_type => _, _ => _}, [{:actor, <<_::56, _::size(8)>>}, ...]) ::
:ok
def a() do
:ok
end
will never return since the 2nd arguments differ
from the success typing arguments:
(any(), [
{:activity_type | :description | :filters | :size_limit | :type | :uploader,
atom() | binary() | [atom()] | non_neg_integer()}
])
lib/pleroma/web/pleroma_api/controllers/mascot_controller.ex:31:call
The function call will not succeed.
Phoenix.Controller.json(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:file => _, _ => _},
_ => _
},
_attachment :: any()
)
breaks the contract
(Plug.Conn.t(), term()) :: Plug.Conn.t()
lib/pleroma/web/pleroma_api/controllers/mascot_controller.ex:34:call
The function call will not succeed.
Plug.Conn.put_status(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:file => _, _ => _},
_ => _
},
:unsupported_media_type
)
breaks the contract
(t(), status()) :: t()
lib/pleroma/web/pleroma_api/controllers/mascot_controller.ex:34:call
The function call will not succeed.
Plug.Conn.put_status(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:file => _, _ => _},
_ => _
},
:unsupported_media_type
)
breaks the contract
(t(), status()) :: t()
lib/pleroma/web/pleroma_api/controllers/mascot_controller.ex:38:unused_fun
Function render_attachment/1 will never be called.
2024-01-28 15:52:09 -05:00
Mark Felder
563aebd5ce
Pleroma.Web.Plugs.UploadedMedia: dialyzer error
...
lib/pleroma/web/plugs/uploaded_media.ex:98:call
The function call will not succeed.
Pleroma.ReverseProxy.call(
_conn :: %Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state =>
:chunked | :file | :sent | :set | :set_chunked | :set_file | :unset | :upgraded,
:status => nil | non_neg_integer()
},
_url :: any(),
_proxy_opts :: [{:http, [{:follow_redirect, true} | {:pool, :upload}, ...]}, ...]
)
breaks the contract
(Plug.Conn.t(), url :: String.t(), [option()]) :: Plug.Conn.t()
2024-01-28 14:22:35 -05:00
Mark Felder
60d89cb404
Pleroma.Web.AdminAPI.ConfigController: dialyzer error
...
lib/pleroma/web/admin_api/controllers/config_controller.ex:162:call
The function call will not succeed.
Phoenix.Controller.render(
_conn :: %{:body_params => %{:configs => _, _ => _}, _ => _},
<<105, 110, 100, 101, 120, 46, 106, 115, 111, 110>>,
%{:configs => [any()], :need_reboot => _}
)
will never return since the success typing is:
(
%Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state =>
:chunked | :file | :sent | :set | :set_chunked | :set_file | :unset | :upgraded,
:status => nil | non_neg_integer()
},
atom() | binary(),
atom() | binary() | [{_, _}] | map()
) :: %Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state => :sent,
:status => nil | non_neg_integer()
}
and the contract is
(Plug.Conn.t(), binary() | atom(), Keyword.t() | map()) :: Plug.Conn.t()
2024-01-27 16:42:30 -05:00
Mark Felder
26a95e5787
Pleroma.Web.PleromaAPI.NotificationController: dialyzer errors
...
lib/pleroma/web/pleroma_api/controllers/user_import_controller.ex:53:call
The function call will not succeed.
Phoenix.Controller.json(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:list => _, _ => _},
_ => _
},
<<106, 111, 98, 32, 115, 116, 97, 114, 116, 101, 100>>
)
breaks the contract
(Plug.Conn.t(), term()) :: Plug.Conn.t()
2024-01-27 16:15:03 -05:00
Mark Felder
52e18a6249
Pleroma.Web.PleromaAPI.UserImportController: Dialyzer errors
...
lib/pleroma/web/pleroma_api/controllers/user_import_controller.ex:53:call
The function call will not succeed.
Phoenix.Controller.json(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:list => _, _ => _},
_ => _
},
<<106, 111, 98, 32, 115, 116, 97, 114, 116, 101, 100>>
)
breaks the contract
(Plug.Conn.t(), term()) :: Plug.Conn.t()
2024-01-27 15:57:21 -05:00
Mark Felder
17f4251b19
Pleroma.Web.TwitterAPI.UtilController: dialyzer fixes
...
lib/pleroma/web/twitter_api/controllers/util_controller.ex:158:call
The function call will not succeed.
Phoenix.Controller.json(_conn :: %{:body_params => %{:ap_id => _, :profile => _, _ => _}, _ => _}, %{
:error =>
<<67, 111, 117, 108, 100, 110, 39, 116, 32, 102, 105, 110, 100, 32, 117, 115, 101, 114>>
})
breaks the contract
(Plug.Conn.t(), term()) :: Plug.Conn.t()
2024-01-27 15:47:07 -05:00
Mark Felder
8b02c85810
Pleroma.Web.AdminAPI.MediaProxyCacheController: dialyzer errors
...
lib/pleroma/web/admin_api/controllers/media_proxy_cache_controller.ex:64:call
The function call will not succeed.
Phoenix.Controller.json(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:urls => _, _ => _},
_ => _
},
%{}
)
breaks the contract
(Plug.Conn.t(), term()) :: Plug.Conn.t()
2024-01-27 15:41:14 -05:00
Mark Felder
861c8ebfe4
These are all due to Cachex typespec bugs
2024-01-27 15:14:40 -05:00
Mark Felder
5c193a34a2
Pleroma.Web.ActivityPub.SideEffects: dialyzer errors
...
lib/pleroma/web/activity_pub/side_effects.ex:544:call
The function call will not succeed.
Pleroma.Web.ActivityPub.SideEffects.delete_object(
_object :: %Pleroma.Activity{
:__meta__ => _,
:actor => _,
:bookmark => _,
:data => map(),
:id => _,
:inserted_at => _,
:local => _,
:notifications => _,
:object => _,
:pagination_id => _,
:recipients => _,
:report_notes => _,
:thread_muted? => _,
:updated_at => _,
:user_actor => _
}
)
breaks the contract
(Pleroma.Object.t()) :: :ok | {:error, Ecto.Changeset.t()}
2024-01-27 15:05:12 -05:00
Mark Felder
b6a1e7fb31
Pleroma.Web.ActivityPub.SideEffects: dialyzer errors
...
lib/pleroma/web/activity_pub/side_effects.ex:622:callback_type_mismatch
Type mismatch for @callback handle_after_transaction/1 in Pleroma.Web.ActivityPub.SideEffects.Handling behaviour.
Expected type:
map()
Actual type:
Keyword.t()
lib/pleroma/web/activity_pub/side_effects.ex:622:callback_arg_type_mismatch
The inferred type for the 1st argument is not a
supertype of the expected type for the handle_after_transaction/1 callback
in the Pleroma.Web.ActivityPub.SideEffects.Handling behaviour.
Success type:
Keyword.t()
Behaviour callback type:
map()
2024-01-27 15:02:20 -05:00
Mark Felder
5f5bd64b83
Pleroma.Web.ActivityPub.SideEffects: dialyzer errors
...
lib/pleroma/web/activity_pub/side_effects.ex:328:pattern_match
The pattern can never match the type.
Pattern:
{:actor, _}
Type:
{:error, boolean()}
lib/pleroma/web/activity_pub/side_effects.ex:328:pattern_match
The pattern can never match the type.
Pattern:
{:actor, _}
Type:
nil
2024-01-27 14:55:29 -05:00
Mark Felder
94d7e28cbe
Pleroma.Web.ActivityPub.ObjectValidator: dialyzer error
...
lib/pleroma/web/activity_pub/object_validator.ex:165:pattern_match
The pattern can never match the type.
Pattern:
{:local, _}
Type:
{:error,
%Ecto.Changeset{
:action => atom(),
:changes => %{atom() => _},
:constraints => [
%{
:constraint =>
binary()
| %Regex{
:opts => binary() | [any()],
:re_pattern => _,
:re_version => _,
:source => binary()
},
:error_message => binary(),
:error_type => atom(),
:field => atom(),
:match => :exact | :prefix | :suffix,
:type => :check | :exclusion | :foreign_key | :unique
}
],
:data => nil | map(),
:empty_values => _,
:errors => Keyword.t({binary(), Keyword.t()}),
:filters => %{atom() => _},
:params => nil | %{binary() => _},
:prepare => [(_ -> any())],
:repo => atom(),
:repo_opts => Keyword.t(),
:required => [atom()],
:types =>
nil
| %{
atom() =>
atom()
| {:array | :assoc | :embed | :in | :map | :maybe | :param, _}
| {:parameterized, atom(), _}
},
:valid? => boolean(),
:validations => Keyword.t()
}}
2024-01-27 14:29:48 -05:00
Mark Felder
5c08153fc5
Pleroma.Gun.ConnectionPool.Reclaimer: dialyzer error
...
lib/pleroma/gun/connection_pool/reclaimer.ex:12:call
The function call will not succeed.
:gen_server.start(Pleroma.Gun.ConnectionPool.Reclaimer, [], [
{:name, {:via, Registry, {Pleroma.Gun.ConnectionPool, <<_::72>>}}},
...
])
will never return since the success typing is:
(atom(), any(), [
{:debug, [:log | :statistics | :trace | {_, _}]}
| {:hibernate_after, timeout()}
| {:spawn_opt, [:link | :monitor | {_, _}]}
| {:timeout, timeout()}
]) :: :ignore | {:error, _} | {:ok, pid() | {pid(), reference()}}
and the contract is
(Module :: module(), Args :: term(), Options :: [start_opt()]) :: start_ret()
2024-01-27 14:25:16 -05:00
Mark Felder
9f357d88c2
Pleroma.Emoji: dialyzer error
...
lib/pleroma/emoji.ex:54:unknown_type
Unknown type: Emoji.t/0.
2024-01-27 14:00:17 -05:00
Mark Felder
948d5a93a0
Pleroma.Object: dialyzer error
...
lib/pleroma/object.ex:245:call
The function call will not succeed.
Pleroma.Object.cleanup_attachments(any(), %{<<_::48>> => %Pleroma.Object{:data => map(), atom() => _}})
breaks the contract
(boolean(), %{:object => map()}) :: {:ok, Oban.Job.t() | nil}
2024-01-27 13:58:50 -05:00
Mark Felder
2062e126f1
Pleroma.Web.ActivityPub.Builder: fix dialyzer error
...
lib/pleroma/web/activity_pub/builder.ex:115:pattern_match
The pattern can never match the type.
Pattern:
_emojo = %{:file => _path}
Type:
nil | binary()
2024-01-27 10:41:09 -05:00
Mark Felder
3fbe8ada93
Pleroma.ReverseProxy: dialyzer errors
...
lib/pleroma/reverse_proxy.ex:225:pattern_match
The pattern can never match the type.
Pattern:
:done
Type:
{:ok, :no_duration_limit, :no_duration_limit}
lib/pleroma/reverse_proxy.ex:226:pattern_match
The pattern can never match the type.
Pattern:
{:error, _error}
Type:
{:ok, :no_duration_limit, :no_duration_limit}
lib/pleroma/reverse_proxy.ex:391:pattern_match
The pattern can never match the type.
Pattern:
__duration = nil, _max
Type:
integer(), _
2024-01-27 10:28:49 -05:00
feld
b1659b7755
Merge branch 'dialyzer-fixes' into 'develop'
...
Dialyzer fixes
See merge request pleroma/pleroma!4047
2024-01-27 15:09:54 +00:00
Mark Felder
6fcecbd48b
Formatting
2024-01-27 10:09:20 -05:00
Mark Felder
7d7662277c
Changelog
2024-01-26 21:05:43 -05:00
Mark Felder
b2ab479488
Pleroma.Helpers.QtFastStart: Dialzyer error
...
lib/pleroma/helpers/qt_fast_start.ex:129:improper_list_constr
List construction (cons) will produce an improper list, because its second argument is <<_::32>>.
lib/pleroma/helpers/qt_fast_start.ex:129:improper_list_constr
List construction (cons) will produce an improper list, because its second argument is <<_::64>>.
2024-01-26 21:03:41 -05:00
Mark Felder
6e0945354d
Pleroma.ModerationLog: fix invalid type
2024-01-26 21:03:41 -05:00
Mark Felder
e834343496
Pleroma.Search.SearchBackend: dialyzer error
...
Incorrect spec. Both search backends return :ok so that is what should be the spec.
lib/pleroma/search/database_search.ex:56:callback_type_mismatch
Type mismatch for @callback remove_from_index/1 in Pleroma.Search.SearchBackend behaviour.
Expected type:
{:error, _} | {:ok, _}
Actual type:
:ok
2024-01-26 21:03:41 -05:00
Mark Felder
1b40ebfa20
Pleroma.Signature: dialyzer error
...
lib/pleroma/signature.ex:30:pattern_match
The pattern can never match the type.
Pattern:
%{<<97, 112, 95, 105, 100>> => _ap_id}
Type:
{:error, _} | {:ok, map()}
2024-01-26 21:03:41 -05:00
Mark Felder
87cf7010fc
Pleroma.Upload: dialyzer error
...
I have opted to set this to :upper as this retains the same behavior but clears up the error.
lib/pleroma/upload.ex:178:call
The function call will not succeed.
Base.encode16(binary(), [{:lower, true}])
breaks the contract
(binary(), [{:case, encode_case()}]) :: binary()
2024-01-26 21:03:23 -05:00
Mark Felder
06b8923d42
RichMedia.Parser.TTL.AwsSignedUrl: dialyzer fix
...
lib/pleroma/web/rich_media/parser/ttl/aws_signed_url.ex:9:callback_type_mismatch
Type mismatch for @callback ttl/2 in Pleroma.Web.RichMedia.Parser.TTL behaviour.
Expected type:
nil | integer()
Actual type:
{:error, <<_::64, _::size(8)>>} | {:ok, integer()}
2024-01-26 17:37:32 -05:00
Mark Felder
28af5e3bd7
TwitterAPI.UtilController: fix dialyzer errors
...
lib/pleroma/web/twitter_api/controllers/util_controller.ex:300:pattern_match
The pattern can never match the type.
Pattern:
{:error, :no_such_alias}
Type:
{:not_found, nil}
lib/pleroma/web/twitter_api/controllers/util_controller.ex:304:pattern_match
The pattern can never match the type.
Pattern:
{:error, _error}
Type:
{:not_found, nil}
2024-01-26 17:22:27 -05:00
Mark Felder
5b95abaeea
Credo.Check.Readability.PredicateFunctionNames
...
This check was recently improved in Credo and it does make sense for readability.
The offending functions in Pleroma have been renamed and a couple missing the ? suffix have been fixed as well.
2024-01-26 16:59:58 -05:00
Mark Felder
18d38486a5
InetCidr.parse/2 is deprecated
2024-01-26 15:57:50 -05:00
Haelwenn (lanodan) Monnier
5c5d9d9b9d
Bump dependencies
2024-01-26 15:50:45 -05:00
feld
a24322fcce
Merge branch 'elixir-1.15-base' into 'develop'
...
CI: pin 1.15 to otp25
See merge request pleroma/pleroma!4046
2024-01-26 17:40:38 +00:00
Mark Felder
a658cf70b9
Pin to otp25
...
The 1.15.7 image by default uses OTP26 now, but we really want otp25
2024-01-26 17:38:40 +00:00
feld
6bd29956f5
Merge branch 'elixir-1.15-base' into 'develop'
...
CI: set correct image version for Elixir 1.15
See merge request pleroma/pleroma!4045
2024-01-26 17:35:49 +00:00
Mark Felder
f23c07f43a
Set correct image version
2024-01-26 12:35:18 -05:00
Haelwenn (lanodan) Monnier
799891d359
Transmogrifier: Cleanup obsolete handling of "contentMap": null
2024-01-26 17:10:10 +01:00
Haelwenn (lanodan) Monnier
558b421079
Test incoming federation from Convergence AP Bridge
2024-01-26 17:05:18 +01:00
Haelwenn (lanodan) Monnier
acef2a4a40
CommonFixes: Use Maps.filter_empty_values on fix_object_defaults
2024-01-26 16:19:25 +01:00
Haelwenn (lanodan) Monnier
0de1a7629c
Maps: Add filter_empty_values/1
2024-01-26 16:18:29 +01:00
feld
626c22961f
Merge branch 'dialyzer-fixes' into 'develop'
...
More dialyzer fixes
See merge request pleroma/pleroma!4042
2024-01-23 00:16:55 +00:00
Mark Felder
3a8594e927
MastodonAPI.Controller.StatusController: fix dialyzer error
...
lib/pleroma/web/mastodon_api/controllers/status_controller.ex:333:pattern_match
The pattern can never match the type.
Pattern:
{:ok, _activity}
Type:
{:error, _}
2024-01-22 18:37:29 -05:00
Mark Felder
138b3cb608
Clear up missing function dialyzer errors for :eldap
2024-01-22 18:37:29 -05:00
Mark Felder
115b2ad638
MRF.KeywordPolicy: fix dialyzer error
...
lib/pleroma/web/activity_pub/mrf/keyword_policy.ex:13:neg_guard_fail
Guard test:
not is_binary(_string :: binary())
can never succeed.
2024-01-22 18:37:29 -05:00
Mark Felder
0dd65246ea
MRF.HashtagPolicy: fix dialyzer error
...
lib/pleroma/web/activity_pub/mrf/hashtag_policy.ex:87:exact_eq
The test <<_::32>> == <<_::48>> can never evaluate to 'true'.
2024-01-22 18:37:19 -05:00
Mark Felder
5f71928f6b
MRF.InlineQuotePolicy: fix dialyzer error
...
lib/pleroma/web/activity_pub/mrf/inline_quote_policy.ex:60:callback_type_mismatch
Type mismatch for @callback config_description/0 in Pleroma.Web.ActivityPub.MRF.Policy behaviour.
Expected type:
%{
:description => binary(),
:key => atom(),
:label => binary(),
:related_policy => binary(),
:children => [map()]
}
Actual type:
%{
:children => [
%{
:description => <<_::808>>,
:key => :template,
:suggestions => [any(), ...],
:type => :string
},
...
],
:description => <<_::336>>,
:key => :mrf_inline_quote,
:label => <<_::184>>,
:related_policy => <<_::360>>,
:type => :group
}
2024-01-22 18:37:13 -05:00
Mark Felder
a7fa6f18dc
Pleroma.Migrators.Support.BaseMigrator: Fix dialyzer errors
...
lib/pleroma/migrators/context_objects_deletion_migrator.ex:13:exact_eq
The test :error | float() == 0 can never evaluate to 'true'.
lib/pleroma/migrators/hashtags_table_migrator.ex:13:exact_eq
The test :error | float() == 0 can never evaluate to 'true'.
2024-01-22 18:37:13 -05:00
Mark Felder
6ce7011a2e
Pleroma.Gun.ConnectionPool.WorkerSupervisor: fix dialyzer error
...
lib/pleroma/gun/connection_pool/worker_supervisor.ex:24:guard_fail
The guard clause:
when _ :: true === nil
can never succeed.
2024-01-22 18:37:13 -05:00
Mark Felder
65d49ac090
Pleroma.HTTP.AdapterHelper: fix dialyzer errors
...
lib/pleroma/http/adapter_helper.ex:18:unknown_type
Unknown type: Connection.host/0.
lib/pleroma/http/adapter_helper.ex:19:unknown_type
Unknown type: Connection.host/0.
lib/pleroma/http/adapter_helper.ex:19:unknown_type
Unknown type: Connection.proxy_type/0.
2024-01-22 18:37:13 -05:00
Mark Felder
c74c5f479a
Pleroma.Migrators.Support.BaseMigratorState: fix dialyzer error
...
lib/pleroma/migrators/support/base_migrator_state.ex:10:unknown_type
Unknown type: Pleroma.DataMigration.t/0.
2024-01-22 18:37:13 -05:00
Mark Felder
36355d3ed9
Pleroma.Web.ActivityPub.Builder: fix dialyzer error
...
lib/pleroma/web/activity_pub/builder.ex:205:unknown_type
Unknown type: Pleroma.Web.CommonAPI.ActivityDraft.t/0.
2024-01-22 18:37:13 -05:00
Mark Felder
39da451b6d
Pleroma.Web.ActivityPub.Builder: fix dialyzer errors
...
lib/pleroma/web/activity_pub/builder.ex:35:unknown_type
Unknown type: Activity.t/0.
lib/pleroma/web/activity_pub/builder.ex:40:unknown_type
Unknown type: Activity.t/0.
lib/pleroma/web/activity_pub/builder.ex:144:unknown_type
Unknown type: Activity.t/0.
________________________________________________________________________________
lib/pleroma/web/activity_pub/builder.ex:204:unknown_type
Unknown type: Pleroma.Web.CommonAPI.ActivityDraft.t/0.
2024-01-22 18:37:13 -05:00
Mark Felder
10f3a2833f
Pleroma.User.Query: fix dialyzer error
...
lib/pleroma/user/query.ex:74:unknown_type
Unknown type: Query.t/0.
2024-01-22 18:37:13 -05:00
Mark Felder
40feac086f
Pleroma.User: fix dialyzer errors
...
lib/pleroma/user.ex:1514:unknown_type
Unknown type: Pleroma.UserRelationship.t/0.
lib/pleroma/user.ex:2629:unknown_type
Unknown type: Pleroma.UserRelationship.t/0.
lib/pleroma/user.ex:2638:unknown_type
Unknown type: Pleroma.UserRelationship.t/0.
2024-01-22 18:37:13 -05:00
Mark Felder
1361856213
Pleroma.User.Backup: fix some dialyzer errors
...
lib/pleroma/user/backup.ex:207:call
The function call will not succeed.
:zip.create(
string(),
[:"\"actor.json\"", :"\"outbox.json\"", :"\"likes.json\"", :"\"bookmarks.json\""],
[{:cwd, binary()}, ...]
)
will never return since the success typing is:
(
atom() | [atom() | [any()] | char()],
[
atom()
| [atom() | [any()] | char()]
| {atom() | [atom() | [any()] | char()], binary()}
| {atom() | [atom() | [any()] | char()], binary(),
{:file_info, :undefined | non_neg_integer(),
:device | :directory | :other | :regular | :symlink | :undefined,
:none | :read | :read_write | :undefined | :write,
:undefined | non_neg_integer() | {_, _}, :undefined | non_neg_integer() | {_, _},
:undefined | non_neg_integer() | {_, _}, :undefined | non_neg_integer(),
:undefined | non_neg_integer(), :undefined | non_neg_integer(),
:undefined | non_neg_integer(), :undefined | non_neg_integer(),
:undefined | non_neg_integer(), :undefined | non_neg_integer()}}
],
[
:cooked
| :memory
| :verbose
| {:comment, string()}
| {:compress, :all | [[any()]] | {:add, [any()]} | {:del, [any()]}}
| {:cwd, string()}
| {:uncompress, :all | [[any()]] | {:add, [any()]} | {:del, [any()]}}
]
) ::
{:error, _}
| {:ok,
atom() | [atom() | [any()] | char()] | {atom() | [atom() | [any()] | char()], binary()}}
and the contract is
(name, fileList, options) :: retValue
when name: :file.name(),
fileList: [:FileSpec],
fileSpec:
:file.name() | {:file.name(), binary()} | {:file.name(), binary(), :file.file_info()},
options: [:Option],
option: create_option(),
retValue:
{:ok, FileName :: filename()}
| {:ok, {FileName :: filename(), binary()}}
| {:error, Reason :: term()}
2024-01-22 18:37:13 -05:00
Mark Felder
bff47479a7
Exile: fix for MacOS dev environments
2024-01-22 18:37:13 -05:00
Mark Felder
38ebefce9c
Announcement: fix dialyzer errors and add typespec for the changeset
...
It was possible for this to raise (no_local_return) because the data key could be missing from the params
2024-01-22 18:37:13 -05:00
Mark Felder
eb4dd50f53
Use config to control inclusion of test emoji
2024-01-22 18:37:13 -05:00
Mark Felder
6df93e61c4
Use config to determine sending to the streamer registry instead of MIX_ENV compile time function definition
2024-01-22 18:37:13 -05:00
Mark Felder
653b14e1c7
Use config to control Uploader callback timeout
2024-01-22 18:37:13 -05:00
Mark Felder
8efae57d67
Dialyzer: suppress Mix.Task errors
...
Callback info about the 'Elixir.Mix.Task' behaviour is not available.
2024-01-22 18:37:13 -05:00
feld
f7b3681eb0
Merge branch 'exile-macos' into 'develop'
...
Exile: fix for MacOS dev environments
See merge request pleroma/pleroma!4041
2024-01-22 21:11:38 +00:00
Mark Felder
1632a3fec9
Exile: fix for MacOS dev environments
2024-01-22 15:35:12 -05:00
feld
d802e65cd3
Merge branch 'exile-bsds' into 'develop'
...
Exile: switch to fork with BSD compile fix
See merge request pleroma/pleroma!4040
2024-01-22 18:59:59 +00:00
Mark Felder
fff235433e
Exile: switch to fork with BSD compile fix
2024-01-22 13:44:20 -05:00
lain
52aadc09e9
Merge branch 'exile' into 'develop'
...
Replace custom fifo implementation with Exile
See merge request pleroma/pleroma!4039
2024-01-22 16:49:30 +00:00
Mark Felder
0ac010ba3f
Replace custom fifo implementation with Exile
...
This is for streaming media to ffmpeg thumbnailer. The existing implementation relies on undocumented behavior.
Erlang open_port/2 does not officially support passing a string of a file path for opening. The specs clearly state you are to provide one of the following for open_port/2:
{spawn, Command :: string() | binary()} |
{spawn_driver, Command :: string() | binary()} |
{spawn_executable, FileName :: file:name_all()} |
{fd, In :: integer() >= 0, Out :: integer() >= 0}
Our method technically works but is strongly discouraged as it can block the scheduler and dialyzer throws errors as it recognizes we're breaking the contract and some of the functions we wrote may never return.
This is indirectly covered by the Erlang FAQ section "9.12 Why can't I open devices (e.g. a serial port) like normal files?"
https://www.erlang.org/faq/problems#idm1127
2024-01-22 10:13:17 -05:00
marcin mikołajczak
def088ce52
format
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-01-21 18:23:24 +01:00
Haelwenn
ab3f03a04a
Merge branch 'develop' into 'public-polls'
...
# Conflicts:
# docs/development/API/differences_in_mastoapi_responses.md
2024-01-21 12:03:29 +00:00
feld
548434f85c
Merge branch 'new-pipelines' into 'develop'
...
Fix testing cache policy, really.
See merge request pleroma/pleroma!4038
2024-01-21 04:36:24 +00:00
Mark Felder
951a82f2d7
Fix testing cache policy
2024-01-21 04:35:31 +00:00
feld
12b689a81e
Merge branch 'new-pipelines' into 'develop'
...
Fix testing cache policy
See merge request pleroma/pleroma!4037
2024-01-21 04:34:06 +00:00
Mark Felder
badd7654fd
Fix testing cache policy
2024-01-21 04:29:13 +00:00
feld
931fa4cb78
Merge branch 'new-pipelines' into 'develop'
...
New CI pipelines
See merge request pleroma/pleroma!4036
2024-01-21 04:17:51 +00:00
Mark Felder
518ddd458c
Clarify formatting and cycles versions
2024-01-21 04:14:41 +00:00
Mark Felder
8f0051d739
Rename 1.15 image to include otp25, clarify test names
2024-01-21 04:10:20 +00:00
Mark Felder
058fa5471a
Fix the image name
2024-01-21 04:06:17 +00:00
Mark Felder
aee971bd26
Only need amd64 for now
2024-01-21 03:59:26 +00:00
Mark Felder
06813d4a0e
Reorganize ci scripts
2024-01-21 03:58:53 +00:00
Mark Felder
68f421c203
Use our own 1.15 ci-base image
2024-01-20 22:53:07 -05:00
Mark Felder
1790400313
Add Dialyxir with manual job execution
2024-01-20 22:49:37 -05:00
Mark Felder
06ac829eb4
Spec building should be in build stage
2024-01-20 22:45:29 -05:00
Mark Felder
df31ec0d52
Linting as a separate stage
2024-01-20 22:43:41 -05:00
Mark Felder
a0518a4ee1
Add a build and test pipeline for elixir 1.15 with a new naming convention
2024-01-20 22:37:38 -05:00
feld
1edfce4322
Merge branch 'dialyzer-fixes' into 'develop'
...
Dialyzer fixes
See merge request pleroma/pleroma!4035
2024-01-21 00:54:25 +00:00
Mark Felder
dcd0102800
Credo
2024-01-20 19:39:13 -05:00
Mark Felder
cca9d6aeaa
Dialyzer fixes
2024-01-20 19:29:29 -05:00
Mark Felder
2330100371
Use config to control starting all HTTP pools in test env
2024-01-20 19:10:57 -05:00
Mark Felder
17877f612e
Use config to control streamer registry
2024-01-20 18:51:20 -05:00
Mark Felder
4bb57d4f25
Use config to control background migrators
2024-01-20 18:47:25 -05:00
Mark Felder
c7eda0b24a
Use config to control loading of custom modules
2024-01-20 18:43:53 -05:00
Mark Felder
029aaf3d74
Use config to control max_restarts
2024-01-20 18:41:04 -05:00
Mark Felder
65ac513776
Dialyzer: fix pattern match coverage
2024-01-20 17:58:47 -05:00
Mark Felder
88042109a3
Dialyzer: fix pattern match coverage
2024-01-20 17:56:32 -05:00
Mark Felder
7f649a7a19
Dialyzer: remove function that will never match
2024-01-20 17:50:21 -05:00
Mark Felder
2fbb67add7
Fix typo in typespec
2024-01-20 17:48:12 -05:00
Mark Felder
ea26add540
Fix incorrect type definition for maybe_direct_follow/2
2024-01-20 17:43:34 -05:00
Mark Felder
38d01ff511
Fix invalid types
2024-01-20 17:37:27 -05:00
Mark Felder
83eece7764
Fix invalid type
...
lib/pleroma/web/auth/authenticator.ex:8:unknown_type
Unknown type: User.t/0.
2024-01-20 17:33:37 -05:00
Mark Felder
4f07116108
Fix invalid type
...
lib/pleroma/web/activity_pub/publisher.ex:31:unknown_type
Unknown type: Map.t/0.
2024-01-20 17:32:19 -05:00
Mark Felder
ec5ae83da6
Fix invalid types
...
lib/pleroma/web/activity_pub/mrf/policy.ex:6:unknown_type
Unknown type: Map.t/0.
lib/pleroma/web/activity_pub/mrf/policy.ex:7:unknown_type
Unknown type: Map.t/0.
2024-01-20 17:31:07 -05:00
Mark Felder
2061a1d917
Fix invalid type
...
lib/pleroma/uploaders/uploader.ex:43:unknown_type
Unknown type: Map.t/0.
2024-01-20 17:29:27 -05:00
Mark Felder
551e90cd52
Fix invalid type
...
lib/pleroma/upload.ex:89:unknown_type
Unknown type: Map.t/0.
2024-01-20 17:28:54 -05:00
Mark Felder
f050a75b92
Fix invalid types due to typos
...
lib/pleroma/web/feed/feed_view.ex:135:unknown_type
Unknown type: NativeDateTime.t/0.
lib/pleroma/web/feed/feed_view.ex:148:unknown_type
Unknown type: NativeDateTime.t/0.
2024-01-20 17:22:40 -05:00
Mark Felder
e5120a2703
Fix invalid type due to typos
...
lib/pleroma/web/o_auth/authorization.ex:61:unknown_type
Unknown type: Authtorizatiton.t/0.
2024-01-20 17:21:12 -05:00
Mark Felder
65dfaa6cb9
Fix invalid type due to late aliasing
...
lib/pleroma/web/o_auth/token/query.ex:12:unknown_type
Unknown type: Token.t/0.
2024-01-20 17:18:16 -05:00
Mark Felder
09ae0ab24a
Fix invalid type
...
lib/pleroma/web/rich_media/parser.ex:105:unknown_type
Unknown type: Integer.t/0.
2024-01-20 17:16:10 -05:00
Mark Felder
467a65af90
Fix invalid types
...
lib/pleroma/web/rich_media/parser/ttl.ex:6:unknown_type
Unknown type: Integer.t/0.
lib/pleroma/web/rich_media/parser/ttl.ex:6:unknown_type
Unknown type: Map.t/0.
2024-01-20 17:14:56 -05:00
Mark Felder
e3f52ee13f
Fix invalid types
...
lib/pleroma/web/streamer.ex:37:unknown_type
Unknown type: Map.t/0.
________________________________________________________________________________
lib/pleroma/web/streamer.ex:63:unknown_type
Unknown type: Map.t/0.
2024-01-20 17:14:10 -05:00
Mark Felder
593c7e26d4
Fix invalid type
...
lib/pleroma/migrators/hashtags_table_migrator.ex:103:unknown_type
Unknown type: Map.t/0.
2024-01-20 17:13:27 -05:00
Mark Felder
559aeb5dd0
Add missing type Pleroma.Emoji.t()
...
lib/pleroma/emoji/loader.ex:23:unknown_type
Unknown type: Pleroma.Emoji.t/0.
2024-01-20 17:08:18 -05:00
Mark Felder
8ed506a370
Fix invalid type
...
lib/pleroma/docs/json.ex:21:unknown_type
Unknown type: Map.t/0.
2024-01-20 17:05:55 -05:00
Mark Felder
0b7d214211
Fix invalid typespec references to Ecto.Changeset.t()
2024-01-20 16:47:50 -05:00
Mark Felder
dc8045d766
FlakeId.Ecto.CompatType.t() does not exist
...
This type is not exported and usable. FlakeId intends to return the type as :uuid, so we replace it in the typespecs with Ecto.UUID.t() which assuages the dialyzer errors
e.g.,
lib/pleroma/bookmark.ex:25:unknown_type
Unknown type: FlakeId.Ecto.CompatType.t/0.
2024-01-20 16:36:01 -05:00
Mark Felder
b16a01ba9d
Pleroma.ApplicationRequirements: fix dialyzer errors
...
lib/pleroma/application_requirements.ex:19:unknown_type
Unknown type: Pleroma.ApplicationRequirements.VerifyError.t/0.
lib/pleroma/application_requirements.ex:199:pattern_match_cov
The pattern
variable_result
can never match, because previous clauses completely cover the type
:ok.
2024-01-20 16:10:11 -05:00
Mark Felder
df1d390a49
Pleroma.Activity.Queries: fix dialyzer error
...
lib/pleroma/activity/queries.ex:12:unknown_type
Unknown type: Activity.t/0.
2024-01-20 16:01:32 -05:00
Mark Felder
2a28377be0
Fix mix task pleroma.instance dialyzer error
...
lib/mix/tasks/pleroma/instance.ex:356:pattern_match_cov
The pattern
:variable_
can never match, because previous clauses completely cover the type
%{
:anonymize => boolean(),
:dedupe => boolean(),
:read_description => boolean(),
:strip_location => boolean()
}.
2024-01-20 15:55:33 -05:00
Haelwenn
a5f64ffd0c
Apply lanodan’s suggestion to 1 file
2024-01-19 21:28:15 +00:00
Haelwenn
3c65a2899d
Merge branch 'handle_object_fetch_failures' into 'develop'
...
Handle object fetch failures gracefully
See merge request pleroma/pleroma!4015
2024-01-19 18:43:00 +00:00
marcin mikołajczak
fa02a1e634
Update MastoAPI responses docs
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-01-19 18:05:50 +01:00
marcin mikołajczak
90b442727e
Update Admin API docs
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-01-19 17:53:37 +01:00
Haelwenn
81a13b4b9e
Merge branch 'api-docs' into 'develop'
...
Update API docs for my changes
See merge request pleroma/pleroma!4033
2024-01-18 02:19:58 +00:00
marcin mikołajczak
b39403a48f
Update API docs for my changes
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-01-17 17:13:21 +01:00
Haelwenn
4c20713ecd
Merge branch 'otp26' into 'develop'
...
OTP26 support
See merge request pleroma/pleroma!4025
2024-01-17 09:51:56 +00:00
Haelwenn
355487041a
We are unsure if OTP27 will bring more breaking changes
2024-01-16 11:22:34 -05:00
Mark Felder
e44f6a2ab3
Skip tests on MacOS/Darwin that have always failed
2024-01-15 20:18:43 -05:00
Mark Felder
012ab87605
Pleroma.Web.MastodonAPI.SubscriptionControllerTest: disable async and use on_exit/1 to ensure web push config gets restored
2024-01-16 00:59:44 +00:00
Mark Felder
ad363c62c3
Fix StatusController test by using the get_query_parameter/2 helper to reliably retrieve the max_id value
2024-01-15 17:32:57 -05:00
Mark Felder
8bd8ee03c2
Add Pleroma.Test.Helpers.get_query_parameter/2 to retrieve specific query parameter values
2024-01-15 17:32:15 -05:00
Mark Felder
4cbf11d32c
Fix ChatController tests validating prev/next URLs by sorting the query parameters before comparison
2024-01-15 17:12:06 -05:00
Mark Felder
e7c6410192
Add Pleroma.Support.Helpers.uri_query_sort/1 for easy sorting of a URL's query parameters
2024-01-15 17:08:24 -05:00
Haelwenn
9b39bc6aa8
Merge branch 'mrf-regex-error' into 'develop'
...
MRF: Log sensible regex error for subdomain_match
See merge request pleroma/pleroma!4026
2024-01-15 08:24:54 +00:00
Haelwenn
c29430b018
Merge branch 'mrf-steal-emoji-extname' into 'develop'
...
MRF.StealEmojiPolicy: Properly add fallback extension to filenames missing one
See merge request pleroma/pleroma!4029
2024-01-15 08:24:24 +00:00
Mark Felder
12c052551b
Allow the Remote Fetcher to attempt fetching an unreachable instance
2024-01-14 14:05:43 -05:00
tusooa
d3a4f5b7d7
Merge branch 'nil-contentMap' into 'develop'
...
Support objects with a nil contentMap (firefish)
Closes #3231
See merge request pleroma/pleroma!4030
2024-01-13 22:23:21 +00:00
feld
9cc46c5538
Merge branch 'qtfaststart-fix' into 'develop'
...
Fix MediaProxy crashing on some videos
See merge request pleroma/pleroma!4024
2024-01-13 04:35:32 +00:00
feld
d4b889783c
Merge branch 'fix-duplicate-inbox-deliveries' into 'develop'
...
Fix duplicate inbox deliveries
See merge request pleroma/pleroma!4031
2024-01-11 20:21:57 +00:00
Mint
379d7fafd5
Merge branch 'use-shared-inbox-test' of pleromergit:pleroma/pleroma into fix-duplicate-inbox-deliveries
2024-01-11 23:10:40 +03:00
Mark Felder
dcb2b1413b
Add test to validate shared inboxes are used when multiple recipients from the same instance are recipients
2024-01-11 15:05:15 -05:00
Mint
3c30eadd5e
Fix duplicate inbox deliveries
2024-01-11 20:48:35 +03:00
Haelwenn (lanodan) Monnier
7651198508
Support objects with a nil contentMap (firefish)
...
Closes: https://git.pleroma.social/pleroma/pleroma/-/issues/3231
2024-01-11 07:16:45 +01:00
tusooa
8bc59e9743
Merge branch 'emoji-use-v1-api' into 'develop'
...
Make remote emoji packs API use specifically the V1 URL
See merge request pleroma/pleroma!4028
2024-01-10 01:26:46 +00:00
Haelwenn (lanodan) Monnier
4ca65c6182
MRF.StealEmojiPolicy: Properly add fallback extension to filenames missing one
2024-01-07 19:37:35 +01:00
Ekaterina Vaartis
6a55b680a3
Fix tests
2024-01-07 17:49:08 +03:00
Ekaterina Vaartis
29158681f9
Fetch count before downloading the pack and use that as page size
2024-01-07 17:07:50 +03:00
Ekaterina Vaartis
69e4ebbb8e
Make remote emoji packs API use specifically the V1 URL
...
Akkoma does not understand it without V1, and it works either way with
normal pleroma, so no reason to not do this
2024-01-07 15:30:52 +03:00
Haelwenn
67a5542a73
Merge branch 'fix-account-auth-check' into 'develop'
...
Fix authentication check on account rendering when bio is defined
See merge request pleroma/pleroma!4027
2024-01-05 00:45:29 +00:00
Alexander Tumin
32d8e0d496
Fix authentication check on account rendering when bio is defined
2024-01-04 16:57:48 +03:00
Haelwenn (lanodan) Monnier
6af49270a9
MRF: Log sensible error for subdomains_regex
2024-01-02 15:37:41 +01:00
Lain Soykaf
fc910f9bb9
Linting
2023-12-30 11:45:16 +04:00
Lain Soykaf
8883fa326a
Mix: Update http_signatures version
2023-12-30 11:44:23 +04:00
Mark Felder
c6acd2abb3
Revert grammar leak from bad merge
2023-12-29 23:31:48 -05:00
Mark Felder
63a74f7b6d
Support for Erlang OTP 26
2023-12-29 23:22:31 -05:00
Mark Felder
04366492b2
ConfigDB export to file does not have a consistent order.
...
Just test a few values to prove it was written
2023-12-29 23:18:45 -05:00
Mark Felder
1b5168ae02
Phoenix detects the webfinger requests with content-type application/jrd+json as "jrd" now
2023-12-29 23:18:45 -05:00
Mark Felder
347e5f33c7
Fix regex string match due to OTP26 key order change
...
OTP25:
"<http://localhost:4001/api/v1/favourites?limit=1&max_id=Ad1FhzPIS7gcHjUcoC&offset=0 >; rel=\"next\""
OTP26:
"<http://localhost:4001/api/v1/favourites?offset=0&limit=1&max_id=Ad1FmOIAXiSNgygflA >; rel=\"next\""
2023-12-29 23:18:45 -05:00
Mark Felder
0820c23988
Fix Chat controller tests failing due to OTP26 key order change
2023-12-29 23:18:45 -05:00
Mark Felder
d4dd21303a
Remove call to Pleroma.Web.Endpoint.config_change/2
...
This is not necessary for the tests to pass and breaks other tests as this change doesn't get cleanly reverted causing the hostname to stay set this way and leak into other test causing failures with "sub.example.com" not matching "localhost"
2023-12-29 22:51:40 -05:00
Mark Felder
36b3867787
Fix test "transforms config to tuples"
...
This should have never worked. The default empty values for the other MRF Simple options will always be there.
2023-12-29 22:50:26 -05:00
Mark Felder
b51ba39dd1
Update Floki to get the :attributes_as_maps feature to allow us to compare equality of parsed documents without issues of key ordering
2023-12-29 22:50:26 -05:00
Mark Felder
e121e06214
Implement a custom uri_equal?/2 to fix comparisons of URLs with unordered query parameters
2023-12-29 22:50:26 -05:00
Mark Felder
e7d6b835ae
Fix tests by leveraging Keyword.equal?/2
2023-12-29 22:50:26 -05:00
Haelwenn
f74f5e0a56
Merge branch 'publisher' into 'develop'
...
Discard some failed publisher jobs
See merge request pleroma/pleroma!4022
2023-12-29 23:18:34 +00:00
Mark Felder
50edef5bc1
Change QTFastStart to recover gracefully if it encounters an error during bitstring matching
...
This fixes issues with internal errors when trying to serve the video
2023-12-29 14:12:44 -05:00
Mark Felder
833117f573
Fix tests
...
Need to handle the edge case of no valid HTTP response which has no status code
2023-12-29 13:04:06 -05:00
feld
8ac4458630
Merge branch 'finch-redirects' into 'develop'
...
Fix following redirects with Finch
See merge request pleroma/pleroma!4023
2023-12-29 17:00:58 +00:00
lain
a6fc97ffec
Merge branch 'bugfix/chat-attachment-empty-array' into 'develop'
...
ChatMessage: Tolerate attachment field set to an empty array
Closes #3224
See merge request pleroma/pleroma!4020
2023-12-29 08:12:27 +00:00
Mark Felder
4afe211e50
Return the full tuple from Tesla
2023-12-29 01:04:05 -05:00
Mark Felder
2950397d47
Fix following redirects with Finch
2023-12-29 00:50:50 -05:00
Mark Felder
141702538b
Discard on a 404 as well
2023-12-29 00:31:05 -05:00
Mark Felder
7ebca7ecfa
Activity publishing failures will prevent the job from retrying if the publishing request returns a 403 or 410
2023-12-29 00:25:33 -05:00
Mark Felder
77949d4590
Make the Publisher log error less noisy
2023-12-29 00:25:11 -05:00
Mark Felder
f17f92105b
Oban jobs should be discarded on permanent errors
2023-12-28 23:52:59 -05:00
feld
3954dfd4f1
Merge branch 'remove-multiple-federator-modules' into 'develop'
...
Fix the Federator perform/2 Oban callback
See merge request pleroma/pleroma!4021
2023-12-29 04:33:45 +00:00
Haelwenn (lanodan) Monnier
39dc6c65ef
ChatMessage: Tolerate attachment field set to an empty array
...
Closes: https://git.pleroma.social/pleroma/pleroma/-/issues/3224
2023-12-29 05:32:47 +01:00
Mark Felder
d519a535e1
Changelog
2023-12-28 23:32:21 -05:00
Mark Felder
aa070c7daf
Handle 401s as I have observed it in the wild
2023-12-28 23:09:33 -05:00
Mark Felder
efd50759d5
Log errors when publishing activities
2023-12-28 22:59:27 -05:00
Mark Felder
08ba9a15b2
Fix the Federator perform/2 Oban callback
2023-12-28 22:51:47 -05:00
Haelwenn
7f3a83d3ed
Merge branch 'remove-multiple-federator-modules' into 'develop'
...
Remove support for multiple federation publisher modules
See merge request pleroma/pleroma!4019
2023-12-29 03:35:24 +00:00
Mark Felder
ddb9e90c40
Update minimum elixir version found in various docs
2023-12-28 15:59:25 -05:00
Mark Felder
013f7c4f8f
Changelog
2023-12-28 14:55:26 -05:00
Mark Felder
e35fa60d8a
Remove reference to the :federation_publisher_modules setting in our config test
2023-12-28 14:53:40 -05:00
Mark Felder
3acfdb6f8a
Retire the Pleroma.Web.Federator.Publisher module
2023-12-28 14:53:09 -05:00
Mark Felder
1d816222e0
Remove support for multiple federation publisher modules
...
This also unravels some needless indirection.
2023-12-28 11:55:19 -05:00
Haelwenn
ddc321a094
Merge branch 'tusooa/3205-group-actor' into 'develop'
...
Implement group actors
See merge request pleroma/pleroma!3969
2023-12-28 10:46:53 +00:00
Haelwenn
81ce04990e
Merge branch 'typo' into 'develop'
...
Fix some typos
See merge request pleroma/pleroma!4017
2023-12-28 10:02:17 +00:00
Mark Felder
a6fd251e44
Improve test descriptions
2023-12-27 22:37:06 -05:00
Mark Felder
ad0a5deb67
Prevent requeuing Remote Fetcher jobs that exceed thread depth
2023-12-27 22:28:41 -05:00
Mark Felder
a2708f7fe3
Leverage existing atoms as return errors for the object fetcher
2023-12-27 22:01:59 -05:00
Mark Felder
287f2c9719
Formatting
2023-12-27 21:55:07 -05:00
Mark Felder
882267e3ec
Remove duplicate log messages from Transmogrifier
...
Object fetch errors are logged in the fetcher module
2023-12-27 21:39:29 -05:00
Mark Felder
becb070603
Conslidate log messages for object fetcher failures and leverage Logger.metadata
2023-12-27 21:22:51 -05:00
Mark Felder
6c9929b809
Set Logger level to error
2023-12-27 20:18:14 -05:00
marcin mikołajczak
017e35fbf1
Fix some more typos
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-12-28 00:17:04 +01:00
marcin mikołajczak
f53197c82a
Fix operation name typo
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-12-27 23:52:46 +01:00
Mark Felder
be0cca9afd
RemoteFetcherWorker Oban job tests
2023-12-27 16:08:57 -05:00
Mark Felder
53db65678d
Separate files for each distinct sentence in the changelog
2023-12-27 15:44:31 -05:00
Mark Felder
d4c77103d1
Fix detection of user follower collection being private
...
We were overzealous with matching on a raw error from the object fetch that should have never been relied on like this. If we can't fetch successfully we should assume that the collection is private.
Building a more expressive and universal error struct to match on may be something to consider.
2023-12-27 15:27:39 -05:00
marcin mikołajczak
f6fee39e42
Add changelog
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-12-27 21:24:20 +01:00
feld
47e00524f7
Merge branch 'instance-defdelegates' into 'develop'
...
defdelegates for Pleroma.Instances
See merge request pleroma/pleroma!4016
2023-12-27 17:51:52 +00:00
Mark Felder
1a337dcc18
These functions in Pleroma.Instances should be defdelegates to Pleroma.Instances.Instance
2023-12-27 12:44:16 -05:00
tusooa
b273025fd7
Add pleroma:group_actors to instance features
2023-12-27 12:28:11 -05:00
tusooa
e9d2fadd8e
Add changelog for group actors
2023-12-27 12:28:11 -05:00
tusooa
e34a975dd9
Do not boost if group is blocking poster
2023-12-27 12:28:10 -05:00
tusooa
5f5533b88a
Test group actor behaviour in SideEffects
2023-12-27 12:28:10 -05:00
tusooa
5459bbc1ef
Allow group actors to boost posts
2023-12-27 12:28:04 -05:00
tusooa
7a58ddfa48
Allow local user to have group actor type
...
https://git.pleroma.social/pleroma/pleroma/-/issues/3205
2023-12-27 12:27:37 -05:00
tusooa
40f170f0a7
Merge branch 'webfinger-fix' into 'develop'
...
Use correct domain for fqn and InstanceView
See merge request pleroma/pleroma!3958
2023-12-27 17:10:32 +00:00
Mark Felder
5f51094138
Update changelog
2023-12-27 11:09:42 -05:00
Mark Felder
73c4c6d7de
Revert "Mark instances as unreachable when returning a 403 from an object fetch"
...
This reverts commit d472bafec1
.
2023-12-26 17:20:36 -05:00
Mark Felder
9c0040124a
Skip remote fetch jobs for unreachable instances
2023-12-26 16:28:05 -05:00
Mark Felder
5f6966cd9f
Remove mistaken duplicate fetch
2023-12-26 16:23:41 -05:00
Mark Felder
c4f0a3b570
Changelogs
2023-12-26 16:08:36 -05:00
Mark Felder
c6b38441f1
Cancel remote fetch jobs for deleted objects
2023-12-26 16:05:44 -05:00
Mark Felder
67dd81e825
Consolidate the HTTP status code checking into the private get_object/1
2023-12-26 16:05:28 -05:00
Mark Felder
d472bafec1
Mark instances as unreachable when returning a 403 from an object fetch
...
This is a definite sign the instance is blocked and they are enforcing authorized_fetch
2023-12-26 15:54:21 -05:00
Mark Felder
603e9f6a92
Fix Transmogrifier tests
...
These tests relied on the removed Fetcher.fetch_object_from_id!/2 function injecting the error tuple into a log message with the exact words "Object containment failed."
We will keep this behavior by generating a similar log message, but perhaps this should do a better job of matching on the error tuple returned by Transmogrifier.handle_incoming/1
2023-12-26 14:22:06 -05:00
Mark Felder
ea0ec5fbcf
Remove Fetcher.fetch_object_from_id!/2
...
It was only being called once and can be replaced with a case statement.
2023-12-26 14:20:35 -05:00
marcin mikołajczak
6051715a99
Merge remote-tracking branch 'origin/develop' into instance_rules
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-12-22 14:34:30 +01:00
marcin mikołajczak
9fc6676d8c
Merge remote-tracking branch 'origin/develop' into instance-contact-account
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-12-22 13:54:44 +01:00
marcin mikołajczak
28e5e65676
Merge remote-tracking branch 'origin/develop' into webfinger-fix
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-12-22 13:29:56 +01:00
lain
5f1d707367
Merge branch 'bad_inbox_request' into 'develop'
...
Return a 400 from a bad delivery attempt to the inbox
Closes #2884
See merge request pleroma/pleroma!4009
2023-12-22 11:04:25 +00:00
Haelwenn
bd50892c25
Merge branch 'instance-v2' into 'develop'
...
Implement api/v2/instance route
See merge request pleroma/pleroma!3939
2023-12-21 21:14:46 +00:00
Mark Felder
7e3bbdded5
Elixir 1.13 is the minimum required version
2023-12-20 23:39:12 +00:00
feld
344c798b4c
Merge branch 'fix-otp-comparison' into 'develop'
...
Fix invalid string comparison for OTP versions and replace with config
See merge request pleroma/pleroma!4013
2023-12-20 23:26:59 +00:00
Mark Felder
928bda2e43
Fix invalid string comparison for OTP versions and replace with config
...
Old way was wrong for multiple reasons. If we do this as a config value it fixes :slave.start/3 being picked up as a compile warning on OTP26.
Also if we want to do any real clustering we'll need something like this to support OTP25 and older.
2023-12-20 23:13:33 +00:00
marcin mikołajczak
4f2fb8dc5e
Use consistent terminology
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-12-21 00:13:13 +01:00
marcin mikołajczak
39d3df86c8
Use consistent terminology
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-12-21 00:10:30 +01:00
feld
56618873af
Merge branch 'deprecations' into 'develop'
...
More deprecation fixes/cleanup
See merge request pleroma/pleroma!4012
2023-12-20 22:11:35 +00:00
Mark Felder
d9fe41a301
More deprecation fixes
2023-12-20 16:47:58 -05:00
Haelwenn (lanodan) Monnier
1fc53c3077
config/description.exs: Remove quack
...
Was already removed in f40ccce7e9
2023-12-20 16:24:42 -05:00
Mark Felder
fb3eb6e0a4
Fix more Logger warn -> warning
2023-12-20 16:24:27 -05:00
Mark Felder
2207fafa91
Fix more Logger warn -> warning
2023-12-20 16:24:19 -05:00
Mark Felder
cd3abe0b4c
Fix more Logger warn -> warning
2023-12-20 16:23:57 -05:00
feld
cbdd134174
Merge branch 'deprecations' into 'develop'
...
Deprecations
See merge request pleroma/pleroma!4011
2023-12-20 21:13:35 +00:00
Mark Felder
45150848fb
Backwards compatibility for OTP
2023-12-20 15:56:56 -05:00
Mark Felder
3c80c86437
Chase deprecations/warnings for Elixir 1.15
2023-12-20 20:17:25 +00:00
Mark Felder
107f00d93f
OTP26: Chase the :slave.start/3 deprecation
2023-12-20 20:16:39 +00:00
Mark Felder
9896b64f54
Elixir 1.15: Chase the Logger.warn deprecation
2023-12-20 20:16:26 +00:00
feld
d72d42f9ce
Merge branch 'testsecrets' into 'develop'
...
Clarify location of test.secret.exs file
See merge request pleroma/pleroma!4010
2023-12-20 19:13:03 +00:00
Mark Felder
bf57fd82bb
Clarify location of test.secret.exs file
2023-12-20 14:12:06 -05:00
Mark Felder
f43f33e307
Return a 400 from a bad delivery attempt to the inbox
...
This stops the backend from generating 500 errors from these events.
2023-12-19 13:56:17 -05:00
feld
99b07c817e
Merge branch 'web_push' into 'develop'
...
Fix Web Push notification delivery
See merge request pleroma/pleroma!4008
2023-12-19 16:19:35 +00:00
Mark Felder
e2066994b1
Fix Web Push notification delivery
...
Finch does not automatically append header content-type: octet-stream for binary payloads.
2023-12-19 10:56:55 -05:00
Haelwenn
8893a044b3
Merge branch 'priority_activities' into 'develop'
...
Priority activities
See merge request pleroma/pleroma!4004
2023-12-18 00:49:09 +00:00
Lain Soykaf
c1423ddca3
ActivityPub.Publisher: Filter inboxes
2023-12-17 11:15:58 +04:00
Haelwenn (lanodan) Monnier
086ba59d03
HTTPSignaturePlug: Add :authorized_fetch_mode_exceptions
2023-12-16 19:25:51 +01:00
Lain Soykaf
77bb1bb6c8
Actually write changelog
2023-12-16 21:41:28 +04:00
Haelwenn (lanodan) Monnier
f271ea6e43
Move Plugs.RemoteIP.maybe_add_cidr/1 to InetHelper.parse_cidr/1
2023-12-16 18:23:26 +01:00
Lain Soykaf
a0f70cf7d0
Add changelog
2023-12-16 20:40:51 +04:00
Lain Soykaf
c212fc1dcf
User: Ignore non-local users when setting 'last active at'
2023-12-16 20:32:13 +04:00
Lain Soykaf
3fbc80eb58
B ActivityPub.Publisher: Prioritize direct mentions
2023-12-16 20:26:08 +04:00
Haelwenn
147b37b893
Merge branch 'mergeback/2.6.1' into 'develop'
...
mergeback: 2.6.1
Closes #3194
See merge request pleroma/pleroma!4003
2023-12-16 01:03:37 +00:00
tusooa
f5559f3aff
Skip changelog for 2.6.1 mergeback
2023-12-15 19:45:23 -05:00
tusooa
453cb6a388
Merge remote-tracking branch 'upstream/stable' into mergeback/2.6.1
2023-12-15 19:43:07 -05:00
tusooa
6722b7f395
Merge branch 'release/2.6.1' into 'stable'
...
Release: 2.6.1
See merge request pleroma/pleroma!3999
2023-12-16 00:36:08 +00:00
Haelwenn
f07b134add
Fix formatting of changelog
2023-12-15 23:52:37 +00:00
lain
7622a83973
Merge branch 'service-actor-outbox' into 'develop'
...
ap userview: add outbox field.
See merge request pleroma/pleroma!4002
2023-12-15 06:22:55 +00:00
Lain Soykaf
766011544a
UserViewTest: Add basice service actor test.
2023-12-15 10:01:31 +04:00
Yonle
cb1b52d980
ap userview: add outbox field.
...
Signed-off-by: Yonle <yonle@lecturify.net>
2023-12-15 09:55:06 +04:00
tusooa
948f01f19a
Bundle 2.6.1 frontend
2023-12-14 20:32:49 -05:00
tusooa
ad6a6aa07b
Bump version to 2.6.1
2023-12-14 20:14:41 -05:00
Haelwenn (lanodan) Monnier
b1ea63b4c6
changelog.d/system-cflags.fix: New entry
2023-12-14 20:13:25 -05:00
Haelwenn (lanodan) Monnier
41f6e8f7f4
mix: Bump elixir-captcha for system-CFLAGS
2023-12-14 20:13:20 -05:00
Haelwenn (lanodan) Monnier
08839602bd
mix: cherry-pick eblurhash latest git for system-CFLAGS
2023-12-14 20:13:00 -05:00
Haelwenn (lanodan) Monnier
35090f6eac
TwitterAPI: Return proper error when healthcheck is disabled
2023-12-14 20:11:01 -05:00
Haelwenn (lanodan) Monnier
272271d939
docs: clang is also supported
2023-12-14 07:29:54 -05:00
Haelwenn (lanodan) Monnier
1b22f13488
docs: Put a max version on erlang and elixir
...
Closes: https://git.pleroma.social/pleroma/pleroma/-/issues/3194
2023-12-14 07:29:54 -05:00
Henry Jameson
e635ee8b39
changelog
2023-12-14 07:28:52 -05:00
Henry Jameson
57445e65cb
update, add images
2023-12-14 07:28:52 -05:00
Henry Jameson
476fd01f8d
Initial draft on frontends management
2023-12-14 07:28:43 -05:00
lain
02acf7c0b3
Merge branch 'fix-develop-tests' into 'develop'
...
StatusViewTest: Fix tests.
See merge request pleroma/pleroma!3998
2023-12-13 10:05:18 +00:00
Lain Soykaf
1458de92f0
Gitlab CI: Switch to our own docker hub
2023-12-13 13:08:00 +04:00
Lain Soykaf
935dce9a0b
Gitlab CI: Update postgres for rum tests.
2023-12-13 12:45:52 +04:00
Lain Soykaf
40fa1099bf
StatusViewTest: Fix tests.
2023-12-13 11:19:08 +04:00
lain
29d202e1df
Merge branch 'add-opengraph-rich-media-proxy' into 'develop'
...
Add media proxy to opengraph rich media cards
See merge request pleroma/pleroma!3997
2023-12-13 06:23:16 +00:00
lain
2c560266e9
Merge branch 'no-async-clear-config' into 'develop'
...
Various test improvements and refactors
See merge request pleroma/pleroma!3991
2023-12-12 15:54:55 +00:00
Lain Soykaf
cca6c20eb6
Revert "EmailTest: use config mock"
...
This reverts commit dca41cc4a3
.
2023-12-12 19:35:19 +04:00
Lain Soykaf
a989b793de
Revert "Tests: fix more tests"
...
This reverts commit 05352330bb
.
2023-12-12 19:35:08 +04:00
Alexander Tumin
e7af2addd8
Add media proxy to opengraph rich media cards
2023-12-12 18:32:02 +03:00
Lain Soykaf
877552c6f8
Linting
2023-12-12 19:11:15 +04:00
Lain Soykaf
05352330bb
Tests: fix more tests
2023-12-12 19:08:57 +04:00
Lain Soykaf
dca41cc4a3
EmailTest: use config mock
2023-12-12 15:25:52 +04:00
Lain Soykaf
b13820dcd0
Tests: Remove skip_on_mac
tag
2023-12-12 14:09:22 +04:00
Lain Soykaf
190120fd79
Tests: More test fixes
2023-12-12 14:03:46 +04:00
Lain Soykaf
00def0875b
RichMediaTest: Use mocked config
2023-12-12 13:28:11 +04:00
lain
31a524fb52
Merge branch 'docker-fix-22' into 'develop'
...
Fix dockerfile compilation.
See merge request pleroma/pleroma!3996
2023-12-12 09:06:11 +00:00
Lain Soykaf
da3d1157e5
Fix dockerfile compilation.
2023-12-12 13:04:53 +04:00
Lain Soykaf
650edb60dc
ScheduledActivityControllerTest: Fix tests, make async.
2023-12-12 12:56:07 +04:00
Lain Soykaf
4ba03aa29b
MastodonAPITest: Fix tests
2023-12-12 12:55:53 +04:00
Lain Soykaf
22c4d89dbb
ScheduledActivity: Use config mocking
2023-12-12 12:48:55 +04:00
Lain Soykaf
8da1fd329d
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into no-async-clear-config
2023-12-12 12:29:22 +04:00
lain
e9d9caa77c
Merge branch 'fix-dockerfile' into 'develop'
...
Dockerfile: Use platform libvips.
See merge request pleroma/pleroma!3995
2023-12-12 08:11:33 +00:00
Lain Soykaf
7371e72e6c
Dockerfile: Use platform libvips.
2023-12-12 11:36:34 +04:00
Lain Soykaf
228966e6dd
Exiftool.ReadDescription: Remove wrong spec.
2023-12-12 11:09:54 +04:00
Lain Soykaf
18ab36d70c
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into no-async-clear-config
2023-12-12 10:55:19 +04:00
lain
3c89f3cf15
Merge branch 'build-releases-with-provided-libvips-2' into 'develop'
...
Mix: Update vix.
See merge request pleroma/pleroma!3994
2023-12-12 05:23:24 +00:00
Lain Soykaf
6c5ebcded5
Mix: Update vix.
2023-12-12 08:59:47 +04:00
lain
1d51ae7570
Merge branch 'build-releases-with-provided-libvips-2' into 'develop'
...
Use version of vix that compiles correctly under arm32
See merge request pleroma/pleroma!3993
2023-12-11 14:40:01 +00:00
Lain Soykaf
8b4a786266
Use version of vix that compiles correctly under arm32
2023-12-11 18:38:27 +04:00
lain
41c02b3d16
Merge branch 'authorize-interaction' into 'develop'
...
Support /authorize-interaction route used by Mastodon
See merge request pleroma/pleroma!3957
2023-12-11 09:31:18 +00:00
lain
8d4a47bf9e
Merge branch 'build-releases-with-provided-libvips-2' into 'develop'
...
Build releases with provided libvips 2
See merge request pleroma/pleroma!3992
2023-12-11 09:09:25 +00:00
Lain Soykaf
7cf65cfeea
Changelog
2023-12-11 12:48:53 +04:00
Lain Soykaf
600364f4fd
Gitlab CI: Build using system provided libvips
2023-12-11 12:47:59 +04:00
lain
e7974afd37
Merge branch 'optimistic-inbox' into 'develop'
...
Optimistic Inbox
See merge request pleroma/pleroma!3989
2023-12-11 07:32:42 +00:00
Lain Soykaf
6be3704bc4
Linting
2023-12-11 11:28:39 +04:00
Lain Soykaf
e4292c94d8
BackupTest: Fix tests
2023-12-11 11:12:02 +04:00
Lain Soykaf
d62b17eb60
UploadMediaPlugTest: Fix tests
2023-12-11 11:06:07 +04:00
Lain Soykaf
dd0cf0371a
AttachmentValidatorTest: Fix tests
2023-12-11 11:02:33 +04:00
Lain Soykaf
54c0510d1f
Push.ImplTest: Fix tests
2023-12-11 11:01:07 +04:00
Lain Soykaf
dec524e7da
BackupViewTest: Fix Tests
2023-12-11 10:54:11 +04:00
Lain Soykaf
82beb4987a
MascotControllerTest: Fix tests
2023-12-11 10:49:22 +04:00
Lain Soykaf
f5a2337b37
CommonAPITest: Fix tests
2023-12-11 10:46:26 +04:00
Lain Soykaf
6e448ef239
ActivityPubTest: Fix tests
2023-12-11 10:44:31 +04:00
Lain Soykaf
d19f5d18e9
UpdateCredentialsTest: Fix tests
2023-12-11 10:41:27 +04:00
Lain Soykaf
6a738720ec
ChatControllerTest: Fix tests
2023-12-11 10:39:03 +04:00
Lain Soykaf
d3822269ca
ObjectTest: Fix tests
2023-12-11 10:37:39 +04:00
Lain Soykaf
e8e74146e8
MastodonAPI.AccountViewTest: Fix tests
2023-12-11 10:33:33 +04:00
Lain Soykaf
50c31cb31b
RemoteFollowControllerTest: Fix test
2023-12-11 10:24:44 +04:00
Lain Soykaf
844d0d3147
UploadTest: Fix test
2023-12-11 10:22:35 +04:00
Lain Soykaf
8c0b1fd1d9
MediaProxyControllerTest: Fix tests
2023-12-11 10:16:29 +04:00
Lain Soykaf
b9f135eaf3
FrontendStaticPlugTest: Fix test
2023-12-11 10:07:39 +04:00
Lain Soykaf
60800c0b2b
ChatMessageReferenceView: Fix test
2023-12-11 10:05:47 +04:00
Lain Soykaf
42c11466cc
MediaProxyWarmingPolicyTest: Fix tests
2023-12-11 10:04:01 +04:00
Lain Soykaf
305c76470f
OpenGraphTest: Fix test
2023-12-11 10:01:55 +04:00
Lain Soykaf
5530c7dca4
MediaProxyTest: Fix test
2023-12-11 10:00:15 +04:00
Lain Soykaf
5a95847c5d
MediaProxyCacheControllerTest: Fix tests.
2023-12-11 09:54:31 +04:00
Lain Soykaf
2c10843bc4
MediaControllerTest: Fix test.
2023-12-11 09:51:59 +04:00
Lain Soykaf
3cce929eec
ChatValidationTest: Fix tests.
2023-12-11 09:43:49 +04:00
Lain Soykaf
90a47ca050
S3 Test: Remove global state dependencies
2023-12-11 09:25:05 +04:00
Mark Felder
c0a50b7c3e
User.get_or_fetch_public_key_for_ap_id/1 is no longer required.
2023-12-10 13:24:25 -05:00
Mark Felder
18deea59b4
ActivityPub.make_user_from_ap_id/1 fetches the whole actor object including updating the public key for us
2023-12-10 13:22:55 -05:00
Mark Felder
223c1bac8d
Cancel the job if the signature is still invalid after a refetch of the public key
2023-12-10 12:55:41 -05:00
Lain Soykaf
0e005acd44
CI: Use Elixir 1.13 for linting.
2023-12-10 21:00:11 +04:00
Lain Soykaf
0d83b6d177
Linting
2023-12-10 19:59:02 +04:00
Lain Soykaf
06fc196772
Backup: Fix config
2023-12-10 19:46:25 +04:00
Lain Soykaf
6e3267d1bd
Tests: Fix all the tests.
2023-12-10 19:19:56 +04:00
Lain Soykaf
c068a218ea
Backup Tests: Split out async tests, use mox.
2023-12-10 18:57:46 +04:00
Lain Soykaf
20b76acc08
ActivityPubTest: Swallow log
2023-12-10 17:20:39 +04:00
Lain Soykaf
e5beab7f16
Config/Test: Don't start promex during testing.
2023-12-10 17:18:18 +04:00
Lain Soykaf
68f7a79f28
Tests: Remove async from cases that use Mock
2023-12-10 17:10:18 +04:00
Lain Soykaf
b7ce2cf6a8
Add .rgignore for easier grepping
2023-12-10 17:06:28 +04:00
Lain Soykaf
075222525c
TransmogrifierTest: Capture the log
2023-12-10 17:06:13 +04:00
Lain Soykaf
221f18dc33
Tests: Don't run tests that use clear_config asynchronously.
2023-12-10 16:27:23 +04:00
lain
a7f82ff82e
Merge branch 'scrubbers-html4-GtS' into 'develop'
...
scrubbers/default: Add more formatting elements from HTML4 / GoToSocial
See merge request pleroma/pleroma!3979
2023-12-10 12:18:22 +00:00
Mark Felder
d417f73218
Process inbound Delete activities at lowest priority
2023-12-09 18:47:54 -05:00
Mark Felder
94daa3e8c1
Revert "Remove unnecessary forced refresh of user"
...
This reverts commit 97cf78f63d
.
2023-12-09 18:21:00 -05:00
Mark Felder
82724f6664
Do not retry fetching deleted objects
2023-12-09 17:48:33 -05:00
feld
a67fc30d81
Merge branch 'kphrx-develop-patch-87655' into 'develop'
...
Remove checking ImageMagick's commands for AnalyzeMetadata filter
See merge request pleroma/pleroma!3987
2023-12-09 14:08:13 +00:00
lain
0e75315368
Merge branch 'migration-fix' into 'develop'
...
Permit the quoteUrl index creation to run concurrently
See merge request pleroma/pleroma!3988
2023-12-09 06:07:28 +00:00
lain
ee15939d33
Skip transaction to generate the index concurrently
2023-12-09 05:54:02 +00:00
Mark Felder
4039106500
Fix the req_headers formatting
2023-12-08 21:51:36 -05:00
Mark Felder
1d417d2a36
Our version of Oban only supports priorities 0-3
2023-12-08 21:49:25 -05:00
Mark Felder
97cf78f63d
Remove unnecessary forced refresh of user
2023-12-08 18:24:30 -05:00
Mark Felder
1b5964979f
Optimistic Inbox
2023-12-08 18:13:43 -05:00
Mark Felder
ce5acd4158
get_cached_by_ap_id/1 returns a single result, not a tuple
2023-12-08 18:10:22 -05:00
Mark Felder
0d3f1be230
Fix test; log message no longer emitted here
2023-12-08 17:46:10 -05:00
Mark Felder
074b31d9ab
Optimistic Inbox
...
Rework inbound federation to accept requests optimistically. The HTTP Signatures Plug will not attempt to fetch the actor or key and will fail early.
If the signature cannot be validated we pass the required data into the Oban job with a reduced priority and increase the timeout to 20 seconds. The Oban job will handle the actor and key fetching before attempting to validate the activity again. This job will be retried 5 times by default.
Another welcome side effect is that actors who change their keys can federate to Pleroma instances immediately instead of needing to wait the default value of 86400s / 24 hours before the key will be fetched again.
2023-12-08 17:45:20 -05:00
Mark Felder
003d3312fd
Permit the index creation to run concurrently
2023-12-08 15:48:00 -05:00
kPherox
0818a9136d
add changelog
2023-12-07 20:33:23 +09:00
kPherox
b70ca7d54e
fix: AnalyzeMetadata filter no longer depends on ImageMagick's commands
2023-12-07 09:53:24 +00:00
lain
5f74aadaaf
Merge branch 'last_status_at' into 'develop'
...
MastoAPI AccountView: Change last_status_at to be a date
See merge request pleroma/pleroma!3978
2023-12-07 08:08:27 +00:00
Lain Soykaf
ef8a2134bc
AccountView: Add test, refactor
2023-12-07 11:25:18 +04:00
Lain Soykaf
6a191a91ab
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into last_status_at
2023-12-07 11:18:39 +04:00
lain
2656199dc7
Merge branch 'more-test-fixes' into 'develop'
...
More test fixes
See merge request pleroma/pleroma!3984
2023-12-07 05:26:06 +00:00
lain
6c10fd22a3
Merge branch 'reachable-upsert' into 'develop'
...
Change set_reachable/1 to an upsert
See merge request pleroma/pleroma!3986
2023-12-07 04:20:54 +00:00
Mark Felder
1ad0d94d6f
Change set_reachable/1 to an upsert
2023-12-06 15:50:00 -05:00
Lain Soykaf
5dce39d17f
Revert "CI: Remove test coverage"
...
This reverts commit d99e139c6b
.
2023-12-03 10:17:24 +04:00
Lain Soykaf
d99e139c6b
CI: Remove test coverage
2023-11-30 13:54:07 +04:00
Lain Soykaf
eb6be30602
Linting
2023-11-30 10:05:00 +04:00
Lain Soykaf
30084b7332
Add changelog.
2023-11-30 09:55:04 +04:00
Lain Soykaf
265d8749b1
Gitlab CI: Make it work for a local runner
2023-11-30 09:40:29 +04:00
Lain Soykaf
15a8acbd6c
MRF, Docs.Generator: Ensure code is loaded before checking it
2023-11-30 09:40:17 +04:00
HJ
6a6a631c81
Merge branch 'neetzsche/add_url_to_scrobbles' into 'develop'
...
Add optional URL value for scrobbles
See merge request pleroma/pleroma!3977
2023-11-29 15:59:19 +00:00
lain
bc7fcc2dba
Merge branch 'vips' into 'develop'
...
Docs: Remove rust references
See merge request pleroma/pleroma!3983
2023-11-29 15:43:09 +00:00
Lain Soykaf
cd6adef471
Add changelog
2023-11-29 19:42:40 +04:00
NEETzsche
e216603477
Change url to externalLink as requested by hj here: https://shigusegubu.club/notice/AcIjZjackKAt6e522a
2023-11-29 07:55:44 -07:00
lain
1955b3c557
Merge branch 'vips' into 'develop'
...
Replace ImageMagick with Vips
See merge request pleroma/pleroma!3771
2023-11-29 06:03:37 +00:00
lain
35774d44b2
Merge branch 'generate-unset-user-keys-migration' into 'develop'
...
Fix GenerateUnsetUserKeys migration
See merge request pleroma/pleroma!3976
2023-11-28 12:34:32 +00:00
Lain Soykaf
10525ac7f8
Docs: Remove rust references
2023-11-28 15:21:34 +04:00
Lain Soykaf
ccc2adee41
Linting
2023-11-28 13:13:43 +04:00
Lain Soykaf
da26964d2b
Changelog: Adjust blurhash change
2023-11-28 12:39:22 +04:00
Lain Soykaf
b3214be32f
AnayzeMetadata: Fix error case that would never match
2023-11-28 12:33:54 +04:00
Lain Soykaf
03db495e1d
AnalyzeMetadata: Switch to rinpatch_blurhash
2023-11-28 12:23:41 +04:00
lain
ef7bda61ad
Merge branch 'promex' into 'develop'
...
Switch to PromEx for prometheus metrics
See merge request pleroma/pleroma!3967
2023-11-28 07:50:16 +00:00
lain
2b839197a9
Merge branch 'strip-fix' into 'develop'
...
Strip fix
See merge request pleroma/pleroma!3981
2023-11-27 15:30:13 +00:00
Lain Soykaf
4ef56c5b65
ActivityPub.Utils: Only treat object ids as valid while stripping
2023-11-27 18:44:11 +04:00
HJ
9c57f17af3
Merge branch 'frontends-docs' into 'develop'
...
Front-ends management docs
See merge request pleroma/pleroma!3974
2023-11-27 14:00:12 +00:00
NEETzsche
27df2c0ce6
Fix #strip_report_status_data
2023-11-27 17:56:43 +04:00
Lain Soykaf
5a3b81d92e
ActivityPub.UtilsTest: Add failing test for strip_report_status_data
2023-11-27 17:55:16 +04:00
Mark Felder
299c548b12
Prevent a blurhash failure from breaking all metadata collection
2023-11-23 16:15:53 -05:00
NEETzsche
510a7b64f1
Add optional URL value for scrobbles
2023-11-23 04:51:51 -07:00
HJ
4ebfc011fc
Merge branch 'favicon' into 'develop'
...
Make favicon configurable, embed favicon and manifest in server-generated meta
See merge request pleroma/pleroma!3963
2023-11-19 08:52:37 +00:00
Henry Jameson
6513f54f73
changelog
2023-11-19 10:32:39 +02:00
Henry Jameson
2112e8b5e4
update, add images
2023-11-19 10:30:49 +02:00
feld
906b121a10
Merge branch 'develop' into 'vips'
...
# Conflicts:
# mix.exs
2023-11-17 16:50:36 +00:00
Mark Felder
be39146ecc
Update docs to include dependencies on rust and vips where appropriate
2023-11-17 11:44:33 -05:00
Mark Felder
cf5ef1d75f
Vix has pre-built NIFs for the following triples:
...
aarch64-apple-darwin
aarch64-linux-gnu
aarch64-linux-musl
armv7l-linux-gnueabihf
x86_64-apple-darwin
x86_64-linux-gnu
x86_64-linux-musl
aarch64-apple-darwin
aarch64-linux-gnu
aarch64-linux-musl
armv7l-linux-gnueabihf
x86_64-apple-darwin
x86_64-linux-gnu
x86_64-linux-musl
2023-11-17 11:37:51 -05:00
Mark Felder
8208777b06
Rust is required for blurhash
2023-11-17 11:32:56 -05:00
Mark Felder
7988c62f6d
Update changelogs
2023-11-17 11:21:46 -05:00
Mark Felder
9511212e32
Fetch the library from the Pleroma repository
2023-11-17 11:18:42 -05:00
Mark Felder
88cc7e6a04
Resize images to 100 pixels before hashing
2023-11-17 11:06:31 -05:00
Mark Felder
0c6a54b37c
Upload.Filter.AnalyzeMetadata: Blurhash with a Rust NIF, and use Vix to retrieve image metadata
2023-11-17 10:26:00 -05:00
Haelwenn (lanodan) Monnier
06c58bce00
scrubbers/default: Add more formatting elements from HTML4 / GoToSocial
...
Added: acronym, bdo, big, cite, dfn, ins, kbd, q, samp, s, tt, var, wbr
2023-11-16 18:27:32 +01:00
Haelwenn (lanodan) Monnier
8ac7cc98c1
MastoAPI AccountView: Change last_status_at to be a date
...
Changed in Mastodon 3.1.0 with: https://github.com/tootsuite/mastodon/pull/12966
2023-11-16 15:52:01 +01:00
Haelwenn
ca1b18ba2d
Merge branch 'federation_status-access' into 'develop'
...
router: Make /federation_status publicly available
See merge request pleroma/pleroma!3937
2023-11-15 08:20:37 +00:00
Haelwenn
50c896169c
Merge branch 'cflags' into 'develop'
...
Make eblurhash and elixir-captcha use system CFLAGS
See merge request pleroma/pleroma!3943
2023-11-15 08:19:29 +00:00
Haelwenn (lanodan) Monnier
2a58596aef
Fix tests for Add support for configuring a favicon and embed PWA manifest in server-generated-meta
2023-11-15 09:12:25 +01:00
Haelwenn (lanodan) Monnier
5d3e145dc4
RedirectController: Unify server-generated-meta insertion code
2023-11-14 11:06:36 +01:00
Henry Jameson
a5aa8ea796
Add support for configuring a favicon and embed PWA manifest in server-generated-meta
2023-11-14 11:05:23 +01:00
Haelwenn
6d708664b5
Merge branch 'docs/max-elixir-erlang' into 'develop'
...
docs: Put a max version on erlang and elixir
Closes #3194
See merge request pleroma/pleroma!3945
2023-11-14 09:49:49 +00:00
Haelwenn (lanodan) Monnier
66f5ae0c5a
router: Make /federation_status publicly available
2023-11-14 10:48:30 +01:00
Haelwenn (lanodan) Monnier
19519d6c96
docs: clang is also supported
2023-11-14 10:47:34 +01:00
Haelwenn (lanodan) Monnier
3831d31009
docs: Put a max version on erlang and elixir
...
Closes: https://git.pleroma.social/pleroma/pleroma/-/issues/3194
2023-11-14 10:47:33 +01:00
Haelwenn (lanodan) Monnier
4472ab1fe9
changelog.d/system-cflags.fix: New entry
2023-11-14 10:45:00 +01:00
Haelwenn (lanodan) Monnier
5f85067a95
mix: Bump elixir-captcha for system-CFLAGS
2023-11-14 10:44:59 +01:00
Haelwenn (lanodan) Monnier
2b6ae571bb
mix: cherry-pick eblurhash latest git for system-CFLAGS
2023-11-14 10:44:57 +01:00
Haelwenn
bf2d6abaf2
Merge branch 'healthcheck-disabled-error' into 'develop'
...
TwitterAPI: Return proper error when healthcheck is disabled
See merge request pleroma/pleroma!3953
2023-11-14 09:41:26 +00:00
Mark Felder
ce42dac331
Change mediaproxy previews to use vips to generate thumbnails instead of ImageMagick
2023-11-13 15:41:39 -05:00
Mark Felder
a4b6e5613f
Revert "Add Pleroma.Upload.Filter.HeifToJpeg based on vips"
...
This reverts commit 31d4448ee61b4afac6aa23f8c0287d13aed411a1.
This functionality is not reliably working with vips/vix due to codec patent junk
2023-11-13 15:41:39 -05:00
Mark Felder
577ade75cf
Override elixir_make version
2023-11-13 15:41:39 -05:00
Mark Felder
481b6ac0d5
Add Pleroma.Upload.Filter.HeifToJpeg based on vips
2023-11-13 15:41:39 -05:00
Mark Felder
13baba90f6
Replace ImageMagick with Vips for Media Preview Proxy
2023-11-13 15:41:39 -05:00
Mark Felder
1db10744f7
Use the "change" type
2023-11-13 15:35:00 -05:00
Mark Felder
66cb3294ed
Switch to PromEx for prometheus metrics
...
Recommending use of the separate HTTP server for exposing the metrics
and securing it externally on your firewall or reverse proxy. It will
listen on port 4021 by default.
2023-11-13 15:34:59 -05:00
marcin mikołajczak
fe776d8b33
Fix GenerateUnsetUserKeys migration
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-11-13 14:18:22 +01:00
lain
752bc168f6
Merge branch 'quotes-count' into 'develop'
...
Count and display post quotes
See merge request pleroma/pleroma!3956
2023-11-12 13:38:09 +00:00
marcin mikołajczak
9a063deacc
Count and display post quotes
2023-11-12 13:38:08 +00:00
lain
5f19fbc5a9
Merge branch 'phoenix1.7' into 'develop'
...
Update to Phoenix 1.7
See merge request pleroma/pleroma!3900
2023-11-12 13:34:27 +00:00
lain
e902c7168d
Merge branch 'meilisearch' into 'develop'
...
Different search backends, in particular meilisearch as an additional one
See merge request pleroma/pleroma!3529
2023-11-12 13:29:27 +00:00
Lain Soykaf
3d62c71edf
Credo fixes.
2023-11-12 17:13:27 +04:00
Lain Soykaf
59018d73c3
B Meilisearch: Update to current API responses.
2023-11-12 16:43:50 +04:00
Lain Soykaf
a1a25029da
B DatabaseSearch: Fix local-only search.
2023-11-12 16:19:54 +04:00
Lain Soykaf
5996bef7cd
Fix most tests that call SearchIndexWorker.
2023-11-12 15:54:16 +04:00
Lain Soykaf
5208bd8a95
Add changelog.
2023-11-12 15:00:51 +04:00
Lain Soykaf
d3f8950588
B MeiliSearch, SearchIndexingWorker: Use Config.Getting, make tests async.
2023-11-12 14:49:50 +04:00
Lain Soykaf
c1402af293
B Getting: Add default implementation, delegate, prepare test support.
2023-11-12 14:49:15 +04:00
Lain Soykaf
0c5cc51983
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into pleroma-meilisearch
2023-11-12 13:53:18 +04:00
Henry Jameson
637926dcbb
Initial draft on frontends management
2023-11-10 13:58:25 +02:00
Marcin Mikołajczak
1e9333a9aa
Merge remote-tracking branch 'origin/develop' into instance-v2
2023-11-08 20:46:57 +01:00
feld
a51f3937ee
Merge branch 'benchee' into 'develop'
...
Ensure benchee doesn't run unless we are executing benchmarks
See merge request pleroma/pleroma!3972
2023-11-08 18:27:08 +00:00
Mark Felder
e23672d82f
Ensure benchee doesn't run unless we are executing benchmarks
2023-11-08 12:44:57 -05:00
Mark Felder
ef6d3dddd4
Fix changelogd grep syntax error
2023-11-08 12:28:23 -05:00
feld
aef1a88dc6
Merge branch 'changelogd-fix' into 'develop'
...
Fix changelogd grep syntax error
See merge request pleroma/pleroma!3973
2023-11-08 17:28:14 +00:00
Mark Felder
addc5408ff
Fix changelogd grep syntax error
2023-11-08 12:27:46 -05:00
feld
17524865e5
Merge branch 'update_mr_template' into 'develop'
...
Update MR template to include the type 'change'
See merge request pleroma/pleroma!3971
2023-11-08 14:39:00 +00:00
Mark Felder
1810b2f477
Update MR template to include the type 'change'
2023-11-08 09:37:08 -05:00
Mark Felder
0ab853cab8
Merge branch 'develop' into phoenix1.7
2023-11-08 09:18:08 -05:00
feld
0f56304f09
Merge branch 'bare_uri_test' into 'develop'
...
Activate test for object validator that has not been running
See merge request pleroma/pleroma!3968
2023-11-08 14:13:37 +00:00
feld
cfc01a660a
Merge branch 'changelogd-change' into 'develop'
...
changelogd: Support a type called "change"
See merge request pleroma/pleroma!3970
2023-11-08 14:12:33 +00:00
Mark Felder
e1bc95ae6e
Support a type called "change"
2023-11-08 09:11:41 -05:00
Haelwenn (lanodan) Monnier
76c070fe86
ObjectValidators.BareUriTest: Replace calls of SafeText to BareUri
2023-11-08 02:17:50 +01:00
Mark Felder
9fa6531109
Phoenix is no longer required in extra_applications
2023-11-07 16:14:05 -05:00
Mark Felder
a0e08c6ec2
Merge branch 'develop' into phoenix1.7
2023-11-07 16:05:04 -05:00
Mark Felder
8076deeeb4
Activate test for object validator that has not been running
2023-11-07 16:00:13 -05:00
feld
11c520607f
Merge branch 'mailer-queue' into 'develop'
...
Fix digest email processing, consolidate Oban queues
See merge request pleroma/pleroma!3966
2023-11-07 20:45:48 +00:00
Mark Felder
bf426c53b4
Fix digest email processing, consolidate Oban queues
...
The email related jobs can all share a single Oban queue
2023-11-07 15:14:36 -05:00
marcin mikołajczak
c62696c8e7
Support /authorize-interaction route used by Mastodon
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-11-02 13:47:23 +01:00
marcin mikołajczak
6b9a347353
update changelog
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-11-02 13:31:59 +01:00
marcin mikołajczak
50e7706b26
Verify link ownership with rel="me"
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-11-02 13:30:46 +01:00
tusooa
4c5b45ed73
Merge branch 'mergeback/2.6.0' into 'develop'
...
mergeback: 2.6.0
Closes #3135
See merge request pleroma/pleroma!3964
2023-11-01 03:19:05 +00:00
tusooa
aaf53d9d77
Bump package version for mergeback
2023-10-31 20:49:31 -04:00
marcin mikołajczak
e5bd1ee801
Add entry to @context, tests
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-10-29 00:02:17 +02:00
marcin mikołajczak
93370b870a
Expose nonAnonymous field from Smithereen polls
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-10-28 23:58:39 +02:00
marcin mikołajczak
b6a9d87f16
Display reposted replies with exclude_replies: true
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-10-28 00:10:13 +02:00
marcin mikołajczak
c6cedbb810
InstanceV2: skip auth
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-10-28 00:07:18 +02:00
marcin mikołajczak
6b8c5e12df
Add contact account to InstanceView
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-10-26 23:32:08 +02:00
marcin mikołajczak
c03852fbc7
update tests
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-10-25 00:38:52 +02:00
marcin mikołajczak
5ff3783d01
Use correct domain for fqn and InstanceView
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-10-25 00:38:10 +02:00
Haelwenn (lanodan) Monnier
2f6fc6a7ab
TwitterAPI: Return proper error when healthcheck is disabled
2023-09-24 23:32:17 +02:00
marcin mikołajczak
28ef5ebd3c
Update InstanceView.features
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-09-07 15:00:24 +02:00
marcin mikołajczak
79e46ce73f
InstanceView: Add common_information function
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-08-11 13:57:22 +02:00
marcin mikołajczak
9effa24f30
Implement api/v2/instance route
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-08-11 00:08:05 +02:00
tusooa
1ab4ab8d38
Extract translatable strings
2023-07-18 18:24:30 -04:00
Mark Felder
63ef1dcedc
Phoenix.Router.routes/1 is the public function we are meant to be using here
2023-06-03 14:17:49 -04:00
Mark Felder
c665d53295
Update to Phoenix 1.7
2023-06-03 14:06:28 -04:00
Mark Felder
bcd7ccac11
Support a type called "change"
2023-06-03 14:06:28 -04:00
feld
86b38dd14b
Merge branch 'develop' into 'phoenix1.7'
...
# Conflicts:
# mix.exs
2023-06-02 15:41:40 +00:00
Mark Felder
2e45be2653
Add :phoenix to extra_applications to suppress a warning
...
Related to use of Phoenix.Flash.get/2
2023-06-02 11:34:04 -04:00
Mark Felder
f0e5f0e837
Fix compile warning
...
warning: doing a prefix match with globs is deprecated, invalid segment "pleroma*path"
2023-05-31 22:23:36 +00:00
Mark Felder
2b8bbb288c
Phoenix.Socket.Transport.force_ssl/4 no longer exists
2023-05-31 22:11:17 +00:00
Mark Felder
d9f031c9da
Bump minimum Elixir to 1.12
2023-05-31 21:12:13 +00:00
Mark Felder
ba988a9abc
Fix test warnings
...
warning: the URI path used in plug tests must start with "/"
2023-05-31 16:30:31 -04:00
Mark Felder
62322f71e2
Clean up Plug.Parsers.MULTIPART deprecation warnings
...
There is no need to the length setting to :multipart. The length setting is global for all of the parsers.
2023-05-31 16:22:40 -04:00
Mark Felder
ffee478ed0
Move websocket config for Shoutbox to the Endpoint
...
This is the modern way of configuring it
2023-05-31 15:30:58 -04:00
Mark Felder
4dc2d4bf7b
Remove locked version of plug
...
Required for Phoenix 1.7 websocket changes
2023-05-31 15:30:31 -04:00
Mark Felder
a7e7db4a29
Phoenix.Endpoint.Cowboy2Handler -> Plug.Cowboy.Handler
2023-05-31 13:48:16 -04:00
Mark Felder
f622f82c0e
No user facing changes
2023-05-31 13:38:46 -04:00
Mark Felder
e3110cb34e
Fix deprecated calls to get_flash/2
2023-05-31 13:36:21 -04:00
Mark Felder
6e1ea2eafc
Remove unnecessary compilers as of Phoenix 1.7
2023-05-31 13:36:07 -04:00
Mark Felder
bed44f9f62
Update to Phoenix 1.7
...
Chase the other deps to match versions you get from a current "mix phx.new" project creation
2023-05-31 13:10:18 -04:00
marcin mikołajczak
9363ef53a3
Add test for 'status' notification type for NotificationView
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-05-14 15:02:58 +02:00
Haelwenn (lanodan) Monnier
197647a04e
MastoAPI Attachment: Use "summary" for descriptions if present
2023-03-09 11:10:02 +01:00
Haelwenn (lanodan) Monnier
2ae1b802f2
AttachmentValidator: Add support for Honk "summary" + "name"
...
As used by Honk and supported by Mastodon
2023-03-09 10:26:33 +01:00
marcin mikołajczak
78d1105bff
Fix down migration
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-02-19 22:02:38 +01:00
marcin mikołajczak
92592c25c2
Merge remote-tracking branch 'pleroma/develop' into status-notification-type
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-02-19 22:02:03 +01:00
marcin mikołajczak
6e51845d44
Merge remote-tracking branch 'pleroma/develop' into secure-mode
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-12-27 16:41:16 +01:00
Ekaterina Vaartis
398141da68
Merge remote-tracking branch 'upstream/develop' into meilisearch
2022-12-20 21:00:07 +03:00
Ekaterina Vaartis
5a39866388
Specifically strip mentions for search indexing
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
6256822afd
Check for updateId, not uid
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
5ac6763238
Make add_to_index and remove_from_index report errors
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
102ebb42bd
Make search a callback
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
119b2b847b
Instead of checking string length, explicitly check for "" and "."
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
e20f74c71b
Remove duplicate function call
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
b150e6f15e
Update meilisearch docs
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
84608be87e
Change updateId to uid because apparently that's the new name
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
1e23f527e3
Change the meilisearch key auth to conform to 0.25.0
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
79225d9b0a
Actually, unlisted posts are indexed
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
fd2cfc80d2
Change search_indexing = 10 and retries for indexing = 2
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
3387935e83
Don't try removing deleted users and such from index as posts
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
d89dc5518b
Fix meilisearch tests and jobs for oban
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
2bc21c6f18
Use oban for search indexing
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
6f2f457751
Add a search backend behaviour
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
4f2637acc6
Add description for initial_indexing_chunk_size
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
571533ae26
Don't support meilisearch < 0.24.0, since it breaks things
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
3179ed0921
Make chunk size configurable
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
3412713c5b
Update search.md documentation with meilisearch indexing steps
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
3a11e79de0
Add config description for meilisearch
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
a12f63bc81
Implement suggestions from the Meilisearch MR
...
- Index unlisted posts
- Move version check outside of the streaming and only do it once
- Use a PUT request instead of checking manually if there is need to insert
- Add error handling, sort of
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
a6946048fb
Rename Activity.Search to Search.DatabaseSearch
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
0fae71f88d
Rename search.ex to database_search.ex and add search/2
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
39e596a5b5
Style fixes
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
7009ef5672
Move the search.ex file so credo doesn't complain
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
8898b5e927
Fix a typo in search docs
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
9c1a930707
Support reindexing meilisearch >=0.24.0
...
It has has a different error code key
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
e928e307f3
Add a reindex option
...
Signed-off-by: Ekaterina Vaartis <vaartis@kotobank.ch>
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
4445421297
Only add local posts to index in activity_pub
...
Remote ones are already added in another place
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
0b4fd0d342
Set content-type to application/json
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
e4b7a3f51f
Modify some meilisearch variables
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
cf558208c2
Use proper deleted object for removing from index
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
95cb2bb694
Don't try removing from index again in common_api
...
It's already removed in the side effects of the pipeline
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
c569ad05b3
Add more documentation about rum to meilisearch docs
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
6beef2d117
Move add_to_index / remove_from_index to Pleroma.Actitivy.Search
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
40280cc273
Reorder ranking rules for (maybe) better results
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
a5bb7f9345
Add private_key: nil to default meilisearch options
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
005947e9f7
Add tests for local post indexing for meilisearch
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
d9ef7e0758
Fix activity being passed to objec_to_search_data
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
07ccab9766
Add search/meilisearch documentation
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
09a1ae1b6e
Add the meilisearch.stats command
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
a67f9da5cc
Add a message with a count of posts to index
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
2c7d973af7
Implement meilisearch auth
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
410c8cb765
Make indexing logs rewrite themselves
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
35e9192ced
Rework task indexing to share code with the main module
...
The code in the main module now scrubs new posts too
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
3dedadf192
Adjust content indexing to skip more unneeded stuff
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
9f16ca80e0
Mark only content as searchable for meilisearch
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
2b2e409ad7
Also index incoming federated posts
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
e35d87ea54
Make the chunk size smaller
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
00c48a33ac
Use content instead of source and scrub it
2022-10-10 20:19:08 +03:00
Ekaterina Vaartis
9beaebd97e
Tweak search ordering to hopefully return newer results
2022-10-10 20:19:08 +03:00
Ekaterina Vaartis
38996f551a
Make meilisearch sort on publish date converted to unix time
2022-10-10 20:19:08 +03:00
Ekaterina Vaartis
ea6a6a1287
Make the indexing batch differently and more, show number indexed
2022-10-10 20:19:08 +03:00
Ekaterina Vaartis
365024abec
Ensure only indexing public posts and implement clearing and delete
2022-10-10 20:19:08 +03:00
Ekaterina Vaartis
0318e9a599
Add logging to milisiearch index and make it use desc(id)
2022-10-10 20:19:08 +03:00
Ekaterina Vaartis
e154ebbf79
Initial meilisearch implementation, doesn't delete posts yet
2022-10-10 20:19:08 +03:00
marcin mikołajczak
c899af1d6a
Reject requests from specified instances if authorized_fetch_mode
is enabled
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-08-05 11:06:30 +02:00
marcin mikołajczak
3ed39e3109
Add test
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-07-08 21:28:23 +02:00
Claudio Maradonna
21d9091f5e
ipfs: replacing single quotes with double quotes
2022-07-08 10:06:46 +02:00
Claudio Maradonna
5e097eb91d
ipfs: better tests with @ilja suggestions
2022-07-07 06:29:17 +02:00
Claudio Maradonna
254f2ea854
ipfs: remove unused alias
...
fix analysis job
2022-07-07 06:29:15 +02:00
Claudio Maradonna
98f268e5ec
ipfs: small refactor and more tests
2022-07-07 06:29:15 +02:00
Claudio Maradonna
7c1af86f97
ipfs: refactor final_url generation. add tests for final_url
...
fix lint
2022-07-07 06:29:13 +02:00
Claudio Maradonna
44659ecd65
ipfs: revert to String.replace for cid placeholder
...
ipfs: fix lint
2022-07-07 06:29:12 +02:00
Claudio Maradonna
43dfa58ebd
added tests for ipfs uploader. adapted changelog.md accordingly. improved ipfs uploader with external suggestions
...
fix lint description.exs
2022-07-07 06:29:10 +02:00
Claudio Maradonna
fa2a6d5d6b
feat: simple, but not stupid, uploader for IPFS
...
fix: format fix with credo
2022-07-07 06:29:01 +02:00
Mark Felder
6b74a55274
InstanceStatic should have reasonable caching
...
While here fix the naming convention of the old module attribute restricting caching and add a new one for the default cache value
All frontends should be shipped with versioned assets. There be dragons if you don't.
2022-07-01 15:40:40 -05:00
marcin mikołajczak
5846e7d5f6
Use Repo.exists?
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-06-01 16:03:22 +02:00
marcin mikołajczak
0ecd6ba35e
AdminAPI: Allow filtering reports by rule_id
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-05-30 13:24:39 +02:00
marcin mikołajczak
b354d70e85
Apply, suggestions, use strings for actual Mastodon API compatibility
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-05-30 12:30:03 +02:00
marcin mikołajczak
5c383ada8a
Correctly order rules by id/creation date
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-05-16 14:08:02 +02:00
marcin mikołajczak
d26aadb743
Add tests
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-05-16 14:06:53 +02:00
marcin mikołajczak
574db5b988
Allow submitting an array of rule_ids to /api/v1/reports
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-05-16 14:06:49 +02:00
marcin mikołajczak
bbf3bc2228
Add RuleTest
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-05-16 14:03:06 +02:00
marcin mikołajczak
384f8bfa78
Instance rules: Use render_many
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-05-16 14:02:40 +02:00
marcin mikołajczak
432599311d
Add GET /api/v1/instance/rules
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-05-16 14:02:36 +02:00
marcin mikołajczak
bd52e2aec7
Instance rules
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-05-16 14:02:32 +02:00
marcin mikołajczak
9423052e92
Add "status" notification type
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-04-25 14:08:31 +02:00
Alex Gleason
3a03d9b65f
Merge remote-tracking branch 'pleroma/develop' into nsfw-api-mrf
2021-06-17 15:38:10 -05:00
Alex Gleason
a704d5499c
NsfwApiPolicy: Fall back more generously when functions don't match
2021-06-17 15:32:42 -05:00
Alex Gleason
c802c3055e
NsfwApiPolicy: add systemd example file
2021-06-17 15:04:40 -05:00
Alex Gleason
b293c14a1b
NsfwApiPolicy: add describe/0 and config_description/0
2021-06-17 14:52:07 -05:00
Alex Gleason
2b3dfbb42f
NsfwApiPolicy: add tests
2021-06-17 14:36:51 -05:00
Alex Gleason
f15d419062
NsfwApiPolicy: raise if can't fetch user
2021-06-16 22:35:09 -05:00
Alex Gleason
718e8e1edb
Create NsfwApiPolicy
2021-06-16 22:35:04 -05:00