diff --git a/convex/plugins.ts b/convex/plugins.ts index 6f36d70..73ca346 100644 --- a/convex/plugins.ts +++ b/convex/plugins.ts @@ -29,7 +29,10 @@ export const getAll = query({ export const incrementFlashCount = internalMutation({ args: { slugs: v.array(v.string()) }, handler: async (ctx, args) => { - for (const slug of args.slugs) { + for (const pluginSpec of args.slugs) { + // Extract slug from "slug@version" format, or use as-is if no @ present + const slug = pluginSpec.split('@')[0] + const existing = await ctx.db .query('plugins') .withIndex('by_slug', (q) => q.eq('slug', slug)) diff --git a/src/pages/BuildNew.tsx b/src/pages/BuildNew.tsx index a8ea6ec..c763827 100644 --- a/src/pages/BuildNew.tsx +++ b/src/pages/BuildNew.tsx @@ -147,9 +147,15 @@ export default function BuildNew() { setIsFlashing(true) setErrorMessage(null) try { - const pluginsEnabled = Object.keys(pluginConfig).filter( + const enabledSlugs = Object.keys(pluginConfig).filter( (id) => pluginConfig[id] === true ) + const pluginsEnabled = enabledSlugs.map((slug) => { + const plugin = (registryData as Record)[ + slug + ] + return `${slug}@${plugin.version}` + }) const result = await ensureBuildFromConfig({ target: selectedTarget, version: selectedVersion,