Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/fix_mab_regression

This commit is contained in:
Michael Telatynski 2019-12-09 14:13:11 +00:00
commit 2691d1a611
13 changed files with 247 additions and 21 deletions

View file

@ -24,6 +24,8 @@ import Matrix from "matrix-js-sdk";
// focus-visible is a Polyfill for the :focus-visible CSS pseudo-attribute used by _AccessibleButton.scss
import 'focus-visible';
// what-input helps improve keyboard accessibility
import 'what-input';
import Analytics from "../../Analytics";
import { DecryptionFailureTracker } from "../../DecryptionFailureTracker";

View file

@ -126,10 +126,9 @@ export default class ReactionsRowButton extends React.PureComponent {
);
}
return <span className={classes}
role="button"
const AccessibleButton = sdk.getComponent('elements.AccessibleButton');
return <AccessibleButton className={classes}
aria-label={label}
tabindex="0"
onClick={this.onClick}
onMouseOver={this.onMouseOver}
onMouseOut={this.onMouseOut}
@ -141,6 +140,6 @@ export default class ReactionsRowButton extends React.PureComponent {
{count}
</span>
{tooltip}
</span>;
</AccessibleButton>;
}
}

View file

@ -401,13 +401,18 @@ module.exports = createReactClass({
label={_t("Edited at %(date)s. Click to view edits.", {date: dateString})}
/>;
}
const AccessibleButton = sdk.getComponent('elements.AccessibleButton');
return (
<div
key="editedMarker" className="mx_EventTile_edited"
<AccessibleButton
key="editedMarker"
className="mx_EventTile_edited"
onClick={this._openHistoryDialog}
onMouseEnter={this._onMouseEnterEditedMarker}
onMouseLeave={this._onMouseLeaveEditedMarker}
>{editedTooltip}<span>{`(${_t("edited")})`}</span></div>
>
{ editedTooltip }<span>{`(${_t("edited")})`}</span>
</AccessibleButton>
);
},

View file

