jazz-react-native 0.9.9 → 0.9.10
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/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +14 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/media.js +29 -12
- package/dist/media.js.map +1 -1
- package/dist/provider.js +3 -0
- package/dist/provider.js.map +1 -1
- package/package.json +6 -6
- package/src/index.ts +1 -0
- package/src/media.tsx +33 -12
- package/src/provider.tsx +4 -0
package/.turbo/turbo-build.log
CHANGED
package/CHANGELOG.md
CHANGED
@@ -1,5 +1,19 @@
|
|
1
1
|
# jazz-browser
|
2
2
|
|
3
|
+
## 0.9.10
|
4
|
+
|
5
|
+
### Patch Changes
|
6
|
+
|
7
|
+
- f76274c: Fix image handling in react-native
|
8
|
+
- 5e83864: Improve error management on initial auth, fixed an infinite loop when migration fails
|
9
|
+
- Updated dependencies [4aa377d]
|
10
|
+
- Updated dependencies [5e83864]
|
11
|
+
- cojson@0.9.10
|
12
|
+
- jazz-tools@0.9.10
|
13
|
+
- cojson-storage-rn-sqlite@0.8.53
|
14
|
+
- cojson-transport-ws@0.9.10
|
15
|
+
- jazz-react-core@0.8.51
|
16
|
+
|
3
17
|
## 0.9.9
|
4
18
|
|
5
19
|
### Patch Changes
|
package/dist/index.js
CHANGED
@@ -2,5 +2,6 @@ export * from "./provider.js";
|
|
2
2
|
export * from "./auth/auth.js";
|
3
3
|
export * from "./storage/kv-store-context.js";
|
4
4
|
export * from "./hooks.js";
|
5
|
+
export * from "./media.js";
|
5
6
|
export { parseInviteLink, createInviteLink, setupKvStore } from "./platform.js";
|
6
7
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC"}
|
package/dist/media.js
CHANGED
@@ -8,20 +8,37 @@ export function useProgressiveImg({ image, maxWidth, }) {
|
|
8
8
|
return;
|
9
9
|
const unsub = image.subscribe({}, (update) => {
|
10
10
|
const highestRes = update?.highestResAvailable({ maxWidth });
|
11
|
-
if (highestRes) {
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
11
|
+
if (highestRes && highestRes.res !== lastHighestRes) {
|
12
|
+
lastHighestRes = highestRes.res;
|
13
|
+
// use the base64 data directly
|
14
|
+
const chunks = highestRes.stream.getChunks();
|
15
|
+
if (chunks?.chunks && chunks.chunks.length > 0) {
|
16
|
+
// convert chunks to base64
|
17
|
+
const totalLength = chunks.chunks.reduce((acc, chunk) => acc + chunk.length, 0);
|
18
|
+
const combinedArray = new Uint8Array(totalLength);
|
19
|
+
let offset = 0;
|
20
|
+
chunks.chunks.forEach((chunk) => {
|
21
|
+
combinedArray.set(chunk, offset);
|
22
|
+
offset += chunk.length;
|
23
|
+
});
|
24
|
+
// Create data URL
|
25
|
+
const base64 = Buffer.from(combinedArray).toString("base64");
|
26
|
+
const dataUrl = `data:${chunks.mimeType};base64,${base64}`;
|
27
|
+
setCurrent({
|
28
|
+
src: dataUrl,
|
29
|
+
res: highestRes.res,
|
30
|
+
});
|
31
|
+
}
|
32
|
+
else {
|
33
|
+
// Fallback to placeholder if chunks aren't available
|
34
|
+
console.warn("No chunks available for image", image.id);
|
35
|
+
setCurrent({
|
36
|
+
src: update?.placeholderDataURL,
|
37
|
+
res: "placeholder",
|
38
|
+
});
|
22
39
|
}
|
23
40
|
}
|
24
|
-
else {
|
41
|
+
else if (!highestRes) {
|
25
42
|
setCurrent({
|
26
43
|
src: update?.placeholderDataURL,
|
27
44
|
res: "placeholder",
|
package/dist/media.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"media.js","sourceRoot":"","sources":["../src/media.tsx"],"names":[],"mappings":"AACA,OAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEnD,sBAAsB;AACtB,MAAM,UAAU,iBAAiB,CAAC,EAChC,KAAK,EACL,QAAQ,GAIT;IACC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAEpC,SAAS,CAAC,CAAC;IAEb,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,cAAkC,CAAC;QACvC,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE;YAC3C,MAAM,UAAU,GAAG,MAAM,EAAE,mBAAmB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC7D,IAAI,UAAU,
|
1
|
+
{"version":3,"file":"media.js","sourceRoot":"","sources":["../src/media.tsx"],"names":[],"mappings":"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"}
|
package/dist/provider.js
CHANGED
@@ -57,6 +57,9 @@ export function JazzProvider({ children, auth, peer, AccountSchema = Account, Cr
|
|
57
57
|
return currentContext;
|
58
58
|
}
|
59
59
|
const promise = createContext();
|
60
|
+
promise.catch((e) => {
|
61
|
+
console.error("Error creating Jazz context", e);
|
62
|
+
});
|
60
63
|
// In development mode we don't return a cleanup function because otherwise
|
61
64
|
// the double effect execution would mark the context as done immediately.
|
62
65
|
if (process.env.NODE_ENV === "development") {
|
package/dist/provider.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAmB,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,OAAO,EAA4B,MAAM,YAAY,CAAC;AAC/D,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAEL,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAgBvB,gCAAgC;AAChC,MAAM,UAAU,YAAY,CAA0C,EACpE,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,aAAa,GAAG,OAAuC,EACvD,cAAc,EACd,OAAO,GACgB;IACvB,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,EAAoC,CAAC;IAEnE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEpD,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACrC,cAAc,CAAC,OAAO,GAAG,KAAK,CAAC;IAE/B,SAAS,CAAC,GAAG,EAAE;QACb,iFAAiF;QACjF,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;YAC3C,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;gBAC3B,OAAO;YACT,CAAC;YACD,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC;YAE9B,2EAA2E;YAC3E,0EAA0E;YAC1E,EAAE;YACF,qDAAqD;YACrD,MAAM,eAAe,GAAG,GAAG,CAAC;YAE5B,IAAI,eAAe,EAAE,CAAC;gBACpB,eAAe,CAAC,IAAI,EAAE,CAAC;YACzB,CAAC;QACH,CAAC;QAED,KAAK,UAAU,aAAa;YAC1B,MAAM,cAAc,GAAG,MAAM,mBAAmB,CAC9C,IAAI,KAAK,OAAO;gBACd,CAAC,CAAC;oBACE,IAAI;oBACJ,cAAc;oBACd,OAAO;iBACR;gBACH,CAAC,CAAC;oBACE,aAAa;oBACb,IAAI,EAAE,IAAI;oBACV,IAAI;oBACJ,cAAc;oBACd,OAAO;iBACR,CACN,CAAC;YAEF,MAAM,MAAM,GAAG,GAAG,EAAE;gBAClB,cAAc,CAAC,MAAM,EAAE,CAAC;gBACxB,MAAM,CAAC,SAAS,CAAC,CAAC;gBAClB,eAAe,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;gBAElC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;oBAC3C,yDAAyD;oBACzD,uCAAuC;oBACvC,cAAc,CAAC,IAAI,EAAE,CAAC;gBACxB,CAAC;YACH,CAAC,CAAC;YAEF,MAAM,CAAC;gBACL,GAAG,cAAc;gBACjB,aAAa;gBACb,MAAM;aACP,CAAC,CAAC;YAEH,OAAO,cAAc,CAAC;QACxB,CAAC;QAED,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;QAEhC,2EAA2E;QAC3E,0EAA0E;QAC1E,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;YAC3C,OAAO;QACT,CAAC;QAED,OAAO,GAAG,EAAE;YACV,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;IAE9C,OAAO,CACL,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAC3E,CAAC;AACJ,CAAC"}
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "jazz-react-native",
|
3
|
-
"version": "0.9.
|
3
|
+
"version": "0.9.10",
|
4
4
|
"type": "module",
|
5
5
|
"main": "./dist/index.js",
|
6
6
|
"module": "./dist/index.js",
|
@@ -27,11 +27,11 @@
|
|
27
27
|
"dependencies": {
|
28
28
|
"@scure/base": "1.2.1",
|
29
29
|
"react-native-quick-crypto": "1.0.0-beta.9",
|
30
|
-
"jazz-react-core": "0.8.
|
31
|
-
"cojson": "0.9.
|
32
|
-
"cojson-transport-ws": "0.9.
|
33
|
-
"cojson-storage-rn-sqlite": "0.8.
|
34
|
-
"jazz-tools": "0.9.
|
30
|
+
"jazz-react-core": "0.8.51",
|
31
|
+
"cojson": "0.9.10",
|
32
|
+
"cojson-transport-ws": "0.9.10",
|
33
|
+
"cojson-storage-rn-sqlite": "0.8.53",
|
34
|
+
"jazz-tools": "0.9.10"
|
35
35
|
},
|
36
36
|
"peerDependencies": {
|
37
37
|
"@react-native-community/netinfo": "*",
|
package/src/index.ts
CHANGED
package/src/media.tsx
CHANGED
@@ -18,19 +18,40 @@ export function useProgressiveImg({
|
|
18
18
|
if (!image) return;
|
19
19
|
const unsub = image.subscribe({}, (update) => {
|
20
20
|
const highestRes = update?.highestResAvailable({ maxWidth });
|
21
|
-
if (highestRes) {
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
21
|
+
if (highestRes && highestRes.res !== lastHighestRes) {
|
22
|
+
lastHighestRes = highestRes.res;
|
23
|
+
// use the base64 data directly
|
24
|
+
const chunks = highestRes.stream.getChunks();
|
25
|
+
if (chunks?.chunks && chunks.chunks.length > 0) {
|
26
|
+
// convert chunks to base64
|
27
|
+
const totalLength = chunks.chunks.reduce(
|
28
|
+
(acc, chunk) => acc + chunk.length,
|
29
|
+
0,
|
30
|
+
);
|
31
|
+
const combinedArray = new Uint8Array(totalLength);
|
32
|
+
let offset = 0;
|
33
|
+
chunks.chunks.forEach((chunk) => {
|
34
|
+
combinedArray.set(chunk, offset);
|
35
|
+
offset += chunk.length;
|
36
|
+
});
|
37
|
+
|
38
|
+
// Create data URL
|
39
|
+
const base64 = Buffer.from(combinedArray).toString("base64");
|
40
|
+
const dataUrl = `data:${chunks.mimeType};base64,${base64}`;
|
41
|
+
|
42
|
+
setCurrent({
|
43
|
+
src: dataUrl,
|
44
|
+
res: highestRes.res,
|
45
|
+
});
|
46
|
+
} else {
|
47
|
+
// Fallback to placeholder if chunks aren't available
|
48
|
+
console.warn("No chunks available for image", image.id);
|
49
|
+
setCurrent({
|
50
|
+
src: update?.placeholderDataURL,
|
51
|
+
res: "placeholder",
|
52
|
+
});
|
32
53
|
}
|
33
|
-
} else {
|
54
|
+
} else if (!highestRes) {
|
34
55
|
setCurrent({
|
35
56
|
src: update?.placeholderDataURL,
|
36
57
|
res: "placeholder",
|
package/src/provider.tsx
CHANGED
@@ -96,6 +96,10 @@ export function JazzProvider<Acc extends Account = RegisteredAccount>({
|
|
96
96
|
|
97
97
|
const promise = createContext();
|
98
98
|
|
99
|
+
promise.catch((e) => {
|
100
|
+
console.error("Error creating Jazz context", e);
|
101
|
+
});
|
102
|
+
|
99
103
|
// In development mode we don't return a cleanup function because otherwise
|
100
104
|
// the double effect execution would mark the context as done immediately.
|
101
105
|
if (process.env.NODE_ENV === "development") {
|