From 74639e7203502f80899512fc116983623d7b5de8 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Fri, 4 Nov 2022 11:28:56 +0100 Subject: [PATCH 1/4] Fix event integrations Signed-off-by: Thomas Citharel --- js/src/views/Event/EventView.vue | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/js/src/views/Event/EventView.vue b/js/src/views/Event/EventView.vue index b233ef9d0..8beac096a 100755 --- a/js/src/views/Event/EventView.vue +++ b/js/src/views/Event/EventView.vue @@ -169,9 +169,10 @@
import("@/components/Event/Integrations/TwitchIntegration.vue") ); @@ -288,7 +288,6 @@ const IntegrationJitsiMeet = defineAsyncComponent( const IntegrationEtherpad = defineAsyncComponent( () => import("@/components/Event/Integrations/EtherpadIntegration.vue") ); -/* eslint-enable @typescript-eslint/no-unused-vars */ const EventMap = defineAsyncComponent( () => import("@/components/Event/EventMap.vue") ); @@ -492,12 +491,12 @@ onFetchEventError(({ graphQLErrors }) => handleErrors(graphQLErrors as AbsintheGraphQLErrors) ); -const metadataToComponent: Record = { - "mz:live:twitch:url": "IntegrationTwitch", - "mz:live:peertube:url": "IntegrationPeertube", - "mz:live:youtube:url": "IntegrationYoutube", - "mz:visio:jitsi_meet": "IntegrationJitsiMeet", - "mz:notes:etherpad:url": "IntegrationEtherpad", +const metadataToComponent: Record = { + "mz:live:twitch:url": IntegrationTwitch, + "mz:live:peertube:url": IntegrationPeertube, + "mz:live:youtube:url": IntegrationYoutube, + "mz:visio:jitsi_meet": IntegrationJitsiMeet, + "mz:notes:etherpad:url": IntegrationEtherpad, }; const integrations = computed((): Record => { @@ -514,7 +513,7 @@ const integrations = computed((): Record => { if (component !== undefined) { // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore - acc[component] = metadata; + acc[metadata.key] = metadata; } return acc; }, {}); From 08ce9b6f84d6aba5942cef013ae9c388046df50c Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Fri, 4 Nov 2022 11:29:12 +0100 Subject: [PATCH 2/4] Prevent loading authorized groups when current actor isn't loading in OrganizerPickerWrapper Signed-off-by: Thomas Citharel --- js/src/components/Event/OrganizerPickerWrapper.vue | 3 +++ 1 file changed, 3 insertions(+) diff --git a/js/src/components/Event/OrganizerPickerWrapper.vue b/js/src/components/Event/OrganizerPickerWrapper.vue index 9ed7b28dc..b2b4939f3 100644 --- a/js/src/components/Event/OrganizerPickerWrapper.vue +++ b/js/src/components/Event/OrganizerPickerWrapper.vue @@ -185,6 +185,9 @@ const { result: personMembershipsResult } = useQuery( page: 1, limit: 10, groupId: route.query?.actorId, + }), + () => ({ + enabled: currentActor.value?.id !== undefined, }) ); From c1dff8caaad648571a37d22c944eb86c75618e24 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Fri, 4 Nov 2022 11:25:19 +0100 Subject: [PATCH 3/4] Remove unused import Signed-off-by: Thomas Citharel --- js/src/views/Discussions/DiscussionView.vue | 1 - 1 file changed, 1 deletion(-) diff --git a/js/src/views/Discussions/DiscussionView.vue b/js/src/views/Discussions/DiscussionView.vue index 04ad88a45..d400fb82d 100644 --- a/js/src/views/Discussions/DiscussionView.vue +++ b/js/src/views/Discussions/DiscussionView.vue @@ -166,7 +166,6 @@ import { useHead } from "@vueuse/head"; import { useRouter } from "vue-router"; import { useCurrentActorClient } from "@/composition/apollo/actor"; import { AbsintheGraphQLError } from "@/types/errors.model"; -import { useGroup } from "@/composition/apollo/group"; import { MemberRole } from "@/types/enums"; import { PERSON_MEMBERSHIPS } from "@/graphql/actor"; import { Dialog } from "@/plugins/dialog"; From e31433cf8306eab4d5002eed1c20dd02b01894ce Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Fri, 4 Nov 2022 11:50:15 +0100 Subject: [PATCH 4/4] Allow for resource providers to register a csp policy Signed-off-by: Thomas Citharel --- lib/web/plugs/http_security_plug.ex | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/web/plugs/http_security_plug.ex b/lib/web/plugs/http_security_plug.ex index 3af248bde..912c98657 100644 --- a/lib/web/plugs/http_security_plug.ex +++ b/lib/web/plugs/http_security_plug.ex @@ -166,8 +166,12 @@ defmodule Mobilizon.Web.Plugs.HTTPSecurityPlug do global_search_policy = [Keyword.get(GlobalSearch.service().csp(), type, [])] pictures_policy = [Keyword.get(Pictures.service().csp(), type, [])] + resource_providers = Config.get([Mobilizon.Service.ResourceProviders, :csp_policy, type], []) + Enum.join( - config_policy ++ front_end_analytics_policy ++ global_search_policy ++ pictures_policy, + config_policy ++ + front_end_analytics_policy ++ + global_search_policy ++ pictures_policy ++ resource_providers, " " ) end