summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-07-01Use EXIF data of image to prefill image descriptionIlja
During attachment upload Pleroma returns a "description" field. Pleroma-fe has an MR to use that to pre-fill the image description field, <https://git.pleroma.social/pleroma/pleroma-fe/-/merge_requests/1399> * This MR allows Pleroma to read the EXIF data during upload and return the description to the FE * If a description is already present (e.g. because a previous module added it), it will use that * Otherwise it will read from the EXIF data. First it will check -ImageDescription, if that's empty, it will check -iptc:Caption-Abstract * If no description is found, it will simply return nil, just like before * When people set up a new instance, they will be asked if they want to read metadata and this module will be activated if so This was taken from an MR i did on Pleroma and isn't finished yet.
2022-07-01Add docs and CHANGELOG entriesIlja
2022-07-01Rename privilege tagsIlja
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-06-28EmojiReactValidator: fix emoji qualificationHélène
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-25Make outbound transmogrifier aware of edit historyTusooa Zhu
2022-06-25Do not put meta[:object_data] for local UpdatesTusooa Zhu
2022-06-25Fix local updates causing emojis to be lostTusooa Zhu
2022-06-25Verify that formerRepresentation provided in Update is usedTusooa Zhu
2022-06-25Reuse formerRepresentations from remote if possibleTusooa Zhu
2022-06-25Unify the logic of updating objectsTusooa Zhu
2022-06-24Fix CommonAPITestTusooa Zhu
2022-06-24Use meta[:object_data] in SideEffects for UpdateTusooa Zhu
2022-06-24Convert incoming Updated object into Pleroma formatTusooa Zhu
2022-06-21Add editing to featuresTusooa Zhu
2022-06-21Add nodes and privileges to nodeinfoIlja
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-21Show privileges to FEIlja
I added an extra key We already had is_admin and is_moderator, now we have an extra privileges key
2022-06-21Add deactivated status for privileged usersIlja
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-21report notifications for privileged usersIlja
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-21Add Pleroma.User.all_users_with_privilege/1Ilja
This should eventually replace the Pleroma.User.all_superusers/0 function * I added a new param `is_privileged` in User.query * Now we can fetch all users with a specified privilege
2022-06-21Remove function superuser?Ilja
Everything now happens with privileged?/2
2022-06-21Hide pleroma:report for non-privileged usersIlja
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-21Revert "Delete report notifs when demoting from superuser"Ilja
This reverts commit 89667189b840fc79d85336739e6b2512684d7be0 and cdc5bbe8369d4fc66d642bb3e845a237d11e34d7. This is a side effect when changing user role. The goal was to not have report notifications when someone isn't admin or moderator any more. But this won't be triggered when we change the privilege tags for a role, so we can't use this sollution any more. There was another solution to filter out report notifications during fetch. It wasn't merged because this seemed 'cleaner' at the time, but now it seems the better sollution. I'll add it in the next commit.
2022-06-21User.visible_for/2Ilja
According to the tests, this was only used for unconfirmed accounts. So this just needed to be restricted to users with privilege :user_activation
2022-06-21Validator for deleting statusses is now done with priviledge instead of ↵Ilja
superuser
2022-06-21delete statusses is now privileged by :status_deleteIlja
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-21Add Pleroma.User.privileged?/2Ilja
This should eventually replace Pleroma.User.superuser?/1
2022-06-21Fix warning during test user_test.exsIlja
Fixed the warning [warning] Please change `clear_config([section], key: value)` to `clear_config([section, key], value)`
2022-06-21Add last priviligesIlja
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-21Add privilige :emoji_managementIlja
2022-06-21Add privilige :status_deleteIlja
It also allows to update a message, so it's not just deleting. I need a better name...
2022-06-21last off :statuses_readIlja
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-21Mark relevant tests synchronousIlja
One of the things we do during the tests is change the config. But that's global state and different tests were interfering. E.g. one test would set `clear_config([:instance, :admin_privileges], [:statuses_read])`, but while that runs, another test may do `clear_config([:instance, :admin_privileges], [:user_invite])`. Now the code for the first test checks the setting, and it finds `:user_invite` instead of `:statuses_read`. Now the modules where this happens are marked to run synchronously, so they don't interfere with each other.
2022-06-21Add privileges for :user_readIlja
2022-06-21Add privileges for :report_handleIlja
2022-06-21Add privileges for :user_inviteIlja
2022-06-21Add privileges for :user_activationIlja
2022-06-21Add privileges for :user_tagIlja
2022-06-21Remove privileged_staffIlja
Everything that was done through this setting, can now be set by giving the proper privileges to the roles.
2022-06-21Add priviledges for :statuses_readIlja
This was the last in :require_privileged_staff. I'll remove that in the next commit
2022-06-21Add priviledges for :user_credentialsIlja
I only moved the ones from the :require_privileged_staff block for now
2022-06-21Add privilege :user_deletionIlja
2022-06-21Add new setting and Plug to allow for privilege settings for staffIlja
2022-06-16Store mutes expiration datemarcin mikołajczak
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-06-11Show original status at the first of historyTusooa Zhu
2022-06-11Workaround with_index does not support function in Elixir 1.9Tusooa Zhu
2022-06-11Send the correct update in streamerTusooa Zhu
get_create_by_ap_id_with_object() seems to fetch the old object. Why this happens needs further investigation.
2022-06-11Expose history and source apis to anon usersTusooa Zhu
2022-06-09Fix incorrectly cached content after editingTusooa Zhu
2022-06-08Return the corresponding object id in attachment viewTusooa Zhu
2022-06-08Add object id to uploaded attachmentsTusooa Zhu