diigo-cache: date windows and search on the public page (1d)

/public/<username> takes days, after, before, in (year, month,
quarter, ISO week), by=updated|created, and q (words, "phrases",
#tags, -negation, gmail/Slack/GitHub date operators). JSON answers
echo the parsed filter; a malformed one is a 400.

Filters query the stored items in sqlite through the read-only
viewer instead of walking diigo pages: the public page keeps no
fetch authority, and a filled cache already holds every item.
Results say `complete` when every diigo page is stored; freshness
is 1f's head refresh. So the fetch budget and the O(log pages)
walk test go, and the fake deep account shrinks to 300.

Generated-by: Claude Opus 5.5
This commit is contained in:
dckc committed 2026-10-09 01:17:03 -05:00
1 parent efb54ad4cc
commit 002f08b456
9 files changed
+418 -120

No files matched your search

+2 -2
View File
@@ -18,9 +18,9 @@ const OVERSTATEMENT = 60;
* 5th an old bookmark edited recently (created 100 days before updated) */
const DATED_WEBAPP = "fake-dated-webapp";
const DATED_TOTAL = 60;
/** the same shape, 6000 deep (~16 years, 60 pages of 100): for walk cost */
/** the same shape, 300 deep (3 pages of 100): for paging matches */
const DEEP_WEBAPP = "fake-deep-webapp";
const DEEP_TOTAL = 6000;
const DEEP_TOTAL = 300;
const HOUR = 60 * 60 * 1000;
function datedItem(n, now, user = "dated_dan") {