Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
e686f80
wip: concrete lower model without runtime switch [skip ci]
mabels Sep 16, 2025
b71f819
chore: improve the instance(object-graph) generate to prevent that
mabels Sep 12, 2025
1eb7db5
Update use-fireproof/tests/use-fireproof.test.tsx
mabels Sep 15, 2025
adeba64
chore: fix missing import
mabels Sep 15, 2025
422f9c0
fix: make ImgFile references stable using content-based comparison
jchris Sep 9, 2025
d39303d
refactor: use stable CID-based identity for image file caching and cl…
jchris Sep 11, 2025
f7d9e39
fix: implement stable CID-based content keys for DocFileMeta objects
jchris Sep 11, 2025
b4e5aad
fix: use correct object type checking for file key generation in ImgF…
jchris Sep 11, 2025
4d282b6
chore(deps): bump hono from 4.9.6 to 4.9.7
dependabot[bot] Sep 15, 2025
c3379c3
chore(deps): bump react-router-dom from 7.8.2 to 7.9.1
dependabot[bot] Sep 15, 2025
2af127e
chore(deps-dev): bump @typescript/native-preview
dependabot[bot] Sep 15, 2025
8fee29d
chore(deps): bump @clerk/clerk-react from 5.46.1 to 5.47.0
dependabot[bot] Sep 15, 2025
eb08aed
chore(deps-dev): bump tailwindcss from 3.4.17 to 4.1.13
dependabot[bot] Sep 15, 2025
cd436ba
chore(deps-dev): bump wrangler from 4.34.0 to 4.37.0
dependabot[bot] Sep 15, 2025
2b5d283
chore(deps): bump @types/react from 19.1.12 to 19.1.13
dependabot[bot] Sep 15, 2025
2b11bab
chore(deps): bump @clerk/backend from 2.12.1 to 2.14.0
dependabot[bot] Sep 15, 2025
b5918cc
chore(deps): bump @tanstack/react-query from 5.87.1 to 5.87.4
dependabot[bot] Sep 15, 2025
b7fdded
chore(deps-dev): bump globals from 16.3.0 to 16.4.0
dependabot[bot] Sep 15, 2025
056bc67
chore(deps): bump zod from 4.0.14 to 4.1.8
dependabot[bot] Sep 15, 2025
a720f5b
chore(deps): bump multiformats from 13.4.0 to 13.4.1
dependabot[bot] Sep 15, 2025
635d592
chore(deps-dev): bump @cloudflare/vite-plugin from 1.12.0 to 1.13.1
dependabot[bot] Sep 15, 2025
580435b
chore(deps): bump @clerk/clerk-js from 5.91.2 to 5.93.0
dependabot[bot] Sep 15, 2025
ab2647e
chore(deps-dev): bump deno from 2.4.4 to 2.5.0
dependabot[bot] Sep 15, 2025
b6fd46c
chore(deps): bump @hono/node-server from 1.19.1 to 1.19.2
dependabot[bot] Sep 15, 2025
654493f
wip: concrete lower model without runtime switch [skip ci]
mabels Sep 16, 2025
16328f0
chore: now the sync-log store show be available everywhere in fireproof
mabels Sep 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions cli/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
"url": "https://github.com/fireproof-storage/fireproof/issues"
},
"dependencies": {
"@adviser/cement": "^0.4.32",
"@adviser/cement": "^0.4.35",
"@fireproof/core-runtime": "workspace:0.0.0",
"@fireproof/core-types-base": "workspace:0.0.0",
"@fireproof/vendor": "workspace:0.0.0",
Expand All @@ -48,7 +48,7 @@
"find-up": "^7.0.0",
"fs-extra": "^11.3.1",
"jose": "^6.1.0",
"multiformats": "^13.4.0",
"multiformats": "^13.4.1",
"semver": "^7.7.2",
"zx": "^8.8.1"
},
Expand Down
4 changes: 2 additions & 2 deletions cloud/3rd-party/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,12 @@
"url": "https://github.com/fireproof-storage/fireproof/issues"
},
"dependencies": {
"@adviser/cement": "^0.4.32",
"@adviser/cement": "^0.4.35",
"react-dom": "^19.1.1",
"use-fireproof": "workspace:0.0.0"
},
"devDependencies": {
"@types/react": "^19.1.11",
"@types/react": "^19.1.13",
"@types/react-dom": "^19.1.9",
"@vitejs/plugin-react": "^5.0.2",
"vite": "^7.1.5"
Expand Down
4 changes: 2 additions & 2 deletions cloud/backend/base/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
"url": "https://github.com/fireproof-storage/fireproof/issues"
},
"dependencies": {
"@adviser/cement": "^0.4.32",
"@adviser/cement": "^0.4.35",
"@cloudflare/workers-types": "^4.20250906.0",
"@fireproof/cloud-base": "workspace:0.0.0",
"@fireproof/core-base": "workspace:0.0.0",
Expand All @@ -47,7 +47,7 @@
"@libsql/client": "^0.15.15",
"aws4fetch": "^1.0.20",
"drizzle-orm": "^0.44.3",
"hono": "^4.9.6",
"hono": "^4.9.7",
"jose": "^6.1.0"
},
"devDependencies": {
Expand Down
13 changes: 1 addition & 12 deletions cloud/backend/base/ws-sockets.test.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { sleep } from "@fireproof/core-runtime";
import { consumeStream, sleep } from "@fireproof/core-runtime";
import * as ps from "@fireproof/core-types-protocols-cloud";
import { Msger } from "@fireproof/core-protocols-cloud";
import { testSuperThis } from "@fireproof/cloud-base";
Expand Down Expand Up @@ -38,17 +38,6 @@ describe("test multiple connections", () => {
// await hserv.close();
});

function consumeStream(stream: ReadableStream<ps.MsgWithError<ps.MsgWithConn>>, cb: (msg: ps.MsgBase) => void): void {
const reader = stream.getReader();
async function readNext() {
const { done, value } = await reader.read();
if (done) return;
cb(value);
readNext();
}
readNext();
}

it("could open multiple connections", async () => {
const id = sthis.nextId(4).str;
const conns = await Promise.all(
Expand Down
6 changes: 3 additions & 3 deletions cloud/backend/cf-d1/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
"url": "https://github.com/fireproof-storage/fireproof/issues"
},
"dependencies": {
"@adviser/cement": "^0.4.32",
"@adviser/cement": "^0.4.35",
"@cloudflare/workers-types": "^4.20250906.0",
"@fireproof/cloud-backend-base": "workspace:0.0.0",
"@fireproof/cloud-base": "workspace:0.0.0",
Expand All @@ -50,15 +50,15 @@
"@fireproof/vendor": "workspace:0.0.0",
"cmd-ts": "^0.14.1",
"drizzle-orm": "^0.44.3",
"hono": "^4.9.6",
"hono": "^4.9.7",
"multiformats": "^13.4.0"
},
"devDependencies": {
"@fireproof/core-cli": "workspace:0.0.0",
"drizzle-kit": "0.30.6",
"tsx": "^4.20.4",
"vitest": "^3.2.4",
"wrangler": "^4.34.0",
"wrangler": "^4.37.0",
"zx": "^8.8.1"
}
}
6 changes: 3 additions & 3 deletions cloud/backend/node/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
"url": "https://github.com/fireproof-storage/fireproof/issues"
},
"dependencies": {
"@adviser/cement": "^0.4.32",
"@adviser/cement": "^0.4.35",
"@fireproof/cloud-backend-base": "workspace:0.0.0",
"@fireproof/cloud-base": "workspace:0.0.0",
"@fireproof/core-base": "workspace:0.0.0",
Expand All @@ -45,11 +45,11 @@
"@fireproof/core-types-base": "workspace:0.0.0",
"@fireproof/core-types-protocols-cloud": "workspace:0.0.0",
"@fireproof/vendor": "workspace:0.0.0",
"@hono/node-server": "^1.19.1",
"@hono/node-server": "^1.19.2",
"@hono/node-ws": "^1.2.0",
"@libsql/client": "^0.15.15",
"drizzle-orm": "^0.44.3",
"hono": "^4.9.6",
"hono": "^4.9.7",
"vitest": "^3.2.4"
},
"devDependencies": {
Expand Down
2 changes: 1 addition & 1 deletion cloud/base/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
"react": ">=18.0.0"
},
"dependencies": {
"@adviser/cement": "^0.4.32",
"@adviser/cement": "^0.4.35",
"@fireproof/core-blockstore": "workspace:0.0.0",
"@fireproof/core-runtime": "workspace:0.0.0",
"@fireproof/core-types-base": "workspace:0.0.0",
Expand Down
4 changes: 2 additions & 2 deletions cloud/todo-app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,9 @@
"react": ">=18.0.0"
},
"dependencies": {
"@adviser/cement": "^0.4.32",
"@adviser/cement": "^0.4.35",
"@fireproof/vendor": "workspace:0.0.0",
"@types/react": "^19.1.11",
"@types/react": "^19.1.13",
"react-dom": "^19.1.0",
"use-fireproof": "workspace:0.0.0"
},
Expand Down
2 changes: 1 addition & 1 deletion core/base/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
"url": "https://github.com/fireproof-storage/fireproof/issues"
},
"dependencies": {
"@adviser/cement": "^0.4.32",
"@adviser/cement": "^0.4.35",
"@fireproof/core-blockstore": "workspace:0.0.0",
"@fireproof/core-keybag": "workspace:0.0.0",
"@fireproof/core-runtime": "workspace:0.0.0",
Expand Down
5 changes: 3 additions & 2 deletions core/blockstore/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
"url": "https://github.com/fireproof-storage/fireproof/issues"
},
"dependencies": {
"@adviser/cement": "^0.4.32",
"@adviser/cement": "^0.4.35",
"@fireproof/core-gateways-base": "workspace:0.0.0",
"@fireproof/core-gateways-cloud": "workspace:0.0.0",
"@fireproof/core-gateways-file": "workspace:0.0.0",
Expand All @@ -52,7 +52,8 @@
"@ipld/dag-cbor": "^9.2.5",
"@ipld/dag-json": "^10.2.5",
"@web3-storage/pail": "^0.6.2",
"multiformats": "^13.4.0",
"dexie": "^4.2.0",
"multiformats": "^13.4.1",
"p-map": "^7.0.3",
"p-retry": "^7.0.0"
}
Expand Down
26 changes: 23 additions & 3 deletions core/blockstore/register-store-protocol.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { BuildURI, ResolveOnce, runtimeFn, URI } from "@adviser/cement";
import { SuperThis, PARAM } from "@fireproof/core-types-base";
import { SerdeGateway, Gateway } from "@fireproof/core-types-blockstore";
import { MemoryGateway } from "@fireproof/core-gateways-memory";
import { FileGateway, FILESTORE_VERSION, sysFileSystemFactory } from "@fireproof/core-gateways-file";
import { SerdeGateway, Gateway, FPIndexedDB } from "@fireproof/core-types-blockstore";
import { memFPIndexedDB, MemoryGateway } from "@fireproof/core-gateways-memory";
import { FileGateway, FILESTORE_VERSION, sysFileFPIndexedDB, sysFileSystemFactory } from "@fireproof/core-gateways-file";
import { DefSerdeGateway, INDEXEDDB_VERSION } from "@fireproof/core-gateways-base";
import { CloudGateway } from "@fireproof/core-gateways-cloud";

