ts-odd

An SDK for building apps with decentralized identity and storage.

APACHE-2.0 License

Downloads
466
Stars
178
Committers
17

Bot releases are visible (Hide)

ts-odd - Release 0.37.0 Latest Release

Published by bgins over 1 year ago

What's Changed

Full Changelog: https://github.com/oddsdk/ts-odd/compare/0.36.3...0.37.0

ts-odd - Release 0.36.3

Published by icidasset over 1 year ago

What's Changed

Full Changelog: https://github.com/fission-codes/webnative/compare/0.36.2...0.36.3

ts-odd - Release 0.36.2

Published by icidasset over 1 year ago

What's Changed

Full Changelog: https://github.com/fission-codes/webnative/compare/0.36.1...0.36.2

ts-odd - Release 0.36.1

Published by icidasset over 1 year ago

ts-odd - Release 0.36.0

Published by bgins over 1 year ago

What's Changed

New Contributors

Full Changelog: https://github.com/fission-codes/webnative/compare/0.35.2...0.36.0

ts-odd - Release 0.35.2

Published by icidasset almost 2 years ago

Changelog

Fixes issue with the types of the path.appData function. Now has the correct overloads.

ts-odd - Release 0.35.1

Published by icidasset almost 2 years ago

Changelog

  • Fixes waitForRootDid retry issues. The function did not make enough attempts nor did it make them frequently enough.
  • Moves shareLink function to common/fission for reachability.
  • Improve capabilities documentation.
ts-odd - Release 0.35.0

Published by icidasset almost 2 years ago

Full rewrite of webnative. ๐ŸŽ‰

Components

We've moved to a component system to make webnative more customizable and indepent of Fission infrastructure. The system removes all global state, avoiding bundler issues. We previously had dependency injection; this is basically more of the same without global state.

The documentation should give you some information on how the various components fit together. If you want to write implementations for a component, see the directories in src/components (or the lib folder). All existing components have been expanded and refactored, and we've introduced the following:

  • Introduction of a depot component: All IPFS functionality has been moved into here. Can now be swapped out with something else. Note that webnative still uses CIDs & IPLD.
  • Introduction of a reference component: Data root lookups & updating, DID root lookups, DNS and various repositories (cid log & UCANs) have been moved in here.
  • Introduction of a manners component: Debug functionality has moved to here.
  • Introduction of a capabilities components: Responsible for accepting UCANs and filesystem secrets from external sources (eg. Fission Lobby)

Improvements

  • The program function now serves as the single entrypoint. You can customise all components and configuration via this function. It'll give you a Program with possibly a Session (and many other things) instead of the State we had before. Basically, when you get a session you're "logged in", otherwise you're not.
  • Webnative can now have many apps run on the same domain without any conflicts. This should help a lot when developing apps on the same localhost port. All storage and filesystems are namespaced by default.
  • When loading a filesystem the data root is tried multiple times (to get around the DNS issue)
  • Multiple filesystems can be loaded at the same time (conflicts with identifiers have been resolved), which allows for a temporary filesystem (progressive login).

(Re)moved

  • Removal of various confusing filesystem parameters, all data and read keys are Uint8Arrays now.
  • Removal of the webnative.initialise, app and permissionedApp functions. These have been replaced by the program function mentioned above.
  • Removal of the fs.appPath function, replaced with the appData function located in the path module.
  • Removal of the fs.addPublicExchangeKey and fs.hasPublicExchangeKey functions, replaced with non-class-instance functions located in fs/data.js.
ts-odd - Release 0.34.2

Published by matheus23 about 2 years ago

Changelog

  • Bugfixes ๐Ÿ›
    • Fixes LinkError: import object field '__wbg_putBlock_88cdb3be9020efb7' is not a Function when loading WASM.

PRs

Full Changelog: https://github.com/fission-codes/webnative/compare/0.34.1...0.34.2

ts-odd - 0.34.1

Published by bgins about 2 years ago

Changelog

  • Bugfixes ๐Ÿ›
    • Fixes dependency-injected lookupDnsLink function
    • Fixes an issue with IPFS peer-list storage
    • Removes Vite warning caused by a dynamic import

PRs

Full Changelog: https://github.com/fission-codes/webnative/compare/0.34.0...0.34.1

ts-odd - 0.34.0

Published by bgins about 2 years ago

Changelog

  • Features โœจ
    • Disabled the shared worker IPFS node. Each app now runs its own instance locally.
    • Added app-owned WNFS for apps that do not authorize through the auth lobby
    • Separated webnative initialization into webnative.app and webnative.permissionedApp. The existing webnative.initialise is aliased to webnative.permissionedApp in this version of webnative, but the alias will be deprecated in a future version.
    • Made email an optional field when registering users
    • Added dependency injection for DNS lookups
    • EXPERIMENTAL: Enable new EXPERIMENTAL public file system version 3.0.0 using rs-wnfs. Use this for experimentation. File system version 3.0.0 will have breaking changes. ๐Ÿงช๐Ÿ‰
  • Maintenance ๐Ÿงฐ
    • Converted nix-shell to use flakes
    • Cleaned up auth dependency injection implementation

