This commit is contained in:
setop 2024-07-06 18:31:23 +02:00
commit fd9eab2312
5 changed files with 55 additions and 22 deletions

View File

@ -7,6 +7,7 @@ defmodule Mobilizon.Federation.ActivityPub.Publisher do
alias Mobilizon.Config
alias Mobilizon.Federation.ActivityPub.{Activity, Federator, Relay, Transmogrifier, Visibility}
alias Mobilizon.Federation.HTTPSignatures.Signature
alias Mobilizon.Service.HTTP.ActivityPub, as: ActivityPubClient
require Logger
import Mobilizon.Federation.ActivityPub.Utils,
@ -95,16 +96,16 @@ defmodule Mobilizon.Federation.ActivityPub.Publisher do
date: date
})
Tesla.post(
inbox,
json,
headers: [
{"Content-Type", "application/activity+json"},
{"signature", signature},
{"digest", digest},
{"date", date}
]
)
headers = [
{"Content-Type", "application/activity+json"},
{"signature", signature},
{"digest", digest},
{"date", date}
]
client = ActivityPubClient.client(headers: headers)
ActivityPubClient.post(client, inbox, json)
end
@spec convert_followers_in_recipients(list(String.t())) :: {list(String.t()), list(String.t())}

View File

@ -9,13 +9,9 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Media do
alias Mobilizon.Federation.ActivityStream
alias Mobilizon.Medias
alias Mobilizon.Medias.Media, as: MediaModel
alias Mobilizon.Service.HTTP.RemoteMediaDownloaderClient
alias Mobilizon.Web.Upload
@http_options [
ssl: [{:versions, [:"tlsv1.2"]}]
]
@doc """
Convert a media struct to an ActivityStream representation.
"""
@ -65,7 +61,7 @@ defmodule Mobilizon.Federation.ActivityStream.Converter.Media do
defp upload_media(media_url, ""), do: upload_media(media_url, "unknown")
defp upload_media(media_url, name) do
case Tesla.get(media_url, opts: @http_options) do
case RemoteMediaDownloaderClient.get(media_url) do
{:ok, %{body: body}} ->
case Upload.store(%{body: body, name: name}) do
{:ok, %{url: _url} = uploaded} ->

View File

@ -34,7 +34,7 @@
"@apollo/client": "^3.3.16",
"@framasoft/socket": "^1.0.0",
"@framasoft/socket-apollo-link": "^1.0.0",
"@oruga-ui/oruga-next": "0.8.12",
"@oruga-ui/oruga-next": "^0.8.10",
"@oruga-ui/theme-oruga": "^0.2.0",
"@fullcalendar/core": "^6.1.10",
"@fullcalendar/daygrid": "^6.1.10",

View File

@ -32,7 +32,7 @@
<div class="flex-1" v-else>
{{ `@${selectedActor.preferredUsername}` }}
</div>
<o-button type="text" @click="isComponentModalActive = true">
<o-button @click="isComponentModalActive = true">
{{ $t("Change") }}
</o-button>
</div>

View File

