diff --git a/src/addons/addons/tw-disable-restore-points/_manifest_entry.js b/src/addons/addons/tw-disable-restore-points/_manifest_entry.js
index 7219cd74e..4d38657c7 100644
--- a/src/addons/addons/tw-disable-restore-points/_manifest_entry.js
+++ b/src/addons/addons/tw-disable-restore-points/_manifest_entry.js
@@ -2,7 +2,7 @@
const manifest = {
"noTranslations": true,
"name": "Disable restore points",
- "description": "Disables all restore point creation. Be careful.",
+ "description": "Disable automatic restore point creation. Does not delete existing restore points.",
"userscripts": [
{
"url": "userscript.js"
diff --git a/src/addons/addons/tw-disable-restore-points/userscript.js b/src/addons/addons/tw-disable-restore-points/userscript.js
index 481ed8c43..783887201 100644
--- a/src/addons/addons/tw-disable-restore-points/userscript.js
+++ b/src/addons/addons/tw-disable-restore-points/userscript.js
@@ -1,3 +1,4 @@
+import AddonHooks from '../../hooks.js';
export default async function ({ addon }) {
- window.DISABLE_RESTORE_POINTS = true;
+ AddonHooks.disableRestorePoints = true;
}
diff --git a/src/addons/generated/upstream-meta.json b/src/addons/generated/upstream-meta.json
index f7126d77b..dee90ef63 100644
--- a/src/addons/generated/upstream-meta.json
+++ b/src/addons/generated/upstream-meta.json
@@ -1 +1 @@
-{"commit":"aea0532"}
\ No newline at end of file
+{"commit":"dc74b83"}
\ No newline at end of file
diff --git a/src/components/tw-restore-point-modal/restore-point-modal.css b/src/components/tw-restore-point-modal/restore-point-modal.css
index 779e0a0f3..fa9b958d4 100644
--- a/src/components/tw-restore-point-modal/restore-point-modal.css
+++ b/src/components/tw-restore-point-modal/restore-point-modal.css
@@ -79,23 +79,30 @@
}
.restore-point:hover {
border-color: $motion-primary;
-}
-.restore-point-details {
-
}
.restore-point-title {
font-weight: bold;
}
.thumbnail-container {
-
+ flex-shrink: 0;
+ /* 4:3 */
+ width: 100px;
+ height: 75px;
}
-.thumbnail {
+.thumbnail-image {
display: block;
border-radius: 0.25rem;
- width: 100px;
+ width: 100%;
height: 100%;
- max-height: 100px;
+}
+.thumbnail-placeholder {
+ width: 100%;
+ height: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 2em;
}
.delete-button {
diff --git a/src/components/tw-restore-point-modal/restore-point.jsx b/src/components/tw-restore-point-modal/restore-point.jsx
index 883a882c5..bf4028eaf 100644
--- a/src/components/tw-restore-point-modal/restore-point.jsx
+++ b/src/components/tw-restore-point-modal/restore-point.jsx
@@ -5,6 +5,7 @@ import bindAll from 'lodash.bindall';
import styles from './restore-point-modal.css';
import {formatBytes} from '../../lib/tw-bytes-utils';
import RestorePointAPI from '../../lib/tw-restore-point-api';
+import log from '../../lib/log';
// Browser support is not perfect yet
const relativeTimeSupported = () => typeof Intl !== 'undefined' && typeof Intl.RelativeTimeFormat !== 'undefined';
@@ -17,7 +18,8 @@ class RestorePoint extends React.Component {
'handleClickLoad'
]);
this.state = {
- thumbnail: null
+ thumbnail: null,
+ error: false
};
this.unmounted = false;
@@ -35,6 +37,14 @@ class RestorePoint extends React.Component {
thumbnail: url
});
}
+ })
+ .catch(error => {
+ log.error(error);
+ if (!this.unmounted) {
+ this.setState({
+ error: true
+ });
+ }
});
}
@@ -71,15 +81,20 @@ class RestorePoint extends React.Component {
className={styles.restorePoint}
onClick={this.handleClickLoad}
>
-
+