diff --git a/apps/web/public/extensions/registry.json b/apps/web/public/extensions/registry.json index b340c4fe..ab8ef489 100644 --- a/apps/web/public/extensions/registry.json +++ b/apps/web/public/extensions/registry.json @@ -1,7 +1,28 @@ { "registryVersion": "1", - "updatedAt": "2026-09-08T16:40:19.000Z", + "updatedAt": "2026-09-12T06:37:45.000Z", "entries": [ + { + "id": "org.edgeever.tasks", + "name": "EdgeEver Tasks", + "description": "Collects Markdown tasks across notes and links every task back to its source.", + "author": "EdgeEver", + "publisher": "edgeever", + "category": "Productivity", + "repositoryUrl": "https://github.com/tianma-if/edgeever-tasks", + "distribution": { + "type": "github", + "repositoryUrl": "https://github.com/tianma-if/edgeever-tasks" + }, + "verification": { + "version": "0.6.3", + "checksums": { + "manifestJson": "a6fa5c2a58d673f74319794e44d632804a6e7abf301269d900effe6f58567a5f", + "mainJs": "c668ebd87e807e864d01dc879f3486b8c2d90b0fa4a004e7e9935d41360a74c3", + "stylesCss": "1c307ac17bd4680c534007adaee1d2f3a4b1d6f36ee8585c291d65ebf94b9b03" + } + } + }, { "id": "org.edgeever.plugins.ai-rss", "name": "EdgeEver AI RSS", diff --git a/apps/web/src/lib/plugins/plugin-marketplace.test.mjs b/apps/web/src/lib/plugins/plugin-marketplace.test.mjs index d58e9e75..cae2ff8c 100644 --- a/apps/web/src/lib/plugins/plugin-marketplace.test.mjs +++ b/apps/web/src/lib/plugins/plugin-marketplace.test.mjs @@ -38,6 +38,25 @@ describe("bundled plugin marketplace", () => { } }); + test("pins the official Tasks release and all distributed assets", async () => { + const registry = parseMarketplaceRegistry(await Bun.file(new URL("../../../public/extensions/registry.json", import.meta.url)).json()); + const entry = registry.entries.find((candidate) => candidate.id === "org.edgeever.tasks"); + + expect(entry).toMatchObject({ + publisher: "edgeever", + repositoryUrl: "https://github.com/tianma-if/edgeever-tasks", + distribution: { type: "github", repositoryUrl: "https://github.com/tianma-if/edgeever-tasks" }, + verification: { + version: "0.6.3", + checksums: { + manifestJson: "a6fa5c2a58d673f74319794e44d632804a6e7abf301269d900effe6f58567a5f", + mainJs: "c668ebd87e807e864d01dc879f3486b8c2d90b0fa4a004e7e9935d41360a74c3", + stylesCss: "1c307ac17bd4680c534007adaee1d2f3a4b1d6f36ee8585c291d65ebf94b9b03", + }, + }, + }); + }); + test("pins the official AI RSS release and all distributed assets", async () => { const registry = parseMarketplaceRegistry(await Bun.file(new URL("../../../public/extensions/registry.json", import.meta.url)).json()); const entry = registry.entries.find((candidate) => candidate.id === "org.edgeever.plugins.ai-rss");