Re-enable the mv
filesystem function.
Fixed dependency loading issue.
Added versioning info to the README.
- Adds versioning
- Allows for concurrent filesystem operations
- Adds facts
fct
to the UCANs (v0.3.1) - Update IPFS to v0.51.0
- Fixes
isUsernameAvailable
function (was broken due to adjusteddataRoot.lookup
behaviour) - Fixes issue with clearing data from browser.
- Tries reconnecting to Fission gateway if initial connection fails
- Removes
yarn
as a dependency (should've been devDependency)
Support the decoding of the url-safe base64 encoded read-key from the auth lobby.
The expiration timestamp of a UCAN cannot exceed that of its proof.
Bugfix: clear all data when using the leave
function.
Bugfix: updates to files on public side were failing.
Bugfix: changes to public tree were not being reflected in pretty tree.
Don't error on failed pins.
Do not recursively pin content.
Permissions should be optional for redirectToLobby
and loadFileSystem
as well.
- Reliability & performance improvements
- Permissions are now optional
Added proofs to JWT for app routes (index, create & delete)
- Renamed
publicise
/publicize
topublish
- Renamed
prerequisites
topermissions
- The
app
andfs
params toinitialise
are now grouped together by passing thepermissions
parameter. - Decrypt
readKey
from auth lobby (behind the scenes)
Upgrade to js-ipfs v0.50
Connect to signaling server to find your other devices more easily.
Upgrade to CIDv1.
initialise
now accepts two additional options, named "prerequisites":const { prerequisites, scenario, state } = await wn.initialise({ // Will ask the user permission to store // your apps data in `private/Apps/Nullsoft/Winamp` app: { name: "Winamp", creator: "Nullsoft" }, // Ask the user permission for additional filesystem paths fs: { privatePaths: [ "Music" ], publicPaths: [ "Mixtapes" ] } })
- Those prerequisites are passed to the
wn.redirectToLobby
function.
(So the auth lobby has the correct parameters to determine the permissions to ask the user) - Adds the ability to use multiple apps with one file system (closes #73)
- The SDK now handles multiple UCANs
- Works offline (fixes #82)
- Added
initialize
(american spelling) as an alias forinitialise
- Adds ability to set the potency
ptc
of a UCAN - Uses the Fission gateway as a delegate node
- File system actions (ie. POSIX interface methods) throw an error when they are missing the necessary permissions (read UCAN)
- Does no longer automatically call the
fs.publicise()
method. You have to call this yourself from now on. - Changed the
fs.appPath
function (see README) - Renamed
scenario.isAuthenticated
toscenario.isAuthorised
- Renamed
scenario.continuum
toscenario.continuation
- The first parameter to
redirectToLobby
has now become the second parameter. - Replaced
deauthenticate
withleave
, which now redirects to the auth lobby automatically, so you can "sign out" there as well.
- Fixed issue with private trees
- Improved connectivity
- Switched from AES-128 read keys to AES-256
- Big rewrite of filesystem
- private side derives names using bloomfilters and stores nodes in an MMPT
- reorganize header info on public side and store metadata/skeleton as cbor data
- Improved
fs.write
method, is an alias foradd
now (becauseadd
overwrites by default) - Improved file system loading and saving
- Skipped because of a botched npm publish
- Added apps API
apps.create
,apps.index
,apps.deleteByURL
- Improved DNSLink lookup error handling
- Reduced time-to-save for the file system to 3 seconds instead of 5
- Removed unnecessary
console.log
calls - Updated default
js-ipfs
tov0.48.1
(wasv0.48.0
)
Removed the default import from the index file. Now you use the SDK as follows, browser stays the same.
import * as sdk from 'fission-sdk'
import { initialise } from 'fission-sdk'
sdk.initialise()
initialise()
- Renamed
isAuthenticated
toinitialise
initialise
will return an instance of the file system (can be disabled in case you use web workers)- Adds
loadFileSystem
to load a file system (called automatically frominitialise
unless disabled). This function is responsible for caching the file system locally and making a file system if the user hasn't got one yet. - Adds the
fs.appPath.private
andfs.appPath.public
function to build paths. - Adds the
fs.exists
,fs.read
andfs.write
file system methods