From 7a9d5b0c298c7cd00e2dd1c6859aecfb70f8a0f5 Mon Sep 17 00:00:00 2001 From: Quentin Gliech Date: Wed, 22 Oct 2025 11:29:52 +0200 Subject: [PATCH] Highlight dangerous scopes when consenting to them --- frontend/src/components/SessionDetail/SessionInfo.tsx | 4 ++-- frontend/src/templates.css | 10 ++++++++++ templates/components/scope.html | 4 ++-- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/frontend/src/components/SessionDetail/SessionInfo.tsx b/frontend/src/components/SessionDetail/SessionInfo.tsx index e170e9487..876fbc567 100644 --- a/frontend/src/components/SessionDetail/SessionInfo.tsx +++ b/frontend/src/components/SessionDetail/SessionInfo.tsx @@ -68,7 +68,7 @@ export const ScopeSendMessages: React.FC = () => { const ScopeSynapseAdmin: React.FC = () => { const { t } = useTranslation(); return ( - + {t("mas.scope.synapse_admin")} ); @@ -77,7 +77,7 @@ const ScopeSynapseAdmin: React.FC = () => { const ScopeMasAdmin: React.FC = () => { const { t } = useTranslation(); return ( - + {t("mas.scope.mas_admin")} ); diff --git a/frontend/src/templates.css b/frontend/src/templates.css index 9d332a4ed..76eb93a94 100644 --- a/frontend/src/templates.css +++ b/frontend/src/templates.css @@ -117,6 +117,16 @@ width: var(--cpd-space-6x); color: var(--cpd-color-icon-quaternary); } + + &.dangerous { + border: 1px solid var(--cpd-color-border-critical-subtle); + background-color: var(--cpd-color-bg-critical-subtle); + color: var(--cpd-color-text-critical-primary); + + & > svg { + color: var(--cpd-color-icon-critical-primary); + } + } } } } diff --git a/templates/components/scope.html b/templates/components/scope.html index fbe68d70e..96b5119cb 100644 --- a/templates/components/scope.html +++ b/templates/components/scope.html @@ -18,9 +18,9 @@ Please see LICENSE files in the repository root for full details.
  • {{ icon.chat() }}

    {{ _("mas.scope.view_messages") }}

  • {{ icon.send() }}

    {{ _("mas.scope.send_messages") }}

  • {% elif scope == "urn:synapse:admin:*" %} -
  • {{ icon.error_solid() }}

    {{ _("mas.scope.synapse_admin") }}

  • +
  • {{ icon.room() }}

    {{ _("mas.scope.synapse_admin") }}

  • {% elif scope == "urn:mas:admin" %} -
  • {{ icon.error_solid() }}

    {{ _("mas.scope.mas_admin") }}

  • +
  • {{ icon.admin() }}

    {{ _("mas.scope.mas_admin") }}

  • {% elif scope is startingwith("urn:matrix:client:device:") or scope is startingwith("urn:matrix:org.matrix.msc2967.client:device:") %} {# We hide this scope #} {% else %}