@ -57,19 +57,31 @@ module.exports = createReactClass({
},
render: function() {
const searchButtonClasses = classNames({ mx_SearchBar_searchButton: true, mx_SearchBar_searching: this.props.searchInProgress });
const thisRoomClasses = classNames({ mx_SearchBar_button: true, mx_SearchBar_unselected: this.state.scope !== 'Room' });
const allRoomsClasses = classNames({ mx_SearchBar_button: true, mx_SearchBar_unselected: this.state.scope !== 'All' });
const searchButtonClasses = classNames("mx_SearchBar_searchButton", {
mx_SearchBar_searching: this.props.searchInProgress,
});
const thisRoomClasses = classNames("mx_SearchBar_button", {
mx_SearchBar_unselected: this.state.scope !== 'Room',
});
const allRoomsClasses = classNames("mx_SearchBar_button", {
mx_SearchBar_unselected: this.state.scope !== 'All',
});
return (
<div className="mx_SearchBar">
<AccessibleButton className={ thisRoomClasses } onClick={this.onThisRoomClick}>{_t("This Room")}</AccessibleButton>
<AccessibleButton className={ allRoomsClasses } onClick={this.onAllRoomsClick}>{_t("All Rooms")}</AccessibleButton>
<div className="mx_SearchBar_buttons" role="radiogroup">
<AccessibleButton className={ thisRoomClasses } onClick={this.onThisRoomClick} aria-checked={this.state.scope === 'Room'} role="radio">
{_t("This Room")}
</AccessibleButton>
<AccessibleButton className={ allRoomsClasses } onClick={this.onAllRoomsClick} aria-checked={this.state.scope === 'All'} role="radio">
{_t("All Rooms")}
</AccessibleButton>
</div>
<div className="mx_SearchBar_input mx_textinput">
<input ref="search_term" type="text" autoFocus={true} placeholder={_t("Search…")} onKeyDown={this.onSearchChange} />
<AccessibleButton className={ searchButtonClasses } onClick={this.onSearch}></AccessibleButton>
<AccessibleButton className={ searchButtonClasses } onClick={this.onSearch} />
</div>
<AccessibleButton className="mx_SearchBar_cancel" onClick={this.props.onCancelClick}></AccessibleButton>
<AccessibleButton className="mx_SearchBar_cancel" onClick={this.props.onCancelClick} />
</div>
);
},

View file

@ -663,7 +663,7 @@
"Jump to read receipt": "Saltar a recibo leído",
"Mention": "Mencionar",
"Invite": "Invitar",
"Share Link to User": "Compartir Enlace con Usuario",
"Share Link to User": "Compartir Enlace al Usuario",
"User Options": "Opciones de Usuario",
"Make Moderator": "Convertir a Moderador",
"bold": "negrita",
@ -1330,5 +1330,45 @@
"You cannot modify widgets in this room.": "No puedes modificar widgets en esta sala.",
"Displays list of commands with usages and descriptions": "Muestra lista de comandos con usos y descripciones",
"Multiple integration managers": "Administradores de integración múltiples",
"Room upgrade confirmation": "Confirmación de actualización de sala"
"Room upgrade confirmation": "Confirmación de actualización de sala",
"Add Email Address": "Añadir dirección de correo",
"Add Phone Number": "Añadir número de teléfono",
"Identity server has no terms of service": "El servidor de identidad no tiene términos de servicio",
"This action requires accessing the default identity server <server /> to validate an email address or phone number, but the server does not have any terms of service.": "Esta acción necesita acceder al servidor de identidad por defecto <server /> para validar un correo o un teléfono, pero el servidor no tiene términos de servicio.",
"Only continue if you trust the owner of the server.": "Continúe solamente si confía en el propietario del servidor.",
"Trust": "Confianza",
"Custom (%(level)s)": "Personalizado (%(level)s)",
"Error upgrading room": "Fallo al mejorar la sala",
"Double check that your server supports the room version chosen and try again.": "Asegúrese de que su servidor soporta la versión de sala elegida y pruebe otra vez.",
"%(senderName)s placed a voice call.": "%(senderName)s hizo una llamada de voz.",
"%(senderName)s placed a voice call. (not supported by this browser)": "%(senderName)s hizo una llamada de voz. (no soportada por este navegador)",
"%(senderName)s placed a video call.": "%(senderName)s hizo una llamada de vídeo.",
"%(senderName)s placed a video call. (not supported by this browser)": "%(senderName)s hizo una llamada de vídeo (no soportada por este navegador)",
"%(name)s (%(userId)s)": "%(name)s (%(userId)s)",
"Try out new ways to ignore people (experimental)": "Pruebe nuevas formas de ignorar a usuarios (experimental)",
"Send verification requests in direct message, including a new verification UX in the member panel.": "Envíe solicitudes de verificación por mensaje directo, con una nueva interfaz de verificación en el panel de miembros.",
"Enable cross-signing to verify per-user instead of per-device (in development)": "Active la firma cruzada para verificar usuarios en vez de dispositivos (en desarrollo)",
"Enable local event indexing and E2EE search (requires restart)": "Active el indexado de eventos locales y la búsqueda E2EE (necesita reiniciar)",
"Use the new, faster, composer for writing messages": "Escriba mensajes con el nuevo y mejorado compositor",
"Match system theme": "Usar el tema del sistema",
"Show previews/thumbnails for images": "Mostrar vistas previas para las imágenes",
"When rooms are upgraded": "Cuando se mejoran las salas",
"My Ban List": "Mi lista de baneos",
"This is your list of users/servers you have blocked - don't leave the room!": "Esta es la lista de usuarios y servidores que ha bloqueado - ¡No deje la sala!",
"Decline (%(counter)s)": "Declinar (%(counter)s)",
"Accept <policyLink /> to continue:": "Aceptar <policyLink /> para continuar:",
"ID": "Identificación",
"Public Name": "Nombre Público",
"Connecting to integration manager...": "Conectando al gestor de integraciones...",
"Cannot connect to integration manager": "No se puede conectar al gestor de integraciones",
"The integration manager is offline or it cannot reach your homeserver.": "El gestor de integraciones está desconectado o no puede conectar con su servidor.",
"%(count)s unread messages including mentions.|other": "%(count)s mensajes sin leer incluyendo menciones.",
"%(count)s unread messages including mentions.|one": "1 mención sin leer.",
"%(count)s unread messages.|other": "%(count)s mensajes sin leer.",
"%(count)s unread messages.|one": "1 mensaje sin leer.",
"Unread mentions.": "Menciones sin leer.",
"Unread messages.": "Mensajes sin leer.",
"Jump to first unread room.": "Saltar a la primera sala sin leer.",
"You have %(count)s unread notifications in a prior version of this room.|other": "Tiene %(count)s notificaciones sin leer en una versión anterior de esta sala.",
"You have %(count)s unread notifications in a prior version of this room.|one": "Tiene %(count)s notificaciones sin leer en una versión anterior de esta sala."
}

View file

@ -1923,5 +1923,20 @@
"%(senderName)s placed a video call.": "%(senderName)s a passé un appel vidéo.",
"%(senderName)s placed a video call. (not supported by this browser)": "%(senderName)s a passé un appel vidéo. (pas pris en charge par ce navigateur)",
"Clear notifications": "Vider les notifications",
"Customise your experience with experimental labs features. <a>Learn more</a>.": "Personnalisez votre expérience avec des fonctionnalités expérimentales du labo. <a>En savoir plus</a>."
"Customise your experience with experimental labs features. <a>Learn more</a>.": "Personnalisez votre expérience avec des fonctionnalités expérimentales du labo. <a>En savoir plus</a>.",
"Error upgrading room": "Erreur lors de la mise à niveau du salon",
"Double check that your server supports the room version chosen and try again.": "Vérifiez que votre serveur prend en charge la version de salon choisie et réessayez.",
"This message cannot be decrypted": "Ce message ne peut pas être déchiffré",
"Unencrypted": "Non chiffré",
"Automatically invite users": "Inviter automatiquement les utilisateurs",
"Upgrade private room": "Mettre à niveau le salon privé",
"Upgrade public room": "Mettre à niveau le salon public",
"Upgrading a room is an advanced action and is usually recommended when a room is unstable due to bugs, missing features or security vulnerabilities.": "La mise à niveau dun salon est une action avancée et qui est généralement recommandée quand un salon est instable à cause danomalies, de fonctionnalités manquantes ou de failles de sécurité.",
"This usually only affects how the room is processed on the server. If you're having problems with your Riot, please <a>report a bug</a>.": "Cela naffecte généralement que la façon dont le salon est traité sur le serveur. Si vous avez des problèmes avec votre Riot, <a>signalez une anomalie</a>.",
"You'll upgrade this room from <oldVersion /> to <newVersion />.": "Vous allez mettre à niveau ce salon de <oldVersion /> vers <newVersion />.",
"Upgrade": "Mettre à niveau",
"Notification settings": "Paramètres de notification",
"User Status": "Statut de lutilisateur",
"Reactions": "Réactions",
"<reactors/><reactedWith> reacted with %(content)s</reactedWith>": "<reactors/><reactedWith> ont réagi avec %(content)s</reactedWith>"
}

