Sender Key: Prepare for testing in beta

This commit is contained in:
Scott Nonnenberg 2021-08-02 17:12:49 -07:00 committed by GitHub
parent c5de4c6284
commit ab5a12fded
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 34 additions and 18 deletions

View File

@ -18,7 +18,6 @@ export type ConfigKeyType =
| 'desktop.retryReceiptLifespan'
| 'desktop.retryRespondMaxAge'
| 'desktop.screensharing2'
| 'desktop.sendSenderKey2'
| 'desktop.storage'
| 'desktop.storageWrite3'
| 'desktop.worksAtSignal'

View File

@ -2312,9 +2312,7 @@ export async function startApp(): Promise<void> {
announcementGroup: true,
'gv2-3': true,
'gv1-migration': true,
senderKey: window.Signal.RemoteConfig.isEnabled(
'desktop.sendSenderKey2'
),
senderKey: true,
});
} catch (error) {
window.log.error(

View File

@ -748,10 +748,10 @@ export type CapabilitiesType = {
senderKey: boolean;
};
export type CapabilitiesUploadType = {
announcementGroup: boolean;
'gv2-3': boolean;
'gv1-migration': boolean;
senderKey: boolean;
announcementGroup: true;
'gv2-3': true;
'gv1-migration': true;
senderKey: true;
};
type StickerPackManifestType = any;
@ -1478,7 +1478,7 @@ export function initialize({
announcementGroup: true,
'gv2-3': true,
'gv1-migration': true,
senderKey: false,
senderKey: true,
};
const { accessKey } = options;

View File

@ -7,7 +7,8 @@ import {
} from '@signalapp/signal-client';
import { isNumber } from 'lodash';
import { assert } from './assert';
import { isBeta } from './version';
import { strictAssert } from './assert';
import { getSendOptions } from './getSendOptions';
import { handleMessageSend } from './handleMessageSend';
import { isGroupV2 } from './whatTypeOfConversation';
@ -116,13 +117,11 @@ export async function onRetryRequest(event: RetryRequestEvent): Promise<void> {
}
function maybeShowDecryptionToast(logId: string) {
if (!RemoteConfig.isEnabled('desktop.internalUser')) {
if (!isBeta(window.getVersion())) {
return;
}
window.log.info(
`onDecryptionError/${logId}: Showing toast for internal user`
);
window.log.info(`onDecryptionError/${logId}: Showing decryption error toast`);
window.Whisper.ToastView.show(
window.Whisper.DecryptionErrorToast,
document.getElementsByClassName('conversation-stack')[0]
@ -434,7 +433,7 @@ async function requestResend(decryptionError: DecryptionErrorEventData) {
// We believe that it could be successfully re-sent, so we'll add a placeholder.
if (contentHint === ContentHint.RESENDABLE) {
const { retryPlaceholders } = window.Signal.Services;
assert(retryPlaceholders, 'requestResend: adding placeholder');
strictAssert(retryPlaceholders, 'requestResend: adding placeholder');
window.log.info(`requestResend/${logId}: Adding placeholder`);

View File

@ -18,7 +18,6 @@ import {
SenderCertificateMode,
SendLogCallbackType,
} from '../textsecure/OutgoingMessage';
import { isEnabled } from '../RemoteConfig';
import { isOlderThan } from './timestamp';
import {
@ -142,7 +141,6 @@ export async function sendContentMessageToGroup({
const ourConversation = window.ConversationController.get(ourConversationId);
if (
isEnabled('desktop.sendSenderKey2') &&
ourConversation?.get('capabilities')?.senderKey &&
isGroupV2(conversation.attributes)
) {

View File

@ -206,9 +206,10 @@ Whisper.TapToViewExpiredOutgoingToast = Whisper.ToastView.extend({
});
Whisper.DecryptionErrorToast = Whisper.ToastView.extend({
className: 'toast toast-clickable',
className: 'toast toast-clickable decryption-error',
events: {
click: 'onClick',
keydown: 'onKeyDown',
},
render_attributes() {
return {
@ -218,6 +219,15 @@ Whisper.DecryptionErrorToast = Whisper.ToastView.extend({
// Note: this is the same thing as ToastView, except it's missing the setTimeout, so it
// will stick around until the user interacts with it.
render() {
const toasts = document.getElementsByClassName('decryption-error');
if (toasts.length > 1) {
window.log.info(
'DecryptionErrorToast: We are second decryption error toast. Closing.'
);
this.close();
return;
}
this.$el.html(
window.Mustache.render(
window._.result(this, 'template', ''),
@ -226,11 +236,23 @@ Whisper.DecryptionErrorToast = Whisper.ToastView.extend({
);
this.$el.attr('tabIndex', 0);
this.$el.show();
if (window.getInteractionMode() === 'keyboard') {
setTimeout(() => {
this.$el.focus();
}, 1);
}
},
onClick() {
this.close();
window.showDebugLog();
},
onKeyDown(event: KeyboardEvent) {
if (event.key !== 'Enter' && event.key !== ' ') {
return;
}
this.onClick();
},
});
Whisper.FileSavedToast = Whisper.ToastView.extend({