mozilla / betachannel Goto Github PK
View Code? Open in Web Editor NEWDEPRECATED - Give beta testers access to your Apps
Home Page: https://wiki.mozilla.org/Mobile/Projects/BetaFox
DEPRECATED - Give beta testers access to your Apps
Home Page: https://wiki.mozilla.org/Mobile/Projects/BetaFox
Create a MySQL database schema.
Currently the d2g phonetools code does a lot on the provisioning, client side.
It's possible we could move this work server side and remove the nss3-tools dependency.
Let's try to:
public
directory, next to the existing trusted
directoryconfigure-2-distribute-2-gecko.sh
work after doing the current generate_cert.sh
workeverything except push_certdb.sh
and change_trusted_servers.sh
which still should happen client side during provisioning.
www
.When I try to install http://192.168.1.177:8000/app/v/17/install/shout%40ozten.com%2CConnectA2
I get
E/GeckoConsole( 772): Content JS INFO at app://system.gaiamobile.org/js/app_install_manager.js:354 in ai_handleDownloadError: downloadError event, error code is INVALID_SIGNATURE
The finished signed package should be stored on S3.
Cloud deployments do not have stable disk. Public and private key materials should be stored in a durable place, not on disk
It would be nice to be able to either install on FxOS or Download a zip on desktop FF.
Try out factory reset and document what happens
Currently, a team could share a persona login to share code. Or links are obfuscated but password protected? I'd like to be able to password protect builds or add a list of emails of those allowed to access it. Preferably the latter.
Some packaged apps such as Gameboy Emulator do not have a version in their package manifest.
Should delete all public and private certificates.
Open question:
What do we do about existing apps?
Get the install page working end to end.
Since builds aren't the most accessible, I would like to be able to restore my phone's functionality back to (or even in addition to) marketplace after modifying my certs.
Launching installed packaged apps result in a directory listing of files. Usually, clicking index.html
will launch the app.
Examples:
Calculator http://d2gk.co/app/v/13/install/shout%40ozten.com%2CCalculator
HERE Maps http://d2gk.co/app/v/14/install/shout%40ozten.com%2CHERE%20Maps
Age of Barbarians http://d2gk.co/app/v/15/install/shout%40ozten.com%2CAge%20of%20Barbarians
Firetext http://d2gk.co/app/v/16/install/shout%40ozten.com%2CFiretext
We should write viewable cert.db files outside of the package root i.e., make it configurable.
Error: EACCES, permission denied '/opt/betafox/betafox/www/cert9.db'
at Object.fs.symlinkSync (fs.js:730:18)
at /opt/betafox/betafox/server/lib/keygen.js:53:16
at Array.forEach (native)
at /opt/betafox/betafox/server/lib/keygen.js:48:49
at ChildProcess.exithandler (child_process.js:645:7)
at ChildProcess.EventEmitter.emit (events.js:98:17)
at maybeClose (child_process.js:753:16)
at Process.ChildProcess._handle.onexit (child_process.js:820:5)
Filed Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1042418
Moved project wiki page.
Moved IRC Channel.
Take the provisioning scripts from the prototype and create a Firefox Desktop Addon.
An Addon will have an easier installation than the existing bash/python scripts.
We should make it easy to put your packaged app on recroom.
recroom distribute-beta
https://github.com/mozilla/recroom
For a very basic 1.0, recroom could just send the user to the homepage, which will redirect to their dashboard if they are already authenticated.
For a better experience, we can build hawk or OAuth authentication into recroom's CLI and BetaFox's REST API. recroom would make sure the user was authenticated, then do the upload for them, then launch their app install page.
Emscripten games can be quiet large as they target high end phones.
Upload fails with 413 Request Entity Too Large
Currently if you delete all the versions, the app still exists and blows up if you navigate to it.
Actually, we should remove the app row, if there are no versions of the app left.
As of January 1 2019, Mozilla requires that all GitHub projects include this CODE_OF_CONDUCT.md file in the project root. The file has two parts:
If you have any questions about this file, or Code of Conduct policies and procedures, please see Mozilla-GitHub-Standards or email [email protected].
(Message COC001)
connect.limit() will be removed in connect 3.0
Each App should have a single, stable developer certificate. Certificates should not be shared, like in the d2g prototype.
Remove installs_allowed_form from manifest or else we may get INSTALL_FROM_DENIED
.
Re-use Marketplace app validation logic instead of re-implementing it.
See https://bugzilla.mozilla.org/show_bug.cgi?id=1005358
Background: https://bugzilla.mozilla.org/show_bug.cgi?id=982869
I/Gecko ( 295): *************************
I/Gecko ( 295): A coding exception was thrown and uncaught in a Task.
I/Gecko ( 295):
I/Gecko ( 295): Full message: TypeError: undefined has no properties
I/Gecko ( 295): Full stack: this.DOMApplicationRegistry.startDownload<@resource://gre/modules/Webapps.jsm:1378:1
I/Gecko ( 295): TaskImpl_run@resource://gre/modules/Task.jsm:282:1
I/Gecko ( 295): resolve@resource://gre/modules/commonjs/sdk/core/promise.js:118:11
I/Gecko ( 295): then@resource://gre/modules/commonjs/sdk/core/promise.js:43:43
I/Gecko ( 295): resolve@resource://gre/modules/commonjs/sdk/core/promise.js:185:11
I/Gecko ( 295): reject@resource://gre/modules/commonjs/sdk/core/promise.js:133:24
I/Gecko ( 295): then@resource://gre/modules/commonjs/sdk/core/promise.js:52:51
I/Gecko ( 295): resolve@resource://gre/modules/commonjs/sdk/core/promise.js:185:11
I/Gecko ( 295): reject@resource://gre/modules/commonjs/sdk/core/promise.js:208:7
I/Gecko ( 295): TaskImpl_handleException@resource://gre/modules/Task.jsm:366:5
I/Gecko ( 295): TaskImpl_run@resource://gre/modules/Task.jsm:294:9
I/Gecko ( 295): Handler.prototype.process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:710:9
I/Gecko ( 295): this.PromiseWalker.walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:586:7
I/Gecko ( 295):
I/Gecko ( 295): *************************
We should be able to delete Apps and Versions.
What is browse versus upload?
on change event for file picker, start upload
Uploaded, now what?
Install versus "download zip"
QR code broke on
INSTALL_FROM_DENIED should show help.
Big install button!!!!
Steps to Reproduce
Expected:
RingTone installs and can be launched
Actual:
RingTone installs, but there is no icon on the homescreen. Trying to install a second time will result in Reinstall Forbidden
If you look in Settings > Permissions > RingTone it exists and is installed
We want to integrate Pontoon for localization
cc @mathjazz
After an app has been installed, we should see a launch button.
https://developer.mozilla.org/en-US/Marketplace/Options/Creating_a_store
After installing http://d2gk.co/app/v/8/install/[email protected],Calculator
Download fails:
E/GeckoConsole( 110): [JavaScript Error: "Permission denied for <app://system.gaiamobile.org> to create wrapper for object of class UnnamedClass" {file: "app://system.gaiamobile.org/js/app_install_manager.js" line: 390}]
I/Gecko ( 110): Event handler expection [Exception... "[JavaScript Error: "Permission denied for <app://system.gaiamobile.org> to create wrapper for object of class UnnamedClass" {file: "app://system.gaiamobile.org/js/app_install_manager.js" line: 390}]'[JavaScript Error: "Permission denied for <app://system.gaiamobile.org> to create wrapper for object of class UnnamedClass" {file: "app://system.gaiamobile.org/js/app_install_manager.js" line: 390}]' when calling method: [nsIDOMEventListener::handleEvent]" nsresult: "0x80570021 (NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS)" location: "native frame :: <unknown filename> :: <TOP_LEVEL> :: line 0" data: yes]
We should make a list of links to other apps you have installed and populate the app_install page. This allows a user to easily navigate to the latest version of the apps which they have installed on this device.
This does not allow you to discover apps which you do not already know about.
A critical feature is testing upgrade from version 1 to version 2 of an App.
Currently we write symlinks into www
. This isn't a good idea operationally.
We should remove these symlinks and serve up the files directly from local certs directory.
To ease pair programming, deploy a throw away AWS instance.
Assuming the same certificate for provisioning... Installing multiple apps should work well.
We need a consistent app id and version id regardless of the backend database.
These ids should be unguessable, and not UUIDs.
After a devices is provisioned to trust BetaFox, it is no longer usable as a general device. It doesn't trust the Marketplace, for example.
We should have an option to revert the test provisioning.
We need a health check. This should probably check S3, DynamoDB, MySQL, etc.
Having App Manager do the provisioning is great, but it cannot support all existing versions of FirefoxOS.
We need a set of NodeJS scripts that are easy to install and depend on ADB.
This will be a clean-up and port of the Shell/Python scripts from phonetools.
We should use something like winston or bunyan for JSON logging, so we can parse and ship the logs with heka.
We probably won't have any design resources, but make app have a decent design.
We should garbage collect and delete versions after N months.
Versions should be "achievable", which would protect them from garbage collection.
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.