Merge remote-tracking branch 'upstream/clearnet' into use-created-at-server-timestamp

pull/1321/head
Audric Ackermann 5 years ago
commit 252c45f635
No known key found for this signature in database
GPG Key ID: 999F434D76324AD4

@ -2175,5 +2175,9 @@
"closedGroupMaxSize": {
"message": "A closed group cannot have more than 10 members",
"androidKey": "activity_create_closed_group_too_many_group_members_error"
},
"noBlockedContacts": {
"message": "No blocked contacts",
"androidKey": "blocked_contacts_fragment__no_blocked_contacts"
}
}

@ -1420,29 +1420,29 @@
"description": "Button when a specific action is to be done."
},
"cannotUpdateDetail": {
"message": "La mise a jour a échouée, mais il y a une nouvelle version disponible. Merci de visiter https://getsession.org/ et d'installer la nouvelle version manuellement, puis de contacter le support ou créer un ticket au sujet de ce bug",
"message": "La mise a jour de Session a échouée. Une nouvelle version est disponible. Rendez-vous sur https://getsession.org/ pour installer la nouvelle version manuellement. Vous pouvez également contacter le support ou créer un ticket au sujet de ce problème.",
"description": "Shown if a general error happened while trying to install update package"
},
"close": {
"message": "Fermer"
},
"devicePairingRequestReceivedNoListenerDescription": {
"message": "Une demande de liaison a été reçu, mais vous nêtes pas sur lécran de liaison d'un appareil. \nAller dans Paramètres > Appareil > Relier un nouvel appareil."
"message": "Une demande de liaison a été reçue, mais vous nêtes pas sur lécran de liaison d'un appareil. \nRendez-vous dans Paramètres > Appareil > Relier un nouvel appareil."
},
"deviceIsSecondaryNoPairing": {
"message": "Cet appareil est un appareil secondaire et ne peux donc pas être relier."
"message": "Cet appareil est un appareil secondaire et ne peux donc pas être relié."
},
"pairingOngoing": {
"message": "Une demande de liaison est déjà en cours. Redémarrer l'application si cela prends trop longtemps."
"message": "Une demande de liaison est déjà en cours. Redémarrez l'application si cela prends trop longtemps."
},
"allowPairingWithDevice": {
"message": "Autoriser la liaison avec cet appareil ?"
},
"provideDeviceAlias": {
"message": "Merci de donner un alias à cet appareil relié"
"message": "Choisissez un alias pour cet appareil"
},
"showPairingWordsTitle": {
"message": "Mots secret de liaison"
"message": "Mots secrets pour la liaison"
},
"confirmUnpairingTitle": {
"message": "Merci de confirmer que vous souhaitez déconnecter l'appareil suivant:"
@ -1452,20 +1452,20 @@
"description": "Warning for device unlinking in settings view"
},
"unpairDeviceWarningSub": {
"message": "Déconnecter cet appareil va supprimer tout l'historique, ce qui inclus tous les messages, sessions, et contacts de cet appareil.",
"message": "Déconnecter cet appareil supprimera tout l'historique, ce qui inclut tous les messages, sessions, et contacts de cet appareil.",
"description": "Warning description for device unlinking in settings view"
},
"deletePublicWarning": {
"message": "Êtes-vous sûr? Cela va supprimer ce message pour tout le monde dans ce groupe public."
"message": "Êtes-vous sûr? Cela supprimera ce message pour tous les membres de ce groupe public."
},
"deleteMultiplePublicWarning": {
"message": "Êtes-vous sûr? Cela va supprimer ces messages pour tout le monde dans ce groupe public."
"message": "Êtes-vous sûr? Cela supprimera ces messages pour tous les membres de ce groupe public."
},
"deleteMultipleWarning": {
"message": "Êtes-vous sûr? En cliquant sur 'Supprimer' cela va supprimer ces messages de cet appareil uniquement."
"message": "Êtes-vous sûr? En cliquant sur 'Supprimer' cela supprimera ces messages sur cet appareil uniquement."
},
"messageDeletionForbidden": {
"message": "Vous n'avez pas l'autorisation de supprimer les messages d'autres utilisateurs.",
"message": "Vous n'êtes pas autorisé à supprimer les messages des autres utilisateurs.",
"description": "Toast message explaining that the user doens't have the rights to delete other people's messages."
},
"sendMessageBlockedUser": {
@ -1499,7 +1499,7 @@
"message": "Vous n'aurez pas une protection complète des métadonnées en envoyant ou recevant des aperçu de liens."
},
"mediaPermissionsTitle": {
"message": "Microphone et camera"
"message": "Microphone et caméra"
},
"spellCheckTitle": {
"message": "Vérification orthographique",
@ -1510,11 +1510,11 @@
"description": "Shown when the user changes their spellcheck setting to indicate that they must restart Session."
},
"readReceiptSettingDescription": {
"message": "Voir et partager quand les messages ont étés lus (activer les accusés de lecture dans toutes les sessions).",
"message": "Voir et partager quand les messages ont étés lus (s'applique à toutes les sessions).",
"description": "Description of the read receipts setting"
},
"typingIndicatorsSettingDescription": {
"message": "Voir et partager quand les messages sont rédigés (s'applique à toutes les sessions)).",
"message": "Voir et partager quand les messages sont rédigés (s'applique à toutes les sessions).",
"description": "Description of the typing indicators setting"
},
"zoomFactorSettingTitle": {
@ -1538,10 +1538,10 @@
"description": "Conversation menu option to clear user nickname"
},
"themeToggleDescription": {
"message": "Choisissez le thème qui vous convient le plus"
"message": "Choisissez le thème qui vous convient le mieux"
},
"hideMenuBarTitle": {
"message": "Cacher la bar de menu",
"message": "Cacher la barre de menu",
"description": "Label text for menu bar visibility setting"
},
"hideMenuBarDescription": {
@ -1552,10 +1552,10 @@
"message": "Mise à jour automatique"
},
"autoUpdateSettingDescription": {
"message": "Vérifier si une mise à jour est disponible au lancement"
"message": "Rechercher automatiquement les mises à jour au lancement"
},
"autoUpdateDownloadedMessage": {
"message": "La mise à jour a été telechargé."
"message": "La mise à jour a été telechargée."
},
"autoUpdateDownloadInstructions": {
"message": "Voulez-vous télécharger la mise à jour ?"
@ -1568,7 +1568,7 @@
"description": "Ban user from open group by public key."
},
"banUserConfirm": {
"message": "Êtes-vous sûr que vous voulez bannir cet utilisateur ?",
"message": "Êtes-vous sûr de vouloir bannir cet utilisateur ?",
"description": "Message shown when confirming user ban."
},
"userBanned": {
@ -1592,7 +1592,7 @@
"description": "Button action that the user can click to edit a group name (closed)"
},
"setAccountPasswordTitle": {
"message": "Sécuriser par mot de passe",
"message": "Définir un mot de passe",
"description": "Prompt for user to set account password in settings view"
},
"setAccountPasswordDescription": {
@ -1600,7 +1600,7 @@
"description": "Description for set account password setting view"
},
"changeAccountPasswordTitle": {
"message": "Changement de Mot de Passe",
"message": "Changement de mot de passe",
"description": "Prompt for user to change account password in settings view"
},
"changeAccountPasswordDescription": {
@ -1616,21 +1616,21 @@
"description": "Description for remove account password setting view"
},
"enterPassword": {
"message": "Merci d'entrer votre mot de passe"
"message": "Veuillez saisir votre mot de passe"
},
"confirmPassword": {
"message": "Confirmer le mot de passe"
"message": "Confirmez le mot de passe"
},
"pasteLongPasswordToastTitle": {
"message": "Le contenu du presse-papier est plus long que la longueur maximum d'un mot de passe ($max_pwd_len$ caractères).",
"message": "Le contenu du presse-papier dépasse la longueur maximum pour un mot de passe ($max_pwd_len$ caractères).",
"description": "Shown when user pastes a password which is longer than MAX_PASSWORD_LEN"
},
"showRecoveryPhrasePasswordRequest": {
"message": "Merci d'entrer votre mot de passe",
"message": "Veuillez saisir votre mot de passe",
"description": "Request for user to enter password to show recovery phrase."
},
"passwordViewTitle": {
"message": "Entrer votre mot de passe",
"message": "Saisissez votre mot de passe",
"description": "The title shown when user needs to type in a password to unlock the messenger"
},
"password": {
@ -1638,7 +1638,7 @@
"description": "Placeholder for password input"
},
"setPassword": {
"message": "Ajouter un mot de passe",
"message": "Définir un mot de passe",
"description": "Button action that the user can click to set a password"
},
"changePassword": {
@ -1653,7 +1653,7 @@
"message": "Mot de passe invalide. Voulez-vous effacer la base de données?"
},
"typeInOldPassword": {
"message": "Merci de taper votre ancien mot de passe"
"message": "Merci de saisir votre ancien mot de passe"
},
"invalidOldPassword": {
"message": "Ancien mot de passe invalide"
@ -1662,7 +1662,7 @@
"message": "Mot de passe invalide"
},
"noGivenPassword": {
"message": "Merci de taper votre mot de passe"
"message": "Merci de saisir votre mot de passe"
},
"passwordsDoNotMatch": {
"message": "Les mots de passe ne correspondent pas."
@ -1677,7 +1677,7 @@
"message": "Mot de passe incorrect"
},
"setPasswordTitle": {
"message": "Ajouter un mot de passe"
"message": "Définir un mot de passe"
},
"changePasswordTitle": {
"message": "Changer le mot de passe"
@ -1686,10 +1686,10 @@
"message": "Supprimer le mot de passe"
},
"setPasswordToastDescription": {
"message": "Votre mot de passe a été défini. Veuillez le garder en sécurité."
"message": "Votre mot de passe a été défini. Veuillez le conserver en sécurité."
},
"changePasswordToastDescription": {
"message": "Votre mot de passe a été changé. Veuillez le garder en sécurité."
"message": "Votre mot de passe a été changé. Veuillez le conserver en sécurité."
},
"removePasswordToastDescription": {
"message": "Vous avez supprimé votre mot de passe."
@ -1698,7 +1698,7 @@
"message": "Vous êtes déjà connecté à ce groupe public"
},
"connectToServerSuccess": {
"message": "Connexion réussie au groupe public"
"message": "Connexion au groupe public réussie"
},
"setPasswordFail": {
"message": "Échec de la définition du mot de passe"
@ -1708,7 +1708,7 @@
"description": "Error string shown to the user when password doesn't meet length criteria"
},
"passwordTypeError": {
"message": "Le mot de passe doit être une chaîne de caractère",
"message": "Le mot de passe doit être une chaîne de caractères",
"description": "Error string shown to the user when password is not a string"
},
"passwordCharacterError": {
@ -1728,7 +1728,7 @@
"description": "Shown in toast if user enters an unknown LNS name"
},
"lnsTooFewNodes": {
"message": "Pas assez de nœuds actuellement actifs pour la recherche LNS"
"message": "Il n'y a pas assez de nœuds actifs actuellement pour la recherche LNS"
},
"editProfileModalTitle": {
"message": "Profil",
@ -1741,10 +1741,10 @@
"message": "Supprimer un modérateur"
},
"groupInvitation": {
"message": "Invitation de groupe"
"message": "Invitation à rejoindre un groupe"
},
"addingContacts": {
"message": "Ajout de contact à"
"message": "Ajouter des contacts à"
},
"noContactsToAdd": {
"message": "Aucun contact à ajouter"
@ -1779,13 +1779,13 @@
"message": "Lancer Session sur votre autre appareil."
},
"devicePairingHeader_Step2": {
"message": "Aller dans la section<strong>Appareils</strong> dans vos paramètres de compte."
"message": "Rendez-vous dans <strong>Appareils</strong> dans les paramètres de votre compte."
},
"devicePairingHeader_Step3": {
"message": "Sélectionnez <strong>Relier un nouvel appareil</strong> pour préparer votre autre appareil pour être relier."
"message": "Sélectionnez <strong>Relier un nouvel appareil</strong> pour préparer la liaison de votre autre appareil."
},
"devicePairingHeader_Step4": {
"message": "Taper votre <strong>Session ID</strong> ci-dessous pour relier votre appareil."
"message": "Saisissez votre <strong>Session ID</strong> ci-dessous pour relier votre appareil."
},
"linkDeviceToExistingAccount": {
"message": "Relier un appareil à un compte existant"
@ -1794,7 +1794,7 @@
"message": "ou"
},
"ByUsingThisService...": {
"message": "En utilisant ce service, vous approuvez nos <a href=\"https://getsession.org/legal/#tos\">Conditions d'utilisation</a> et notre <a href=\"https://getsession.org/privacy-policy/\" target=\"_blank\">Politique de confidentialité</a>"
"message": "En utilisant ce service, vous acceptez nos <a href=\"https://getsession.org/legal/#tos\">Conditions d'utilisation</a> et notre <a href=\"https://getsession.org/privacy-policy/\" target=\"_blank\">Politique de confidentialité</a>"
},
"beginYourSession": {
"message": "Commencez<br />votre<br />Session."
@ -1823,4 +1823,4 @@
"description": {
"message": "Description"
}
}
}

