feat: ingredient/tag search on My Recipes, QR code on printed recipes

My Recipes search previously only matched title/description; now also
matches ingredient rawName and tags, mirroring the public search
improvement from earlier. Hit and fixed a real bug along the way:
embedding drizzle column proxies from a foreign table inside a raw
sql`` fragment passed to db.query.recipes.findMany's `where` gets
rewritten to the wrong table alias by the relational query builder,
producing broken SQL — worked fine in the plain query builder used by
/api/v1/search, but not here. Fixed by using literal SQL identifiers
for the ingredients subquery instead of column proxies.

Recipe print pages get the same QR-code treatment shopping lists got
earlier, gated on visibility !== "private" (both public and unlisted
resolve at /r/[id]).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Arnaud
2026-07-14 08:09:52 +02:00
parent acc93de708
commit c16342a9b9
8 changed files with 58 additions and 5 deletions
+9 -1
View File
@@ -1,5 +1,5 @@
// Mirrors CHANGELOG.md at the repo root — update both together.
export const APP_VERSION = "0.23.0";
export const APP_VERSION = "0.24.0";
export type ChangelogEntry = {
version: string;
@@ -11,6 +11,14 @@ export type ChangelogEntry = {
};
export const CHANGELOG: ChangelogEntry[] = [
{
version: "0.24.0",
date: "2026-07-14 08:08",
added: [
"**My Recipes search now matches ingredients and tags too**, not just title/description — same improvement shipped for Explore/Search earlier.",
"**QR code on printed recipes**: a public or unlisted recipe's printout now includes a scannable code linking back to the online version.",
],
},
{
version: "0.23.0",
date: "2026-07-13 23:06",