View file

@ -1926,5 +1926,18 @@
"Customise your experience with experimental labs features. <a>Learn more</a>.": "Kísérleti labor tulajdonságokkal egyénre szabhatod az élményt. <a>Tudj meg többet</a>.",
"Error upgrading room": "A szoba verziófrissítésénél hiba történt",
"Double check that your server supports the room version chosen and try again.": "Ellenőrizd még egyszer, hogy a szervered támogatja-e a szoba verzióját és próbáld újra.",
"Invite joined members to the new room automatically": "Tagok meghívása automatikusan az új szobába"
"Invite joined members to the new room automatically": "Tagok meghívása automatikusan az új szobába",
"This message cannot be decrypted": "Ezt az üzenetet nem lehet visszafejteni",
"Unencrypted": "Titkosítatlan",
"Automatically invite users": "Felhasználók automatikus meghívása",
"Upgrade private room": "Privát szoba frissítése",
"Upgrade public room": "Nyilvános szoba frissítése",
"Upgrading a room is an advanced action and is usually recommended when a room is unstable due to bugs, missing features or security vulnerabilities.": "A szoba frissítése nem egyszerű művelet, általában a szoba hibás működése, hiányzó funkció vagy biztonsági sérülékenység esetén javasolt.",
"This usually only affects how the room is processed on the server. If you're having problems with your Riot, please <a>report a bug</a>.": "Ez általában a szoba szerver oldali kezelésében jelent változást. Ha a Riotban van problémád, kérlek <a>küldj egy hibajelentést</a>.",
"You'll upgrade this room from <oldVersion /> to <newVersion />.": "<oldVersion /> verzióról <newVersion /> verzióra frissíted a szobát.",
"Upgrade": "Frissítés",
"Notification settings": "Értesítések beállítása",
"User Status": "Felhasználó állapota",
"Reactions": "Reakciók",
"<reactors/><reactedWith> reacted with %(content)s</reactedWith>": "<reactors/><reactedWith> ezzel reagáltak: %(content)s</reactedWith>"
}

View file

@ -1923,5 +1923,20 @@
"%(senderName)s placed a video call.": "%(senderName)s 撥打了視訊通話。",
"%(senderName)s placed a video call. (not supported by this browser)": "%(senderName)s 撥打了視訊通話。(不被此瀏覽器支援)",
"Clear notifications": "清除通知",
"Customise your experience with experimental labs features. <a>Learn more</a>.": "使用實驗室功能來自訂您的體驗。<a>了解更多</a>。"
"Customise your experience with experimental labs features. <a>Learn more</a>.": "使用實驗室功能來自訂您的體驗。<a>了解更多</a>。",
"Error upgrading room": "升級聊天室時遇到錯誤",
"Double check that your server supports the room version chosen and try again.": "仔細檢查您的伺服器是否支援選定的聊天室版本,然後再試一次。",
"This message cannot be decrypted": "此訊息無法解密",
"Unencrypted": "未加密",
"Automatically invite users": "自動邀請使用者",
"Upgrade private room": "升級私密聊天室",
"Upgrade public room": "升級公開聊天室",
"Upgrading a room is an advanced action and is usually recommended when a room is unstable due to bugs, missing features or security vulnerabilities.": "升級聊天室為進階動作,通常建議在聊天室因為臭蟲而不穩定、缺少功能或安全漏洞等才升級。",
"This usually only affects how the room is processed on the server. If you're having problems with your Riot, please <a>report a bug</a>.": "這通常僅影響如何在伺服器上處理聊天室的方式。如果您遇到與 Riot 相關的問題,請<a>回報臭蟲</a>。",
"You'll upgrade this room from <oldVersion /> to <newVersion />.": "您將要把此聊天室從 <oldVersion /> 升級到 <newVersion />。",
"Upgrade": "升級",
"Notification settings": "通知設定",
"User Status": "使用者狀態",
"Reactions": "反應",
"<reactors/><reactedWith> reacted with %(content)s</reactedWith>": "<reactors/><reactedWith> 反應了 %(content)s</reactedWith>"
}