@ -2,7 +2,7 @@
"name": "session-messenger-desktop",
"productName": "Session",
"description": "Private messaging from your desktop",
"version": "1.2.1",
"version": "1.3.0",
"license": "GPL-3.0",
"author": {
"name": "Loki Project",

@ -29,6 +29,7 @@
display: flex;
flex-direction: column;
flex-grow: 1;
width: 100%;
}
.main.panel {
@ -428,7 +429,7 @@
display: flex;
flex-direction: row;
align-items: center;
margin-bottom: 8px;
margin-bottom: 7px;
padding: 0px 15px;
.send-message {

@ -206,7 +206,9 @@
position: relative;
.module-avatar {
box-shadow: 0 0 23px 0 rgba($session-color-black, 0.78);
@include themify($themes) {
box-shadow: 0px 0px 13px 0.5px themed('sessionShadowColor');
}
}
.qr-view-button {

@ -340,26 +340,23 @@
text-overflow: ellipsis;
}
.module-message__generic-attachment__file-size,
.module-message__generic-attachment__file-name--outgoing,
.module-message__generic-attachment__file-size--incoming,
.module-message__generic-attachment__file-size--outgoing,
.module-message__generic-attachment__file-name--incoming {
color: $color-white;
@include themify($themes) {
color: themed('textColor');
}
}
.module-message__generic-attachment__file-size {
color: $color-gray-90;
font-size: 11px;
line-height: 16px;
letter-spacing: 0.3px;
margin-top: 3px;
}
.module-message__generic-attachment__file-size--incoming {
color: $color-white;
}
.module-message__generic-attachment__file-size--incoming {
color: $color-white;
}
.module-message__link-preview {
cursor: pointer;
margin-inline-start: -12px;

@ -7,12 +7,12 @@
flex-direction: row;
align-items: stretch;
overflow: hidden;
border-radius: 4px;
border-left-width: 4px;
border-left-style: solid;
@include themify($themes) {
border-color: themed('accent');
border-color: themed('accentButton');
}
&__primary__type-label {
@ -64,7 +64,16 @@
// This is related to the quote logic inside messages
.module-quote {
&--incoming {
@include themify($themes) {
background: themed('sentMessageBackground');
}
}
&--outgoing {
@include themify($themes) {
background: themed('receivedMessageBackground');
}
.module-quote__primary__author {
@include themify($themes) {
color: themed('sentMessageText');

@ -925,7 +925,6 @@ label {
height: 80px;
border-radius: 100%;
background-color: rgba($session-color-black, 0.72);
box-shadow: 0px 0px 3px 0.5px rgba(0, 0, 0, 0.75);
opacity: 0;
transition: $session-transition-duration;

@ -348,7 +348,7 @@ $session-compose-margin: 20px;
margin: auto;
.session-brand-logo {
height: 215px;
height: 180px;
filter: brightness(0) saturate(100%) invert(75%) sepia(84%) saturate(3272%)
hue-rotate(103deg) brightness(106%) contrast(103%);
}

@ -160,7 +160,7 @@
&__unique-session-id {
@include registration-label-mixin;
padding-top: 3em;
padding-top: 1em;
text-align: center;
}

@ -365,26 +365,6 @@
color: $color-dark-05;
}
.module-message__broken-video-screenshot--incoming {
color: $color-white;
}
.module-message__generic-attachment__file-name {
color: $color-dark-05;
}
.module-message__generic-attachment__file-name--incoming {
color: $color-white;
}
.module-message__generic-attachment__file-size {
color: $color-dark-05;
}
.module-message__generic-attachment__file-size--incoming {
color: $color-white;
}
.module-message__link-preview__content {
background-color: $color-gray-95;
border: 1px solid $color-gray-60;

@ -34,6 +34,7 @@ $themes: (
receivedMessageText: $black,
sentMessageText: $black,
sessionShadow: 0 0 4px 0 rgba($black, 0.37),
sessionShadowColor: rgba($black, 0.37),
// left pane
conversationList: $white,
conversationItemHasUnread: #fcfcfc,
@ -83,6 +84,7 @@ $themes: (
receivedMessageText: $white,
sentMessageText: $white,
sessionShadow: 0 0 4px 0 rgba($white, 0.2),
sessionShadowColor: rgba($white, 0.2),
// left pane
conversationList: #1b1b1b,
conversationItemHasUnread: #2c2c2c,

@ -77,7 +77,7 @@
"role": "delete"
},
{
"label": "Select All",
"label": "Select all",
"role": "selectall"
},
{

@ -68,7 +68,7 @@
"role": "delete"
},
{
"label": "Select All",
"label": "Select all",
"role": "selectall"
},
{

@ -53,7 +53,7 @@
"role": "delete"
},
{
"label": "Select All",
"label": "Select all",
"role": "selectall"
}
]

@ -46,7 +46,7 @@
"role": "delete"
},
{
"label": "Select All",
"label": "Select all",
"role": "selectall"
}
]

@ -68,7 +68,9 @@ export class ActionsPanel extends React.Component<Props, State> {
if (currentTheme !== 'light') {
const message = 'Light Mode';
const messageSub =
'Feeling the dark side more? Just toggle the theme from the bottom-left moon icon.';
'Whoops, who left the lights on?</br></br>\
Thats right, Session has a spiffy new light mode! Take the fresh new color palette for a spin its now the default mode.</br></br>\
Want to go back to the dark side? Just tap the moon symbol in the lower left corner of the app to switch modes.';
const hasSeenLightMode = await getItemById('hasSeenLightModeDialog');
if (hasSeenLightMode?.value === true) {
@ -77,7 +79,6 @@ export class ActionsPanel extends React.Component<Props, State> {
}
// force light them right now, then ask for permission
await window.Events.setThemeSetting('light');
// FIXME add the SUN icon
window.confirmationDialog({
message,
messageSub,

@ -467,6 +467,7 @@ export class LeftPaneMessageSection extends React.Component<Props, State> {
id: 'connectToServer',
type: 'success',
});
this.setState({ loading: true });
await OpenGroup.join(serverUrl, async () => {
if (await OpenGroup.serverExists(serverUrl)) {
ToastUtils.push({
@ -474,9 +475,8 @@ export class LeftPaneMessageSection extends React.Component<Props, State> {
id: 'connectToServer',
type: 'success',
});
this.setState({ loading: true });
}
this.setState({ loading: false });
});
const openGroupConversation = await OpenGroup.getConversation(serverUrl);
@ -498,6 +498,7 @@ export class LeftPaneMessageSection extends React.Component<Props, State> {
id: 'connectToServer',
type: 'error',
});
this.setState({ loading: false });
} finally {
this.setState({
loading: false,

@ -79,11 +79,11 @@ export class SessionConfirm extends React.Component<Props> {
className={messageSubText}
html={message}
/>
{messageSub && (
<span className="session-confirm-sub-message subtle">
{messageSub}
</span>
)}
<SessionHtmlRenderer
tag="span"
className="session-confirm-sub-message subtle"
html={messageSub}
/>
</div>
<div className="session-modal__button-group">

@ -613,6 +613,25 @@ export class SettingsView extends React.Component<SettingsViewProps, State> {
confirmationDialogParams: undefined,
});
}
if (blockedNumbers.length === 0) {
return [
{
id: 'noBlockedContacts',
title: '',
description: window.i18n('noBlockedContacts'),
type: undefined,
category: SessionSettingCategory.Blocked,
content: undefined,
comparisonValue: undefined,
setFn: undefined,
hidden: false,
onClick: undefined,
confirmationDialogParams: undefined,
},
];
}
return results;
}

@ -129,7 +129,7 @@ export class OpenGroup {
conversation = await PromiseUtils.timeout(
window.attemptConnection(prefixedServer, channel),
5000
15000
);
if (!conversation) {
throw new Error(window.i18n('connectToServerFail'));

Loading…
Cancel
Save