PRs

Full Changelog: https://github.com/fission-codes/webnative/compare/0.32.0...0.34.0

ts-odd - 0.32.0

Published by bgins over 2 years ago

A major release with support for app-owned account linking, improved error messages, and fixes to private shares.

Changelog

  • Features โœจ
    • Adds app owned account linking
    • Type checked CIDs with better error messages
  • Bugfixes ๐Ÿ›
    • Fixes issue with loading private shares
  • Maintenance ๐Ÿงฐ
    • Bump ipfs-core to 0.14.3, ifps-core-types to 0.10.3, ipfs-message-port-client to 0.11.3, and ipfs-message-port-protocol to 0.11.3. See https://github.com/ipfs/js-ipfs/pull/4078 for js-ifps version inventory.

PRs

ts-odd - 0.31.1

Published by matheus23 over 2 years ago

Moved some devDependencies that accidentally ended up in dependencies back.

Full Changelog: https://github.com/fission-suite/webnative/compare/0.31.0...0.31.1

ts-odd - 0.31.0

Published by icidasset over 2 years ago

(including changes for 0.30)

Breaking Changes

  • Encrypts the filesystem using AES-GCM instead of AES-CTR. Also wraps the filesystem blocks with some information about the encryption algorithm used.
    Users will need to migrate their filesystems to be able to load apps with this webnative version.
    Apps will need to update to this webnative version to load migrated/new filesystems.
  • CID strings have been replaced with CID class instances from the multiformats library.

Features

  • Adds ability to share private files.
  • Adds soft/symbolic links.
  • Adds dependency injection for initialising and registering accounts.

Fixes

Circular dependencies.

ts-odd - 0.29.2

Published by matheus23 almost 3 years ago

A minor release with some environment support improvements & fixing a bug for old accounts (created before November 2020).

Changelog

  • Make webnative work across more environments and bundlers (upgrade one-webcrypto to 1.0.3)
  • Make full API URL configurable (not just API host).
  • Fix version checking failing on old filesystems which are missing a version tag.

PRs

ts-odd - 0.29.1

Published by bgins almost 3 years ago

Changelog

  • Fixes
    • Check the wnfs version field when initialising a filesystem and alert users about outdated filesystems or outdated apps.
    • Make version mismatch errors configurable through setup.userMessages(...).
ts-odd - 0.29.0 - Chimera

Published by bgins almost 3 years ago

Changelog

  • Features โœจ
    • Update API endpoints to v2 and add setup parameter to specify API version
  • Maintenance ๐Ÿงฐ
    • Upgrade js-ipfs libraries to the versions corresponding to the 0.58 release
  • Bugfixes ๐Ÿ›
    • No longer uses ipfs-message-port-client and ipfs-message-port-protocol forks which sometimes caused weird dependency conflicts

Release Mascot

4506734231_fd79a0af7c_c

Art by Gordon Tarpley

Not goat, not lion, not dragon, yet all. The chimera swept down upon them from the gloom and fog, claiming the night.

ts-odd - 0.28.1

Published by icidasset about 3 years ago

Changelog

Fixes compilation issues with several bundlers.

More details here.

ts-odd - 0.28.0 - Banshee

Published by icidasset about 3 years ago

Changelog

  • Breaking changes โค๏ธโ€๐Ÿฉน
    • Updated keystore-idb to v0.15.0, which renamed publicReadKey() to publicExchangeKey() (among other functions). The read key-pair is now properly named the exchange key-pair.
  • Features โœจ
    • Added the fs.addPublicExchangeKey() function which adds the public exchange key of that domain/browser/device to your filesystem at /public/.well-known/exchange/DID_KEY. Along with the fs.hasPublicExchangeKey() to check if it's there.
  • Bugfixes ๐Ÿ›
    • Made the login low more resilient. Should work better with extensions triggering postMessages now.

Release Mascot

Banshee

The woeful banshee is a spiteful creature formed from the spirit of a female elf. Its face is wreathed in a wild tangle of hair, its body clad in wispy rags that flutter and stream around it.

ts-odd - Azer

Published by bgins about 3 years ago

Changelog

  • Bugfixes ๐Ÿ›
    • Fixed webnative.apps.index(). This method now returns a list of domains, along with their insertedAt and modifiedAt ISO8601 timestamps.
    • Fixed webnative.apps.deleteByDomain() so it aligns with backend changes.

Release Mascot

Azer

The wizard stood before us, and sprung from her finger snap a terrifying flaming man, borne from the planes of fire.

Package Rankings
Top 16.68% on Deno.land
Top 14.83% on Npmjs.org
Badges
Extracted from project README
NPM License Built by FISSION Discord Discourse
Related Projects