mirror of
https://github.com/balena-io/etcher.git
synced 2025-04-29 01:37:18 +00:00

Auto-update functionality is not ready for usage. As a workaround to prevent users staying with older versions, we now check for updates at startup, and if the user is not running the latest version, we present a modal informing the user of the availiblity of a new version, and provide a call to action to open the Etcher website in his web browser. Extra features: - The user can skip the update, and tell the program to delay the notification for 7 days. Misc changes: - Center modal with flexbox, to allow more flexibility on the modal height. interacting with the S3 server. - Implement `ManifestBindService`, which now serves as a backend for the `manifest-bind` directive to allow the directive's functionality to be re-used by other services. - Namespace checkbox styles that are specific to the settings page. Fixes: https://github.com/resin-io/etcher/issues/396 Signed-off-by: Juan Cruz Viotti <jviottidc@gmail.com>
39 lines
1.4 KiB
JavaScript
39 lines
1.4 KiB
JavaScript
/*
|
|
* Copyright 2016 Resin.io
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
'use strict';
|
|
|
|
/**
|
|
* @module Etcher.Components.UpdateNotifier
|
|
*/
|
|
|
|
const angular = require('angular');
|
|
const MODULE_NAME = 'Etcher.Components.UpdateNotifier';
|
|
const UpdateNotifier = angular.module(MODULE_NAME, [
|
|
require('angular-ui-bootstrap'),
|
|
require('../../models/settings'),
|
|
require('../../utils/manifest-bind/manifest-bind'),
|
|
require('../../os/open-external/open-external')
|
|
]);
|
|
|
|
UpdateNotifier.constant('UPDATE_NOTIFIER_URL', 'https://resin-production-downloads.s3.amazonaws.com');
|
|
UpdateNotifier.constant('UPDATE_NOTIFIER_SLEEP_TIME', 7 * 24 * 60 * 60 * 100);
|
|
UpdateNotifier.controller('UpdateNotifierController', require('./controllers/update-notifier'));
|
|
UpdateNotifier.service('UpdateNotifierService', require('./services/update-notifier'));
|
|
UpdateNotifier.service('UpdateNotifierS3Service', require('./services/update-notifier-s3'));
|
|
|
|
module.exports = MODULE_NAME;
|