@arcadiasystems/morse-uploader 0.4.0 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/README.md +5 -3
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to `@arcadiasystems/morse-uploader` will be documented in this file. Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and the project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
4
4
|
|
|
5
|
+
## [0.4.2] - 2026-10-31
|
|
6
|
+
|
|
7
|
+
Narrows the `@mysten/seal` and `@mysten/walrus` peers to the releases that run on `@mysten/sui` 2.36, so the README's peer install resolves again. No code changed.
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- **The README's peer install failed with `ERESOLVE`.** Mysten has since published `@mysten/seal` 1.5.1 and 1.5.2, which peer on `@mysten/sui` `^2.37.0` and `^2.38.0`, and `@mysten/walrus` 1.2.36 and 1.2.37, which do the same. The `@mysten/sui` peer stops below 2.37, but the seal peer (`<1.6.0`) and the walrus peer (`<1.3.0`) still admitted those releases. The README's `@mysten/seal@~1.5.0` therefore resolved seal 1.5.2, and installing 0.4.1 next to SDK 0.10.0 the way the README said failed. The peers are now `@mysten/seal` `>=1.5.0 <1.5.1` (was `>=1.5.0 <1.6.0`) and `@mysten/walrus` `>=1.2.35 <1.2.36` (was `>=1.2.35 <1.3.0`): seal 1.5.0 and walrus 1.2.35 are the only releases in the old ranges that accept sui 2.36. The `@mysten/sui` and `@arcadiasystems/morse-sdk` peers are unchanged. The README peer install now pins the `@mysten` packages exactly: `npm install react react-dom @arcadiasystems/morse-sdk@~0.10.0 @mysten/sui@2.36.0 @mysten/walrus@1.2.35 @mysten/seal@1.5.0`. SDK 0.10.0's own seal and walrus peers are still `<1.6.0` and `<1.3.0`, so next to it an install that leaves the `@mysten` versions to npm still pulls in seal 1.5.2 and fails the same way; install them as the README does.
|
|
12
|
+
|
|
13
|
+
## [0.4.1] - 2026-10-30
|
|
14
|
+
|
|
15
|
+
Accepts `@arcadiasystems/morse-sdk` 0.10. No code changed: none of 0.10's breaking changes reach this package, and the Mysten peer ranges are the same as 0.4.0's.
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
|
|
19
|
+
- **Peer dependency.** `@arcadiasystems/morse-sdk` `>=0.9.0 <0.11.0` (was `>=0.9.0 <0.10.0`), so an app can install SDK 0.10 next to this package without a peer conflict, and an app on 0.9.x can take this release without moving the SDK. The README peer install now names `@arcadiasystems/morse-sdk@~0.10.0`.
|
|
20
|
+
- **On SDK 0.10, download and upload errors read the way the SDK now words them.** `downloadErrorMessage` and `uploadErrorMessage` hand every SDK error to `formatUserMessage`, so the copy follows the SDK the app installed. A missing blob is still titled "Content unavailable", but its description is now "Walrus has no stored copy of this content. (id: ...)" with the bare blob id, instead of 0.9's "The Walrus blob is not retrievable. The storage operator may be having issues, or the blob expired. (id: Walrus aggregator: blob ... not found)". A `BlobExpiredError` is titled "Content expired" and names both epochs. The download hooks read through `walrusRead.readBlob`, never `readBlobByObjectId`, so the default aggregator adapter never raises one; only a custom `walrusRead` that raises it shows that message.
|
|
21
|
+
- **Nothing else 0.10 broke reaches this package.** It implements no `PublicationReader`, so the new required `isPublisherCapRevoked` does not apply. It never tests a Walrus read failure's class (`NoBlobMetadataReceivedError` is now a `TransportError`, `BlobNotCertifiedError` a `NotFoundError`) and never reads `NotFoundError.identifier`. It does not import `BlobExpiredError`, which 0.9 does not export.
|
|
22
|
+
- **The dev dependency and the example** pin `@arcadiasystems/morse-sdk` 0.10.0, so CI tests the newest version the range admits. 0.9.0, the lower bound, was checked locally: lint, typecheck, the test suite, build and `check:exports` pass, and the built entries load in Node.
|
|
23
|
+
|
|
5
24
|
## [0.4.0] - 2026-10-20
|
|
6
25
|
|
|
7
26
|
Downloads now tell an encrypted file from a public one by its on-chain Seal prefix instead of trusting the share link, and uploads refuse a file too large for the relay's tip cap before reading it. Peer dependencies are unchanged. This is a minor bump because it adds public exports and narrows `walrusWriteConfig.uploadRelay.sendTip` from `unknown`, so a value `@mysten/walrus` would not accept no longer type-checks.
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @arcadiasystems/morse-uploader
|
|
2
2
|
|
|
3
|
-
Headless-first React components and hooks for encrypted file sharing on Sui and Walrus, built on [`@arcadiasystems/morse-sdk`](https://github.com/arcadiasystems/morse-dcms) 0.9. Upload a file to Walrus, optionally encrypt it for a set of recipient wallets so only they can decrypt, and share a link. The connected wallet pays for and signs everything.
|
|
3
|
+
Headless-first React components and hooks for encrypted file sharing on Sui and Walrus, built on [`@arcadiasystems/morse-sdk`](https://github.com/arcadiasystems/morse-dcms) 0.9 or 0.10. Upload a file to Walrus, optionally encrypt it for a set of recipient wallets so only they can decrypt, and share a link. The connected wallet pays for and signs everything.
|
|
4
4
|
|
|
5
5
|
- **Headless-first**: composable hooks for every step (`useMorseFiles`, `useFileUpload`, `useFileDownload`, `useFileDecrypt`, `useRecipientFile`), plus an optional styled component set.
|
|
6
6
|
- **Recipient-scoped encryption**: each file carries its own recipient set; an encrypted upload to N recipients is **2 wallet popups**, regardless of N. The connected wallet is always a recipient, so the owner can always decrypt. Public (unencrypted) uploads need no recipients.
|
|
@@ -13,12 +13,14 @@ Headless-first React components and hooks for encrypted file sharing on Sui and
|
|
|
13
13
|
npm install @arcadiasystems/morse-uploader
|
|
14
14
|
```
|
|
15
15
|
|
|
16
|
-
Peer dependencies (install in your app,
|
|
16
|
+
Peer dependencies (install in your app, at versions `@arcadiasystems/morse-sdk` also accepts, so you do not end up with duplicate Sui/Walrus/Seal instances):
|
|
17
17
|
|
|
18
18
|
```sh
|
|
19
|
-
npm install react react-dom @arcadiasystems/morse-sdk@~0.
|
|
19
|
+
npm install react react-dom @arcadiasystems/morse-sdk@~0.10.0 @mysten/sui@2.36.0 @mysten/walrus@1.2.35 @mysten/seal@1.5.0
|
|
20
20
|
```
|
|
21
21
|
|
|
22
|
+
The `@mysten` packages are pinned exactly because the next patches, `@mysten/seal` 1.5.1 and `@mysten/walrus` 1.2.36, need `@mysten/sui` 2.37 or newer, so `~` ranges make npm refuse the install. The `@arcadiasystems/morse-sdk` peer range is `>=0.9.0 <0.11.0`, so an app already on 0.9.x can keep it.
|
|
23
|
+
|
|
22
24
|
## Quick start
|
|
23
25
|
|
|
24
26
|
### 1. Build the handles from your wallet
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arcadiasystems/morse-uploader",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.2",
|
|
4
4
|
"description": "Headless-first React components and hooks for encrypted file sharing on Sui and Walrus, built on morse-sdk.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Arcadia Systems",
|
|
@@ -77,10 +77,10 @@
|
|
|
77
77
|
"bun": ">=1.2.0"
|
|
78
78
|
},
|
|
79
79
|
"peerDependencies": {
|
|
80
|
-
"@arcadiasystems/morse-sdk": ">=0.9.0 <0.
|
|
81
|
-
"@mysten/seal": ">=1.5.0 <1.
|
|
80
|
+
"@arcadiasystems/morse-sdk": ">=0.9.0 <0.11.0",
|
|
81
|
+
"@mysten/seal": ">=1.5.0 <1.5.1",
|
|
82
82
|
"@mysten/sui": ">=2.36.0 <2.37.0",
|
|
83
|
-
"@mysten/walrus": ">=1.2.35 <1.
|
|
83
|
+
"@mysten/walrus": ">=1.2.35 <1.2.36",
|
|
84
84
|
"react": ">=18.0.0",
|
|
85
85
|
"react-dom": ">=18.0.0"
|
|
86
86
|
},
|
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
}
|
|
94
94
|
},
|
|
95
95
|
"devDependencies": {
|
|
96
|
-
"@arcadiasystems/morse-sdk": "0.
|
|
96
|
+
"@arcadiasystems/morse-sdk": "0.10.0",
|
|
97
97
|
"@arethetypeswrong/cli": "^0.18.1",
|
|
98
98
|
"@biomejs/biome": "2.4.7",
|
|
99
99
|
"@mysten/seal": "1.5.0",
|