@@ -163,18 +163,13 @@ function configuration_backup(callback) {
163163 function save ( ) {
164164 var chosenFileEntry = null ;
165165
166- var accepts = [ {
167- extensions : [ 'json' ]
168- } ] ;
166+ var prefix = 'betaflight_backup' ;
167+ var suffix = 'json' ;
169168
170- // generate timestamp for the backup file
171- var now = new Date ( ) . toISOString ( ) . split ( "." ) [ 0 ] ;
172-
173- // replace invalid filesystem characters
174- now = now . replace ( new RegExp ( ':' , 'g' ) , '_' ) ;
169+ var filename = generateFilename ( prefix , suffix ) ;
175170
176171 // create or load the file
177- chrome . fileSystem . chooseEntry ( { type : 'saveFile' , suggestedName : 'betaflight_backup_' + now + '.json' , accepts : accepts } , function ( fileEntry ) {
172+ chrome . fileSystem . chooseEntry ( { type : 'saveFile' , suggestedName : filename , accepts : [ { extensions : [ suffix ] } ] } , function ( fileEntry ) {
178173 if ( chrome . runtime . lastError ) {
179174 console . error ( chrome . runtime . lastError . message ) ;
180175 return ;
@@ -241,7 +236,7 @@ function configuration_restore(callback) {
241236 var chosenFileEntry = null ;
242237
243238 var accepts = [ {
244- extensions : [ 'txt ' ]
239+ extensions : [ 'json ' ]
245240 } ] ;
246241
247242 // load up the file
@@ -288,14 +283,21 @@ function configuration_restore(callback) {
288283 return ;
289284 }
290285
286+
291287 // validate
292288 if ( typeof configuration . generatedBy !== 'undefined' && compareVersions ( configuration . generatedBy , CONFIGURATOR . backupFileMinVersionAccepted ) ) {
293289
294290 if ( ! migrate ( configuration ) ) {
295291 GUI . log ( chrome . i18n . getMessage ( 'backupFileUnmigratable' ) ) ;
296292 return ;
297293 }
298-
294+
295+ if ( configuration . BF_CONFIG . features . _featureMask ) {
296+ var features = new Features ( CONFIG ) ;
297+ features . setMask ( configuration . BF_CONFIG . features . _featureMask ) ;
298+ configuration . BF_CONFIG . features = features ;
299+ }
300+
299301 configuration_upload ( configuration , callback ) ;
300302
301303 } else {
0 commit comments