Fix RTL layout in debug log and other popup windows

This commit is contained in:
ayumi-signal
2026-07-09 15:42:29 -07:00
committed by GitHub
parent 841756136b
commit cee7e78ea6
6 changed files with 29 additions and 0 deletions
+14
View File
@@ -0,0 +1,14 @@
// Copyright 2026 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
export function setDocumentLocale(document: Document): void {
document.documentElement.setAttribute(
'lang',
window.SignalContext.getResolvedMessagesLocale().split(/[-_]/)[0]
);
document.documentElement.setAttribute(
'dir',
window.SignalContext.getResolvedMessagesLocaleDirection()
);
}
+3
View File
@@ -7,10 +7,13 @@ import '../sandboxedInit.dom.ts';
import { About } from '../../components/About.dom.tsx';
import { strictAssert } from '../../util/assert.std.ts';
import { AppProvider } from '../AppProvider.dom.tsx';
import { setDocumentLocale } from '../../util/setDocumentLocale.dom.ts';
const { AboutWindowProps } = window.Signal;
const { i18n } = window.SignalContext;
setDocumentLocale(document);
strictAssert(AboutWindowProps, 'window values not provided');
const app = document.getElementById('app');
+3
View File
@@ -7,12 +7,15 @@ import '../sandboxedInit.dom.ts';
import { CallDiagnosticWindow } from '../../components/CallDiagnosticWindow.dom.tsx';
import { strictAssert } from '../../util/assert.std.ts';
import { AppProvider } from '../AppProvider.dom.tsx';
import { setDocumentLocale } from '../../util/setDocumentLocale.dom.ts';
const { CallDiagnosticWindowProps } = window.Signal;
strictAssert(CallDiagnosticWindowProps, 'window values not provided');
const { subscribe, getSnapshot } = CallDiagnosticWindowProps;
const { i18n } = window.SignalContext;
setDocumentLocale(document);
function App(): JSX.Element | null {
const diagnosticData = useSyncExternalStore(subscribe, getSnapshot);
+3
View File
@@ -6,10 +6,13 @@ import '../sandboxedInit.dom.ts';
import { DebugLogWindow } from '../../components/DebugLogWindow.dom.tsx';
import { strictAssert } from '../../util/assert.std.ts';
import { AppProvider } from '../AppProvider.dom.tsx';
import { setDocumentLocale } from '../../util/setDocumentLocale.dom.ts';
const { DebugLogWindowProps } = window.Signal;
const { i18n } = window.SignalContext;
setDocumentLocale(document);
strictAssert(DebugLogWindowProps, 'window values not provided');
const app = document.getElementById('app');
+3
View File
@@ -5,10 +5,13 @@ import '../sandboxedInit.dom.ts';
import { PermissionsPopup } from '../../components/PermissionsPopup.dom.tsx';
import { strictAssert } from '../../util/assert.std.ts';
import { AppProvider } from '../AppProvider.dom.tsx';
import { setDocumentLocale } from '../../util/setDocumentLocale.dom.ts';
const { PermissionsWindowProps } = window.Signal;
const { i18n } = window.SignalContext;
setDocumentLocale(document);
strictAssert(PermissionsWindowProps, 'window values not provided');
const { forCalling, forCamera } = PermissionsWindowProps;
+3
View File
@@ -7,10 +7,13 @@ import { strictAssert } from '../../util/assert.std.ts';
import { drop } from '../../util/drop.std.ts';
import { parseEnvironment, setEnvironment } from '../../environment.std.ts';
import { AppProvider } from '../AppProvider.dom.tsx';
import { setDocumentLocale } from '../../util/setDocumentLocale.dom.ts';
const { ScreenShareWindowProps } = window.Signal;
const { i18n } = window.SignalContext;
setDocumentLocale(document);
strictAssert(ScreenShareWindowProps, 'window values not provided');
setEnvironment(