#. Implement a Tahoe-LAFS capability parser library in Haskell
#. Extend Android app to receive and display server configuration
The deliverable is as above with the following additions.
The package provides an application which can receive a configuration blob from a sender (presumably GridSync) and display a structured representation of it.
#. Finalize device pairing / configuration transfer protocol
#. Implement sender in GridSync
#. Implement receiver in Haskell
#. Haskell magic-wormhole ???
#. QR code reader ???
#. Extend Android app to download and display one hard-coded N=1,k=1 CHK using received "anonymous" (no ZKAPs) server configuration
The deliverable is as above with the following additions.
The package provides an application which has a CHK capability string hard-coded into it.
The application can download the associated data from a Tahoe-LAFS server speaking the "anonymous" Great Black Swamp.
The Tahoe-LAFS server is located via the device pairing protocol completed above.
The Tahoe-LAFS server is located via hard-coded Grid configuration.
If the associated data is plain text then it can display it in some basic way.
#. Implement Tahoe-LAFS Great Black Swamp (immutables, read-only) Haskell client library
...
...
@@ -35,7 +23,7 @@
The deliverable is as above with the following additions.
The application can download the associated data from N Tahoe-LAFS servers speaking the "anonymous" Great Black Swamp.
The Tahoe-LAFS servers is located via the device pairing protocol completed above.
The Tahoe-LAFS servers is located via hard-coded Grid configuration.
The same servers are selected as the Python Tahoe-LAFS implementation would select.
If the associated data is plain text then it can display it in some basic way.
...
...
@@ -47,7 +35,7 @@
The deliverable is as above with the following additions.
The package provides an application which has an SDMF capability string hard-coded into it.
The application can download the associated data from a Tahoe-LAFS server speaking the "anonymous" Great Black Swamp.
The Tahoe-LAFS server is located via the device pairing protocol completed above.
The Tahoe-LAFS server is located via hard-coded configuration.
If the associated data is plain text then it can display it in some basic way.
#. Implement Tahoe-LAFS Great Black Swamp (mutables, read-only) Haskell client library
...
...
@@ -63,7 +51,7 @@
#. Extend Android app to support ZKAPAuthorizer-enabled servers
The deliverable is as above with the following additions.
The configuration received via the device pairing protocol may include storage servers which only speak the ZKAPAuthorizer variation of the storage protocol.
The hard-coded Grid configuration may include storage servers which only speak the ZKAPAuthorizer variation of the storage protocol.
The application can speak to these servers to accomplish all of the above download tasks.
#. Implement ZKAPAuthorizer economic protocol (read-only) for Great Black Swamp Haskell client library
...
...
@@ -83,10 +71,30 @@
#. Finalize GUI design
#. Integrate Tahoe-LAFS Haskell client libraries with existing Kotlin GUI or new Obelisk-based GUI
#. Extend Android app to support receiving a read-cap
The deliverable is as above with the following additions:
#. Integrate with the Haskell magic-wormhole client
#. Use a user-typed code to access a shared magic-wormhole mailbox
#. Receive a folder-invite, including a Collective read-only capability
#. (optional) allow user to say Y/N to the invite (replying via mailbox as appropriate)
#. Store the Collective read-only capability as a folder locally
#. Extend Android app to support browsing magic-folders
The deliverable is as above with the following additions.
The magic-folders in the "devicecap" transferred as part of the pairing protocol are enumerated in the GUI.
The magic-folders configured locally via the pairing protocol are enumerated in the GUI.
The directory browsing GUI can be applied to the logical directory hierarchy represented by a magic-folder.
#. Build a "magic-folder lite" Haskell client library
#. Extend Android app to support QR Codes
The deliverable is as above with the following additions.
The magic-folder pairing protocol is extended to allow reading the wormhole code via QR code
#. Incorporate a QR Code decoding library
#. Set the application up to accept `ps-pair:` URLs
#. Parse the code out of such an URL (instead of user typing it in)
#. Hard-code all other parameters (AppID, wormhole mailbox address, version, ..)