Fix 'Failed check: Ellipsis' on Weblate (#10144)
* Fix 'Failed check: Ellipsis' on Weblate Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com> * Fix tests Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com> * Remove white space characters before the horizontal ellipsis from RoomPreviewBar Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com> * yarn run i18n Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com> * Additional change Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com> --------- Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
This commit is contained in:
parent
aded28ed25
commit
ea4000cf1e
48 changed files with 117 additions and 120 deletions
|
@ -327,7 +327,7 @@ export default class CreateKeyBackupDialog extends React.PureComponent<IProps, I
|
||||||
onChange={this.onPassPhraseConfirmChange}
|
onChange={this.onPassPhraseConfirmChange}
|
||||||
value={this.state.passPhraseConfirm}
|
value={this.state.passPhraseConfirm}
|
||||||
className="mx_CreateKeyBackupDialog_passPhraseInput"
|
className="mx_CreateKeyBackupDialog_passPhraseInput"
|
||||||
placeholder={_t("Repeat your Security Phrase...")}
|
placeholder={_t("Repeat your Security Phrase…")}
|
||||||
autoFocus={true}
|
autoFocus={true}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
@ -451,7 +451,7 @@ export default class CreateKeyBackupDialog extends React.PureComponent<IProps, I
|
||||||
case Phase.KeepItSafe:
|
case Phase.KeepItSafe:
|
||||||
return _t("Make a copy of your Security Key");
|
return _t("Make a copy of your Security Key");
|
||||||
case Phase.BackingUp:
|
case Phase.BackingUp:
|
||||||
return _t("Starting backup...");
|
return _t("Starting backup…");
|
||||||
case Phase.Done:
|
case Phase.Done:
|
||||||
return _t("Success!");
|
return _t("Success!");
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -654,7 +654,7 @@ const ManageButtons: React.FC<IManageButtonsProps> = ({ hierarchy, selected, set
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
let buttonText = _t("Saving...");
|
let buttonText = _t("Saving…");
|
||||||
if (!saving) {
|
if (!saving) {
|
||||||
buttonText = selectionAllSuggested ? _t("Mark as not suggested") : _t("Mark as suggested");
|
buttonText = selectionAllSuggested ? _t("Mark as not suggested") : _t("Mark as suggested");
|
||||||
}
|
}
|
||||||
|
@ -694,7 +694,7 @@ const ManageButtons: React.FC<IManageButtonsProps> = ({ hierarchy, selected, set
|
||||||
kind="danger_outline"
|
kind="danger_outline"
|
||||||
disabled={disabled}
|
disabled={disabled}
|
||||||
>
|
>
|
||||||
{removing ? _t("Removing...") : _t("Remove")}
|
{removing ? _t("Removing…") : _t("Remove")}
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
{...props}
|
{...props}
|
||||||
|
|
|
@ -366,7 +366,7 @@ const SpaceSetupFirstRooms: React.FC<{
|
||||||
let buttonLabel = _t("Skip for now");
|
let buttonLabel = _t("Skip for now");
|
||||||
if (roomNames.some((name) => name.trim())) {
|
if (roomNames.some((name) => name.trim())) {
|
||||||
onClick = onNextClick;
|
onClick = onNextClick;
|
||||||
buttonLabel = busy ? _t("Creating rooms...") : _t("Continue");
|
buttonLabel = busy ? _t("Creating rooms…") : _t("Continue");
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
@ -575,7 +575,7 @@ const SpaceSetupPrivateInvite: React.FC<{
|
||||||
let buttonLabel = _t("Skip for now");
|
let buttonLabel = _t("Skip for now");
|
||||||
if (emailAddresses.some((name) => name.trim())) {
|
if (emailAddresses.some((name) => name.trim())) {
|
||||||
onClick = onNextClick;
|
onClick = onNextClick;
|
||||||
buttonLabel = busy ? _t("Inviting...") : _t("Continue");
|
buttonLabel = busy ? _t("Inviting…") : _t("Continue");
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|
|
@ -594,7 +594,7 @@ export default class LoginComponent extends React.PureComponent<IProps, IState>
|
||||||
<div className="mx_AuthBody_paddedFooter">
|
<div className="mx_AuthBody_paddedFooter">
|
||||||
<div className="mx_AuthBody_paddedFooter_title">
|
<div className="mx_AuthBody_paddedFooter_title">
|
||||||
<InlineSpinner w={20} h={20} />
|
<InlineSpinner w={20} h={20} />
|
||||||
{this.props.isSyncing ? _t("Syncing...") : _t("Signing In...")}
|
{this.props.isSyncing ? _t("Syncing…") : _t("Signing In…")}
|
||||||
</div>
|
</div>
|
||||||
{this.props.isSyncing && (
|
{this.props.isSyncing && (
|
||||||
<div className="mx_AuthBody_paddedFooter_subtitle">
|
<div className="mx_AuthBody_paddedFooter_subtitle">
|
||||||
|
|
|
@ -203,7 +203,7 @@ export default class LoginWithQRFlow extends React.Component<IProps> {
|
||||||
main = this.simpleSpinner();
|
main = this.simpleSpinner();
|
||||||
break;
|
break;
|
||||||
case Phase.Connecting:
|
case Phase.Connecting:
|
||||||
main = this.simpleSpinner(_t("Connecting..."));
|
main = this.simpleSpinner(_t("Connecting…"));
|
||||||
buttons = this.cancelButton();
|
buttons = this.cancelButton();
|
||||||
break;
|
break;
|
||||||
case Phase.WaitingForDevice:
|
case Phase.WaitingForDevice:
|
||||||
|
|
|
@ -88,7 +88,7 @@ class PassphraseField extends PureComponent<IProps> {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
const { feedback } = complexity;
|
const { feedback } = complexity;
|
||||||
return feedback.warning || feedback.suggestions[0] || _t("Keep going...");
|
return feedback.warning || feedback.suggestions[0] || _t("Keep going…");
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
|
@ -61,7 +61,7 @@ const BeaconStatus: React.FC<Props & HTMLProps<HTMLDivElement>> = ({
|
||||||
)}
|
)}
|
||||||
<div className="mx_BeaconStatus_description">
|
<div className="mx_BeaconStatus_description">
|
||||||
{displayStatus === BeaconDisplayStatus.Loading && (
|
{displayStatus === BeaconDisplayStatus.Loading && (
|
||||||
<span className="mx_BeaconStatus_description_status">{_t("Loading live location...")}</span>
|
<span className="mx_BeaconStatus_description_status">{_t("Loading live location…")}</span>
|
||||||
)}
|
)}
|
||||||
{displayStatus === BeaconDisplayStatus.Stopped && (
|
{displayStatus === BeaconDisplayStatus.Stopped && (
|
||||||
<span className="mx_BeaconStatus_description_status">{_t("Live location ended")}</span>
|
<span className="mx_BeaconStatus_description_status">{_t("Live location ended")}</span>
|
||||||
|
|
|
@ -179,7 +179,7 @@ const CreateSubspaceDialog: React.FC<IProps> = ({ space, onAddExistingSpaceClick
|
||||||
{_t("Cancel")}
|
{_t("Cancel")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
<AccessibleButton kind="primary" disabled={busy} onClick={onCreateSubspaceClick}>
|
<AccessibleButton kind="primary" disabled={busy} onClick={onCreateSubspaceClick}>
|
||||||
{busy ? _t("Adding...") : _t("Add")}
|
{busy ? _t("Adding…") : _t("Add")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
</div>
|
</div>
|
||||||
</MatrixClientContext.Provider>
|
</MatrixClientContext.Provider>
|
||||||
|
|
|
@ -188,7 +188,7 @@ export default class DeactivateAccountDialog extends React.Component<IProps, ISt
|
||||||
error = <div className="error">{this.state.errStr}</div>;
|
error = <div className="error">{this.state.errStr}</div>;
|
||||||
}
|
}
|
||||||
|
|
||||||
let auth = <div>{_t("Loading...")}</div>;
|
let auth = <div>{_t("Loading…")}</div>;
|
||||||
if (this.state.authData && this.state.authEnabled) {
|
if (this.state.authData && this.state.authEnabled) {
|
||||||
auth = (
|
auth = (
|
||||||
<div>
|
<div>
|
||||||
|
|
|
@ -106,7 +106,7 @@ const ExportDialog: React.FC<IProps> = ({ room, onFinished }) => {
|
||||||
const [isExporting, setExporting] = useState(false);
|
const [isExporting, setExporting] = useState(false);
|
||||||
const sizeLimitRef = useRef<Field>();
|
const sizeLimitRef = useRef<Field>();
|
||||||
const messageCountRef = useRef<Field>();
|
const messageCountRef = useRef<Field>();
|
||||||
const [exportProgressText, setExportProgressText] = useState(_t("Processing..."));
|
const [exportProgressText, setExportProgressText] = useState(_t("Processing…"));
|
||||||
const [displayCancel, setCancelWarning] = useState(false);
|
const [displayCancel, setCancelWarning] = useState(false);
|
||||||
const [exportCancelled, setExportCancelled] = useState(false);
|
const [exportCancelled, setExportCancelled] = useState(false);
|
||||||
const [exportSuccessful, setExportSuccessful] = useState(false);
|
const [exportSuccessful, setExportSuccessful] = useState(false);
|
||||||
|
|
|
@ -243,7 +243,7 @@ export default class IncomingSasDialog extends React.Component<IProps, IState> {
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<Spinner />
|
<Spinner />
|
||||||
<p>{_t("Waiting for partner to confirm...")}</p>
|
<p>{_t("Waiting for partner to confirm…")}</p>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -78,7 +78,7 @@ export const SlidingSyncOptionsDialog: React.FC<IDialogProps> = ({ onFinished })
|
||||||
|
|
||||||
let nativeSupport: string;
|
let nativeSupport: string;
|
||||||
if (hasNativeSupport === null) {
|
if (hasNativeSupport === null) {
|
||||||
nativeSupport = _t("Checking...");
|
nativeSupport = _t("Checking…");
|
||||||
} else {
|
} else {
|
||||||
nativeSupport = hasNativeSupport
|
nativeSupport = hasNativeSupport
|
||||||
? _t("Your server has native support")
|
? _t("Your server has native support")
|
||||||
|
|
|
@ -49,7 +49,7 @@ export default class TextInputDialog extends React.Component<IProps, IState> {
|
||||||
title: "",
|
title: "",
|
||||||
value: "",
|
value: "",
|
||||||
description: "",
|
description: "",
|
||||||
busyMessage: _td("Loading..."),
|
busyMessage: _td("Loading…"),
|
||||||
focus: true,
|
focus: true,
|
||||||
hasCancel: true,
|
hasCancel: true,
|
||||||
};
|
};
|
||||||
|
|
|
@ -321,12 +321,12 @@ export default class RestoreKeyBackupDialog extends React.PureComponent<IProps,
|
||||||
title = _t("Restoring keys from backup");
|
title = _t("Restoring keys from backup");
|
||||||
let details;
|
let details;
|
||||||
if (this.state.progress.stage === ProgressState.Fetch) {
|
if (this.state.progress.stage === ProgressState.Fetch) {
|
||||||
details = _t("Fetching keys from server...");
|
details = _t("Fetching keys from server…");
|
||||||
} else if (this.state.progress.stage === ProgressState.LoadKeys) {
|
} else if (this.state.progress.stage === ProgressState.LoadKeys) {
|
||||||
const { total, successes, failures } = this.state.progress;
|
const { total, successes, failures } = this.state.progress;
|
||||||
details = _t("%(completed)s of %(total)s keys restored", { total, completed: successes + failures });
|
details = _t("%(completed)s of %(total)s keys restored", { total, completed: successes + failures });
|
||||||
} else if (this.state.progress.stage === ProgressState.PreFetch) {
|
} else if (this.state.progress.stage === ProgressState.PreFetch) {
|
||||||
details = _t("Fetching keys from server...");
|
details = _t("Fetching keys from server…");
|
||||||
}
|
}
|
||||||
content = (
|
content = (
|
||||||
<div>
|
<div>
|
||||||
|
|
|
@ -569,7 +569,7 @@ export default class AppTile extends React.Component<IProps, IState> {
|
||||||
|
|
||||||
const loadingElement = (
|
const loadingElement = (
|
||||||
<div className="mx_AppLoading_spinner_fadeIn">
|
<div className="mx_AppLoading_spinner_fadeIn">
|
||||||
<Spinner message={_t("Loading...")} />
|
<Spinner message={_t("Loading…")} />
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,7 @@ export default class InlineSpinner extends React.PureComponent<IProps> {
|
||||||
<div
|
<div
|
||||||
className="mx_InlineSpinner_icon mx_Spinner_icon"
|
className="mx_InlineSpinner_icon mx_Spinner_icon"
|
||||||
style={{ width: this.props.w, height: this.props.h }}
|
style={{ width: this.props.w, height: this.props.h }}
|
||||||
aria-label={_t("Loading...")}
|
aria-label={_t("Loading…")}
|
||||||
>
|
>
|
||||||
{this.props.children}
|
{this.props.children}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -208,7 +208,7 @@ export default class PollCreateDialog extends ScrollableBaseModal<IProps, IState
|
||||||
value={this.state.question}
|
value={this.state.question}
|
||||||
maxLength={MAX_QUESTION_LENGTH}
|
maxLength={MAX_QUESTION_LENGTH}
|
||||||
label={_t("Question or topic")}
|
label={_t("Question or topic")}
|
||||||
placeholder={_t("Write something...")}
|
placeholder={_t("Write something…")}
|
||||||
onChange={this.onQuestionChange}
|
onChange={this.onQuestionChange}
|
||||||
usePlaceholderAsHint={true}
|
usePlaceholderAsHint={true}
|
||||||
disabled={this.state.busy}
|
disabled={this.state.busy}
|
||||||
|
|
|
@ -42,7 +42,7 @@ export default class Spinner extends React.PureComponent<IProps> {
|
||||||
<div
|
<div
|
||||||
className="mx_Spinner_icon"
|
className="mx_Spinner_icon"
|
||||||
style={{ width: w, height: h }}
|
style={{ width: w, height: h }}
|
||||||
aria-label={_t("Loading...")}
|
aria-label={_t("Loading…")}
|
||||||
role="progressbar"
|
role="progressbar"
|
||||||
data-testid="spinner"
|
data-testid="spinner"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -151,7 +151,7 @@ export const DecryptionFailureBar: React.FC<IProps> = ({ failures }) => {
|
||||||
let body: JSX.Element;
|
let body: JSX.Element;
|
||||||
let button = <React.Fragment />;
|
let button = <React.Fragment />;
|
||||||
if (waiting) {
|
if (waiting) {
|
||||||
headline = <React.Fragment>{_t("Decrypting messages...")}</React.Fragment>;
|
headline = <React.Fragment>{_t("Decrypting messages…")}</React.Fragment>;
|
||||||
body = (
|
body = (
|
||||||
<React.Fragment>
|
<React.Fragment>
|
||||||
{_t("Please wait as we try to decrypt your messages. This may take a few moments.")}
|
{_t("Please wait as we try to decrypt your messages. This may take a few moments.")}
|
||||||
|
|
|
@ -1520,9 +1520,9 @@ function SentReceipt({ messageState }: ISentReceiptProps): JSX.Element {
|
||||||
nonCssBadge = <NotificationBadge notification={StaticNotificationState.RED_EXCLAMATION} />;
|
nonCssBadge = <NotificationBadge notification={StaticNotificationState.RED_EXCLAMATION} />;
|
||||||
}
|
}
|
||||||
|
|
||||||
let label = _t("Sending your message...");
|
let label = _t("Sending your message…");
|
||||||
if (messageState === "encrypting") {
|
if (messageState === "encrypting") {
|
||||||
label = _t("Encrypting your message...");
|
label = _t("Encrypting your message…");
|
||||||
} else if (isSent) {
|
} else if (isSent) {
|
||||||
label = _t("Your message was sent");
|
label = _t("Your message was sent");
|
||||||
} else if (isFailed) {
|
} else if (isFailed) {
|
||||||
|
|
|
@ -290,21 +290,21 @@ export default class RoomPreviewBar extends React.Component<IProps, IState> {
|
||||||
switch (messageCase) {
|
switch (messageCase) {
|
||||||
case MessageCase.Joining: {
|
case MessageCase.Joining: {
|
||||||
if (this.props.oobData?.roomType || isSpace) {
|
if (this.props.oobData?.roomType || isSpace) {
|
||||||
title = isSpace ? _t("Joining space …") : _t("Joining room …");
|
title = isSpace ? _t("Joining space…") : _t("Joining room…");
|
||||||
} else {
|
} else {
|
||||||
title = _t("Joining …");
|
title = _t("Joining…");
|
||||||
}
|
}
|
||||||
|
|
||||||
showSpinner = true;
|
showSpinner = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case MessageCase.Loading: {
|
case MessageCase.Loading: {
|
||||||
title = _t("Loading …");
|
title = _t("Loading…");
|
||||||
showSpinner = true;
|
showSpinner = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case MessageCase.Rejecting: {
|
case MessageCase.Rejecting: {
|
||||||
title = _t("Rejecting invite …");
|
title = _t("Rejecting invite…");
|
||||||
showSpinner = true;
|
showSpinner = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -89,7 +89,7 @@ export default class IntegrationManager extends React.Component<IProps, IState>
|
||||||
if (this.props.loading) {
|
if (this.props.loading) {
|
||||||
return (
|
return (
|
||||||
<div className="mx_IntegrationManager_loading">
|
<div className="mx_IntegrationManager_loading">
|
||||||
<Heading size="h3">{_t("Connecting to integration manager...")}</Heading>
|
<Heading size="h3">{_t("Connecting to integration manager…")}</Heading>
|
||||||
<Spinner />
|
<Spinner />
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
|
@ -273,7 +273,7 @@ export default class SecureBackupPanel extends React.PureComponent<{}, IState> {
|
||||||
} else if (sessionsRemaining > 0) {
|
} else if (sessionsRemaining > 0) {
|
||||||
uploadStatus = (
|
uploadStatus = (
|
||||||
<div>
|
<div>
|
||||||
{_t("Backing up %(sessionsRemaining)s keys...", { sessionsRemaining })} <br />
|
{_t("Backing up %(sessionsRemaining)s keys…", { sessionsRemaining })} <br />
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -35,11 +35,11 @@ function getStatusText(status: UpdateCheckStatus, errorDetail?: string): ReactNo
|
||||||
case UpdateCheckStatus.Error:
|
case UpdateCheckStatus.Error:
|
||||||
return _t("Error encountered (%(errorDetail)s).", { errorDetail });
|
return _t("Error encountered (%(errorDetail)s).", { errorDetail });
|
||||||
case UpdateCheckStatus.Checking:
|
case UpdateCheckStatus.Checking:
|
||||||
return _t("Checking for an update...");
|
return _t("Checking for an update…");
|
||||||
case UpdateCheckStatus.NotAvailable:
|
case UpdateCheckStatus.NotAvailable:
|
||||||
return _t("No update available.");
|
return _t("No update available.");
|
||||||
case UpdateCheckStatus.Downloading:
|
case UpdateCheckStatus.Downloading:
|
||||||
return _t("Downloading update...");
|
return _t("Downloading update…");
|
||||||
case UpdateCheckStatus.Ready:
|
case UpdateCheckStatus.Ready:
|
||||||
return _t(
|
return _t(
|
||||||
"New version available. <a>Update now.</a>",
|
"New version available. <a>Update now.</a>",
|
||||||
|
|
|
@ -345,7 +345,7 @@ export default class GeneralUserSettingsTab extends React.Component<IProps, ISta
|
||||||
threepidSection = <Spinner />;
|
threepidSection = <Spinner />;
|
||||||
}
|
}
|
||||||
|
|
||||||
let passwordChangeText = _t("Set a new account password...");
|
let passwordChangeText = _t("Set a new account password…");
|
||||||
if (!this.state.canChangePassword) {
|
if (!this.state.canChangePassword) {
|
||||||
// Just don't show anything if you can't do anything.
|
// Just don't show anything if you can't do anything.
|
||||||
passwordChangeText = null;
|
passwordChangeText = null;
|
||||||
|
|
|
@ -344,7 +344,7 @@ const SpaceCreateMenu: React.FC<{
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<AccessibleButton kind="primary" onClick={onSpaceCreateClick} disabled={busy}>
|
<AccessibleButton kind="primary" onClick={onSpaceCreateClick} disabled={busy}>
|
||||||
{busy ? _t("Creating...") : _t("Create")}
|
{busy ? _t("Creating…") : _t("Create")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
</React.Fragment>
|
</React.Fragment>
|
||||||
);
|
);
|
||||||
|
|
|
@ -123,7 +123,7 @@ const SpaceSettingsGeneralTab: React.FC<IProps> = ({ matrixClient: cli, space, o
|
||||||
{_t("Cancel")}
|
{_t("Cancel")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
<AccessibleButton onClick={onSave} disabled={busy} kind="primary">
|
<AccessibleButton onClick={onSave} disabled={busy} kind="primary">
|
||||||
{busy ? _t("Saving...") : _t("Save Changes")}
|
{busy ? _t("Saving…") : _t("Save Changes")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -694,7 +694,7 @@
|
||||||
"This homeserver has been blocked by its administrator.": "This homeserver has been blocked by its administrator.",
|
"This homeserver has been blocked by its administrator.": "This homeserver has been blocked by its administrator.",
|
||||||
"This homeserver has exceeded one of its resource limits.": "This homeserver has exceeded one of its resource limits.",
|
"This homeserver has exceeded one of its resource limits.": "This homeserver has exceeded one of its resource limits.",
|
||||||
"Please <a>contact your service administrator</a> to continue using the service.": "Please <a>contact your service administrator</a> to continue using the service.",
|
"Please <a>contact your service administrator</a> to continue using the service.": "Please <a>contact your service administrator</a> to continue using the service.",
|
||||||
"Unable to connect to Homeserver. Retrying...": "Unable to connect to Homeserver. Retrying...",
|
"Unable to connect to Homeserver. Retrying…": "Unable to connect to Homeserver. Retrying…",
|
||||||
"%(items)s and %(count)s others|other": "%(items)s and %(count)s others",
|
"%(items)s and %(count)s others|other": "%(items)s and %(count)s others",
|
||||||
"%(items)s and %(count)s others|one": "%(items)s and one other",
|
"%(items)s and %(count)s others|one": "%(items)s and one other",
|
||||||
"%(items)s and %(lastItem)s": "%(items)s and %(lastItem)s",
|
"%(items)s and %(lastItem)s": "%(items)s and %(lastItem)s",
|
||||||
|
@ -811,17 +811,17 @@
|
||||||
"Topic: %(topic)s": "Topic: %(topic)s",
|
"Topic: %(topic)s": "Topic: %(topic)s",
|
||||||
"Error fetching file": "Error fetching file",
|
"Error fetching file": "Error fetching file",
|
||||||
"Processing event %(number)s out of %(total)s": "Processing event %(number)s out of %(total)s",
|
"Processing event %(number)s out of %(total)s": "Processing event %(number)s out of %(total)s",
|
||||||
"Starting export...": "Starting export...",
|
"Starting export…": "Starting export…",
|
||||||
"Fetched %(count)s events in %(seconds)ss|other": "Fetched %(count)s events in %(seconds)ss",
|
"Fetched %(count)s events in %(seconds)ss|other": "Fetched %(count)s events in %(seconds)ss",
|
||||||
"Fetched %(count)s events in %(seconds)ss|one": "Fetched %(count)s event in %(seconds)ss",
|
"Fetched %(count)s events in %(seconds)ss|one": "Fetched %(count)s event in %(seconds)ss",
|
||||||
"Creating HTML...": "Creating HTML...",
|
"Creating HTML…": "Creating HTML…",
|
||||||
"Export successful!": "Export successful!",
|
"Export successful!": "Export successful!",
|
||||||
"Exported %(count)s events in %(seconds)s seconds|other": "Exported %(count)s events in %(seconds)s seconds",
|
"Exported %(count)s events in %(seconds)s seconds|other": "Exported %(count)s events in %(seconds)s seconds",
|
||||||
"Exported %(count)s events in %(seconds)s seconds|one": "Exported %(count)s event in %(seconds)s seconds",
|
"Exported %(count)s events in %(seconds)s seconds|one": "Exported %(count)s event in %(seconds)s seconds",
|
||||||
"File Attached": "File Attached",
|
"File Attached": "File Attached",
|
||||||
"Starting export process...": "Starting export process...",
|
"Starting export process…": "Starting export process…",
|
||||||
"Fetching events...": "Fetching events...",
|
"Fetching events…": "Fetching events…",
|
||||||
"Creating output...": "Creating output...",
|
"Creating output…": "Creating output…",
|
||||||
"Enable": "Enable",
|
"Enable": "Enable",
|
||||||
"That's fine": "That's fine",
|
"That's fine": "That's fine",
|
||||||
"Stop": "Stop",
|
"Stop": "Stop",
|
||||||
|
@ -1287,7 +1287,7 @@
|
||||||
"Your private space": "Your private space",
|
"Your private space": "Your private space",
|
||||||
"Add some details to help people recognise it.": "Add some details to help people recognise it.",
|
"Add some details to help people recognise it.": "Add some details to help people recognise it.",
|
||||||
"You can change these anytime.": "You can change these anytime.",
|
"You can change these anytime.": "You can change these anytime.",
|
||||||
"Creating...": "Creating...",
|
"Creating…": "Creating…",
|
||||||
"Create": "Create",
|
"Create": "Create",
|
||||||
"Show all rooms": "Show all rooms",
|
"Show all rooms": "Show all rooms",
|
||||||
"Options": "Options",
|
"Options": "Options",
|
||||||
|
@ -1302,7 +1302,7 @@
|
||||||
"Failed to save space settings.": "Failed to save space settings.",
|
"Failed to save space settings.": "Failed to save space settings.",
|
||||||
"General": "General",
|
"General": "General",
|
||||||
"Edit settings relating to your space.": "Edit settings relating to your space.",
|
"Edit settings relating to your space.": "Edit settings relating to your space.",
|
||||||
"Saving...": "Saving...",
|
"Saving…": "Saving…",
|
||||||
"Save Changes": "Save Changes",
|
"Save Changes": "Save Changes",
|
||||||
"Leave Space": "Leave Space",
|
"Leave Space": "Leave Space",
|
||||||
"Failed to update the guest access of this space": "Failed to update the guest access of this space",
|
"Failed to update the guest access of this space": "Failed to update the guest access of this space",
|
||||||
|
@ -1399,7 +1399,7 @@
|
||||||
"Use between %(min)s pt and %(max)s pt": "Use between %(min)s pt and %(max)s pt",
|
"Use between %(min)s pt and %(max)s pt": "Use between %(min)s pt and %(max)s pt",
|
||||||
"Image size in the timeline": "Image size in the timeline",
|
"Image size in the timeline": "Image size in the timeline",
|
||||||
"Large": "Large",
|
"Large": "Large",
|
||||||
"Connecting to integration manager...": "Connecting to integration manager...",
|
"Connecting to integration manager…": "Connecting to integration manager…",
|
||||||
"Cannot connect to integration manager": "Cannot connect to integration manager",
|
"Cannot connect to integration manager": "Cannot connect to integration manager",
|
||||||
"The integration manager is offline or it cannot reach your homeserver.": "The integration manager is offline or it cannot reach your homeserver.",
|
"The integration manager is offline or it cannot reach your homeserver.": "The integration manager is offline or it cannot reach your homeserver.",
|
||||||
"Integration manager": "Integration manager",
|
"Integration manager": "Integration manager",
|
||||||
|
@ -1461,7 +1461,7 @@
|
||||||
"This session is <b>not backing up your keys</b>, but you do have an existing backup you can restore from and add to going forward.": "This session is <b>not backing up your keys</b>, but you do have an existing backup you can restore from and add to going forward.",
|
"This session is <b>not backing up your keys</b>, but you do have an existing backup you can restore from and add to going forward.": "This session is <b>not backing up your keys</b>, but you do have an existing backup you can restore from and add to going forward.",
|
||||||
"Connect this session to key backup before signing out to avoid losing any keys that may only be on this session.": "Connect this session to key backup before signing out to avoid losing any keys that may only be on this session.",
|
"Connect this session to key backup before signing out to avoid losing any keys that may only be on this session.": "Connect this session to key backup before signing out to avoid losing any keys that may only be on this session.",
|
||||||
"Connect this session to Key Backup": "Connect this session to Key Backup",
|
"Connect this session to Key Backup": "Connect this session to Key Backup",
|
||||||
"Backing up %(sessionsRemaining)s keys...": "Backing up %(sessionsRemaining)s keys...",
|
"Backing up %(sessionsRemaining)s keys…": "Backing up %(sessionsRemaining)s keys…",
|
||||||
"All keys backed up": "All keys backed up",
|
"All keys backed up": "All keys backed up",
|
||||||
"Backup has a <validity>valid</validity> signature from this user": "Backup has a <validity>valid</validity> signature from this user",
|
"Backup has a <validity>valid</validity> signature from this user": "Backup has a <validity>valid</validity> signature from this user",
|
||||||
"Backup has a <validity>invalid</validity> signature from this user": "Backup has a <validity>invalid</validity> signature from this user",
|
"Backup has a <validity>invalid</validity> signature from this user": "Backup has a <validity>invalid</validity> signature from this user",
|
||||||
|
@ -1532,9 +1532,9 @@
|
||||||
"Custom theme URL": "Custom theme URL",
|
"Custom theme URL": "Custom theme URL",
|
||||||
"Add theme": "Add theme",
|
"Add theme": "Add theme",
|
||||||
"Error encountered (%(errorDetail)s).": "Error encountered (%(errorDetail)s).",
|
"Error encountered (%(errorDetail)s).": "Error encountered (%(errorDetail)s).",
|
||||||
"Checking for an update...": "Checking for an update...",
|
"Checking for an update…": "Checking for an update…",
|
||||||
"No update available.": "No update available.",
|
"No update available.": "No update available.",
|
||||||
"Downloading update...": "Downloading update...",
|
"Downloading update…": "Downloading update…",
|
||||||
"New version available. <a>Update now.</a>": "New version available. <a>Update now.</a>",
|
"New version available. <a>Update now.</a>": "New version available. <a>Update now.</a>",
|
||||||
"Check for update": "Check for update",
|
"Check for update": "Check for update",
|
||||||
"Set the name of a font installed on your system & %(brand)s will attempt to use it.": "Set the name of a font installed on your system & %(brand)s will attempt to use it.",
|
"Set the name of a font installed on your system & %(brand)s will attempt to use it.": "Set the name of a font installed on your system & %(brand)s will attempt to use it.",
|
||||||
|
@ -1546,7 +1546,7 @@
|
||||||
"Success": "Success",
|
"Success": "Success",
|
||||||
"Email addresses": "Email addresses",
|
"Email addresses": "Email addresses",
|
||||||
"Phone numbers": "Phone numbers",
|
"Phone numbers": "Phone numbers",
|
||||||
"Set a new account password...": "Set a new account password...",
|
"Set a new account password…": "Set a new account password…",
|
||||||
"Your account details are managed separately at <code>%(hostname)s</code>.": "Your account details are managed separately at <code>%(hostname)s</code>.",
|
"Your account details are managed separately at <code>%(hostname)s</code>.": "Your account details are managed separately at <code>%(hostname)s</code>.",
|
||||||
"Manage account": "Manage account",
|
"Manage account": "Manage account",
|
||||||
"Account": "Account",
|
"Account": "Account",
|
||||||
|
@ -1882,7 +1882,7 @@
|
||||||
"Remove %(phone)s?": "Remove %(phone)s?",
|
"Remove %(phone)s?": "Remove %(phone)s?",
|
||||||
"A text message has been sent to +%(msisdn)s. Please enter the verification code it contains.": "A text message has been sent to +%(msisdn)s. Please enter the verification code it contains.",
|
"A text message has been sent to +%(msisdn)s. Please enter the verification code it contains.": "A text message has been sent to +%(msisdn)s. Please enter the verification code it contains.",
|
||||||
"Phone Number": "Phone Number",
|
"Phone Number": "Phone Number",
|
||||||
"Decrypting messages...": "Decrypting messages...",
|
"Decrypting messages…": "Decrypting messages…",
|
||||||
"Please wait as we try to decrypt your messages. This may take a few moments.": "Please wait as we try to decrypt your messages. This may take a few moments.",
|
"Please wait as we try to decrypt your messages. This may take a few moments.": "Please wait as we try to decrypt your messages. This may take a few moments.",
|
||||||
"Verify this device to access all messages": "Verify this device to access all messages",
|
"Verify this device to access all messages": "Verify this device to access all messages",
|
||||||
"This device was unable to decrypt some messages because it has not been verified yet.": "This device was unable to decrypt some messages because it has not been verified yet.",
|
"This device was unable to decrypt some messages because it has not been verified yet.": "This device was unable to decrypt some messages because it has not been verified yet.",
|
||||||
|
@ -1911,8 +1911,8 @@
|
||||||
"Encrypted by a deleted session": "Encrypted by a deleted session",
|
"Encrypted by a deleted session": "Encrypted by a deleted session",
|
||||||
"The authenticity of this encrypted message can't be guaranteed on this device.": "The authenticity of this encrypted message can't be guaranteed on this device.",
|
"The authenticity of this encrypted message can't be guaranteed on this device.": "The authenticity of this encrypted message can't be guaranteed on this device.",
|
||||||
"This message could not be decrypted": "This message could not be decrypted",
|
"This message could not be decrypted": "This message could not be decrypted",
|
||||||
"Sending your message...": "Sending your message...",
|
"Sending your message…": "Sending your message…",
|
||||||
"Encrypting your message...": "Encrypting your message...",
|
"Encrypting your message…": "Encrypting your message…",
|
||||||
"Your message was sent": "Your message was sent",
|
"Your message was sent": "Your message was sent",
|
||||||
"Failed to send": "Failed to send",
|
"Failed to send": "Failed to send",
|
||||||
"You don't have permission to view messages from before you were invited.": "You don't have permission to view messages from before you were invited.",
|
"You don't have permission to view messages from before you were invited.": "You don't have permission to view messages from before you were invited.",
|
||||||
|
@ -2051,11 +2051,11 @@
|
||||||
"Currently removing messages in %(count)s rooms|one": "Currently removing messages in %(count)s room",
|
"Currently removing messages in %(count)s rooms|one": "Currently removing messages in %(count)s room",
|
||||||
"%(spaceName)s menu": "%(spaceName)s menu",
|
"%(spaceName)s menu": "%(spaceName)s menu",
|
||||||
"Home options": "Home options",
|
"Home options": "Home options",
|
||||||
"Joining space …": "Joining space …",
|
"Joining space…": "Joining space…",
|
||||||
"Joining room …": "Joining room …",
|
"Joining room…": "Joining room…",
|
||||||
"Joining …": "Joining …",
|
"Joining…": "Joining…",
|
||||||
"Loading …": "Loading …",
|
"Loading…": "Loading…",
|
||||||
"Rejecting invite …": "Rejecting invite …",
|
"Rejecting invite…": "Rejecting invite…",
|
||||||
"Join the room to participate": "Join the room to participate",
|
"Join the room to participate": "Join the room to participate",
|
||||||
"Join the conversation with an account": "Join the conversation with an account",
|
"Join the conversation with an account": "Join the conversation with an account",
|
||||||
"Sign Up": "Sign Up",
|
"Sign Up": "Sign Up",
|
||||||
|
@ -2122,7 +2122,6 @@
|
||||||
"%(count)s unread messages.|other": "%(count)s unread messages.",
|
"%(count)s unread messages.|other": "%(count)s unread messages.",
|
||||||
"%(count)s unread messages.|one": "1 unread message.",
|
"%(count)s unread messages.|one": "1 unread message.",
|
||||||
"Unread messages.": "Unread messages.",
|
"Unread messages.": "Unread messages.",
|
||||||
"Joining…": "Joining…",
|
|
||||||
"Joined": "Joined",
|
"Joined": "Joined",
|
||||||
"Upgrading this room will shut down the current instance of the room and create an upgraded room with the same name.": "Upgrading this room will shut down the current instance of the room and create an upgraded room with the same name.",
|
"Upgrading this room will shut down the current instance of the room and create an upgraded room with the same name.": "Upgrading this room will shut down the current instance of the room and create an upgraded room with the same name.",
|
||||||
"This room has already been upgraded.": "This room has already been upgraded.",
|
"This room has already been upgraded.": "This room has already been upgraded.",
|
||||||
|
@ -2485,7 +2484,6 @@
|
||||||
"Widgets do not use message encryption.": "Widgets do not use message encryption.",
|
"Widgets do not use message encryption.": "Widgets do not use message encryption.",
|
||||||
"Widget added by": "Widget added by",
|
"Widget added by": "Widget added by",
|
||||||
"This widget may use cookies.": "This widget may use cookies.",
|
"This widget may use cookies.": "This widget may use cookies.",
|
||||||
"Loading...": "Loading...",
|
|
||||||
"Error loading Widget": "Error loading Widget",
|
"Error loading Widget": "Error loading Widget",
|
||||||
"Error - Mixed content": "Error - Mixed content",
|
"Error - Mixed content": "Error - Mixed content",
|
||||||
"Un-maximise": "Un-maximise",
|
"Un-maximise": "Un-maximise",
|
||||||
|
@ -2584,7 +2582,7 @@
|
||||||
"Closed poll": "Closed poll",
|
"Closed poll": "Closed poll",
|
||||||
"What is your poll question or topic?": "What is your poll question or topic?",
|
"What is your poll question or topic?": "What is your poll question or topic?",
|
||||||
"Question or topic": "Question or topic",
|
"Question or topic": "Question or topic",
|
||||||
"Write something...": "Write something...",
|
"Write something…": "Write something…",
|
||||||
"Create options": "Create options",
|
"Create options": "Create options",
|
||||||
"Option %(number)s": "Option %(number)s",
|
"Option %(number)s": "Option %(number)s",
|
||||||
"Write an option": "Write an option",
|
"Write an option": "Write an option",
|
||||||
|
@ -2750,7 +2748,7 @@
|
||||||
"Space visibility": "Space visibility",
|
"Space visibility": "Space visibility",
|
||||||
"Private space (invite only)": "Private space (invite only)",
|
"Private space (invite only)": "Private space (invite only)",
|
||||||
"Want to add an existing space instead?": "Want to add an existing space instead?",
|
"Want to add an existing space instead?": "Want to add an existing space instead?",
|
||||||
"Adding...": "Adding...",
|
"Adding…": "Adding…",
|
||||||
"To avoid losing your chat history, you must export your room keys before logging out. You will need to go back to the newer version of %(brand)s to do this": "To avoid losing your chat history, you must export your room keys before logging out. You will need to go back to the newer version of %(brand)s to do this",
|
"To avoid losing your chat history, you must export your room keys before logging out. You will need to go back to the newer version of %(brand)s to do this": "To avoid losing your chat history, you must export your room keys before logging out. You will need to go back to the newer version of %(brand)s to do this",
|
||||||
"You've previously used a newer version of %(brand)s with this session. To use this version again with end to end encryption, you will need to sign out and back in again.": "You've previously used a newer version of %(brand)s with this session. To use this version again with end to end encryption, you will need to sign out and back in again.",
|
"You've previously used a newer version of %(brand)s with this session. To use this version again with end to end encryption, you will need to sign out and back in again.": "You've previously used a newer version of %(brand)s with this session. To use this version again with end to end encryption, you will need to sign out and back in again.",
|
||||||
"Incompatible Database": "Incompatible Database",
|
"Incompatible Database": "Incompatible Database",
|
||||||
|
@ -2791,7 +2789,7 @@
|
||||||
"End Poll": "End Poll",
|
"End Poll": "End Poll",
|
||||||
"Are you sure you want to end this poll? This will show the final results of the poll and stop people from being able to vote.": "Are you sure you want to end this poll? This will show the final results of the poll and stop people from being able to vote.",
|
"Are you sure you want to end this poll? This will show the final results of the poll and stop people from being able to vote.": "Are you sure you want to end this poll? This will show the final results of the poll and stop people from being able to vote.",
|
||||||
"An error has occurred.": "An error has occurred.",
|
"An error has occurred.": "An error has occurred.",
|
||||||
"Processing...": "Processing...",
|
"Processing…": "Processing…",
|
||||||
"Enter a number between %(min)s and %(max)s": "Enter a number between %(min)s and %(max)s",
|
"Enter a number between %(min)s and %(max)s": "Enter a number between %(min)s and %(max)s",
|
||||||
"Size can only be a number between %(min)s MB and %(max)s MB": "Size can only be a number between %(min)s MB and %(max)s MB",
|
"Size can only be a number between %(min)s MB and %(max)s MB": "Size can only be a number between %(min)s MB and %(max)s MB",
|
||||||
"Number of messages can only be a number between %(min)s and %(max)s": "Number of messages can only be a number between %(min)s and %(max)s",
|
"Number of messages can only be a number between %(min)s and %(max)s": "Number of messages can only be a number between %(min)s and %(max)s",
|
||||||
|
@ -2845,7 +2843,7 @@
|
||||||
"Verifying this user will mark their session as trusted, and also mark your session as trusted to them.": "Verifying this user will mark their session as trusted, and also mark your session as trusted to them.",
|
"Verifying this user will mark their session as trusted, and also mark your session as trusted to them.": "Verifying this user will mark their session as trusted, and also mark your session as trusted to them.",
|
||||||
"Verify this device to mark it as trusted. Trusting this device gives you and other users extra peace of mind when using end-to-end encrypted messages.": "Verify this device to mark it as trusted. Trusting this device gives you and other users extra peace of mind when using end-to-end encrypted messages.",
|
"Verify this device to mark it as trusted. Trusting this device gives you and other users extra peace of mind when using end-to-end encrypted messages.": "Verify this device to mark it as trusted. Trusting this device gives you and other users extra peace of mind when using end-to-end encrypted messages.",
|
||||||
"Verifying this device will mark it as trusted, and users who have verified with you will trust this device.": "Verifying this device will mark it as trusted, and users who have verified with you will trust this device.",
|
"Verifying this device will mark it as trusted, and users who have verified with you will trust this device.": "Verifying this device will mark it as trusted, and users who have verified with you will trust this device.",
|
||||||
"Waiting for partner to confirm...": "Waiting for partner to confirm...",
|
"Waiting for partner to confirm…": "Waiting for partner to confirm…",
|
||||||
"Incoming Verification Request": "Incoming Verification Request",
|
"Incoming Verification Request": "Incoming Verification Request",
|
||||||
"Integrations are disabled": "Integrations are disabled",
|
"Integrations are disabled": "Integrations are disabled",
|
||||||
"Enable '%(manageIntegrations)s' in Settings to do this.": "Enable '%(manageIntegrations)s' in Settings to do this.",
|
"Enable '%(manageIntegrations)s' in Settings to do this.": "Enable '%(manageIntegrations)s' in Settings to do this.",
|
||||||
|
@ -3020,7 +3018,7 @@
|
||||||
"Link to selected message": "Link to selected message",
|
"Link to selected message": "Link to selected message",
|
||||||
"Link to room": "Link to room",
|
"Link to room": "Link to room",
|
||||||
"Command Help": "Command Help",
|
"Command Help": "Command Help",
|
||||||
"Checking...": "Checking...",
|
"Checking…": "Checking…",
|
||||||
"Your server has native support": "Your server has native support",
|
"Your server has native support": "Your server has native support",
|
||||||
"Your server lacks native support": "Your server lacks native support",
|
"Your server lacks native support": "Your server lacks native support",
|
||||||
"Your server lacks native support, you must specify a proxy": "Your server lacks native support, you must specify a proxy",
|
"Your server lacks native support, you must specify a proxy": "Your server lacks native support, you must specify a proxy",
|
||||||
|
@ -3122,7 +3120,7 @@
|
||||||
"Click the button below to confirm setting up encryption.": "Click the button below to confirm setting up encryption.",
|
"Click the button below to confirm setting up encryption.": "Click the button below to confirm setting up encryption.",
|
||||||
"Unable to set up keys": "Unable to set up keys",
|
"Unable to set up keys": "Unable to set up keys",
|
||||||
"Restoring keys from backup": "Restoring keys from backup",
|
"Restoring keys from backup": "Restoring keys from backup",
|
||||||
"Fetching keys from server...": "Fetching keys from server...",
|
"Fetching keys from server…": "Fetching keys from server…",
|
||||||
"%(completed)s of %(total)s keys restored": "%(completed)s of %(total)s keys restored",
|
"%(completed)s of %(total)s keys restored": "%(completed)s of %(total)s keys restored",
|
||||||
"Unable to load backup status": "Unable to load backup status",
|
"Unable to load backup status": "Unable to load backup status",
|
||||||
"Security Key mismatch": "Security Key mismatch",
|
"Security Key mismatch": "Security Key mismatch",
|
||||||
|
@ -3265,7 +3263,7 @@
|
||||||
"Join the beta": "Join the beta",
|
"Join the beta": "Join the beta",
|
||||||
"Updated %(humanizedUpdateTime)s": "Updated %(humanizedUpdateTime)s",
|
"Updated %(humanizedUpdateTime)s": "Updated %(humanizedUpdateTime)s",
|
||||||
"Live until %(expiryTime)s": "Live until %(expiryTime)s",
|
"Live until %(expiryTime)s": "Live until %(expiryTime)s",
|
||||||
"Loading live location...": "Loading live location...",
|
"Loading live location…": "Loading live location…",
|
||||||
"Live location ended": "Live location ended",
|
"Live location ended": "Live location ended",
|
||||||
"Live location error": "Live location error",
|
"Live location error": "Live location error",
|
||||||
"No live locations": "No live locations",
|
"No live locations": "No live locations",
|
||||||
|
@ -3325,13 +3323,13 @@
|
||||||
"Select '%(scanQRCode)s'": "Select '%(scanQRCode)s'",
|
"Select '%(scanQRCode)s'": "Select '%(scanQRCode)s'",
|
||||||
"Scan QR code": "Scan QR code",
|
"Scan QR code": "Scan QR code",
|
||||||
"Review and approve the sign in": "Review and approve the sign in",
|
"Review and approve the sign in": "Review and approve the sign in",
|
||||||
"Connecting...": "Connecting...",
|
"Connecting…": "Connecting…",
|
||||||
"Waiting for device to sign in": "Waiting for device to sign in",
|
"Waiting for device to sign in": "Waiting for device to sign in",
|
||||||
"Completing set up of your new device": "Completing set up of your new device",
|
"Completing set up of your new device": "Completing set up of your new device",
|
||||||
"Enter password": "Enter password",
|
"Enter password": "Enter password",
|
||||||
"Nice, strong password!": "Nice, strong password!",
|
"Nice, strong password!": "Nice, strong password!",
|
||||||
"Password is allowed, but unsafe": "Password is allowed, but unsafe",
|
"Password is allowed, but unsafe": "Password is allowed, but unsafe",
|
||||||
"Keep going...": "Keep going...",
|
"Keep going…": "Keep going…",
|
||||||
"Enter username": "Enter username",
|
"Enter username": "Enter username",
|
||||||
"Enter phone number": "Enter phone number",
|
"Enter phone number": "Enter phone number",
|
||||||
"That phone number doesn't look quite right, please check and try again": "That phone number doesn't look quite right, please check and try again",
|
"That phone number doesn't look quite right, please check and try again": "That phone number doesn't look quite right, please check and try again",
|
||||||
|
@ -3427,7 +3425,6 @@
|
||||||
"Mark as not suggested": "Mark as not suggested",
|
"Mark as not suggested": "Mark as not suggested",
|
||||||
"Mark as suggested": "Mark as suggested",
|
"Mark as suggested": "Mark as suggested",
|
||||||
"Failed to remove some rooms. Try again later": "Failed to remove some rooms. Try again later",
|
"Failed to remove some rooms. Try again later": "Failed to remove some rooms. Try again later",
|
||||||
"Removing...": "Removing...",
|
|
||||||
"Failed to load list of rooms.": "Failed to load list of rooms.",
|
"Failed to load list of rooms.": "Failed to load list of rooms.",
|
||||||
"Your server does not support showing space hierarchies.": "Your server does not support showing space hierarchies.",
|
"Your server does not support showing space hierarchies.": "Your server does not support showing space hierarchies.",
|
||||||
"You may want to try a different search or check for typos.": "You may want to try a different search or check for typos.",
|
"You may want to try a different search or check for typos.": "You may want to try a different search or check for typos.",
|
||||||
|
@ -3440,7 +3437,7 @@
|
||||||
"Room name": "Room name",
|
"Room name": "Room name",
|
||||||
"Failed to create initial space rooms": "Failed to create initial space rooms",
|
"Failed to create initial space rooms": "Failed to create initial space rooms",
|
||||||
"Skip for now": "Skip for now",
|
"Skip for now": "Skip for now",
|
||||||
"Creating rooms...": "Creating rooms...",
|
"Creating rooms…": "Creating rooms…",
|
||||||
"What do you want to organise?": "What do you want to organise?",
|
"What do you want to organise?": "What do you want to organise?",
|
||||||
"Pick rooms or conversations to add. This is just a space for you, no one will be informed. You can add more later.": "Pick rooms or conversations to add. This is just a space for you, no one will be informed. You can add more later.",
|
"Pick rooms or conversations to add. This is just a space for you, no one will be informed. You can add more later.": "Pick rooms or conversations to add. This is just a space for you, no one will be informed. You can add more later.",
|
||||||
"Search for rooms or spaces": "Search for rooms or spaces",
|
"Search for rooms or spaces": "Search for rooms or spaces",
|
||||||
|
@ -3455,7 +3452,7 @@
|
||||||
"Me and my teammates": "Me and my teammates",
|
"Me and my teammates": "Me and my teammates",
|
||||||
"A private space for you and your teammates": "A private space for you and your teammates",
|
"A private space for you and your teammates": "A private space for you and your teammates",
|
||||||
"Failed to invite the following users to your space: %(csvUsers)s": "Failed to invite the following users to your space: %(csvUsers)s",
|
"Failed to invite the following users to your space: %(csvUsers)s": "Failed to invite the following users to your space: %(csvUsers)s",
|
||||||
"Inviting...": "Inviting...",
|
"Inviting…": "Inviting…",
|
||||||
"Invite your teammates": "Invite your teammates",
|
"Invite your teammates": "Invite your teammates",
|
||||||
"Make sure the right people have access. You can invite more later.": "Make sure the right people have access. You can invite more later.",
|
"Make sure the right people have access. You can invite more later.": "Make sure the right people have access. You can invite more later.",
|
||||||
"<b>This is an experimental feature.</b> For now, new users receiving an invite will have to open the invite on <link/> to actually join.": "<b>This is an experimental feature.</b> For now, new users receiving an invite will have to open the invite on <link/> to actually join.",
|
"<b>This is an experimental feature.</b> For now, new users receiving an invite will have to open the invite on <link/> to actually join.": "<b>This is an experimental feature.</b> For now, new users receiving an invite will have to open the invite on <link/> to actually join.",
|
||||||
|
@ -3531,8 +3528,8 @@
|
||||||
"There was a problem communicating with the homeserver, please try again later.": "There was a problem communicating with the homeserver, please try again later.",
|
"There was a problem communicating with the homeserver, please try again later.": "There was a problem communicating with the homeserver, please try again later.",
|
||||||
"Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or <a>enable unsafe scripts</a>.": "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or <a>enable unsafe scripts</a>.",
|
"Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or <a>enable unsafe scripts</a>.": "Can't connect to homeserver via HTTP when an HTTPS URL is in your browser bar. Either use HTTPS or <a>enable unsafe scripts</a>.",
|
||||||
"Can't connect to homeserver - please check your connectivity, ensure your <a>homeserver's SSL certificate</a> is trusted, and that a browser extension is not blocking requests.": "Can't connect to homeserver - please check your connectivity, ensure your <a>homeserver's SSL certificate</a> is trusted, and that a browser extension is not blocking requests.",
|
"Can't connect to homeserver - please check your connectivity, ensure your <a>homeserver's SSL certificate</a> is trusted, and that a browser extension is not blocking requests.": "Can't connect to homeserver - please check your connectivity, ensure your <a>homeserver's SSL certificate</a> is trusted, and that a browser extension is not blocking requests.",
|
||||||
"Syncing...": "Syncing...",
|
"Syncing…": "Syncing…",
|
||||||
"Signing In...": "Signing In...",
|
"Signing In…": "Signing In…",
|
||||||
"If you've joined lots of rooms, this might take a while": "If you've joined lots of rooms, this might take a while",
|
"If you've joined lots of rooms, this might take a while": "If you've joined lots of rooms, this might take a while",
|
||||||
"New? <a>Create account</a>": "New? <a>Create account</a>",
|
"New? <a>Create account</a>": "New? <a>Create account</a>",
|
||||||
"Registration has been disabled on this homeserver.": "Registration has been disabled on this homeserver.",
|
"Registration has been disabled on this homeserver.": "Registration has been disabled on this homeserver.",
|
||||||
|
@ -3605,7 +3602,7 @@
|
||||||
"That doesn't match.": "That doesn't match.",
|
"That doesn't match.": "That doesn't match.",
|
||||||
"Go back to set it again.": "Go back to set it again.",
|
"Go back to set it again.": "Go back to set it again.",
|
||||||
"Enter your Security Phrase a second time to confirm it.": "Enter your Security Phrase a second time to confirm it.",
|
"Enter your Security Phrase a second time to confirm it.": "Enter your Security Phrase a second time to confirm it.",
|
||||||
"Repeat your Security Phrase...": "Repeat your Security Phrase...",
|
"Repeat your Security Phrase…": "Repeat your Security Phrase…",
|
||||||
"Your Security Key is a safety net - you can use it to restore access to your encrypted messages if you forget your Security Phrase.": "Your Security Key is a safety net - you can use it to restore access to your encrypted messages if you forget your Security Phrase.",
|
"Your Security Key is a safety net - you can use it to restore access to your encrypted messages if you forget your Security Phrase.": "Your Security Key is a safety net - you can use it to restore access to your encrypted messages if you forget your Security Phrase.",
|
||||||
"Keep a copy of it somewhere secure, like a password manager or even a safe.": "Keep a copy of it somewhere secure, like a password manager or even a safe.",
|
"Keep a copy of it somewhere secure, like a password manager or even a safe.": "Keep a copy of it somewhere secure, like a password manager or even a safe.",
|
||||||
"Your Security Key": "Your Security Key",
|
"Your Security Key": "Your Security Key",
|
||||||
|
@ -3620,7 +3617,7 @@
|
||||||
"Secure your backup with a Security Phrase": "Secure your backup with a Security Phrase",
|
"Secure your backup with a Security Phrase": "Secure your backup with a Security Phrase",
|
||||||
"Confirm your Security Phrase": "Confirm your Security Phrase",
|
"Confirm your Security Phrase": "Confirm your Security Phrase",
|
||||||
"Make a copy of your Security Key": "Make a copy of your Security Key",
|
"Make a copy of your Security Key": "Make a copy of your Security Key",
|
||||||
"Starting backup...": "Starting backup...",
|
"Starting backup…": "Starting backup…",
|
||||||
"Success!": "Success!",
|
"Success!": "Success!",
|
||||||
"Create key backup": "Create key backup",
|
"Create key backup": "Create key backup",
|
||||||
"Unable to create key backup": "Unable to create key backup",
|
"Unable to create key backup": "Unable to create key backup",
|
||||||
|
|
|
@ -78,6 +78,6 @@ export function messageForSyncError(err: Error): ReactNode {
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
return <div>{_t("Unable to connect to Homeserver. Retrying...")}</div>;
|
return <div>{_t("Unable to connect to Homeserver. Retrying…")}</div>;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -413,7 +413,7 @@ export default class HTMLExporter extends Exporter {
|
||||||
}
|
}
|
||||||
|
|
||||||
public async export(): Promise<void> {
|
public async export(): Promise<void> {
|
||||||
this.updateProgress(_t("Starting export..."));
|
this.updateProgress(_t("Starting export…"));
|
||||||
|
|
||||||
const fetchStart = performance.now();
|
const fetchStart = performance.now();
|
||||||
const res = await this.getRequiredEvents();
|
const res = await this.getRequiredEvents();
|
||||||
|
@ -428,7 +428,7 @@ export default class HTMLExporter extends Exporter {
|
||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
|
|
||||||
this.updateProgress(_t("Creating HTML..."));
|
this.updateProgress(_t("Creating HTML…"));
|
||||||
|
|
||||||
const usedClasses = new Set<string>();
|
const usedClasses = new Set<string>();
|
||||||
for (let page = 0; page < res.length / 1000; page++) {
|
for (let page = 0; page < res.length / 1000; page++) {
|
||||||
|
|
|
@ -128,8 +128,8 @@ export default class PlainTextExporter extends Exporter {
|
||||||
}
|
}
|
||||||
|
|
||||||
public async export(): Promise<void> {
|
public async export(): Promise<void> {
|
||||||
this.updateProgress(_t("Starting export process..."));
|
this.updateProgress(_t("Starting export process…"));
|
||||||
this.updateProgress(_t("Fetching events..."));
|
this.updateProgress(_t("Fetching events…"));
|
||||||
|
|
||||||
const fetchStart = performance.now();
|
const fetchStart = performance.now();
|
||||||
const res = await this.getRequiredEvents();
|
const res = await this.getRequiredEvents();
|
||||||
|
@ -137,7 +137,7 @@ export default class PlainTextExporter extends Exporter {
|
||||||
|
|
||||||
logger.log(`Fetched ${res.length} events in ${(fetchEnd - fetchStart) / 1000}s`);
|
logger.log(`Fetched ${res.length} events in ${(fetchEnd - fetchStart) / 1000}s`);
|
||||||
|
|
||||||
this.updateProgress(_t("Creating output..."));
|
this.updateProgress(_t("Creating output…"));
|
||||||
const text = await this.createOutput(res);
|
const text = await this.createOutput(res);
|
||||||
|
|
||||||
if (this.files.length) {
|
if (this.files.length) {
|
||||||
|
|
|
@ -79,7 +79,7 @@ exports[`RoomView for a local room in state CREATING should match the snapshot 1
|
||||||
class="mx_Spinner"
|
class="mx_Spinner"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
aria-label="Loading..."
|
aria-label="Loading…"
|
||||||
class="mx_Spinner_icon"
|
class="mx_Spinner_icon"
|
||||||
data-testid="spinner"
|
data-testid="spinner"
|
||||||
role="progressbar"
|
role="progressbar"
|
||||||
|
|
|
@ -86,7 +86,7 @@ describe("Login", function () {
|
||||||
disable_custom_urls: false,
|
disable_custom_urls: false,
|
||||||
});
|
});
|
||||||
const { container } = getComponent();
|
const { container } = getComponent();
|
||||||
await waitForElementToBeRemoved(() => screen.queryAllByLabelText("Loading..."));
|
await waitForElementToBeRemoved(() => screen.queryAllByLabelText("Loading…"));
|
||||||
|
|
||||||
expect(container.querySelector("form")).toBeTruthy();
|
expect(container.querySelector("form")).toBeTruthy();
|
||||||
|
|
||||||
|
@ -95,7 +95,7 @@ describe("Login", function () {
|
||||||
|
|
||||||
it("should show form without change server link when custom URLs disabled", async () => {
|
it("should show form without change server link when custom URLs disabled", async () => {
|
||||||
const { container } = getComponent();
|
const { container } = getComponent();
|
||||||
await waitForElementToBeRemoved(() => screen.queryAllByLabelText("Loading..."));
|
await waitForElementToBeRemoved(() => screen.queryAllByLabelText("Loading…"));
|
||||||
|
|
||||||
expect(container.querySelector("form")).toBeTruthy();
|
expect(container.querySelector("form")).toBeTruthy();
|
||||||
expect(container.querySelectorAll(".mx_ServerPicker_change")).toHaveLength(0);
|
expect(container.querySelectorAll(".mx_ServerPicker_change")).toHaveLength(0);
|
||||||
|
@ -105,7 +105,7 @@ describe("Login", function () {
|
||||||
mockClient.loginFlows.mockResolvedValue({ flows: [{ type: "m.login.sso" }] });
|
mockClient.loginFlows.mockResolvedValue({ flows: [{ type: "m.login.sso" }] });
|
||||||
|
|
||||||
const { container } = getComponent();
|
const { container } = getComponent();
|
||||||
await waitForElementToBeRemoved(() => screen.queryAllByLabelText("Loading..."));
|
await waitForElementToBeRemoved(() => screen.queryAllByLabelText("Loading…"));
|
||||||
|
|
||||||
const ssoButton = container.querySelector(".mx_SSOButton");
|
const ssoButton = container.querySelector(".mx_SSOButton");
|
||||||
expect(ssoButton).toBeTruthy();
|
expect(ssoButton).toBeTruthy();
|
||||||
|
@ -115,7 +115,7 @@ describe("Login", function () {
|
||||||
mockClient.loginFlows.mockResolvedValue({ flows: [{ type: "m.login.password" }, { type: "m.login.sso" }] });
|
mockClient.loginFlows.mockResolvedValue({ flows: [{ type: "m.login.password" }, { type: "m.login.sso" }] });
|
||||||
|
|
||||||
const { container } = getComponent();
|
const { container } = getComponent();
|
||||||
await waitForElementToBeRemoved(() => screen.queryAllByLabelText("Loading..."));
|
await waitForElementToBeRemoved(() => screen.queryAllByLabelText("Loading…"));
|
||||||
|
|
||||||
expect(container.querySelector("form")).toBeTruthy();
|
expect(container.querySelector("form")).toBeTruthy();
|
||||||
|
|
||||||
|
@ -147,7 +147,7 @@ describe("Login", function () {
|
||||||
});
|
});
|
||||||
|
|
||||||
const { container } = getComponent();
|
const { container } = getComponent();
|
||||||
await waitForElementToBeRemoved(() => screen.queryAllByLabelText("Loading..."));
|
await waitForElementToBeRemoved(() => screen.queryAllByLabelText("Loading…"));
|
||||||
|
|
||||||
const ssoButtons = container.querySelectorAll(".mx_SSOButton");
|
const ssoButtons = container.querySelectorAll(".mx_SSOButton");
|
||||||
expect(ssoButtons.length).toBe(3);
|
expect(ssoButtons.length).toBe(3);
|
||||||
|
@ -163,7 +163,7 @@ describe("Login", function () {
|
||||||
});
|
});
|
||||||
|
|
||||||
const { container } = getComponent();
|
const { container } = getComponent();
|
||||||
await waitForElementToBeRemoved(() => screen.queryAllByLabelText("Loading..."));
|
await waitForElementToBeRemoved(() => screen.queryAllByLabelText("Loading…"));
|
||||||
|
|
||||||
const ssoButtons = container.querySelectorAll(".mx_SSOButton");
|
const ssoButtons = container.querySelectorAll(".mx_SSOButton");
|
||||||
expect(ssoButtons.length).toBe(1);
|
expect(ssoButtons.length).toBe(1);
|
||||||
|
@ -179,7 +179,7 @@ describe("Login", function () {
|
||||||
});
|
});
|
||||||
|
|
||||||
const { container, rerender } = render(getRawComponent());
|
const { container, rerender } = render(getRawComponent());
|
||||||
await waitForElementToBeRemoved(() => screen.queryAllByLabelText("Loading..."));
|
await waitForElementToBeRemoved(() => screen.queryAllByLabelText("Loading…"));
|
||||||
|
|
||||||
fireEvent.click(container.querySelector(".mx_SSOButton"));
|
fireEvent.click(container.querySelector(".mx_SSOButton"));
|
||||||
expect(platform.startSingleSignOn.mock.calls[0][0].baseUrl).toBe("https://matrix.org");
|
expect(platform.startSingleSignOn.mock.calls[0][0].baseUrl).toBe("https://matrix.org");
|
||||||
|
@ -208,7 +208,7 @@ describe("Login", function () {
|
||||||
});
|
});
|
||||||
|
|
||||||
const { container } = getComponent();
|
const { container } = getComponent();
|
||||||
await waitForElementToBeRemoved(() => screen.queryAllByLabelText("Loading..."));
|
await waitForElementToBeRemoved(() => screen.queryAllByLabelText("Loading…"));
|
||||||
|
|
||||||
const ssoButtons = container.querySelectorAll(".mx_SSOButton");
|
const ssoButtons = container.querySelectorAll(".mx_SSOButton");
|
||||||
|
|
||||||
|
@ -242,7 +242,7 @@ describe("Login", function () {
|
||||||
});
|
});
|
||||||
|
|
||||||
const { container } = getComponent();
|
const { container } = getComponent();
|
||||||
await waitForElementToBeRemoved(() => screen.queryAllByLabelText("Loading..."));
|
await waitForElementToBeRemoved(() => screen.queryAllByLabelText("Loading…"));
|
||||||
|
|
||||||
for (const idp of idpsWithIcons) {
|
for (const idp of idpsWithIcons) {
|
||||||
const ssoButton = container.querySelector(`.mx_SSOButton.mx_SSOButton_brand_${idp.brand}`);
|
const ssoButton = container.querySelector(`.mx_SSOButton.mx_SSOButton_brand_${idp.brand}`);
|
||||||
|
|
|
@ -93,14 +93,14 @@ describe("Registration", function () {
|
||||||
|
|
||||||
it("should show form when custom URLs disabled", async function () {
|
it("should show form when custom URLs disabled", async function () {
|
||||||
const { container } = getComponent();
|
const { container } = getComponent();
|
||||||
await waitForElementToBeRemoved(() => screen.queryAllByLabelText("Loading..."));
|
await waitForElementToBeRemoved(() => screen.queryAllByLabelText("Loading…"));
|
||||||
expect(container.querySelector("form")).toBeTruthy();
|
expect(container.querySelector("form")).toBeTruthy();
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should show SSO options if those are available", async () => {
|
it("should show SSO options if those are available", async () => {
|
||||||
mockClient.loginFlows.mockClear().mockResolvedValue({ flows: [{ type: "m.login.sso" }] });
|
mockClient.loginFlows.mockClear().mockResolvedValue({ flows: [{ type: "m.login.sso" }] });
|
||||||
const { container } = getComponent();
|
const { container } = getComponent();
|
||||||
await waitForElementToBeRemoved(() => screen.queryAllByLabelText("Loading..."));
|
await waitForElementToBeRemoved(() => screen.queryAllByLabelText("Loading…"));
|
||||||
|
|
||||||
const ssoButton = container.querySelector(".mx_SSOButton");
|
const ssoButton = container.querySelector(".mx_SSOButton");
|
||||||
expect(ssoButton).toBeTruthy();
|
expect(ssoButton).toBeTruthy();
|
||||||
|
@ -116,7 +116,7 @@ describe("Registration", function () {
|
||||||
});
|
});
|
||||||
|
|
||||||
const { container, rerender } = render(getRawComponent());
|
const { container, rerender } = render(getRawComponent());
|
||||||
await waitForElementToBeRemoved(() => screen.queryAllByLabelText("Loading..."));
|
await waitForElementToBeRemoved(() => screen.queryAllByLabelText("Loading…"));
|
||||||
|
|
||||||
fireEvent.click(container.querySelector(".mx_SSOButton"));
|
fireEvent.click(container.querySelector(".mx_SSOButton"));
|
||||||
expect(registerRequest.mock.instances[0].baseUrl).toBe("https://matrix.org");
|
expect(registerRequest.mock.instances[0].baseUrl).toBe("https://matrix.org");
|
||||||
|
@ -126,7 +126,7 @@ describe("Registration", function () {
|
||||||
versions: [],
|
versions: [],
|
||||||
});
|
});
|
||||||
rerender(getRawComponent("https://server2"));
|
rerender(getRawComponent("https://server2"));
|
||||||
await waitForElementToBeRemoved(() => screen.queryAllByLabelText("Loading..."));
|
await waitForElementToBeRemoved(() => screen.queryAllByLabelText("Loading…"));
|
||||||
|
|
||||||
fireEvent.click(container.querySelector(".mx_SSOButton"));
|
fireEvent.click(container.querySelector(".mx_SSOButton"));
|
||||||
expect(registerRequest.mock.instances[1].baseUrl).toBe("https://server2");
|
expect(registerRequest.mock.instances[1].baseUrl).toBe("https://server2");
|
||||||
|
|
|
@ -48,7 +48,7 @@ exports[`<BeaconStatus /> renders loading state 1`] = `
|
||||||
<span
|
<span
|
||||||
class="mx_BeaconStatus_description_status"
|
class="mx_BeaconStatus_description_status"
|
||||||
>
|
>
|
||||||
Loading live location...
|
Loading live location…
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -11,7 +11,7 @@ exports[`<OwnBeaconStatus /> renders without a beacon instance 1`] = `
|
||||||
<span
|
<span
|
||||||
class="mx_BeaconStatus_description_status"
|
class="mx_BeaconStatus_description_status"
|
||||||
>
|
>
|
||||||
Loading live location...
|
Loading live location…
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||||
|
|
||||||
exports[`PollCreateDialog renders a blank poll 1`] = `"<div data-focus-guard="true" tabindex="0" style="width: 1px; height: 0px; padding: 0px; overflow: hidden; position: fixed; top: 1px; left: 1px;"></div><div data-focus-lock-disabled="false" role="dialog" aria-labelledby="mx_CompoundDialog_title" aria-describedby="mx_CompoundDialog_content" class="mx_CompoundDialog mx_ScrollableBaseDialog"><div class="mx_CompoundDialog_header"><h1>Create poll</h1><div aria-label="Close dialog" role="button" tabindex="0" class="mx_AccessibleButton mx_CompoundDialog_cancelButton"></div></div><form class="mx_CompoundDialog_form"><div class="mx_CompoundDialog_content"><div class="mx_PollCreateDialog"><h2>Poll type</h2><div class="mx_Field mx_Field_select"><select type="text" id="mx_Field_1"><option value="org.matrix.msc3381.poll.disclosed">Open poll</option><option value="org.matrix.msc3381.poll.undisclosed">Closed poll</option></select><label for="mx_Field_1"></label></div><p>Voters see results as soon as they have voted</p><h2>What is your poll question or topic?</h2><div class="mx_Field mx_Field_input mx_Field_labelAlwaysTopLeft mx_Field_placeholderIsHint"><input id="poll-topic-input" maxlength="340" label="Question or topic" placeholder="Write something..." type="text" value=""><label for="poll-topic-input">Question or topic</label></div><h2>Create options</h2><div class="mx_PollCreateDialog_option"><div class="mx_Field mx_Field_input mx_Field_labelAlwaysTopLeft mx_Field_placeholderIsHint"><input id="pollcreate_option_0" maxlength="340" label="Option 1" placeholder="Write an option" type="text" value=""><label for="pollcreate_option_0">Option 1</label></div><div role="button" tabindex="0" class="mx_AccessibleButton mx_PollCreateDialog_removeOption"></div></div><div class="mx_PollCreateDialog_option"><div class="mx_Field mx_Field_input mx_Field_labelAlwaysTopLeft mx_Field_placeholderIsHint"><input id="pollcreate_option_1" maxlength="340" label="Option 2" placeholder="Write an option" type="text" value=""><label for="pollcreate_option_1">Option 2</label></div><div role="button" tabindex="0" class="mx_AccessibleButton mx_PollCreateDialog_removeOption"></div></div><div role="button" tabindex="0" class="mx_AccessibleButton mx_PollCreateDialog_addOption mx_AccessibleButton_hasKind mx_AccessibleButton_kind_secondary">Add option</div></div></div><div class="mx_CompoundDialog_footer"><div role="button" tabindex="0" class="mx_AccessibleButton mx_AccessibleButton_hasKind mx_AccessibleButton_kind_primary_outline">Cancel</div><button type="submit" role="button" tabindex="0" aria-disabled="true" disabled="" class="mx_AccessibleButton mx_Dialog_nonDialogButton mx_AccessibleButton_hasKind mx_AccessibleButton_kind_primary mx_AccessibleButton_disabled">Create Poll</button></div></form></div><div data-focus-guard="true" tabindex="0" style="width: 1px; height: 0px; padding: 0px; overflow: hidden; position: fixed; top: 1px; left: 1px;"></div>"`;
|
exports[`PollCreateDialog renders a blank poll 1`] = `"<div data-focus-guard="true" tabindex="0" style="width: 1px; height: 0px; padding: 0px; overflow: hidden; position: fixed; top: 1px; left: 1px;"></div><div data-focus-lock-disabled="false" role="dialog" aria-labelledby="mx_CompoundDialog_title" aria-describedby="mx_CompoundDialog_content" class="mx_CompoundDialog mx_ScrollableBaseDialog"><div class="mx_CompoundDialog_header"><h1>Create poll</h1><div aria-label="Close dialog" role="button" tabindex="0" class="mx_AccessibleButton mx_CompoundDialog_cancelButton"></div></div><form class="mx_CompoundDialog_form"><div class="mx_CompoundDialog_content"><div class="mx_PollCreateDialog"><h2>Poll type</h2><div class="mx_Field mx_Field_select"><select type="text" id="mx_Field_1"><option value="org.matrix.msc3381.poll.disclosed">Open poll</option><option value="org.matrix.msc3381.poll.undisclosed">Closed poll</option></select><label for="mx_Field_1"></label></div><p>Voters see results as soon as they have voted</p><h2>What is your poll question or topic?</h2><div class="mx_Field mx_Field_input mx_Field_labelAlwaysTopLeft mx_Field_placeholderIsHint"><input id="poll-topic-input" maxlength="340" label="Question or topic" placeholder="Write something…" type="text" value=""><label for="poll-topic-input">Question or topic</label></div><h2>Create options</h2><div class="mx_PollCreateDialog_option"><div class="mx_Field mx_Field_input mx_Field_labelAlwaysTopLeft mx_Field_placeholderIsHint"><input id="pollcreate_option_0" maxlength="340" label="Option 1" placeholder="Write an option" type="text" value=""><label for="pollcreate_option_0">Option 1</label></div><div role="button" tabindex="0" class="mx_AccessibleButton mx_PollCreateDialog_removeOption"></div></div><div class="mx_PollCreateDialog_option"><div class="mx_Field mx_Field_input mx_Field_labelAlwaysTopLeft mx_Field_placeholderIsHint"><input id="pollcreate_option_1" maxlength="340" label="Option 2" placeholder="Write an option" type="text" value=""><label for="pollcreate_option_1">Option 2</label></div><div role="button" tabindex="0" class="mx_AccessibleButton mx_PollCreateDialog_removeOption"></div></div><div role="button" tabindex="0" class="mx_AccessibleButton mx_PollCreateDialog_addOption mx_AccessibleButton_hasKind mx_AccessibleButton_kind_secondary">Add option</div></div></div><div class="mx_CompoundDialog_footer"><div role="button" tabindex="0" class="mx_AccessibleButton mx_AccessibleButton_hasKind mx_AccessibleButton_kind_primary_outline">Cancel</div><button type="submit" role="button" tabindex="0" aria-disabled="true" disabled="" class="mx_AccessibleButton mx_Dialog_nonDialogButton mx_AccessibleButton_hasKind mx_AccessibleButton_kind_primary mx_AccessibleButton_disabled">Create Poll</button></div></form></div><div data-focus-guard="true" tabindex="0" style="width: 1px; height: 0px; padding: 0px; overflow: hidden; position: fixed; top: 1px; left: 1px;"></div>"`;
|
||||||
|
|
||||||
exports[`PollCreateDialog renders a question and some options 1`] = `"<div data-focus-guard="true" tabindex="0" style="width: 1px; height: 0px; padding: 0px; overflow: hidden; position: fixed; top: 1px; left: 1px;"></div><div data-focus-lock-disabled="false" role="dialog" aria-labelledby="mx_CompoundDialog_title" aria-describedby="mx_CompoundDialog_content" class="mx_CompoundDialog mx_ScrollableBaseDialog"><div class="mx_CompoundDialog_header"><h1>Create poll</h1><div aria-label="Close dialog" role="button" tabindex="0" class="mx_AccessibleButton mx_CompoundDialog_cancelButton"></div></div><form class="mx_CompoundDialog_form"><div class="mx_CompoundDialog_content"><div class="mx_PollCreateDialog"><h2>Poll type</h2><div class="mx_Field mx_Field_select"><select type="text" id="mx_Field_4"><option value="org.matrix.msc3381.poll.disclosed">Open poll</option><option value="org.matrix.msc3381.poll.undisclosed">Closed poll</option></select><label for="mx_Field_4"></label></div><p>Voters see results as soon as they have voted</p><h2>What is your poll question or topic?</h2><div class="mx_Field mx_Field_input mx_Field_labelAlwaysTopLeft mx_Field_placeholderIsHint"><input id="poll-topic-input" maxlength="340" label="Question or topic" placeholder="Write something..." type="text" value="How many turnips is the optimal number?"><label for="poll-topic-input">Question or topic</label></div><h2>Create options</h2><div class="mx_PollCreateDialog_option"><div class="mx_Field mx_Field_input mx_Field_labelAlwaysTopLeft mx_Field_placeholderIsHint"><input id="pollcreate_option_0" maxlength="340" label="Option 1" placeholder="Write an option" type="text" value="As many as my neighbour"><label for="pollcreate_option_0">Option 1</label></div><div role="button" tabindex="0" class="mx_AccessibleButton mx_PollCreateDialog_removeOption"></div></div><div class="mx_PollCreateDialog_option"><div class="mx_Field mx_Field_input mx_Field_labelAlwaysTopLeft mx_Field_placeholderIsHint"><input id="pollcreate_option_1" maxlength="340" label="Option 2" placeholder="Write an option" type="text" value="The question is meaningless"><label for="pollcreate_option_1">Option 2</label></div><div role="button" tabindex="0" class="mx_AccessibleButton mx_PollCreateDialog_removeOption"></div></div><div class="mx_PollCreateDialog_option"><div class="mx_Field mx_Field_input mx_Field_labelAlwaysTopLeft mx_Field_placeholderIsHint"><input id="pollcreate_option_2" maxlength="340" label="Option 3" placeholder="Write an option" type="text" value="Mu"><label for="pollcreate_option_2">Option 3</label></div><div role="button" tabindex="0" class="mx_AccessibleButton mx_PollCreateDialog_removeOption"></div></div><div role="button" tabindex="0" class="mx_AccessibleButton mx_PollCreateDialog_addOption mx_AccessibleButton_hasKind mx_AccessibleButton_kind_secondary">Add option</div></div></div><div class="mx_CompoundDialog_footer"><div role="button" tabindex="0" class="mx_AccessibleButton mx_AccessibleButton_hasKind mx_AccessibleButton_kind_primary_outline">Cancel</div><button type="submit" role="button" tabindex="0" class="mx_AccessibleButton mx_Dialog_nonDialogButton mx_AccessibleButton_hasKind mx_AccessibleButton_kind_primary">Create Poll</button></div></form></div><div data-focus-guard="true" tabindex="0" style="width: 1px; height: 0px; padding: 0px; overflow: hidden; position: fixed; top: 1px; left: 1px;"></div>"`;
|
exports[`PollCreateDialog renders a question and some options 1`] = `"<div data-focus-guard="true" tabindex="0" style="width: 1px; height: 0px; padding: 0px; overflow: hidden; position: fixed; top: 1px; left: 1px;"></div><div data-focus-lock-disabled="false" role="dialog" aria-labelledby="mx_CompoundDialog_title" aria-describedby="mx_CompoundDialog_content" class="mx_CompoundDialog mx_ScrollableBaseDialog"><div class="mx_CompoundDialog_header"><h1>Create poll</h1><div aria-label="Close dialog" role="button" tabindex="0" class="mx_AccessibleButton mx_CompoundDialog_cancelButton"></div></div><form class="mx_CompoundDialog_form"><div class="mx_CompoundDialog_content"><div class="mx_PollCreateDialog"><h2>Poll type</h2><div class="mx_Field mx_Field_select"><select type="text" id="mx_Field_4"><option value="org.matrix.msc3381.poll.disclosed">Open poll</option><option value="org.matrix.msc3381.poll.undisclosed">Closed poll</option></select><label for="mx_Field_4"></label></div><p>Voters see results as soon as they have voted</p><h2>What is your poll question or topic?</h2><div class="mx_Field mx_Field_input mx_Field_labelAlwaysTopLeft mx_Field_placeholderIsHint"><input id="poll-topic-input" maxlength="340" label="Question or topic" placeholder="Write something…" type="text" value="How many turnips is the optimal number?"><label for="poll-topic-input">Question or topic</label></div><h2>Create options</h2><div class="mx_PollCreateDialog_option"><div class="mx_Field mx_Field_input mx_Field_labelAlwaysTopLeft mx_Field_placeholderIsHint"><input id="pollcreate_option_0" maxlength="340" label="Option 1" placeholder="Write an option" type="text" value="As many as my neighbour"><label for="pollcreate_option_0">Option 1</label></div><div role="button" tabindex="0" class="mx_AccessibleButton mx_PollCreateDialog_removeOption"></div></div><div class="mx_PollCreateDialog_option"><div class="mx_Field mx_Field_input mx_Field_labelAlwaysTopLeft mx_Field_placeholderIsHint"><input id="pollcreate_option_1" maxlength="340" label="Option 2" placeholder="Write an option" type="text" value="The question is meaningless"><label for="pollcreate_option_1">Option 2</label></div><div role="button" tabindex="0" class="mx_AccessibleButton mx_PollCreateDialog_removeOption"></div></div><div class="mx_PollCreateDialog_option"><div class="mx_Field mx_Field_input mx_Field_labelAlwaysTopLeft mx_Field_placeholderIsHint"><input id="pollcreate_option_2" maxlength="340" label="Option 3" placeholder="Write an option" type="text" value="Mu"><label for="pollcreate_option_2">Option 3</label></div><div role="button" tabindex="0" class="mx_AccessibleButton mx_PollCreateDialog_removeOption"></div></div><div role="button" tabindex="0" class="mx_AccessibleButton mx_PollCreateDialog_addOption mx_AccessibleButton_hasKind mx_AccessibleButton_kind_secondary">Add option</div></div></div><div class="mx_CompoundDialog_footer"><div role="button" tabindex="0" class="mx_AccessibleButton mx_AccessibleButton_hasKind mx_AccessibleButton_kind_primary_outline">Cancel</div><button type="submit" role="button" tabindex="0" class="mx_AccessibleButton mx_Dialog_nonDialogButton mx_AccessibleButton_hasKind mx_AccessibleButton_kind_primary">Create Poll</button></div></form></div><div data-focus-guard="true" tabindex="0" style="width: 1px; height: 0px; padding: 0px; overflow: hidden; position: fixed; top: 1px; left: 1px;"></div>"`;
|
||||||
|
|
||||||
exports[`PollCreateDialog renders info from a previous event 1`] = `"<div data-focus-guard="true" tabindex="0" style="width: 1px; height: 0px; padding: 0px; overflow: hidden; position: fixed; top: 1px; left: 1px;"></div><div data-focus-lock-disabled="false" role="dialog" aria-labelledby="mx_CompoundDialog_title" aria-describedby="mx_CompoundDialog_content" class="mx_CompoundDialog mx_ScrollableBaseDialog"><div class="mx_CompoundDialog_header"><h1>Edit poll</h1><div aria-label="Close dialog" role="button" tabindex="0" class="mx_AccessibleButton mx_CompoundDialog_cancelButton"></div></div><form class="mx_CompoundDialog_form"><div class="mx_CompoundDialog_content"><div class="mx_PollCreateDialog"><h2>Poll type</h2><div class="mx_Field mx_Field_select"><select type="text" id="mx_Field_5"><option value="org.matrix.msc3381.poll.disclosed">Open poll</option><option value="org.matrix.msc3381.poll.undisclosed">Closed poll</option></select><label for="mx_Field_5"></label></div><p>Voters see results as soon as they have voted</p><h2>What is your poll question or topic?</h2><div class="mx_Field mx_Field_input mx_Field_labelAlwaysTopLeft mx_Field_placeholderIsHint"><input id="poll-topic-input" maxlength="340" label="Question or topic" placeholder="Write something..." type="text" value="Poll Q"><label for="poll-topic-input">Question or topic</label></div><h2>Create options</h2><div class="mx_PollCreateDialog_option"><div class="mx_Field mx_Field_input mx_Field_labelAlwaysTopLeft mx_Field_placeholderIsHint"><input id="pollcreate_option_0" maxlength="340" label="Option 1" placeholder="Write an option" type="text" value="Answer 1"><label for="pollcreate_option_0">Option 1</label></div><div role="button" tabindex="0" class="mx_AccessibleButton mx_PollCreateDialog_removeOption"></div></div><div class="mx_PollCreateDialog_option"><div class="mx_Field mx_Field_input mx_Field_labelAlwaysTopLeft mx_Field_placeholderIsHint"><input id="pollcreate_option_1" maxlength="340" label="Option 2" placeholder="Write an option" type="text" value="Answer 2"><label for="pollcreate_option_1">Option 2</label></div><div role="button" tabindex="0" class="mx_AccessibleButton mx_PollCreateDialog_removeOption"></div></div><div role="button" tabindex="0" class="mx_AccessibleButton mx_PollCreateDialog_addOption mx_AccessibleButton_hasKind mx_AccessibleButton_kind_secondary">Add option</div></div></div><div class="mx_CompoundDialog_footer"><div role="button" tabindex="0" class="mx_AccessibleButton mx_AccessibleButton_hasKind mx_AccessibleButton_kind_primary_outline">Cancel</div><button type="submit" role="button" tabindex="0" class="mx_AccessibleButton mx_Dialog_nonDialogButton mx_AccessibleButton_hasKind mx_AccessibleButton_kind_primary">Done</button></div></form></div><div data-focus-guard="true" tabindex="0" style="width: 1px; height: 0px; padding: 0px; overflow: hidden; position: fixed; top: 1px; left: 1px;"></div>"`;
|
exports[`PollCreateDialog renders info from a previous event 1`] = `"<div data-focus-guard="true" tabindex="0" style="width: 1px; height: 0px; padding: 0px; overflow: hidden; position: fixed; top: 1px; left: 1px;"></div><div data-focus-lock-disabled="false" role="dialog" aria-labelledby="mx_CompoundDialog_title" aria-describedby="mx_CompoundDialog_content" class="mx_CompoundDialog mx_ScrollableBaseDialog"><div class="mx_CompoundDialog_header"><h1>Edit poll</h1><div aria-label="Close dialog" role="button" tabindex="0" class="mx_AccessibleButton mx_CompoundDialog_cancelButton"></div></div><form class="mx_CompoundDialog_form"><div class="mx_CompoundDialog_content"><div class="mx_PollCreateDialog"><h2>Poll type</h2><div class="mx_Field mx_Field_select"><select type="text" id="mx_Field_5"><option value="org.matrix.msc3381.poll.disclosed">Open poll</option><option value="org.matrix.msc3381.poll.undisclosed">Closed poll</option></select><label for="mx_Field_5"></label></div><p>Voters see results as soon as they have voted</p><h2>What is your poll question or topic?</h2><div class="mx_Field mx_Field_input mx_Field_labelAlwaysTopLeft mx_Field_placeholderIsHint"><input id="poll-topic-input" maxlength="340" label="Question or topic" placeholder="Write something…" type="text" value="Poll Q"><label for="poll-topic-input">Question or topic</label></div><h2>Create options</h2><div class="mx_PollCreateDialog_option"><div class="mx_Field mx_Field_input mx_Field_labelAlwaysTopLeft mx_Field_placeholderIsHint"><input id="pollcreate_option_0" maxlength="340" label="Option 1" placeholder="Write an option" type="text" value="Answer 1"><label for="pollcreate_option_0">Option 1</label></div><div role="button" tabindex="0" class="mx_AccessibleButton mx_PollCreateDialog_removeOption"></div></div><div class="mx_PollCreateDialog_option"><div class="mx_Field mx_Field_input mx_Field_labelAlwaysTopLeft mx_Field_placeholderIsHint"><input id="pollcreate_option_1" maxlength="340" label="Option 2" placeholder="Write an option" type="text" value="Answer 2"><label for="pollcreate_option_1">Option 2</label></div><div role="button" tabindex="0" class="mx_AccessibleButton mx_PollCreateDialog_removeOption"></div></div><div role="button" tabindex="0" class="mx_AccessibleButton mx_PollCreateDialog_addOption mx_AccessibleButton_hasKind mx_AccessibleButton_kind_secondary">Add option</div></div></div><div class="mx_CompoundDialog_footer"><div role="button" tabindex="0" class="mx_AccessibleButton mx_AccessibleButton_hasKind mx_AccessibleButton_kind_primary_outline">Cancel</div><button type="submit" role="button" tabindex="0" class="mx_AccessibleButton mx_Dialog_nonDialogButton mx_AccessibleButton_hasKind mx_AccessibleButton_kind_primary">Done</button></div></form></div><div data-focus-guard="true" tabindex="0" style="width: 1px; height: 0px; padding: 0px; overflow: hidden; position: fixed; top: 1px; left: 1px;"></div>"`;
|
||||||
|
|
|
@ -120,7 +120,7 @@ describe("<MBeaconBody />", () => {
|
||||||
);
|
);
|
||||||
makeRoomWithStateEvents([beaconInfoEvent], { roomId, mockClient });
|
makeRoomWithStateEvents([beaconInfoEvent], { roomId, mockClient });
|
||||||
const component = getComponent({ mxEvent: beaconInfoEvent });
|
const component = getComponent({ mxEvent: beaconInfoEvent });
|
||||||
expect(component.text()).toEqual("Loading live location...");
|
expect(component.text()).toEqual("Loading live location…");
|
||||||
});
|
});
|
||||||
|
|
||||||
it("does not open maximised map when on click when beacon is stopped", () => {
|
it("does not open maximised map when on click when beacon is stopped", () => {
|
||||||
|
@ -227,7 +227,7 @@ describe("<MBeaconBody />", () => {
|
||||||
makeRoomWithStateEvents([aliceBeaconInfo], { roomId, mockClient });
|
makeRoomWithStateEvents([aliceBeaconInfo], { roomId, mockClient });
|
||||||
const component = getComponent({ mxEvent: aliceBeaconInfo });
|
const component = getComponent({ mxEvent: aliceBeaconInfo });
|
||||||
|
|
||||||
expect(component.text()).toEqual("Loading live location...");
|
expect(component.text()).toEqual("Loading live location…");
|
||||||
});
|
});
|
||||||
|
|
||||||
it("does nothing on click when a beacon has no location", () => {
|
it("does nothing on click when a beacon has no location", () => {
|
||||||
|
|
|
@ -465,7 +465,7 @@ exports[`MPollBody renders a finished poll with no votes 1`] = `
|
||||||
</div>
|
</div>
|
||||||
`;
|
`;
|
||||||
|
|
||||||
exports[`MPollBody renders a loader while responses are still loading 1`] = `"Based on 4 votes<div class="mx_Spinner"><div class="mx_Spinner_icon" style="width: 16px; height: 16px;" aria-label="Loading..." role="progressbar" data-testid="spinner"></div></div>"`;
|
exports[`MPollBody renders a loader while responses are still loading 1`] = `"Based on 4 votes<div class="mx_Spinner"><div class="mx_Spinner_icon" style="width: 16px; height: 16px;" aria-label="Loading…" role="progressbar" data-testid="spinner"></div></div>"`;
|
||||||
|
|
||||||
exports[`MPollBody renders a poll that I have not voted in 1`] = `
|
exports[`MPollBody renders a poll that I have not voted in 1`] = `
|
||||||
<div>
|
<div>
|
||||||
|
|
|
@ -95,7 +95,7 @@ exports[`<MPollEndBody /> when poll start event exists in current timeline rende
|
||||||
class="mx_Spinner"
|
class="mx_Spinner"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
aria-label="Loading..."
|
aria-label="Loading…"
|
||||||
class="mx_Spinner_icon"
|
class="mx_Spinner_icon"
|
||||||
data-testid="spinner"
|
data-testid="spinner"
|
||||||
role="progressbar"
|
role="progressbar"
|
||||||
|
|
|
@ -102,17 +102,17 @@ describe("<RoomPreviewBar />", () => {
|
||||||
const component = getComponent({ joining: true });
|
const component = getComponent({ joining: true });
|
||||||
|
|
||||||
expect(isSpinnerRendered(component)).toBeTruthy();
|
expect(isSpinnerRendered(component)).toBeTruthy();
|
||||||
expect(getMessage(component)?.textContent).toEqual("Joining …");
|
expect(getMessage(component)?.textContent).toEqual("Joining…");
|
||||||
});
|
});
|
||||||
it("renders rejecting message", () => {
|
it("renders rejecting message", () => {
|
||||||
const component = getComponent({ rejecting: true });
|
const component = getComponent({ rejecting: true });
|
||||||
expect(isSpinnerRendered(component)).toBeTruthy();
|
expect(isSpinnerRendered(component)).toBeTruthy();
|
||||||
expect(getMessage(component)?.textContent).toEqual("Rejecting invite …");
|
expect(getMessage(component)?.textContent).toEqual("Rejecting invite…");
|
||||||
});
|
});
|
||||||
it("renders loading message", () => {
|
it("renders loading message", () => {
|
||||||
const component = getComponent({ loading: true });
|
const component = getComponent({ loading: true });
|
||||||
expect(isSpinnerRendered(component)).toBeTruthy();
|
expect(isSpinnerRendered(component)).toBeTruthy();
|
||||||
expect(getMessage(component)?.textContent).toEqual("Loading …");
|
expect(getMessage(component)?.textContent).toEqual("Loading…");
|
||||||
});
|
});
|
||||||
|
|
||||||
it("renders not logged in message", () => {
|
it("renders not logged in message", () => {
|
||||||
|
|
|
@ -35,7 +35,7 @@ exports[`<DecryptionFailureBar /> Displays a loading spinner 1`] = `
|
||||||
class="mx_Spinner"
|
class="mx_Spinner"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
aria-label="Loading..."
|
aria-label="Loading…"
|
||||||
class="mx_Spinner_icon"
|
class="mx_Spinner_icon"
|
||||||
data-testid="spinner"
|
data-testid="spinner"
|
||||||
role="progressbar"
|
role="progressbar"
|
||||||
|
@ -48,7 +48,7 @@ exports[`<DecryptionFailureBar /> Displays a loading spinner 1`] = `
|
||||||
<div
|
<div
|
||||||
class="mx_DecryptionFailureBar_message_headline"
|
class="mx_DecryptionFailureBar_message_headline"
|
||||||
>
|
>
|
||||||
Decrypting messages...
|
Decrypting messages…
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="mx_DecryptionFailureBar_message_body"
|
class="mx_DecryptionFailureBar_message_body"
|
||||||
|
|
|
@ -17,7 +17,7 @@ exports[`FontScalingPanel renders the font scaling UI 1`] = `
|
||||||
class="mx_Spinner"
|
class="mx_Spinner"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
aria-label="Loading..."
|
aria-label="Loading…"
|
||||||
class="mx_Spinner_icon"
|
class="mx_Spinner_icon"
|
||||||
data-testid="spinner"
|
data-testid="spinner"
|
||||||
role="progressbar"
|
role="progressbar"
|
||||||
|
|
|
@ -694,7 +694,7 @@ exports[`<LoginWithQRFlow /> renders spinner while connecting 1`] = `
|
||||||
class="mx_Spinner"
|
class="mx_Spinner"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
aria-label="Loading..."
|
aria-label="Loading…"
|
||||||
class="mx_Spinner_icon"
|
class="mx_Spinner_icon"
|
||||||
data-testid="spinner"
|
data-testid="spinner"
|
||||||
role="progressbar"
|
role="progressbar"
|
||||||
|
@ -702,7 +702,7 @@ exports[`<LoginWithQRFlow /> renders spinner while connecting 1`] = `
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<p>
|
<p>
|
||||||
Connecting...
|
Connecting…
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -756,7 +756,7 @@ exports[`<LoginWithQRFlow /> renders spinner while loading 1`] = `
|
||||||
class="mx_Spinner"
|
class="mx_Spinner"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
aria-label="Loading..."
|
aria-label="Loading…"
|
||||||
class="mx_Spinner_icon"
|
class="mx_Spinner_icon"
|
||||||
data-testid="spinner"
|
data-testid="spinner"
|
||||||
role="progressbar"
|
role="progressbar"
|
||||||
|
@ -806,7 +806,7 @@ exports[`<LoginWithQRFlow /> renders spinner while signing in 1`] = `
|
||||||
class="mx_Spinner"
|
class="mx_Spinner"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
aria-label="Loading..."
|
aria-label="Loading…"
|
||||||
class="mx_Spinner_icon"
|
class="mx_Spinner_icon"
|
||||||
data-testid="spinner"
|
data-testid="spinner"
|
||||||
role="progressbar"
|
role="progressbar"
|
||||||
|
@ -868,7 +868,7 @@ exports[`<LoginWithQRFlow /> renders spinner while verifying 1`] = `
|
||||||
class="mx_Spinner"
|
class="mx_Spinner"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
aria-label="Loading..."
|
aria-label="Loading…"
|
||||||
class="mx_Spinner_icon"
|
class="mx_Spinner_icon"
|
||||||
data-testid="spinner"
|
data-testid="spinner"
|
||||||
role="progressbar"
|
role="progressbar"
|
||||||
|
@ -921,7 +921,7 @@ exports[`<LoginWithQRFlow /> renders spinner whilst QR generating 1`] = `
|
||||||
class="mx_Spinner"
|
class="mx_Spinner"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
aria-label="Loading..."
|
aria-label="Loading…"
|
||||||
class="mx_Spinner_icon"
|
class="mx_Spinner_icon"
|
||||||
data-testid="spinner"
|
data-testid="spinner"
|
||||||
role="progressbar"
|
role="progressbar"
|
||||||
|
|
|
@ -6,7 +6,7 @@ exports[`Module Components should override the factory for a ModuleSpinner 1`] =
|
||||||
class="mx_Spinner"
|
class="mx_Spinner"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
aria-label="Loading..."
|
aria-label="Loading…"
|
||||||
class="mx_Spinner_icon"
|
class="mx_Spinner_icon"
|
||||||
data-testid="spinner"
|
data-testid="spinner"
|
||||||
role="progressbar"
|
role="progressbar"
|
||||||
|
|
|
@ -165,7 +165,7 @@ exports[`VoiceBroadcastHeader when rendering a live broadcast header with broadc
|
||||||
class="mx_Spinner"
|
class="mx_Spinner"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
aria-label="Loading..."
|
aria-label="Loading…"
|
||||||
class="mx_Spinner_icon"
|
class="mx_Spinner_icon"
|
||||||
data-testid="spinner"
|
data-testid="spinner"
|
||||||
role="progressbar"
|
role="progressbar"
|
||||||
|
|
|
@ -46,7 +46,7 @@ exports[`VoiceBroadcastPlaybackBody when rendering a buffering voice broadcast s
|
||||||
class="mx_Spinner"
|
class="mx_Spinner"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
aria-label="Loading..."
|
aria-label="Loading…"
|
||||||
class="mx_Spinner_icon"
|
class="mx_Spinner_icon"
|
||||||
data-testid="spinner"
|
data-testid="spinner"
|
||||||
role="progressbar"
|
role="progressbar"
|
||||||
|
|
|
@ -200,7 +200,7 @@ exports[`<VoiceBroadcastSmallPlaybackBody /> when rendering a buffering broadcas
|
||||||
class="mx_Spinner"
|
class="mx_Spinner"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
aria-label="Loading..."
|
aria-label="Loading…"
|
||||||
class="mx_Spinner_icon"
|
class="mx_Spinner_icon"
|
||||||
data-testid="spinner"
|
data-testid="spinner"
|
||||||
role="progressbar"
|
role="progressbar"
|
||||||
|
|
Loading…
Reference in a new issue