fixup! diigo-cache: the public page only reads
Comments written for the reader: no restating what the shebang says, no traces of the design conversation; the publish comment no longer mentions a projection that no longer exists. Generated-by: Claude Opus 5.5
This commit is contained in:
1 parent
7c0d1d62c6
commit
279ddb4caa
1 file changed
+3
-8
@@ -16,11 +16,8 @@ import { updatedISO, usernameOf } from "./items.js";
|
|||||||
import { toWebkey, idFromWebkey, isWebkey, shashKey } from "./webkeys.js";
|
import { toWebkey, idFromWebkey, isWebkey, shashKey } from "./webkeys.js";
|
||||||
import { pmSave } from "./pm-save.js";
|
import { pmSave } from "./pm-save.js";
|
||||||
|
|
||||||
/**
|
/** the live clock: the worker's entry module reads ambient time and hands
|
||||||
* the live clock. This module is the worker's edge — the runtime's entry,
|
* it to the cache logic, which uses only the clock it is given */
|
||||||
* like a program script — so ambient time is reached here and delegated
|
|
||||||
* down; the cache logic only uses the clock it is given.
|
|
||||||
*/
|
|
||||||
function liveClock(): Clock {
|
function liveClock(): Clock {
|
||||||
return { now: () => Date.now(), sleep: (ms) => new Promise((r) => setTimeout(r, ms)) };
|
return { now: () => Date.now(), sleep: (ms) => new Promise((r) => setTimeout(r, ms)) };
|
||||||
}
|
}
|
||||||
@@ -382,9 +379,7 @@ async function publishCache(request: Request, env: Env): Promise<Response> {
|
|||||||
if (wiring.publicId) {
|
if (wiring.publicId) {
|
||||||
return Response.json({ cacheId, publicId: wiring.publicId, status: "already published" });
|
return Response.json({ cacheId, publicId: wiring.publicId, status: "already published" });
|
||||||
}
|
}
|
||||||
// seed the projection *now*, while the cache is still private-only:
|
// the username comes from the items: the cookie's own account
|
||||||
// only rows already cached and marked shared can enter the public
|
|
||||||
// side; the username rides the same rows
|
|
||||||
const firstPage = await cache.page(1, PAGE_SIZE);
|
const firstPage = await cache.page(1, PAGE_SIZE);
|
||||||
const firstItem = firstPage.items[0] ? (JSON.parse(firstPage.items[0]) as Item) : undefined;
|
const firstItem = firstPage.items[0] ? (JSON.parse(firstPage.items[0]) as Item) : undefined;
|
||||||
const username = usernameOf(firstItem);
|
const username = usernameOf(firstItem);
|
||||||
|
|||||||
Reference in new issue
Block a user