@ -47,6 +47,18 @@
"Accept": "Accepteren",
"Accept follow": "Accepteer gevolgd worden",
"Accepted": "Geaccepteerd",
"Access drafts events": "Toegang tot concept-evenementen",
"Access followed groups": "Toegang tot gevolgde groepen",
"Access group activities": "Toegang tot groepsactiviteiten",
"Access group discussions": "Toegang tot groepsdiscussies",
"Access group events": "Toegang tot groep evenementen",
"Access group followers": "Toegang tot groep volgers",
"Access group members": "Toegang tot groepsleden",
"Access group memberships": "Toegang tot groepslidmaatschappen",
"Access group suggested events": "Toegang tot voorgestelde evenementen",
"Access group todo-lists": "Toegang tot todo-lijsten voor groepen",
"Access organized events": "Toegang tot georganiseerde evenementen",
"Access participations": "Toegang tot deelnemingen",
"Access your group's resources": "Toegang verkrijgen tot de bronnen van je groep",
"Accessibility": "Toegankelijkheid",
"Accessible only by link": "Alleen toegankelijk via link",
@ -90,6 +102,7 @@
"Allow all comments from users with accounts": "Alle reacties van ingelogde gebruikers toestaan",
"Allow registrations": "Registraties toestaan",
"An URL to an external ticketing platform": "Een URL waar online tickets worden verkocht",
"An anonymous profile joined the event {event}.": "Een anoniem profiel is lid geworden van het evenement {event}.",
"An error has occured while refreshing the page.": "Er is een fout opgetreden tijdens het vernieuwen van deze pagina.",
"An error has occured. Sorry about that. You may try to reload the page.": "Er is een fout opgetreden. Sorry daarvoor. U kunt proberen de pagina opnieuw te laden.",
"An ethical alternative": "Een ethisch alternatief",
@ -122,7 +135,8 @@
"Are you really sure you want to delete your whole account? You'll lose everything. Identities, settings, events created, messages and participations will be gone forever.": "Weet u zeker dat u uw gehele account wilt verwijderen? Hiermee gaat alles verloren. Identiteiten, instellingen, aangemaakte evenementen, berichten en deelnames zullen voor altijd verdwijnen.",
"Are you sure you want to <b>completely delete</b> this group? All members - including remote ones - will be notified and removed from the group, and <b>all of the group data (events, posts, discussions, todos…) will be irretrievably destroyed</b>.": "Weet u zeker dat u deze groep <b>volledig wilt verwijderen</b>? Alle leden - inclusief externe - zullen op de hoogte worden gesteld en uit de groep worden verwijderd, en <b>alle groepsgegevens (evenementen, berichten, discussies, taken...) zullen onherstelbaar worden vernietigd</b>.",
"Are you sure you want to <b>delete</b> this comment? This action cannot be undone.": "Weet je zeker dat je deze reactie wil <b>verwijderen</b>? Dit kan niet ongedaan worden gemaakt.",
"Are you sure you want to <b>delete</b> this event? This action cannot be undone. You may want to engage the discussion with the event creator or edit its event instead.": "Weet je zeker dat je dit evenement wilt <b>verwijderen</b>? Deze actie kan niet ongedaan gemaakt worden. Mogelijk wil je in plaats daarvan de maker van dit evenement aanspreken of het evenement bewerken.",
"Are you sure you want to <b>delete</b> this event? <b>This action cannot be undone</b>. You may want to engage the discussion with the event creator and ask them to edit their event instead.": "Weet je zeker dat je dit evenement wilt <b>verwijderen</b>? <b>Deze actie kan niet ongedaan worden gemaakt</b>. Misschien wil je de discussie aangaan met de initiatiefnemer van het evenement en die vragen om in plaats daarvan diens evenement aan te passen.",
"Are you sure you want to <b>delete</b> this event? This action cannot be undone. You may want to engage the discussion with the event creator or edit its event instead.": "Weet je zeker dat je dit evenement wilt <b>verwijderen</b>? Deze actie kan niet ongedaan gemaakt worden. Mogelijk wil je in plaats daarvan de initiatiefnemer van dit evenement aanspreken of het evenement bewerken.",
"Are you sure you want to <b>suspend</b> this group? All members - including remote ones - will be notified and removed from the group, and <b>all of the group data (events, posts, discussions, todos…) will be irretrievably destroyed</b>.": "Weet je zeker dat je deze groep wilt <b>opschorten</b>? Alle leden - inclusief externe - zullen op de hoogte worden gesteld en uit de groep worden verwijderd, en <b>alle groepsgegevens (evenementen, berichten, discussies, taken...) zullen onherstelbaar worden vernietigd</b>.",
"Are you sure you want to <b>suspend</b> this group? As this group originates from instance {instance}, this will only remove local members and delete the local data, as well as rejecting all the future data.": "Weet je zeker dat je deze groep wilt <b>opschorten</b>? Aangezien deze groep afkomstig is van instantie {instance}, worden alleen lokale leden en lokale gegevens verwijderd, evenals alle toekomstige gegevens.",
"Are you sure you want to cancel the event creation? You'll lose all modifications.": "Bent u zeker dat u het aanmaken van dit evenement wil annuleren? Alle veranderingen zullen verloren gaan.",
@ -250,6 +264,7 @@
"Create my group": "Mijn groep aanmaken",
"Create my profile": "Mijn profiel aanmaken",
"Create new links": "Nieuwe links aanmaken",
"Create new profiles": "Nieuwe profielen maken",
"Create resource": "Hulpbron aanmaken",
"Create the discussion": "Maak de discussie aan",
"Create to-do lists for all the tasks you need to do, assign them and set due dates.": "Maak takenlijsten voor alle taken, wijs ze toe en stel deadlines in.",
@ -281,6 +296,7 @@
"Delete conversation": "Verwijder gesprek",
"Delete discussion": "Discussie verwijderen",
"Delete event": "Evenement verwijderen",
"Delete event and resolve report": "Evenement verwijderen en rapport afhandelen",
"Delete events": "Evenementen verwijderen",
"Delete everything": "Alles verwijderen",
"Delete group": "Groep verwijderen",
@ -594,11 +610,14 @@
"Logo of the instance. Defaults to the upstream Mobilizon logo.": "Logo van deze instantie. Standaard wordt het Mobilizon logo gebruikt.",
"Main languages you/your moderators speak": "Belangrijkste talen die u en uw moderatoren spreken",
"Make sure that all words are spelled correctly.": "Zorg ervoor dat alle woorden correct gespeld zijn.",
"Manage group members": "Groepsleden beheren",
"Manage group memberships": "Lidmaatschappen van groepen beheren",
"Manage participations": "Deelnames beheren",
"Manually approve new followers": "Handmatig nieuwe volgers goedkeuren",
"Manually invite new members": "Handmatig nieuwe leden uitnodigen",
"Map": "Kaart",
"Mark as resolved": "Als opgelost markeren",
"Maybe the content was removed by the author or a moderator": "Misschien is de inhoud verwijderd door de auteur of een moderator",
"Member": "Lid",
"Members": "Leden",
"Members-only post": "Bericht voor alleen leden",
@ -659,6 +678,7 @@
"No closed reports yet": "Nog geen gesloten rapportages",
"No comment": "Geen reacties",
"No comments yet": "Nog geen reacties",
"No content found": "Geen inhoud gevonden",
"No discussions yet": "Nog geen discussies",
"No end date": "Geen einddatum",
"No event found at this address": "Geen evenement gevonden op dit adres",
@ -1065,21 +1085,34 @@
"There will be no way to recover your data.": "Er zal geen mogelijkheid zijn uw data terug te halen.",
"There's no discussions yet": "Er zijn nog geen discussies",
"These events may interest you": "Deze evenementen zouden u kunnen interesseren",
"These feeds contain event data for the events for which any of your profiles is a participant or creator. You should keep these private. You can find feeds for specific profiles on each profile edition page.": "Deze feeds bevatten gegevens van evenementen waaraan uw profiel deelneemt of die u profiel heeft aangemaakt. Deze kunt u het beste privé houden. U kunt voor specifieke profielen feeds vinden onder de respectievelijke profielinstellingen.",
"These feeds contain event data for the events for which this specific profile is a participant or creator. You should keep these private. You can find feeds for all of your profiles into your notification settings.": "Deze feeds bevatten gegevens van evenementen waaraan dit profiel deelneemt of die dit profiel heeft aangemaakt. Deze kunt u het beste privé houden. U kunt onder uw meldingsinstellingen feeds vinden voor al uw profielen.",
"These feeds contain event data for the events for which any of your profiles is a participant or creator. You should keep these private. You can find feeds for specific profiles on each profile edition page.": "Deze feeds bevatten gegevens van evenementen waarvan een van uw profielen deelnemer of initiatiefnemer van is. Deze kunt u het beste privé houden. U kunt voor specifieke profielen feeds vinden onder de respectievelijke profielinstellingen.",
"These feeds contain event data for the events for which this specific profile is a participant or creator. You should keep these private. You can find feeds for all of your profiles into your notification settings.": "Deze feeds bevatten gegevens van evenementen waaraan dit profiel deelneemt of initiatiefnemer van is. Deze kunt u het beste privé houden. U kunt onder uw meldingsinstellingen feeds vinden voor al uw profielen.",
"This Mobilizon instance and this event organizer allows anonymous participations, but requires validation through email confirmation.": "Deze Mobilizon instance en de organisator van dit evenement staan anonieme deelname toe maar vereisen wel validatie via een e-mail bevestiging.",
"This URL doesn't seem to be valid": "Deze URL lijkt niet valide",
"This URL is not supported": "Deze URL wordt niet ondersteund",
"This application will be able to access all of your informations and post content. Make sure you only approve applications you trust.": "Deze applicatie zal al je informatie kunnen inzien en inhoud kunnen posten. Zorg ervoor dat je alleen applicaties goedkeurt die je vertrouwt.",
"This application will be allowed to access all of the groups you're a member of": "Deze applicatie zal toegang kunnen krijgen tot alle groepen waar je lid van bent",
"This application will be allowed to access group activities in all of the groups you're a member of": "Deze toepassing krijgt toegang tot groepsactiviteiten in alle groepen waarvan je lid bent",
"This application will be allowed to access your user activity settings": "Deze applicatie zal toegang krijgen tot de instellingen van je gebruikersactiviteiten",
"This application will be allowed to access your user settings": "Deze applicatie zal toegang krijgen tot je gebruikersinstellingen",
"This application will be allowed to create resources in all of the groups you're a member of": "Deze applicatie zal bronnen kunnen aanmaken in alle groepen waar je lid van bent",
"This application will be allowed to delete events": "Deze applicatie zal gebeurtenissen kunnen verwijderen",
"This application will be allowed to delete group posts": "Deze applicatie zal groepsberichten kunnen verwijderen",
"This application will be allowed to delete resources in all of the groups you're a member of": "Deze toepassing mag bronnen verwijderen in alle groepen waarvan je lid bent",
"This application will be allowed to join and leave groups": "Deze toepassing zal lid kunnen worden van groepen en ze kunnen verlaten",
"This application will be allowed to list and access group discussions in all of the groups you're a member of": "Deze toepassing zal groepsdiscussies in een lijst kunnen plaatsen en heeft daar toegang toe in alle groepen waarvan je lid bent",
"This application will be allowed to list and access group events in all of the groups you're a member of": "Deze toepassing zal groep evenementen in een lijst kunnen plaatsen en heeft daar toegang toe in alle groepen waarvan je lid bent.",
"This application will be allowed to list and access group todo-lists in all of the groups you're a member of": "Deze toepassing zal todo-lijsten van groepen in een lijst kunnen plaatsen en heeft daar toegang toe in alle groepen waar je lid van bent",
"This application will be allowed to list and view the events you're participating to": "Deze toepassing zal de evenementen waaraan je deelneemt in een lijst kunnen plaatsen en bekijken",
"This application will be allowed to list and view the groups you're a member of": "Deze toepassing zal de groepen waarvan je lid bent in een lijst kunnen plaatsen en bekijken",
"This application will be allowed to list and view the groups you're following": "Deze toepassing zal de groepen die je volgt in een lijst kunnen plaatsen en bekijken",
"This application will be allowed to list and view your draft events": "Deze applicatie zal je concept-evenementen in een lijst kunnen zetten en bekijken",
"This application will be allowed to list and view your organized events": "Deze toepassing zal je georganiseerde evenementen in een lijst kunnen plaatsen en bekijken",
"This application will be allowed to list group followers in all of the groups you're a member of": "Deze toepassing zal de volgers van de groep in een lijst kunnen plaatsen in alle groepen waarvan je lid bent",
"This application will be allowed to list group members in all of the groups you're a member of": "Deze toepassing mag groepsleden in een lijst plaatsen in alle groepen waarvan je lid bent",
"This application will be allowed to list the media you've uploaded": "Deze toepassing zal de media die u hebt geüpload in een lijst mogen zetten",
"This application will be allowed to list your suggested group events": "Deze applicatie zal jouw voorgestelde groepsevenementen mogen vermelden",
"This application will be allowed to list your suggested group events": "Deze applicatie zal jouw voorgestelde groep evenementen in een lijst mogen zetten",
"This application will be allowed to manage group members in all of the groups you're a member of": "Deze toepassing mag groepsleden beheren in alle groepen waarvan je lid bent",
"This application will be allowed to publish events": "Deze applicatie zal evenementen kunnen publiceren",
"This application will be allowed to publish events, participate to events": "Deze applicatie zal evenementen kunnen publiceren, aan evenementen kunnen deelnemen",
"This application will be allowed to publish group posts": "Deze applicatie zal groepsberichten kunnen publiceren",
@ -1118,6 +1151,7 @@
"This website isn't moderated and the data that you enter will be automatically destroyed every day at 00:01 (Paris timezone).": "Deze website wordt niet gemodereerd en de gegevens die je invoert worden elke dag automatisch om 00:01 (tijdzone Parijs) vernietigd.",
"This week": "Deze week",
"This weekend": "Dit weekend",
"This will also resolve the report.": "Hiermee wordt het rapport ook afgehandeld.",
"This will delete / anonymize all content (events, comments, messages, participations…) created from this identity.": "Dit zal alle inhoud (evenementen, opmerkingen, berichten, deelnames…) die aangemaakt is met deze identiteit verwijderen / anonimiseren.",
"Time in your timezone ({timezone})": "Tijd in jouw tijdzone ({timezone})",
"Times in your timezone ({timezone})": "Tijden in jouw tijdzone ({timezone})",
@ -1300,6 +1334,7 @@
"You have one event tomorrow.": "U hebt morgen geen evenementen | U hebt morgen één evenement. | U hebt morgen {count} evenementen",
"You haven't interacted with other instances yet.": "Je hebt nog geen interactie gehad met andere instances.",
"You invited {member}.": "U nodigde {member} uit.",
"You joined the event {event}.": "Je bent lid geworden van het evenement {event}.",
"You may also:": "Je kunt ook:",
"You may clear all participation information for this device with the buttons below.": "U kunt alle deelname-informatie voor dit apparaat wissen met de onderstaande knoppen.",
"You may now close this page or {return_to_the_homepage}.": "Je kunt deze pagina nu sluiten of {return_to_the_homepage}.",
@ -1484,6 +1519,7 @@
"{profile} demoted {member} to moderator.": "{profile} degradeerde {member} tot moderator.",
"{profile} demoted {member} to simple member.": "{profile} degradeerde {member} tot simpel lid.",
"{profile} excluded member {member}.": "{profile} sloot lid {member} uit.",
"{profile} joined the the event {event}.": "{profiel} is lid geworden van het evenement {event}.",
"{profile} moved the folder {resource} into {new_path}.": "{profile} verplaatste de folder {resource} naar {new_path}.",
"{profile} moved the folder {resource} to the root folder.": "{profile} verplaatste de folder {resource} naar de bron map.",
"{profile} moved the resource {resource} into {new_path}.": "{profile} verplaatste de voorziening {resource} naar {new_path}.",