144 Commits

Author SHA1 Message Date
Daniel Micay
b3e07c840e migrate history page into an index page 2021-03-27 15:53:54 -04:00
Daniel Micay
bf88ac32e6 make a dedicated history page 2021-03-08 18:57:34 -05:00
Daniel Micay
0be127ae01 update fastboot.js to 1.0.8 2021-03-07 00:56:08 -05:00
Daniel Micay
aae0ac8edf replace legacy /install redirect 2021-03-06 22:38:39 -05:00
Daniel Micay
5450f94be1 update fastboot.js to 1.0.7 2021-03-06 21:09:55 -05:00
Daniel Micay
b4f5326c8b move upstream contributions section to FAQ 2021-03-04 18:07:52 -05:00
Daniel Micay
b618918ead update fastboot.js to fix Pixel 2 flash 2021-03-01 16:11:40 -05:00
flawedworld
3e44e17ea8 Add ability to remove non-stock key via WebUSB. 2021-03-01 15:25:42 -05:00
Daniel Micay
393121b700 update fastboot.js to v1.0.5 2021-02-17 12:36:29 -05:00
Daniel Micay
7b0fda4129 keep releases listing dynamically updated 2021-02-08 04:27:25 -05:00
Daniel Micay
216f7d9887 add hidden releases entries for 4a 5G and 5 2021-02-04 05:32:25 -05:00
Daniel Micay
5773b2120c update fastboot.js 2021-02-03 02:31:54 -05:00
Danny Lin
6d95c35ddf Update fastboot.js to fix Pixel 3 flashing 2021-02-03 02:27:35 -05:00
Danny Lin
c94a665e89 web-install: Update fastboot.js to fix fastbootd flashing
The fastbootd flashing path was missing a progress callback.
2021-01-31 00:33:35 -05:00
Danny Lin
05b287cc2d web-install: Update fastboot.js to fix waiting for reboots 2021-01-31 00:22:58 -05:00
Danny Lin
d44bafb8cf web-install: Show download progress
Getting progress with the fetch() API is complicated and requires us to
stream the data and create the blob ourselves, so use XMLHttpRequest
instead to get live progress updates.
2021-01-31 00:10:26 -05:00
Danny Lin
cdafb40dd6 web-install: Implement flashing progress callbacks 2021-01-31 00:10:26 -05:00
Danny Lin
dfc01e016e Update fastboot.js for live progress updates 2021-01-31 00:10:26 -05:00
Danny Lin
a96bb87e12 Update fastboot.js to fix fastbootd flashing from Android
The fastbootd flashing path was missing a reconnect callback.
2021-01-29 22:32:16 -05:00
Daniel Micay
cee89f384c avoid inline CSS to fix CSP issue 2021-01-29 22:21:38 -05:00
Danny Lin
e582d6ca45 web-install: Implement Android reconnection callback
On Android, Chromium does not support automatic reconnection. The user
must manually pair the device after every reboot in order for
fastboot.js to reconnect to it. Unfortunately, this requires the user of
the library to get involved because USB device connction requests are
only allowed as the result of explicit user action, so we need to add a
reconnect request callback for the user to handle.
2021-01-29 22:15:04 -05:00
Danny Lin
3f76cf5942 Update fastboot.js for Android reconnection handler 2021-01-29 22:15:04 -05:00
Danny Lin
b0b811f167 Update fastboot.js for AVB key flashing fix 2021-01-29 17:47:40 -05:00
Daniel Micay
09ec29de1d simplify wording for fastboot as non-root section 2021-01-29 17:16:32 -05:00
Danny Lin
c11249d678 web-install: Remove stray log message
This was never meant to be shipped.
2021-01-27 20:24:49 -05:00
Danny Lin
cc976583a6 web-install: Handle bootloader lock/unlock errors 2021-01-27 20:24:49 -05:00
Danny Lin
e5a7ae8ec0 web-install: Rethrow errors after handling
After handling errors and showing them to the user, we can rethrow them
to make them show up in the console. This helps greatly with debugging.
2021-01-27 20:24:49 -05:00
Danny Lin
890abfdaff Update web installer for fastboot.js updates
Some of the API and paths have changed, so this needs to be updated
accordingly. The most prominent change is the removal of BlobStore and
downloading support from fastboot.js, because a fastboot library should
not be responsible for downloading files.
2021-01-27 20:24:49 -05:00
Danny Lin
3c2c76dfdf Update fastboot.js submodule
Improvements:
- Better documentation
- Less ambiguous bundle file extension
- Support for logical partitions (via fastbootd)
- More robust flashing
- More consistent code quality
- Requirement checks before flashing
- More flexible factory zip handling
- Support for wiping logical partitions and userdata
- Configurable debug mode
- More detailed flashing progress
- Conformant factory image flashing process
- Automatic reconnection upon connection loss
- Graceful handling of connection loss
- Automatic reuse of already-paired USB devices
- User-friendly progress/status text
2021-01-27 20:24:49 -05:00
Danny Lin
dff5a750d1 Switch to new bundled fastboot.js
This simplifies cache busting greatly without needing to do further
processing on any fastboot.js code before deploying. It also removes the
need for a non-module script with global scope.
2021-01-23 23:08:12 -05:00
Danny Lin
94ec5e0440 Update fastboot submodule for bundles 2021-01-23 23:08:12 -05:00
Danny Lin
b88a4bcb88 Update web install for fastboot.js and zip.js updates 2021-01-23 21:10:18 -05:00
Danny Lin
bddb6ae5b7 Update fastboot.js for zip.js updates
This reduces the size of the zip.js libraries and improves flashing
speed by 1.7x due to the Pako inflate implementation.
2021-01-23 21:10:18 -05:00
Daniel Micay
0d71971ea6 update fastboot submodule 2021-01-23 18:29:37 -05:00
Danny Lin
713b4ef564 Implement web install using fastboot.js
This implements the WebUSB-based web installer using fastboot.js to
act as a fastboot client. A bare minimum UI with a plain-text
status/progress caption for each step is included, as well as a plain
button to trigger it and basic error handling.

WebADB has been removed now that we are only using fastboot.js.

Initial features:

- Unlocking and locking the bootloader
- Downloading the latest GrapheneOS release available for the device
- Flashing the factory images zip
- Reusing USB connections
2021-01-23 03:28:02 -05:00
Danny Lin
bd2626b41e Include fastboot.js as submodule
This will be used for implementing a WebUSB-based installer.
2021-01-23 03:28:02 -05:00
Daniel Micay
3f6de4a482 simpler to avoid using adb like the current guide 2021-01-16 17:28:51 -05:00
Daniel Micay
d78ceb1e9b add stub download implementation 2021-01-05 09:46:56 -05:00
Daniel Micay
ebfef1f23b add locking to web install proof of concept 2021-01-05 08:57:15 -05:00
Daniel Micay
f63c74c8bd add structure to WebUSB proof of concept page 2021-01-05 07:44:57 -05:00
Daniel Micay
6d39817d64 add missing transport reset for fastboot 2021-01-05 05:34:47 -05:00
Daniel Micay
fe063f50fe add foundation for WebUSB-based install page 2021-01-05 05:34:45 -05:00
Daniel Micay
f9328e24c1 move javascript files to js directory 2021-01-05 02:43:55 -05:00
Daniel Micay
e1ddbd94b0 add webadb.js 2021-01-05 02:36:58 -05:00