mozilla-mobile / fennec-profile-manager Goto Github PK
View Code? Open in Web Editor NEWFennec Profile Manager (Backup / Restore)
License: Mozilla Public License 2.0
Fennec Profile Manager (Backup / Restore)
License: Mozilla Public License 2.0
Have backups created on FPM.
The imported backup size is aligned with the existing backup size.
The imported backups size are not aligned with the existing ones.
The backup is applied and topsites are not hidden.
The backup is not applied and the topsites are not displayed.
Have backups from Fennec Beta/Nightly saved on Drive.
The backup is applied on Release.
FPM crashes.
Logcat:
2020-01-28 14:20:40.933 22867-22867/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: org.mozilla.fpm, PID: 22867
java.lang.OutOfMemoryError: Failed to allocate a 37775104 byte allocation with 9431432 free bytes and 9210KB until OOM, target footprint 201326592, growth limit 201326592
at kotlin.collections.CollectionsKt___CollectionsKt.toByteArray(_Collections.kt:969)
at org.mozilla.fpm.data.BackupRepositoryImpl.deploy(BackupRepositoryImpl.kt:116)
at org.mozilla.fpm.presentation.mvp.MainPresenter$applyBackup$1$1.invokeSuspend(MainPresenter.kt:45)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(Dispatched.kt:241)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:594)
at kotlinx.coroutines.scheduling.CoroutineScheduler.access$runSafely(CoroutineScheduler.kt:60)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:740)
Implement backup signature depending upon variant creation.
"The backup has been applied successfully, please check the app." message is displayed.
FPM Nightly closes, and the following message is displayed on the device homepage: "Unfortunately, FPM Nightly has stopped."
The backup is applied.
The FPM crashes.
Note:
Have Fennec and Firefox Profile Manager installed.
Only the Fennec apk's can be selected with Import.
Any available file can be imported and when the Apply button is tapped, the app crahes.
Have backups on Firefox Profile Manager.
The imported backups UI is the same with the existing backups.
The imported backups UI is different.
Sebastian: "We are now confident to migrate beta and nightly too. So it would be great if we can create build variants that work with beta/nightly".
For FPM this would mean different build configurations with different packageId
s and different sharedUserId
s.
As sharedUserId
Fennec Release and Beta use the same org.mozilla.firefox.sharedID
While Fennec Nightly uses org.mozilla.fennec.sharedID
.
Firefox Profile Manager is installed.
The error is displayed: Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]
To access the internal storage of another app the new one should
Find out how after this 2 conditions are met can we access Fennec's internal storage.
Have backups on Firefox Profile Manager.
The backup is imported.
The edited backup can not be imported because the .fpm extension is missing.
Have Fennec and Firefox Profile Manager installed.
Have Permission storage disabled in FPM Android settings.
The permission storage pop-up is displayed with the Deny/Allow options.
The permission storage pop-up is not displayed.
This is also reproducible for fresh install or clear data.
Firefox Profile Manager is installed.
The app is displayed in landscape mode correctly.
A blank screen is displayed and the app is unresponsive.
Create a simple and intuitive UI.
For testing the migration from Fennec to Fenix we need a helper app to make this process repeatable for testing and debugging purposes.
The helper app should allow to take a snapshot of the app data directory of Fennec. After that a tester can test the migration by updating Fennec to Fenix. To repeat the process the tester can uninstall Fenix, reinstall Fennec and then restore the previous app data into Fennec by using the helper app. In addition to that the helper app should allow to share a saved backup (e.g. to send it to the development team for debugging purposes).
The helper tool should allow to create a snapshot by:
The helper tool should allow to restore a snapshot by:
In order to allow a tester to hand a snapshot to a developer for debugging the helper app should make it possible to share a snapshot by:
Normally an app can't read the application data of an other app. However Fennec defines a sharedUserId in its manifest that makes this possible as long as we sign the helper app with the same signing key.
To use the app together with a Fennec production installation we need to sign the application with the Fennec production signing key.
I talked to @JohanLorenzo yesterday and the recommendation was to setup a "release automation" process like we did for RB and Fenix. Right now we should estimate at least one week to set this up.
Have Fennec and Firefox Profile Manager installed.
The Set backup name pop-up is displayed.
The Set backup name pop-up is dismissed.
This is also reproducible for the Edit backup name, Apply pop-ups.
"Yes" and "Cancel" options are displayed.
Note that for Apply, Edit, the options are displayed and we consider that "Delete" is important also.
No confirmation step is displayed.
The name of the backup is displayed with no issues, the date of creation is displayed.
The backup is applied.
The FPM crashes.
Logcat1:
2020-01-27 11:01:50.699 24286-24286/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: org.mozilla.fpm, PID: 24286
java.io.FileNotFoundException: /data/user/0/org.mozilla.firefox/lib/libplugin-container.so (Permission denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.(FileOutputStream.java:221)
at java.io.FileOutputStream.(FileOutputStream.java:169)
at org.mozilla.fpm.utils.ZipUtils.extract(ZipUtils.java:92)
at org.mozilla.fpm.data.BackupRepositoryImpl.deploy(BackupRepositoryImpl.kt:124)
at org.mozilla.fpm.presentation.mvp.MainPresenter$applyBackup$1$1.invokeSuspend(MainPresenter.kt:45)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(Dispatched.kt:241)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:594)
at kotlinx.coroutines.scheduling.CoroutineScheduler.access$runSafely(CoroutineScheduler.kt:60)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:740)
Logcat2:
BetaCrashApply.txt
On devices with android >5, the backup is duplicated with "-temp" extension added to the name.
Introduce new path logic in the extraction flow function.
Detekt alongside ktlint helps to enforce the official Android Kotlin style and ensure the code follows Kotlin best practices.
For our project we will need:
Have backups on Firefox Profile Manager.
The share options are displayed.
FPM crashes.
Stefan informed us there are still some concerns related to security for exported fpm backups.
Even though we tried to address these by encrypting the backups and use our own custom filetype, for a better peace of mind we should
[ ] remove the "Share" functionality
Removing this means "Import" is redundant so we should also
[ ] remove the "Import" functionality
Space between characters can't be added. It should give an error or when is done editing, "test_1" should be displayed.
Space between characters can be added.
Have Firefox Profile Manager installed.
A Throbber is presented on the screen notifying the user that the new backup is creating.
The Throbber is freezing.
Android device: Samsung Galaxy S8 (Android 9); Google Pixel (Android Q).
Build Firefox Profile Manager v1.0 Build 2 for Fennec Release, Beta and Nightly.
Move encryption secret key from java class to config file and set it as env var by using groovy.
A message should inform the user that the first backup will be replaced by the new one, with options to continue or cancel.
Only the last backup is displayed, even if the browser settings were different (also the details: the size of the backup).
This is also reproducible for the import/edit option after the app is closed and opened.
Have Fennec and Firefox Profile Manager installed.
There is a text cursor indicating the insertion point.
The text cursor is missing.
Screenshot
Also reproducible for Edit backup name.
The name of the backup is "Test".
The backup name is updated to "Test(2)".
Have Fennec and Firefox Profile Manager installed.
The FPM page is displayed.
The "Something went wrong, please try again later." pop-up message is displayed.
The imported backup is displayed.
The imported backups is blank.
Screenshot
After restarting the app, the backups are displayed.
Have Fennec and Firefox Profile Manager installed.
The Create button is not working.
The Create button can be tapped and a new backup can be created.
The create button is not actionable all the time.
There is no overlapping between backups and buttons.
The buttons Import and Create are overlapping the last entry.
*Android device: Motorola Moto G6 (Android 8.0).
*Build Firefox Profile Manager v1.0 Build 3 for Fennec Release, Beta and Nightly.
Fix compile error generated by bad merging process.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.