Tusooa Zhu
c62a4f1c17
Disconnect streaming sessions when token is revoked
2022-08-19 20:22:45 -04:00
Hélène
4661b56720
ArticleNotePageValidator: fix replies fixing
...
Some software, like GoToSocial, expose replies as ActivityPub
Collections, but do not expose any item array directly in the object,
causing validation to fail via the ObjectID validator. Now, Pleroma will
drop that field in this situation too.
2022-08-19 02:45:49 +02:00
Hélène
61254111e5
HttpSignaturePlug: accept standard (request-target)
...
The (request-target) used by Pleroma is non-standard, but many HTTP
signature implementations do it this way due to a misinterpretation of
the draft 06 of HTTP signatures: "path" was interpreted as not having
the query, though later examples show that it must be the absolute path
with the query part of the URL as well.
This behavior is kept to make sure most software (Pleroma itself,
Mastodon, and probably others) do not break, but Pleroma now accepts
signatures for a (request-target) containing the query, as expected by
many HTTP signature libraries, and clarified in the draft 11 of HTTP
signatures.
Additionally, the new draft renamed (request-target) to @request-target.
We now support both for incoming requests' signatures.
2022-08-18 17:01:34 +02:00
Hélène
bb02ee99f5
CommonFixes: more predictable context generation
...
`context` fields for objects and activities can now be generated based
on the object/activity `inReplyTo` field or its ActivityPub ID, as a
fallback method in cases where `context` fields are missing for incoming
activities and objects.
2022-08-15 01:46:55 +02:00
Haelwenn
93f12c0d0d
Merge branch 'from/upstream-develop/tusooa/sync-settings' into 'develop'
...
Synchronized settings for apps (frontends)
See merge request pleroma/pleroma!3698
2022-08-12 01:34:36 +00:00
Mark Felder
cbdc13b767
Fix Varnish 7 support by ensuring Media Preview Proxy fetches headers with a capitalized HEAD verb
2022-08-10 17:09:58 -04:00
Hélène
3b6784b1de
CreateGenericValidator: fix reply context fixing
...
Incoming Pleroma replies to a Misskey thread were rejected due to a
broken context fix, which caused them to not be visible until a
non-Pleroma user interacted with the replies.
This fix properly sets the post-fix object context to its parent Create
activity as well, if it was changed.
2022-08-10 02:29:38 +02:00
Hélène
def0f5dc2e
StatusView: implement pleroma.context field
...
This field replaces the now deprecated conversation_id field, and now
exposes the ActivityPub object `context` directly via the MastoAPI
instead of relying on StatusNet-era data concepts.
2022-08-10 02:29:38 +02:00
Tusooa Zhu
738ca484fd
Update api spec to reflect OAuth scope change
2022-08-09 18:15:25 -04:00
Hélène
a9111bcaf2
StatusView: clear MSB on calculated conversation_id
...
This field seems to be a left-over from the StatusNet era.
If your application uses `pleroma.conversation_id`: this field is
deprecated.
It is currently stubbed instead by doing a CRC32 of the context, and
clearing the MSB to avoid overflow exceptions with signed integers on
the different clients using this field (Java/Kotlin code, mostly; see
Husky and probably other mobile clients.)
This should be removed in a future version of Pleroma. Pleroma-FE
currently depends on this field, as well.
2022-08-09 20:10:43 +02:00
Hélène
7f71e3d0fe
CommonFields: remove context_id
2022-08-09 20:10:43 +02:00
Hélène
f3e061c964
Object: remove context_id field
...
30 to 70% of the objects in the object table are simple JSON objects
containing a single field, 'id', being the context's ID. The reason for
the creation of an object per context seems to be an old relic from the
StatusNet era, and has only been used nowadays as an helper for threads
in Pleroma-FE via the `pleroma.conversation_id` field in status views.
An object per context was created, and its numerical ID (table column)
was used and stored as 'context_id' in the object and activity along
with the full 'context' URI/string.
This commit removes this field and stops creation of objects for each
context, which will also allow incoming activities to use activity IDs
as contexts, something which was not possible before, or would have been
very broken under most circumstances.
The `pleroma.conversation_id` field has been reimplemented in a way to
maintain backwards-compatibility by calculating a CRC32 of the full
context URI/string in the object, instead of relying on the row ID for
the created context object.
2022-08-09 20:10:43 +02:00
Tusooa Zhu
a7f01ffc1d
Make backups require its own scope
2022-08-09 00:34:04 -04:00
Tusooa Zhu
a4fa286d20
Use actor_types() to determine whether the Update is for user
2022-08-02 10:37:28 -04:00
Haelwenn
b2ba307f4d
Merge branch 'from/upstream-develop/tusooa/2871-fix-local-public' into 'develop'
...
local only fixes
Closes #2871
See merge request pleroma/pleroma!3660
2022-08-02 05:39:50 +00:00
tusooa
c80096522c
Merge branch 'develop' into 'from/develop/tusooa/emit-move'
...
# Conflicts:
# CHANGELOG.md
# test/pleroma/user_test.exs
2022-07-31 21:32:49 +00:00
marcin mikołajczak
5d3d6a58f7
Use duration
param for mute expiration duration
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-07-31 17:22:34 +02:00
Haelwenn
0814d0e0cb
Merge branch 'fix/proper-emoji-qualification' into 'develop'
...
Emoji: implement full-qualifier using combinations
See merge request pleroma/pleroma!3709
2022-07-28 04:46:15 +00:00
Haelwenn
0f9f3d2897
Merge branch 'from/upstream-develop/tusooa/2384-pagination' into 'develop'
...
Make mutes and blocks behave the same as other lists
Closes #2384
See merge request pleroma/pleroma!3693
2022-07-28 04:37:10 +00:00
Hélène
fb3f6e1975
EmojiReactValidator: use new qualification method
2022-07-25 16:49:23 +02:00
Hélène
388bbc4978
EmojiReactValidator: fix emoji qualification
...
Tries fully-qualifying emoji when receiving them, by adding the emoji
variation sequence to the received reaction emoji.
This issue arises when other instance software, such as Misskey, tries
reacting with emoji that have unqualified or minimally qualified
variants, like a red heart. Pleroma only accepts fully qualified emoji
in emoji reactions, and refused those emoji. Now, Pleroma will attempt
to properly qualify them first, and reject them if checks still fail.
This commit contains changes to tests proposed by lanodan.
Co-authored-by: Haelwenn <contact+git.pleroma.social@hacktivis.me>
2022-07-24 13:36:06 +02:00
Tusooa Zhu
997f08b350
Make AntiLinkSpamPolicy history-aware
2022-07-24 00:18:09 -04:00
Tusooa Zhu
d877d2a4e7
Make HashtagPolicy history-aware
2022-07-24 00:02:39 -04:00
Tusooa Zhu
82c8fc1ede
Make NoEmptyPolicy work with Update
2022-07-23 23:24:25 -04:00
Tusooa Zhu
46a5c06853
Make NormalizeMarkup history-aware
2022-07-23 22:50:38 -04:00
Tusooa Zhu
fc7ce5f93c
Make NoPlaceholderTextPolicy history-aware
2022-07-23 22:41:04 -04:00
Tusooa Zhu
dce7e42928
Make MediaProxyWarmingPolicy history-aware
2022-07-23 22:34:03 -04:00
Tusooa Zhu
0a337063e1
Make ForceMentionsInContent history-aware
2022-07-23 22:23:57 -04:00
Tusooa Zhu
cd19537f39
Make EnsureRePrepended history-aware
2022-07-23 17:48:39 -04:00
Tusooa Zhu
eba9b0760f
Make MRF Keyword history-aware
2022-07-23 15:56:36 -04:00
tusooa
301ce5bc62
Merge branch 'mute-expiration' into 'develop'
...
MastoAPI: Show mutes expiration date
See merge request pleroma/pleroma!3682
2022-07-23 00:34:15 +00:00
Haelwenn
cfb21d011f
Revert "Merge branch 'fix/emoji-react-qualification' into 'develop'"
...
This reverts merge request !3684
2022-07-22 23:19:49 +00:00
Haelwenn (lanodan) Monnier
eba1666575
AttachmentValidator: fix_media_type/1 fallback to application/octet-stream
2022-07-22 20:30:45 +02:00
Haelwenn (lanodan) Monnier
be98900904
ArticleNotePageValidator: Fix when attachments are a Map (ie. owncast)
2022-07-22 20:30:45 +02:00
tusooa
c589b8445f
Merge branch 'birthday_fix' into 'develop'
...
Allow to unset birthday
See merge request pleroma/pleroma!3702
2022-07-21 21:27:16 +00:00
Haelwenn
454f892f37
Merge branch 'fix/emoji-react-qualification' into 'develop'
...
EmojiReactValidator: fix emoji qualification
See merge request pleroma/pleroma!3684
2022-07-21 17:45:47 +00:00
Tusooa Zhu
4350a205a4
Merge remote-tracking branch 'upstream/develop' into HEAD
2022-07-21 13:44:16 -04:00
Haelwenn
1f18ab36b5
Merge branch 'resolve/notice-compatibility-routes-nginx' into 'develop'
...
Document way to do notice compatibility routes with Nginx reverse-proxy, fixes #2900
Closes #2900
See merge request pleroma/pleroma!3701
2022-07-20 16:57:05 +00:00
marcin mikołajczak
fb268c4378
Allow to unset birthday
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-07-17 19:46:29 +02:00
Haelwenn
bb4860e222
Merge branch 'from/upstream-develop/tusooa/config-translatable' into 'develop'
...
Translatable config descriptions
Closes pleroma-meta#65
See merge request pleroma/pleroma!3695
2022-07-17 17:34:21 +00:00
Sean King
64e16e6a4b
Document way to do notice compatibility routes with Nginx reverse-proxy instead
2022-07-16 23:44:37 -06:00
tusooa
8aba7c08d1
Merge branch 'notification_types' into 'develop'
...
MastoAPI: Use `types` for filtering notifications
See merge request pleroma/pleroma!3648
2022-07-17 03:17:43 +00:00
Tusooa Zhu
8371fd8ca2
Implement settings api
2022-07-16 01:20:25 -04:00
Tusooa Zhu
1d7e8d6e01
Pass in msgctxt for config translation strings
2022-07-14 17:41:33 -04:00
Ilja
c045a49909
Add privilege for announcements
2022-07-14 08:40:26 +02:00
Ilja
44d14e8a9c
Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma into fine_grained_moderation_privileges
2022-07-14 07:07:19 +02:00
Tusooa Zhu
20588517fc
Make admin api use translated config descriptions
2022-07-13 18:31:35 -04:00
tusooa
fdc71f6051
Merge branch 'short-description' into 'develop'
...
Add short_description instance field
Closes #2865
See merge request pleroma/pleroma!3651
2022-07-13 04:42:24 +00:00
Tusooa Zhu
c1874bc8f9
Make mutes and blocks behave the same as other lists
2022-07-12 19:03:18 -04:00
Haelwenn
420da14b61
Merge branch 'from/upstream-develop/tusooa/2830-remote-fo-mp' into 'develop'
...
Pass remote follow avatar into media proxy
Closes #2830
See merge request pleroma/pleroma!3690
2022-07-10 16:19:16 +00:00
Tusooa Zhu
2efc0ffcf0
Pass remote follow avatar into media proxy
2022-07-10 00:12:53 -04:00
Tusooa Zhu
04ded94a50
Fix remote emoji in subject disappearing after edits
2022-07-09 18:00:42 -04:00
Tusooa Zhu
f84ed44cea
Fix cannot get full history on object fetch
2022-07-06 01:19:53 -04:00
Ilja
f88ed1df75
Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma into fine_grained_moderation_privileges
2022-07-05 12:05:19 +02:00
Tusooa Zhu
5ce118d970
Validate object data for incoming Update activities
...
In Create validator we do not validate the object data,
but that is because the object itself will go through the
pipeline again, which is not the case for Update. Thus,
we added validation for objects in Update activities.
2022-07-03 20:21:46 -04:00
Tusooa Zhu
4367489a3e
Pass history items through ObjectValidator for updatable object types
2022-07-03 20:02:52 -04:00
Tusooa Zhu
4edc867b87
Merge branch 'develop' into 'from/upstream-develop/tusooa/edits'
...
# Conflicts:
# lib/pleroma/constants.ex
2022-07-03 22:24:57 +00:00
Haelwenn
a15b45a589
Merge branch 'bugfix/mime-validation-no-list' into 'develop'
...
Bugfix: Validate mediaType only by it's format
See merge request pleroma/pleroma!3597
2022-07-03 21:04:41 +00:00
Haelwenn
6b937d1473
Merge branch 'from/upstream-develop/tusooa/server-announcements' into 'develop'
...
Server announcements (1st pass)
See merge request pleroma/pleroma!3643
2022-07-03 20:58:20 +00:00
Ilja
42d4bd3a5d
Rename pipelines and add forgotten tags
...
I renamed some tags before, but forgot to rename the pipelines
I also had some tags which I forgot to add to the config, description, etc.
These have now been done/added
2022-07-02 08:55:14 +02:00
Ilja
c0e4b1b3e2
Fix typo's
...
priviledge |-> privilege
2022-07-02 07:52:39 +02:00
Ilja
37fdf148b0
Rename privilege tags
...
I first focussed on getting things working
Now that they do and we know what tags there are, I put some thought in providing better names
I use the form <what_it_controls>_<what_it_allows_you_to_do>
:statuses_read => :messages_read
:status_delete => :messages_delete
:user_read => :users_read
:user_deletion => :users_delete
:user_activation => :users_manage_activation_state
:user_invite => :users_manage_invites
:user_tag => :users_manage_tags
:user_credentials => :users_manage_credentials
:report_handle => :reports_manage_reports
:emoji_management => :emoji_manage_emoji
2022-07-01 10:28:09 +02:00
Hélène
11f9f2ef27
EmojiReactValidator: fix emoji qualification
...
Tries fully-qualifying emoji when receiving them, by adding the emoji
variation sequence to the received reaction emoji.
This issue arises when other instance software, such as Misskey, tries
reacting with emoji that have unqualified or minimally qualified
variants, like a red heart. Pleroma only accepts fully qualified emoji
in emoji reactions, and refused those emoji. Now, Pleroma will attempt
to properly qualify them first, and reject them if checks still fail.
2022-06-28 21:33:57 +02:00
Tusooa Zhu
014096aeef
Make outbound transmogrifier aware of edit history
2022-06-25 11:20:46 -04:00
Tusooa Zhu
5321fd0012
Do not put meta[:object_data] for local Updates
2022-06-25 10:03:19 -04:00
Tusooa Zhu
9c6dae942d
Fix local updates causing emojis to be lost
2022-06-25 09:23:09 -04:00
Tusooa Zhu
99a6f50316
Unify the logic of updating objects
2022-06-25 00:32:22 -04:00
Tusooa Zhu
e0d6da4e7d
Fix CommonAPITest
2022-06-24 10:54:11 -04:00
Tusooa Zhu
ee07383191
Use meta[:object_data] in SideEffects for Update
2022-06-24 10:28:58 -04:00
Tusooa Zhu
01321c88b5
Convert incoming Updated object into Pleroma format
2022-06-24 10:25:22 -04:00
Tusooa Zhu
06da000c5d
Add editing to features
2022-06-21 12:32:44 -04:00
Ilja
4e4eb81749
Add nodes and privileges to nodeinfo
...
I didn't add it to /api/v1/instance
I was wondering if I should, but since it e.g. also didn't show staff, it felt better not to
2022-06-21 12:10:27 +02:00
Ilja
211e561e2a
Show privileges to FE
...
I added an extra key
We already had is_admin and is_moderator, now we have an extra privileges key
2022-06-21 12:10:27 +02:00
Ilja
143ea7b80a
Add deactivated status for privileged users
...
Deactivated users are only visible to users privileged with :user_activation since fc317f3b17
Here we also make sure the users who are deactivated get the status deactivated for users who are allowed to see these users
2022-06-21 12:10:27 +02:00
Ilja
e21ef5aef3
report notifications for privileged users
...
Instead of `Pleroma.User.all_superusers()` we now use `Pleroma.User.all_superusers(:report_handle)`
I also changed it for sending emails, but there were no tests.
2022-06-21 12:10:27 +02:00
Ilja
eab13fed3e
Hide pleroma:report for non-privileged users
...
Before we deleted the notifications, but that was a side effect and didn't always trigger any more.
Now we just hide them when an unprivileged user asks them.
2022-06-21 12:10:27 +02:00
Ilja
bb61cfee8d
Validator for deleting statusses is now done with priviledge instead of superuser
2022-06-21 12:10:27 +02:00
Ilja
7cf473c500
delete statusses is now privileged by :status_delete
...
Instead of superusers, you now need a role with privilige :status_delete to delete other users statusses
I also cleaned up some other stuff I saw
2022-06-21 12:10:27 +02:00
Ilja
c842e62675
Add last priviliges
...
I still had three endpoints I didn't really know what to do with them. I added them under separate tags
* :instance_delete
* :moderation_log_read
* :stats_read
I also checked and these are the last changes done by MR https://git.pleroma.social/pleroma/pleroma/-/merge_requests/3480/diffs this is trying to fix
2022-06-21 12:10:27 +02:00
Ilja
ecd42a2ce1
Add privilige :emoji_management
2022-06-21 12:10:27 +02:00
Ilja
0ee8f33250
Add privilige :status_delete
...
It also allows to update a message, so it's not just deleting. I need a better name...
2022-06-21 12:10:27 +02:00
Ilja
34a98990db
last off :statuses_read
...
From the endpoints left to do, I believe these should be under :statuses_read.
These should be the last for that privilege for this MR
2022-06-21 12:10:27 +02:00
Ilja
cbb26262a5
Add privileges for :user_read
2022-06-21 12:10:27 +02:00
Ilja
3f26f1b30f
Add privileges for :report_handle
2022-06-21 12:10:27 +02:00
Ilja
14e697a64f
Add privileges for :user_invite
2022-06-21 12:10:27 +02:00
Ilja
e102d25d23
Add privileges for :user_activation
2022-06-21 12:10:27 +02:00
Ilja
cb60cc4e02
Add privileges for :user_tag
2022-06-21 12:10:27 +02:00
Ilja
5a65e2dac5
Remove privileged_staff
...
Everything that was done through this setting, can now be set by giving the proper privileges to the roles.
2022-06-21 12:10:27 +02:00
Ilja
b1ff5241c2
Add priviledges for :statuses_read
...
This was the last in :require_privileged_staff. I'll remove that in the next commit
2022-06-21 12:10:27 +02:00
Ilja
8a9144ca8b
Add priviledges for :user_credentials
...
I only moved the ones from the :require_privileged_staff block for now
2022-06-21 12:10:27 +02:00
Ilja
9f6c364759
Add privilege :user_deletion
2022-06-21 12:10:27 +02:00
Ilja
5b19543f0a
Add new setting and Plug to allow for privilege settings for staff
2022-06-21 12:10:26 +02:00
marcin mikołajczak
b0f83aea29
Store mutes expiration date
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-06-16 20:38:37 +02:00
Tusooa Zhu
44613db853
Show original status at the first of history
2022-06-11 19:52:07 -04:00
Tusooa Zhu
95b3922328
Workaround with_index does not support function in Elixir 1.9
2022-06-11 17:02:29 -04:00
Tusooa Zhu
7451f0e81f
Send the correct update in streamer
...
get_create_by_ap_id_with_object() seems to fetch the old object.
Why this happens needs further investigation.
2022-06-11 12:02:16 -04:00
Tusooa Zhu
27f3d802f2
Expose history and source apis to anon users
2022-06-11 10:35:36 -04:00
Tusooa Zhu
c3593639ad
Fix incorrectly cached content after editing
2022-06-09 11:39:51 -04:00
Tusooa Zhu
aafd7a687d
Return the corresponding object id in attachment view
2022-06-08 11:45:24 -04:00
Tusooa Zhu
532f6ae3ed
Return update notification in mastodon api
2022-06-05 16:34:42 -04:00
Tusooa Zhu
fe2d4778ee
Expose content type of status sources
2022-06-04 12:57:30 -04:00
Tusooa Zhu
3249ac1f12
Show edited_at in MastodonAPI/show
2022-06-03 21:47:40 -04:00
Tusooa Zhu
8bac8147d4
Stream out edits
2022-06-03 21:15:17 -04:00
Tusooa Zhu
fa31ae50e6
Inject history when object is refetched
2022-06-01 19:49:04 -04:00
Tusooa Zhu
410e177b2a
Strip internal fields in formerRepresentation
2022-06-01 12:02:03 -04:00
Tusooa Zhu
b613a9ec6b
Implement mastodon api for editing status
2022-05-31 14:32:28 -04:00
Tusooa Zhu
393b508846
Implement viewing source
2022-05-30 00:59:23 -04:00
Tusooa Zhu
c004eb0fa2
Implement mastodon api for showing edit history
2022-05-29 23:50:31 -04:00
Tusooa Zhu
8acfe95f3e
Allow updating polls
2022-05-29 22:16:03 -04:00
Tusooa Zhu
5e8aac0e07
Record edit history for Note and Question Updates
2022-05-29 13:54:16 -04:00
Tusooa Zhu
0f6a5eb9a2
Handle Note and Question Updates
2022-05-29 12:54:57 -04:00
Tusooa Zhu
547def67a7
Allow Updates by every actor on the same origin
2022-05-29 11:36:00 -04:00
Hélène
a74ce2d77a
StealEmojiPolicy: fix String rejected_shortcodes
...
* rejected_shortcodes is defined as a list of strings in the
configuration description. As such, database-based configuration was
led to handle those settings as strings, and not as the actually
expected type, Regex.
* This caused each message passing through this MRF, if a rejected
shortcode was set and the emoji did not exist already on the instance,
to fail federating, as an exception was raised, swiftly caught and
mostly silenced.
* This commit fixes the issue by introducing new behavior: strings are
now handled as perfect matches for an emoji shortcode (meaning that if
the emoji-to-be-pulled's shortcode is in the blacklist, it will be
rejected), while still supporting Regex types as before.
2022-05-18 21:25:10 +02:00
Tusooa Zhu
f1722a9f4a
Make lint happy
...
Ref: fix-local-public
2022-05-09 18:53:32 -04:00
Tusooa Zhu
38444aa92a
Allow authenticated users to access local-only posts in MastoAPI
...
Ref: fix-local-public
2022-05-09 18:53:18 -04:00
Haelwenn
4605efe272
Merge branch 'improve_anti_followbot_policy' into 'develop'
...
Also use actor_type to determine if an account is a bot in antiFollowbotPolicy
Closes #2561
See merge request pleroma/pleroma!3498
2022-05-08 18:10:40 +00:00
Ilja
a8093732bd
Also use actor_type to determine if an account is a bot in antiFollowbotPolicy
2022-05-08 18:10:40 +00:00
Tusooa Zhu
fe933b9bf2
Prevent remote access of local-only posts via /objects
...
Ref: fix-local-public
2022-05-06 13:54:21 -04:00
Tusooa Zhu
c48be59f58
Show local-only statuses in public timeline for authenticated users
...
Ref: fix-local-public
2022-05-06 13:54:02 -04:00
Tusooa Zhu
57c030a0a7
Skip cache when /objects or /activities is authenticated
...
Ref: fix-local-public
2022-05-06 10:23:26 +02:00
Tusooa Zhu
e2d24eda57
Allow to skip cache in Cache plug
...
Ref: fix-local-public
2022-05-06 10:23:26 +02:00
Tusooa Zhu
fa3157df96
Skip cache when /objects or /activities is authenticated
...
Ref: fix-local-public
2022-05-06 08:44:03 +02:00
Tusooa Zhu
4d482b765f
Allow to skip cache in Cache plug
...
Ref: fix-local-public
2022-05-06 08:39:42 +02:00
Tusooa Zhu
be08d9305b
Fix incorrect fallback when English is set to first language
2022-04-17 22:39:52 -04:00
Tusooa Zhu
7d1dae3bef
Restrict mastodon api announcements to logged-in users only
2022-04-02 02:25:13 -04:00
marcin mikołajczak
fbf9eced11
Add short_description field
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-03-29 14:04:27 +02:00
Haelwenn
d7c53da77a
Merge branch 'from/upstream-develop/tusooa/translate-pages' into 'develop'
...
Translate backend-rendered pages
See merge request pleroma/pleroma!3634
2022-03-20 18:14:37 +00:00
Haelwenn (lanodan) Monnier
83338c25a5
Transmogrifier: Use validating regex for "mediaType"
2022-03-17 22:37:26 +01:00
Haelwenn (lanodan) Monnier
030183b35f
AttachmentValidator: Use custom ecto type and regex for "mediaType"
2022-03-17 22:37:26 +01:00
marcin mikołajczak
31ff467eff
Use types
for filtering notifications
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-03-16 21:15:44 +01:00
marcin mikołajczak
ffe081bf44
Use reject_follow_request
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-03-16 19:18:15 +01:00
marcin mikołajczak
6754d1f272
POST /api/v1/accounts/:id/remove_from_followers
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-03-16 16:52:33 +01:00
Tusooa Zhu
ebcda5265b
Format announcements into html
2022-03-08 23:00:51 -05:00
Tusooa Zhu
eb1a29640f
Add pagination to AdminAPI.AnnouncementController.index
2022-03-08 21:26:05 -05:00
Tusooa Zhu
11a1996bf5
Implement update announcement admin api
2022-03-08 20:55:41 -05:00
Tusooa Zhu
881179ec72
Remove GET /api/v1/announcements/:id
2022-03-08 19:22:28 -05:00
Tusooa Zhu
d569694ae9
Show only visible announcements in MastodonAPI
2022-03-08 19:20:29 -05:00
Tusooa Zhu
cf8334dbc1
Add starts_at, ends_at and all_day parameters
2022-03-08 19:12:01 -05:00
Tusooa Zhu
009817c9ee
Correct docstring for AnnouncementController.show
2022-03-08 17:00:49 -05:00
Tusooa Zhu
2b39b36e49
Implement POST /api/v1/announcements/:id/dismiss
2022-03-08 16:59:20 -05:00
Tusooa Zhu
aa1fff279e
Implement GET /api/v1/announcements/:id
2022-03-08 16:19:35 -05:00
Tusooa Zhu
5169ad8f14
Implement announcement read relationships
2022-03-08 13:09:49 -05:00
Tusooa Zhu
c867d23250
Fill properties of announcements from Mastodon API spec
2022-03-08 09:35:35 -05:00
Tusooa Zhu
d7af67012f
Implement first pass of announcement admin api
...
CCBUG: https://git.pleroma.social/pleroma/pleroma/-/issues/2836
CCBUG: https://git.pleroma.social/pleroma/pleroma/-/issues/1470
2022-03-08 01:01:27 -05:00
Tusooa Zhu
79ccb6b999
Support fallbacking to other languages
2022-03-06 11:43:31 -05:00
Tusooa Zhu
cd42e2bed0
Lint
2022-03-03 09:49:55 -05:00
Tusooa Zhu
aca11fb70e
Support multiple locales from userLanguage cookie
2022-03-03 02:31:36 -05:00
Tusooa Zhu
7ea330b4fe
Support multiple locales formally
...
elixir gettext current does not fully support fallback to another language [0].
But it might in the future. We adapt it so that all languages in Accept-Language
headers are received by Pleroma.Web.Gettext. User.languages is now a comma-separated
list.
[0]: https://github.com/elixir-gettext/gettext/issues/303
2022-03-03 02:03:44 -05:00
Tusooa Zhu
d3f3f30c6a
Make lint happy
2022-03-02 22:56:19 -05:00
Tusooa Zhu
8de573b047
Fallback to a variant if the language in general is not supported
...
For an example, here, zh is not supported, but zh_Hans and zh_Hant
are. If the user asks for zh, we should choose a variant for them
instead of fallbacking to default.
Some browsers (e.g. Firefox) does not allow users to customize
their language codes. For example, there is no zh-Hans, but only
zh, zh-CN, zh-TW, zh-HK, etc. This provides a workaround for
those users suffering from bad design decisions.
2022-03-02 19:59:11 -05:00
Tusooa Zhu
e644f8dea5
Allow user to register with custom language
2022-03-02 01:41:13 -05:00
Tusooa Zhu
396f036b13
Allow update_credentials to update User.language
2022-03-02 00:58:02 -05:00
Tusooa Zhu
0149ea4538
Send emails i18n'd using backend-stored user language
2022-03-01 22:19:13 -05:00
Tusooa Zhu
1deab33fb0
Make mail and mailer translatable
2022-03-01 19:17:11 -05:00
Tusooa Zhu
32e4aa42d3
Make static fe translatable
2022-03-01 18:48:08 -05:00
Tusooa Zhu
fdbf9b06e5
Fix tests
2022-02-28 11:23:15 -05:00
Tusooa Zhu
cadca083ea
Make mfa pages translatable
2022-02-28 11:07:28 -05:00
Tusooa Zhu
50a316cd63
Make oauth pages translatable
2022-02-28 02:11:57 -05:00
Tusooa Zhu
f63d9b7835
Use proper lang attributes in htmls
2022-02-28 01:28:23 -05:00
Tusooa Zhu
0cc6557716
Make tag feed translatable
2022-02-28 01:13:39 -05:00
Tusooa Zhu
1edbda39e1
Make password reset pages translatable
2022-02-28 01:04:04 -05:00
Sean King
17aa3644be
Copyright bump for 2022
2022-02-25 23:11:42 -07:00
Tusooa Zhu
9f4c5743e8
Make lint happy
2022-02-21 19:12:32 -05:00
Tusooa Zhu
a867107437
Make remote follow pages translatable
2022-02-21 18:43:45 -05:00
Tusooa Zhu
0fd3695b9c
Prefer userLanguage cookie over Accept-Language header in detecting locale
...
https://git.pleroma.social/pleroma/pleroma-meta/-/issues/60
2022-02-21 18:02:19 -05:00
marcin mikołajczak
e473bcf7a0
Max media attachment count
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-02-06 17:41:15 +01:00
marcin mikołajczak
f8f2a17754
Birthdays: Fix outgoing federation of birth dates
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-02-01 12:00:26 +01:00
Alex Gleason
3bf257171f
ForceMentionsInContent: improve display of Markdown posts
2022-01-27 14:15:06 -06:00
Alex Gleason
27cb3d6273
ForceMentionsInContent: don't apply it to top-level posts
2022-01-26 21:24:26 -06:00
bot
a4de79ced0
ForceBotUnlistedPolicy: fix to stop unlisting my posts >:(
2022-01-26 22:53:02 +00:00
Alex Gleason
0604b0dd09
ForceMentionsInContent: don't mention self
2022-01-25 12:33:47 -06:00
Alex Gleason
0f4e0e667e
Merge branch 'recipients-inline' into 'develop'
...
ForceMentionsInContent: wrap mentions in a span, fix the formatting
See merge request pleroma/pleroma!3620
2022-01-25 17:43:39 +00:00
Alex Gleason
65b4d2ce84
ForceMentionsInContent: fix order of mentions
2022-01-25 10:42:34 -06:00
marcin mikołajczak
ab12a05a43
AccountView: Add test for show_birthday
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-01-25 17:34:36 +01:00
marcin mikołajczak
c1ae35ff2c
Fix show_birthday
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-01-25 17:04:41 +01:00
Alex Gleason
267184b70e
ForceMentionsInContentTest: return mentions in a not terrible format
2022-01-24 20:03:43 -06:00
Alex Gleason
c5a20c80c4
ForceMentionsInContent: simplify finding users
2022-01-24 19:44:44 -06:00
Alex Gleason
d5644a52aa
ForceMentionsInContent: wrap inline mentions with span tag
2022-01-24 19:11:45 -06:00
Alex Gleason
1bbc701a3a
ForceMentionsInContent: use to
instead of tag
2022-01-24 19:11:14 -06:00
marcin mikołajczak
0266bc3c96
Birthdays: hide_birthday -> show_birthday
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-01-23 09:13:33 +01:00
Alex Gleason
aaa9314f4c
Merge remote-tracking branch 'origin/develop' into birth-dates
2022-01-22 14:24:50 -06:00
Alex Gleason
66e8c6f90f
Birthdays: birth_date --> birthday
2022-01-22 13:21:55 -06:00
Finn Behrens
8328289619
Add autocompelete values suggested by Apple
...
Link: https://developer.apple.com/documentation/security/password_autofill/enabling_password_autofill_on_an_html_input_element
2022-01-22 10:00:43 +01:00
Alex Gleason
6ffe43af70
Merge branch 'private-pins' into 'develop'
...
Support private pinned posts from Mastodon
See merge request pleroma/pleroma!3611
2022-01-20 23:18:24 +00:00
marcin mikołajczak
88c21b9282
Support private pinned posts from Mastodon
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-01-20 12:35:32 +01:00
marcin mikołajczak
74cf0f0355
Update changelog
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-01-19 23:52:46 +01:00
rinpatch
a02cfd7f52
Add ForceMentionsInContentPolicy
...
Even though latest PleromaFE supports displaying these properly, mobile
apps still exist, so I think we should offer a workaround to those who
want it.
2022-01-19 21:04:57 +03:00
marcin mikołajczak
c180f9276f
check if remote bday is valid
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-01-19 17:19:28 +01:00
marcin mikołajczak
dfb2808535
Birth dates: Add tests
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-01-18 23:15:31 +01:00
marcin mikołajczak
397f67fef8
Format code, expose instance configuration related to birth dates
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-01-18 18:18:38 +01:00
marcin mikołajczak
b108b05650
Birth dates, birthday reminders API, allow instance admins to require minimum age
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-01-18 14:57:48 +01:00
NEETzsche
6284353025
Add blockers_visible to features list when it's enabled
2022-01-14 23:08:33 +00:00
marcin mikołajczak
eedf551eed
Add more tests
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-01-12 22:41:34 +01:00
marcin mikołajczak
0f90fd5805
WIP account endorsements
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-01-12 18:15:10 +01:00
lain
bf0b32c9aa
Merge branch 'pleroma-result-1_13' into 'develop'
...
move result into with guard
See merge request pleroma/pleroma!3557
2022-01-11 13:39:23 +03:00
marcin mikołajczak
4f249b2397
Merge remote-tracking branch 'origin/develop' into account-endorsements
2022-01-10 20:04:14 +01:00
marcin mikołajczak
1657db656c
AccountController.lookup: skip auth
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2021-12-28 20:02:59 +01:00
marcin mikołajczak
0dd1caa841
AccountController.lookup: skip visibility check
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2021-12-28 18:24:48 +01:00
marcin mikołajczak
9032d065e6
wip
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2021-12-28 18:07:19 +01:00
marcin mikołajczak
746c9daa62
Merge remote-tracking branch 'pleroma/develop' into mastodon-lookup
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2021-12-28 16:27:27 +01:00
marcin mikołajczak
f734579965
MastoAPI: Add GET /api/v1/accounts/lookup
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2021-12-28 16:11:17 +01:00
Alex Gleason
de7f84deb3
Merge branch 'apps-api-endpoint' into 'develop'
...
Apps API endpoint
See merge request pleroma/pleroma!3583
2021-12-28 14:38:02 +00:00
Tusooa Zhu
9a27cb4f9d
Deal with target not found error in add_alias
...
Ref: emit-move
2021-12-28 01:11:08 -05:00
Tusooa Zhu
eb383ef8d3
Make move_account endpoint process non-existent users properly
...
Ref: emit-move
2021-12-28 01:11:08 -05:00
Tusooa Zhu
e41eee5ed1
Make Move activity federate properly
...
Ref: emit-move
2021-12-28 01:11:08 -05:00
Tusooa Zhu
54d7b4354c
Add deleting alias endpoint
...
Ref: emit-move
2021-12-28 01:11:08 -05:00
Tusooa Zhu
c1aa3c98ac
Add get and add aliases endpoints
...
Ref: emit-move
2021-12-28 01:11:08 -05:00
Tusooa Zhu
0af77b20c1
Implement moving account
...
Ref: emit-move
2021-12-28 01:10:34 -05:00
Alex Gleason
7704a722c0
AppController: remove unnecessary require Logger
2021-12-27 18:30:16 -06:00
Alex Gleason
2e4a1c56c3
AppController: test creating with and without a user
2021-12-27 18:14:15 -06:00
Alex Gleason
f5c3d45120
Merge remote-tracking branch 'origin/develop' into apps-api-endpoint
2021-12-27 18:01:25 -06:00
Alex Gleason
138f5a4517
EnsureStaffPrivilegedPlug: don't let non-moderators through
2021-12-27 17:18:26 -06:00
Alex Gleason
a3fa987611
AdminAPI: fix duplicated routes
2021-12-27 16:58:10 -06:00
Alibek Omarov
f02715c4b2
Fix lint errors
2021-12-27 03:42:03 +03:00
Alibek Omarov
f66675f349
API: fix duplicate :get_password_token route
2021-12-27 02:57:54 +03:00
Alibek Omarov
1c223331fc
API: show info about privileged staff in instance metadata
2021-12-27 02:28:09 +03:00
Alibek Omarov
cd1041c3a4
API: optionally restrict moderators from accessing sensitive data
2021-12-27 02:27:48 +03:00
Alex Gleason
913141379c
Merge branch 'profile-directory' into 'develop'
...
MastoAPI: Profile directory
See merge request pleroma/pleroma!3573
2021-12-26 02:35:17 +00:00
marcin mikołajczak
de006443f0
MastoAPI: Profile directory
2021-12-26 02:35:17 +00:00
Alex Gleason
db2bf55e9b
Merge remote-tracking branch 'origin/develop' into notice-routes
2021-12-25 19:57:53 -06:00
Alex Gleason
73609211a4
Merge branch 'account-notes' into 'develop'
...
MastoAPI: Add user notes on accounts
See merge request pleroma/pleroma!3540
2021-12-25 01:41:12 +00:00
Alex Gleason
b96a58ff28
Merge branch 'account-subscriptions' into 'develop'
...
MastoAPI: accept notify param in follow request
See merge request pleroma/pleroma!3555
2021-12-25 01:34:27 +00:00
marcin mikołajczak
9775955974
Merge remote-tracking branch 'origin/develop' into remote-follow-api
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2021-12-25 00:52:02 +01:00
Alex Gleason
d9746ae4cb
Merge branch 'from/develop/tusooa/2802-propagate-reject' into 'develop'
...
Handle Reject for already-accepted Follows properly
Closes #2766 and #2802
See merge request pleroma/pleroma!3568
2021-12-23 16:00:16 +00:00
Alex Gleason
3f8fc34593
Merge remote-tracking branch 'origin/develop' into moderators
2021-12-19 12:55:36 -06:00
Alex Gleason
50892a198d
Merge branch 'mkljczk-develop-patch-64464' into 'develop'
...
Add "exposable_reactions" to features, if showing reactions
See merge request pleroma/pleroma!3523
2021-12-19 18:51:41 +00:00
Alex Gleason
b0d2b53934
Merge branch 'manifest' into 'develop'
...
Expose /manifest.json for PWA
Closes #882
See merge request pleroma/pleroma!3544
2021-12-19 18:18:59 +00:00
Alex Gleason
df5359aa72
Merge branch 'replies-count' into 'develop'
...
Fix replies count for remote replies
See merge request pleroma/pleroma!3541
2021-12-19 17:36:25 +00:00
Alex Gleason
d1510c98d7
Merge branch 'link-headers-chats' into 'develop'
...
Add link headers in ChatController.index2
See merge request pleroma/pleroma!3562
2021-12-19 17:35:50 +00:00
Alex Gleason
1ff9ffed83
Merge branch 'live-dashboard' into 'develop'
...
Add Phoenix LiveDashboard
See merge request pleroma/pleroma!3566
2021-12-19 17:35:14 +00:00
Alex Gleason
e4f9cb1c1b
Merge remote-tracking branch 'origin/develop' into manifest
2021-12-19 11:33:10 -06:00
Alex Gleason
bd853199d9
Merge branch 'v2-suggestions' into 'develop'
...
V2 suggestions
See merge request pleroma/pleroma!3547
2021-12-19 17:31:17 +00:00
Alex Gleason
7c1d804554
Merge branch 'fix-search-dos' into 'develop'
...
Search: limit number of results (prevent DoS)
See merge request pleroma/pleroma!3563
2021-12-19 17:30:52 +00:00
Tusooa Zhu
3d41ccc47b
Allow updating accepted follow activities in Web.ActivityPub.Utils.update_follow_state_for_all/2
...
Mastodon uses the Reject activity also for the purpose of removing
a follower, in addition to reject a follow request. We should
also update the original Follow activity in this case.
2021-12-17 14:17:51 -05:00
Alex Gleason
e1b89fe3aa
Merge remote-tracking branch 'origin/develop' into live-dashboard
2021-12-15 19:05:36 -05:00
Alex Gleason
29d80b39f2
Add Phoenix LiveDashboard
...
Co-authored-by: Egor Kislitsyn <egor@kislitsyn.com>
2021-12-15 19:05:27 -05:00
lain
6eb7d69e60
Merge branch 'delete-account-fix' into 'develop'
...
TwitterAPI: allow deleting one's own account with request body
Closes #2799 and #2746
See merge request pleroma/pleroma!3564
2021-12-15 21:26:45 +00:00
Alex Gleason
8672ad6b00
TwitterAPI: allow deleting one's own account with request body
2021-12-13 17:07:29 -05:00
Alex Gleason
108dfd1f87
Search: limit number of results
2021-12-12 22:50:07 -06:00
marcin mikołajczak
dff435488d
Add link headers in ChatController.index2
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2021-12-12 17:43:18 +01:00
Alex Gleason
2c96668a2c
Merge remote-tracking branch 'origin/develop' into fix-attachment-dimensions
2021-12-07 13:41:54 -05:00
Alex Gleason
3f03d71ea6
AttachmentValidator: ingest width and height
2021-12-07 12:59:03 -05:00
Lain Soykaf
ca8c676867
Linting.
2021-12-07 12:12:23 -05:00
Finn Behrens
8af53101fb
move result into with guard
2021-12-07 09:18:53 +01:00
marcin mikołajczak
c96e52b88c
Add 'notifying' to relationship for compatibility with Mastodon
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2021-12-06 21:24:12 +01:00
marcin mikołajczak
64a4c147b1
MastoAPI: accept notify param in follow request
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2021-12-06 19:36:58 +01:00
Alex Gleason
8286ceb465
Merge remote-tracking branch 'origin/develop' into password-reset
2021-12-03 00:11:38 -06:00
Alex Gleason
5da4f33bf1
Restore POST /auth/password
2021-12-03 00:10:57 -06:00
marcin mikołajczak
cd5fb84b76
remote_interaction API endpoint
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2021-12-02 16:08:44 +01:00
marcin mikołajczak
a9b0027071
Account endorsements
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2021-11-29 12:44:57 +01:00