Expand All @@ -11,6 +11,7 @@ export interface SerdeGatewayFactoryItem {
readonly isDefault?: boolean;
defaultURI(sthis: SuperThis): URI;
serdegateway(sthis: SuperThis): Promise<SerdeGateway>;
fpIndexedDB(sthis: SuperThis, uri: URI): Promise<FPIndexedDB>;
}

class OneSerdeGatewayFactoryItem implements SerdeGatewayFactoryItem {
Expand Down Expand Up @@ -42,6 +43,10 @@ class OneSerdeGatewayFactoryItem implements SerdeGatewayFactoryItem {
async serdegateway(sthis: SuperThis): Promise<SerdeGateway> {
return this.once.once(() => this.item.serdegateway(sthis));
}

async fpIndexedDB(sthis: SuperThis, uri: URI): Promise<FPIndexedDB> {
return this.item.fpIndexedDB(sthis, uri);
}
}

const storeFactory = new Map<string, OneSerdeGatewayFactoryItem>();
Expand Down Expand Up @@ -71,6 +76,8 @@ export interface SerdeOrGatewayFactoryItem {

readonly serdegateway?: (sthis: SuperThis) => Promise<SerdeGateway>;
readonly gateway?: (sthis: SuperThis) => Promise<Gateway>;

readonly fpIndexedDB: (sthis: SuperThis, uri: URI) => Promise<FPIndexedDB>;
}

export function registerStoreProtocol(item: SerdeOrGatewayFactoryItem): () => void {
Expand Down Expand Up @@ -144,6 +151,9 @@ if (runtimeFn().isNodeIsh || runtimeFn().isDeno) {
gateway: async (sthis) => {
return new FileGateway(sthis, await sysFileSystemFactory(defaultURI(sthis)));
},
fpIndexedDB: async (sthis, uri) => {
return sysFileFPIndexedDB(sthis, uri);
},
});
}

