remove unused templates

pull/1315/head
Audric Ackermann 5 years ago
parent 9041a408fd
commit 5f51573f53
No known key found for this signature in database
GPG Key ID: 999F434D76324AD4

@ -91,9 +91,6 @@
<div class='conversation-header'></div>
<div class='main panel'>
<div class='discussion-container'>
<div class='bar-container hide'>
<div class='bar active progress-bar-striped progress-bar'></div>
</div>
</div>
<div class='bottom-bar' id='footer'>
@ -239,11 +236,6 @@
<span class='banner-icon delete'></span>
<div class='header'>{{ deleting }}</div>
</div>
<div class='progress'>
<div class='bar-container'>
<div class='bar progress-bar progress-bar-striped active'></div>
</div>
</div>
</div>
</div>
{{/isStep2}}
@ -290,11 +282,6 @@
<span class='banner-icon import'></span>
<div class='header'>{{ importingHeader }}</div>
</div>
<div class='progress'>
<div class='bar-container'>
<div class='bar progress-bar progress-bar-striped active'></div>
</div>
</div>
</div>
</div>
{{/isStep3}}
@ -342,100 +329,6 @@
{{/isError}}
</script>
<script type='text/x-tmpl-mustache' id='link-flow-template'>
{{#isStep3}}
<div id='step3' class='step'>
<div class='inner'>
<div class='step-body'>
<div class='header'>{{ linkYourPhone }}</div>
<div id="qr">
<div class='container'>
<span class='dot'></span>
<span class='dot'></span>
<span class='dot'></span>
</div>
</div>
</div>
<div class='nav'>
<div class='instructions'>
<div class='android'>
<div class='label'>
<span class='os-icon android'></span>
</div>
<div class='body'>
<div>→ {{ signalSettings }}</div>
<div>→ {{ linkedDevices }}</div>
<div>→ {{ androidFinalStep }}</div>
</div>
</div>
<div class='apple'>
<div class='label'>
<span class='os-icon apple'></span>
</div>
<div class='body'>
<div>→ {{ signalSettings }}</div>
<div>→ {{ linkedDevices }}</div>
<div>→ {{ appleFinalStep }}</div>
</div>
</div>
</div>
</div>
</div>
</div>
{{/isStep3}}
{{#isStep4}}
<form id='link-phone'>
<div id='step4' class='step'>
<div class='inner'>
<div class='step-body'>
<span class='banner-icon lead-pencil'></span>
<div class='header'>{{ chooseName }}</div>
<div>
<input type='text' class='device-name' spellcheck='false' maxlength='50' />
</div>
</div>
<div class='nav'>
<div>
<a class='button finish'>{{ finishLinkingPhoneButton }}</a>
</div>
</div>
</div>
</div>
</form>
{{/isStep4}}
{{#isStep5}}
<div id='step5' class='step'>
<div class='inner'>
<div class='step-body'>
<span class='banner-icon sync'></span>
<div class='header'>{{ syncing }}</div>
</div>
<div class='progress'>
<div class='bar-container'>
<div class='bar progress-bar progress-bar-striped active'></div>
</div>
</div>
</div>
</div>
{{/isStep5}}
{{#isError}}
<div id='error' class='step'>
<div class='inner'>
<div class='step-body'>
<span class='banner-icon alert-outline'></span>
<div class='header'>{{ errorHeader }}</div>
<div class='body'>{{ errorMessage }}</div>
</div>
<div class='nav'>
<a class='button try-again'>{{ errorButton }}</a>
</div>
</div>
</div>
{{/isError}}
</script>
<script type='text/javascript' src='js/components.js'></script>
<script type='text/javascript' src='js/reliable_trigger.js'></script>
@ -492,7 +385,6 @@
<script type='text/javascript' src='js/views/qr_dialog_view.js'></script>
<script type='text/javascript' src='js/views/beta_release_disclaimer_view.js'></script>
<script type='text/javascript' src='js/views/identicon_svg_view.js'></script>
<script type='text/javascript' src='js/views/install_view.js'></script>
<script type='text/javascript' src='js/views/banner_view.js'></script>
<script type='text/javascript' src='js/views/session_registration_view.js'></script>
<script type='text/javascript' src='js/views/app_view.js'></script>

@ -90,9 +90,6 @@
<div class='conversation-header'></div>
<div class='main panel'>
<div class='discussion-container'>
<div class='bar-container hide'>
<div class='bar active progress-bar-striped progress-bar'></div>
</div>
</div>
<div class='bottom-bar' id='footer'>
@ -341,99 +338,6 @@
{{/isError}}
</script>
<script type='text/x-tmpl-mustache' id='link-flow-template'>
{{#isStep3}}
<div id='step3' class='step'>
<div class='inner'>
<div class='step-body'>
<div class='header'>{{ linkYourPhone }}</div>
<div id="qr">
<div class='container'>
<span class='dot'></span>
<span class='dot'></span>
<span class='dot'></span>
</div>
</div>
</div>
<div class='nav'>
<div class='instructions'>
<div class='android'>
<div class='label'>
<span class='os-icon android'></span>
</div>
<div class='body'>
<div>→ {{ signalSettings }}</div>
<div>→ {{ linkedDevices }}</div>
<div>→ {{ androidFinalStep }}</div>
</div>
</div>
<div class='apple'>
<div class='label'>
<span class='os-icon apple'></span>
</div>
<div class='body'>
<div>→ {{ signalSettings }}</div>
<div>→ {{ linkedDevices }}</div>
<div>→ {{ appleFinalStep }}</div>
</div>
</div>
</div>
</div>
</div>
</div>
{{/isStep3}}
{{#isStep4}}
<form id='link-phone'>
<div id='step4' class='step'>
<div class='inner'>
<div class='step-body'>
<span class='banner-icon lead-pencil'></span>
<div class='header'>{{ chooseName }}</div>
<div>
<input type='text' class='device-name' spellcheck='false' maxlength='50' />
</div>
</div>
<div class='nav'>
<div>
<a class='button finish'>{{ finishLinkingPhoneButton }}</a>
</div>
</div>
</div>
</div>
</form>
{{/isStep4}}
{{#isStep5}}
<div id='step5' class='step'>
<div class='inner'>
<div class='step-body'>
<span class='banner-icon sync'></span>
<div class='header'>{{ syncing }}</div>
</div>
<div class='progress'>
<div class='bar-container'>
<div class='bar progress-bar progress-bar-striped active'></div>
</div>
</div>
</div>
</div>
{{/isStep5}}
{{#isError}}
<div id='error' class='step'>
<div class='inner'>
<div class='step-body'>
<span class='banner-icon alert-outline'></span>
<div class='header'>{{ errorHeader }}</div>
<div class='body'>{{ errorMessage }}</div>
</div>
<div class='nav'>
<a class='button try-again'>{{ errorButton }}</a>
</div>
</div>
</div>
{{/isError}}
</script>
<script type='text/javascript' src='js/components.js'></script>
@ -491,7 +395,6 @@
<script type='text/javascript' src='js/views/qr_dialog_view.js'></script>
<script type='text/javascript' src='js/views/beta_release_disclaimer_view.js'></script>
<script type='text/javascript' src='js/views/identicon_svg_view.js'></script>
<script type='text/javascript' src='js/views/install_view.js'></script>
<script type='text/javascript' src='js/views/banner_view.js'></script>
<script type='text/javascript' src='js/views/session_registration_view.js'></script>
<script type='text/javascript' src='js/views/app_view.js'></script>

@ -11,7 +11,6 @@
Whisper.AppView = Backbone.View.extend({
initialize() {
this.inboxView = null;
this.installView = null;
this.applyTheme();
this.applyHideMenu();
@ -20,7 +19,6 @@
this.showPasswordDialog = this.showPasswordDialog.bind(this);
},
events: {
'click .openInstaller': 'openInstaller', // NetworkStatusView has this button
openInbox: 'openInbox',
},
applyTheme() {
@ -65,46 +63,14 @@
const importView = new Whisper.ImportView();
this.importView = importView;
this.listenTo(
importView,
'light-import',
this.finishLightImport.bind(this)
);
this.openView(this.importView);
},
finishLightImport() {
const options = {
hasExistingData: true,
};
this.openInstaller(options);
},
closeImporter() {
if (this.importView) {
this.importView.remove();
this.importView = null;
}
},
openInstaller(options = {}) {
// If we're in the middle of import, we don't want to show the menu options
// allowing the user to switch to other ways to set up the app. If they
// switched back and forth in the middle of a light import, they'd lose all
// that imported data.
if (!options.hasExistingData) {
window.addSetupMenuItems();
}
this.resetViews();
const installView = new Whisper.InstallView(options);
this.installView = installView;
this.openView(this.installView);
},
closeInstaller() {
if (this.installView) {
this.installView.remove();
this.installView = null;
}
},
openStandalone() {
window.addSetupMenuItems();
this.resetViews();
@ -118,7 +84,6 @@
}
},
resetViews() {
this.closeInstaller();
this.closeImporter();
this.closeStandalone();
},
@ -137,9 +102,6 @@
// this.initialLoadComplete. An example of this: on a phone-pairing setup.
_.defaults(options, { initialLoadComplete: this.initialLoadComplete });
// window.log.info('open inbox');
this.closeInstaller();
if (!this.inboxView) {
// We create the inbox immediately so we don't miss an update to
// this.initialLoadComplete between the start of this method and the

@ -1,202 +0,0 @@
/* global Whisper, i18n, getAccountManager, $, textsecure, QRCode */
/* eslint-disable more/no-then */
// eslint-disable-next-line func-names
(function() {
'use strict';
window.Whisper = window.Whisper || {};
const Steps = {
INSTALL_SIGNAL: 2,
SCAN_QR_CODE: 3,
ENTER_NAME: 4,
PROGRESS_BAR: 5,
TOO_MANY_DEVICES: 'TooManyDevices',
NETWORK_ERROR: 'NetworkError',
};
const DEVICE_NAME_SELECTOR = 'input.device-name';
const CONNECTION_ERROR = -1;
const TOO_MANY_DEVICES = 411;
Whisper.InstallView = Whisper.View.extend({
templateName: 'link-flow-template',
className: 'main full-screen-flow',
events: {
'click .try-again': 'connect',
'click .finish': 'finishLinking',
// the actual next step happens in confirmNumber() on submit form #link-phone
},
initialize(options = {}) {
this.selectStep(Steps.SCAN_QR_CODE);
this.connect();
this.on('disconnected', this.reconnect);
// Keep data around if it's a re-link, or the middle of a light import
this.shouldRetainData =
Whisper.Registration.everDone() || options.hasExistingData;
},
render_attributes() {
let errorMessage;
if (this.error) {
if (
this.error.name === 'HTTPError' &&
this.error.code === TOO_MANY_DEVICES
) {
errorMessage = i18n('installTooManyDevices');
} else if (
this.error.name === 'HTTPError' &&
this.error.code === CONNECTION_ERROR
) {
errorMessage = i18n('installConnectionFailed');
} else if (this.error.message === 'websocket closed') {
// AccountManager.registerSecondDevice uses this specific
// 'websocket closed' error message
errorMessage = i18n('installConnectionFailed');
}
return {
isError: true,
errorHeader: 'Something went wrong!',
errorMessage,
errorButton: 'Try again',
};
}
return {
isStep3: this.step === Steps.SCAN_QR_CODE,
linkYourPhone: i18n('linkYourPhone'),
signalSettings: i18n('signalSettings'),
linkedDevices: i18n('linkedDevices'),
androidFinalStep: i18n('plusButton'),
appleFinalStep: i18n('linkNewDevice'),
isStep4: this.step === Steps.ENTER_NAME,
chooseName: i18n('chooseDeviceName'),
finishLinkingPhoneButton: i18n('finishLinkingPhone'),
isStep5: this.step === Steps.PROGRESS_BAR,
syncing: i18n('initialSync'),
};
},
selectStep(step) {
this.step = step;
this.render();
},
connect() {
this.error = null;
this.selectStep(Steps.SCAN_QR_CODE);
this.clearQR();
if (this.timeout) {
clearTimeout(this.timeout);
this.timeout = null;
}
const accountManager = getAccountManager();
accountManager
.registerSecondDevice(
this.setProvisioningUrl.bind(this),
this.confirmNumber.bind(this)
)
.catch(this.handleDisconnect.bind(this));
},
handleDisconnect(error) {
window.log.error(
'provisioning failed',
error && error.stack ? error.stack : error
);
this.error = error;
this.render();
if (error.message === 'websocket closed') {
this.trigger('disconnected');
} else if (
error.name !== 'HTTPError' ||
(error.code !== CONNECTION_ERROR && error.code !== TOO_MANY_DEVICES)
) {
throw error;
}
},
reconnect() {
if (this.timeout) {
clearTimeout(this.timeout);
this.timeout = null;
}
this.timeout = setTimeout(this.connect.bind(this), 10000);
},
clearQR() {
this.$('#qr img').remove();
this.$('#qr canvas').remove();
this.$('#qr .container').show();
this.$('#qr').removeClass('ready');
},
setProvisioningUrl(url) {
if ($('#qr').length === 0) {
window.log.error('Did not find #qr element in the DOM!');
return;
}
this.$('#qr .container').hide();
this.qr = new QRCode(this.$('#qr')[0]).makeCode(url);
this.$('#qr').removeAttr('title');
this.$('#qr').addClass('ready');
},
setDeviceNameDefault() {
const deviceName = textsecure.storage.user.getDeviceName();
this.$(DEVICE_NAME_SELECTOR).val(deviceName || window.getHostName());
this.$(DEVICE_NAME_SELECTOR).focus();
},
finishLinking() {
// We use a form so we get submit-on-enter behavior
this.$('#link-phone').submit();
},
confirmNumber() {
const tsp = textsecure.storage.protocol;
window.removeSetupMenuItems();
this.selectStep(Steps.ENTER_NAME);
this.setDeviceNameDefault();
return new Promise(resolve => {
this.$('#link-phone').submit(e => {
e.stopPropagation();
e.preventDefault();
let name = this.$(DEVICE_NAME_SELECTOR).val();
name = name.replace(/\0/g, ''); // strip unicode null
if (name.trim().length === 0) {
this.$(DEVICE_NAME_SELECTOR).focus();
return null;
}
this.selectStep(Steps.PROGRESS_BAR);
const finish = () => resolve(name);
// Delete all data from database unless we're in the middle
// of a re-link, or we are finishing a light import. Without this,
// app restarts at certain times can cause weird things to happen,
// like data from a previous incomplete light import showing up
// after a new install.
if (this.shouldRetainData) {
return finish();
}
return tsp.removeAllData().then(finish, error => {
window.log.error(
'confirmNumber: error clearing database',
error && error.stack ? error.stack : error
);
finish();
});
});
});
},
});
})();

@ -43,10 +43,6 @@
max-width: 100%;
margin: 0;
.bar-container {
height: 5px;
}
.message-list {
-webkit-padding-start: 0px;
position: absolute;
@ -627,7 +623,6 @@
}
}
.module-last-seen-indicator {
padding-top: 25px;
padding-bottom: 35px;

@ -580,26 +580,6 @@ $loading-height: 16px;
color: #2090ea;
}
.progress {
text-align: center;
padding: 1em;
width: 80%;
margin: auto;
.bar-container {
height: 1em;
margin: 1em;
background-color: $grey_l;
}
.bar {
width: 100%;
height: 100%;
background-color: $blue_l;
transition: width $session-transition-duration;
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}
}
.nav {
width: 100%;
bottom: 50px;

@ -1,69 +1,4 @@
@import 'themes.scss';
/* remove scroll bars */
.loki-dialog .add-moderators-dialog .content {
padding: 1.1em;
}
.invite-friends-dialog,
.add-moderators-dialog,
.remove-moderators-dialog,
.create-group-dialog {
.content {
max-width: 100% !important;
}
.buttons {
margin: 8px;
}
.group-name {
font-size: larger;
}
.titleText {
font-size: large;
text-align: center;
}
}
.create-group-dialog,
.add-moderators-dialog,
.remove-moderators-dialog,
.invite-friends-dialog {
.no-friends {
text-align: center;
}
.hidden {
display: none;
}
}
.create-group-dialog,
.add-moderators-dialog,
.remove-moderators-dialog,
.edit-profile-dialog {
.error-message {
text-align: center;
color: red;
display: block;
user-select: none;
}
.error-faded {
opacity: 0;
margin-top: -5px;
transition: all 100ms linear;
}
.error-shown {
opacity: 1;
transition: all 250ms linear;
}
}
// used for the list after adding a `@` in the compose text input
.friend-selection-list {
max-height: 240px;
overflow-y: auto;

@ -20,3 +20,61 @@
box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.2);
}
}
/* remove scroll bars */
.loki-dialog .add-moderators-dialog .content {
padding: 1.1em;
}
.create-group-dialog,
.add-moderators-dialog,
.remove-moderators-dialog,
.invite-friends-dialog {
.content {
max-width: 100% !important;
}
.buttons {
margin: 8px;
}
.group-name {
font-size: larger;
}
.titleText {
font-size: large;
text-align: center;
}
.no-friends {
text-align: center;
}
.hidden {
display: none;
}
}
.create-group-dialog,
.add-moderators-dialog,
.remove-moderators-dialog,
.edit-profile-dialog {
.error-message {
text-align: center;
color: red;
display: block;
user-select: none;
}
.error-faded {
opacity: 0;
margin-top: -5px;
transition: all 100ms linear;
}
.error-shown {
opacity: 1;
transition: all 250ms linear;
}
}

@ -1,87 +0,0 @@
@keyframes progress-bar-stripes {
from {
background-position: 40px 0;
}
to {
background-position: 0 0;
}
}
.progress-bar-striped {
background-image: -webkit-linear-gradient(
45deg,
rgba(255, 255, 255, 0.75) 25%,
transparent 25%,
transparent 50%,
rgba(255, 255, 255, 0.75) 50%,
rgba(255, 255, 255, 0.75) 75%,
transparent 75%,
transparent
);
background-image: -o-linear-gradient(
45deg,
rgba(255, 255, 255, 0.75) 25%,
transparent 25%,
transparent 50%,
rgba(255, 255, 255, 0.75) 50%,
rgba(255, 255, 255, 0.75) 75%,
transparent 75%,
transparent
);
background-image: linear-gradient(
45deg,
rgba(255, 255, 255, 0.75) 25%,
transparent 25%,
transparent 50%,
rgba(255, 255, 255, 0.75) 50%,
rgba(255, 255, 255, 0.75) 75%,
transparent 75%,
transparent
);
-webkit-background-size: 40px 40px;
background-size: 40px 40px;
}
.progress-bar-striped {
background-image: -webkit-linear-gradient(
45deg,
rgba(255, 255, 255, 0.75) 25%,
transparent 25%,
transparent 50%,
rgba(255, 255, 255, 0.75) 50%,
rgba(255, 255, 255, 0.75) 75%,
transparent 75%,
transparent
);
background-image: -o-linear-gradient(
45deg,
rgba(255, 255, 255, 0.75) 25%,
transparent 25%,
transparent 50%,
rgba(255, 255, 255, 0.75) 50%,
rgba(255, 255, 255, 0.75) 75%,
transparent 75%,
transparent
);
background-image: linear-gradient(
45deg,
rgba(255, 255, 255, 0.75) 25%,
transparent 25%,
transparent 50%,
rgba(255, 255, 255, 0.75) 50%,
rgba(255, 255, 255, 0.75) 75%,
transparent 75%,
transparent
);
}
.progress-bar.active {
-webkit-animation: progress-bar-stripes 2s linear infinite;
-o-animation: progress-bar-stripes 2s linear infinite;
animation: progress-bar-stripes 2s linear infinite;
}
.bar-container {
background: $blue_l;
.progress-bar {
height: 100%;
}
}

@ -756,7 +756,8 @@ label {
box-shadow: 0 0 3px 1px rgba(0, 0, 0, 0.05), 0 3px 1px 0 rgba(0, 0, 0, 0.05),
0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 3px 3px 0 rgba(0, 0, 0, 0.05);
transition: transform $session-transition-duration ease, background-color $session-transition-duration ease;
transition: transform $session-transition-duration ease,
background-color $session-transition-duration ease;
}
&.active {
@ -1526,27 +1527,6 @@ input {
}
}
/* Memberlist */
.member-list-container .member {
&-item {
font-family: $session-font-default;
padding: $session-margin-sm $session-margin-md;
@include themify($themes) {
background-color: themed('cellBackground');
}
&:hover:not(.member-selected) {
@include themify($themes) {
background-color: themed('clickableHovered');
}
}
}
&-selected {
background-color: $session-shade-8;
}
}
.standalone {
.button {
background: $session-color-green;

@ -362,7 +362,8 @@ $session-compose-margin: 20px;
.session-brand-logo {
height: 215px;
filter: brightness(0) saturate(100%) invert(75%) sepia(84%) saturate(3272%) hue-rotate(103deg) brightness(106%) contrast(103%);
filter: brightness(0) saturate(100%) invert(75%) sepia(84%) saturate(3272%)
hue-rotate(103deg) brightness(106%) contrast(103%);
}
.session-text-logo {
@ -379,7 +380,7 @@ $session-compose-margin: 20px;
background: #000;
.session-text-logo {
filter:none !important; // force no filter on the text of the app loading
filter: none !important; // force no filter on the text of the app loading
// as the theme is not set right on the start.
// this is to avoid a text color switch on app loading.
}

@ -111,7 +111,6 @@ body.dark-theme {
}
}
.module-last-seen-indicator__bar {
background-color: #353535;
}
@ -382,15 +381,6 @@ body.dark-theme {
a.link {
color: $session-color-green;
}
.progress {
.bar-container {
background-color: $grey_l;
}
.bar {
background-color: $blue_l;
}
}
}
// _index

@ -45,7 +45,7 @@ $themes: (
pillDividerTextColor: #555,
// context menu
contextMenuBackground: #f5f5f5,
filterSessionText: brightness(0) saturate(100%),
filterSessionText: brightness(0) saturate(100%),
),
dark: (
accent: #00f782,
@ -93,7 +93,7 @@ $themes: (
pillDividerTextColor: #a0a0a0,
// context menu
contextMenuBackground: #212121,
filterSessionText: none,
filterSessionText: none,
),
);

@ -72,9 +72,6 @@
<div class="conversation-header"></div>
<div class="main panel">
<div class="discussion-container">
<div class="bar-container hide">
<div class="bar active progress-bar-striped progress-bar"></div>
</div>
</div>
<div class="bottom-bar" id="footer">
@ -256,9 +253,7 @@
<div class="header">{{ deleting }}</div>
</div>
<div class="progress">
<div class="bar-container">
<div class="bar progress-bar progress-bar-striped active"></div>
</div>
</div>
</div>
</div>
@ -308,9 +303,7 @@
<div class="header">{{ importingHeader }}</div>
</div>
<div class="progress">
<div class="bar-container">
<div class="bar progress-bar progress-bar-striped active"></div>
</div>
</div>
</div>
</div>
@ -359,100 +352,6 @@
{{/isError}}
</script>
<script type="text/x-tmpl-mustache" id="link-flow-template">
{{#isStep3}}
<div id="step3" class="step">
<div class="inner">
<div class="step-body">
<div class="header">{{ linkYourPhone }}</div>
<div id="qr">
<div class="container">
<span class="dot"></span>
<span class="dot"></span>
<span class="dot"></span>
</div>
</div>
</div>
<div class="nav">
<div class="instructions">
<div class="android">
<div class="label">
<span class="os-icon android"></span>
</div>
<div class="body">
<div>→ {{ signalSettings }}</div>
<div>→ {{ linkedDevices }}</div>
<div>→ {{ androidFinalStep }}</div>
</div>
</div>
<div class="apple">
<div class="label">
<span class="os-icon apple"></span>
</div>
<div class="body">
<div>→ {{ signalSettings }}</div>
<div>→ {{ linkedDevices }}</div>
<div>→ {{ appleFinalStep }}</div>
</div>
</div>
</div>
</div>
</div>
</div>
{{/isStep3}}
{{#isStep4}}
<form id="link-phone">
<div id="step4" class="step">
<div class="inner">
<div class="step-body">
<span class="banner-icon lead-pencil"></span>
<div class="header">{{ chooseName }}</div>
<div>
<input type="text" class="device-name" spellcheck="false" maxlength="50" />
</div>
</div>
<div class="nav">
<div>
<a class="button finish">{{ finishLinkingPhoneButton }}</a>
</div>
</div>
</div>
</div>
</form>
{{/isStep4}}
{{#isStep5}}
<div id="step5" class="step">
<div class="inner">
<div class="step-body">
<span class="banner-icon sync"></span>
<div class="header">{{ syncing }}</div>
</div>
<div class="progress">
<div class="bar-container">
<div class="bar progress-bar progress-bar-striped active"></div>
</div>
</div>
</div>
</div>
{{/isStep5}}
{{#isError}}
<div id="error" class="step">
<div class="inner">
<div class="step-body">
<span class="banner-icon alert-outline"></span>
<div class="header">{{ errorHeader }}</div>
<div class="body">{{ errorMessage }}</div>
</div>
<div class="nav">
<a class="button try-again">{{ errorButton }}</a>
</div>
</div>
</div>
{{/isError}}
</script>
<script type="text/x-tmpl-mustache" id="standalone">
<div class="step">
<div class="inner">
@ -539,7 +438,6 @@
<script type="text/javascript" src="../js/views/qr_dialog_view.js"></script>
<script type="text/javascript" src="../js/views/beta_release_disclaimer_view.js"></script>
<script type="text/javascript" src="../js/views/identicon_svg_view.js"></script>
<script type="text/javascript" src="../js/views/install_view.js"></script>
<script type="text/javascript" src="../js/views/banner_view.js"></script>
<script type="text/javascript" src="../js/views/session_registration_view.js"></script>
<script type="text/javascript" src="../js/views/app_view.js"></script>

@ -25,8 +25,16 @@ export class MessageView extends React.Component {
<div className="conversation-header" />
<div className="container">
<div className="content session-full-logo">
<img src="images/session/brand.svg" className="session-brand-logo" alt="full-brand-logo" />
<img src="images/session/session-text.svg" className="session-text-logo" alt="full-brand-logo"/>
<img
src="images/session/brand.svg"
className="session-brand-logo"
alt="full-brand-logo"
/>
<img
src="images/session/session-text.svg"
className="session-text-logo"
alt="full-brand-logo"
/>
</div>
</div>
</div>

@ -119,7 +119,6 @@ export class UpdateGroupMembersDialog extends React.Component<Props, State> {
<small className="create-group-dialog__member-count">
{`${checkMarkedCount} members`}
</small>
<hr className="subtle" />
</>
)}

@ -641,105 +641,6 @@
"updated": "2019-03-08T23:49:08.796Z",
"reasonDetail": "Protected from arbitrary input"
},
{
"rule": "jQuery-$(",
"path": "js/views/install_view.js",
"line": " this.$('#qr img').remove();",
"lineNumber": 133,
"reasonCategory": "usageTrusted",
"updated": "2018-09-19T21:59:32.770Z",
"reasonDetail": "Protected from arbitrary input"
},
{
"rule": "jQuery-$(",
"path": "js/views/install_view.js",
"line": " this.$('#qr .container').show();",
"lineNumber": 135,
"reasonCategory": "usageTrusted",
"updated": "2018-09-19T21:59:32.770Z",
"reasonDetail": "Protected from arbitrary input"
},
{
"rule": "jQuery-$(",
"path": "js/views/install_view.js",
"line": " if ($('#qr').length === 0) {",
"lineNumber": 139,
"reasonCategory": "usageTrusted",
"updated": "2018-09-19T21:59:32.770Z",
"reasonDetail": "Protected from arbitrary input"
},
{
"rule": "jQuery-$(",
"path": "js/views/install_view.js",
"line": " this.$('#qr .container').hide();",
"lineNumber": 144,
"reasonCategory": "usageTrusted",
"updated": "2018-09-19T21:59:32.770Z",
"reasonDetail": "Protected from arbitrary input"
},
{
"rule": "jQuery-$(",
"path": "js/views/install_view.js",
"line": " this.qr = new QRCode(this.$('#qr')[0]).makeCode(url);",
"lineNumber": 145,
"reasonCategory": "usageTrusted",
"updated": "2018-09-19T21:59:32.770Z",
"reasonDetail": "Protected from arbitrary input"
},
{
"rule": "jQuery-$(",
"path": "js/views/install_view.js",
"line": " this.$('#qr').addClass('ready');",
"lineNumber": 147,
"reasonCategory": "usageTrusted",
"updated": "2018-09-19T21:59:32.770Z",
"reasonDetail": "Protected from arbitrary input"
},
{
"rule": "jQuery-$(",
"path": "js/views/install_view.js",
"line": " this.$(DEVICE_NAME_SELECTOR).val(deviceName || window.getHostName());",
"lineNumber": 152,
"reasonCategory": "usageTrusted",
"updated": "2018-09-19T21:59:32.770Z",
"reasonDetail": "Protected from arbitrary input"
},
{
"rule": "jQuery-$(",
"path": "js/views/install_view.js",
"line": " this.$('#link-phone').submit();",
"lineNumber": 157,
"reasonCategory": "usageTrusted",
"updated": "2018-09-19T21:59:32.770Z",
"reasonDetail": "Protected from arbitrary input"
},
{
"rule": "jQuery-$(",
"path": "js/views/install_view.js",
"line": " this.$('#link-phone').submit(e => {",
"lineNumber": 167,
"reasonCategory": "usageTrusted",
"updated": "2018-09-19T21:59:32.770Z",
"reasonDetail": "Protected from arbitrary input"
},
{
"rule": "jQuery-$(",
"path": "js/views/install_view.js",
"line": " let name = this.$(DEVICE_NAME_SELECTOR).val();",
"lineNumber": 171,
"reasonCategory": "usageTrusted",
"updated": "2018-09-19T21:59:32.770Z",
"reasonDetail": "Protected from arbitrary input"
},
{
"rule": "jQuery-$(",
"path": "js/views/install_view.js",
"line": " this.$(DEVICE_NAME_SELECTOR).focus();",
"lineNumber": 174,
"reasonCategory": "usageTrusted",
"updated": "2018-09-19T21:59:32.770Z",
"reasonDetail": "Protected from arbitrary input"
},
{
"rule": "jQuery-$(",
"path": "js/views/key_verification_view.js",

Loading…
Cancel
Save