Expand All @@ -162,6 +172,10 @@ if (runtimeFn().isBrowser) {
const { GatewayImpl } = await import("@fireproof/core-gateways-indexeddb");
return new GatewayImpl();
},
fpIndexedDB: async (sthis, uri) => {
const { indexeddbFPIndexedDB } = await import("@fireproof/core-gateways-indexeddb");
return indexeddbFPIndexedDB(sthis, uri);
},
});
}

Expand All @@ -175,6 +189,9 @@ registerStoreProtocol({
gateway: async (sthis) => {
return new MemoryGateway(sthis, memory);
},
fpIndexedDB: (sthis, uri) => {
return memFPIndexedDB(sthis, uri, memory);
},
});

//const onceRegisterFireproofCloudStoreProtocol = new KeyedResolvOnce<() => void>();
Expand All @@ -189,4 +206,7 @@ registerStoreProtocol({
serdegateway: async (sthis: SuperThis) => {
return new CloudGateway(sthis);
},
fpIndexedDB: async () => {
throw new Error("fpsync for fpcloud: Not implemented");
},
});
2 changes: 1 addition & 1 deletion core/core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
"react": ">=18.0.0"
},
"dependencies": {
"@adviser/cement": "^0.4.32",
"@adviser/cement": "^0.4.35",
"@fireproof/core-base": "workspace:0.0.0",
"@fireproof/core-types-base": "workspace:0.0.0",
"@fireproof/vendor": "workspace:0.0.0",
Expand Down
6 changes: 3 additions & 3 deletions core/device-id/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,13 @@
"url": "https://github.com/fireproof-storage/fireproof/issues"
},
"dependencies": {
"@adviser/cement": "^0.4.23",
"@adviser/cement": "^0.4.35",
"@fireproof/core-keybag": "workspace:0.0.0",
"@fireproof/core-runtime": "workspace:0.0.0",
"@fireproof/core-types-base": "workspace:0.0.0",
"jose": "^6.0.12",
"multiformats": "^13.4.0",
"zod": "^4.0.14"
"multiformats": "^13.4.1",
"zod": "^4.1.8"
},
"devDependencies": {
"@fireproof/core-cli": "workspace:0.0.0",
Expand Down
2 changes: 1 addition & 1 deletion core/gateways/base/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
"url": "https://github.com/fireproof-storage/fireproof/issues"
},
"dependencies": {
"@adviser/cement": "^0.4.32",
"@adviser/cement": "^0.4.35",
"@fireproof/core-runtime": "workspace:0.0.0",
"@fireproof/core-types-base": "workspace:0.0.0",
"@fireproof/core-types-blockstore": "workspace:0.0.0",
Expand Down
2 changes: 1 addition & 1 deletion core/gateways/cloud/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
"url": "https://github.com/fireproof-storage/fireproof/issues"
},
"dependencies": {
"@adviser/cement": "^0.4.32",
"@adviser/cement": "^0.4.35",
"@fireproof/core-gateways-base": "workspace:0.0.0",
"@fireproof/core-protocols-cloud": "workspace:0.0.0",
"@fireproof/core-runtime": "workspace:0.0.0",
Expand Down
Loading
Loading