Skip to content

fix: preserve recipe ingredient and instruction fields on updates - #38

Open
nosuntoday wants to merge 1 commit into
rldiao:mainfrom
nosuntoday:fix/preserve-recipe-fields
Open

nosuntoday wants to merge 1 commit into
rldiao:mainfrom
nosuntoday:fix/preserve-recipe-fields

Conversation

@nosuntoday

Copy link
Copy Markdown

Preserve originalText, referenced recipes, substitutions, instruction identifiers and note references when round-tripping structured recipe content. Keep readable ingredient display text on reads and omit it on writes so Mealie recomputes it. Optional older isFood/disableAmount flags survive when supplied and remain absent when omitted. A plain ingredient string remains an unparsed text note. Mealie may regenerate step IDs on PUT.

Refs #34. This is an independent change against current main (86ebf379536cf2b3a07c2007798db02894c51f21); it does not include the other proposed fixes.

Validation:

  • Complete suite for this isolated source tree, using Python 3.12 and its unchanged upstream lock: 639 passed; ruff check src tests passes.
  • Registered MCP tools exercised through FastMCP and real HTTP requests against isolated Mealie 3.28.0 and 3.29.0 instances, using synthetic objects. Recipe creation, PUT updates and untouched time values were checked.
  • All seven contributions plus fix: preserve recipe time compatibility with Mealie 3.28 and 3.29 #35 also verified together: 704 tests passed, Ruff clean and the combined native probes pass on both versions.

Version-shaped regressions cover both 3.28 and 3.29, including preservation of unmodelled duration fields during a PUT. Native probes verified original text, note-only substitutions, ingredient/step references, and untouched time values. No compatibility claim for every historical Mealie release; old ingredient flag defaults are not invented.

Structured-duration concise reads and explicit time-text replacement are handled separately by #35, included in the combined verification; this PR does not replace that fix. No broader historical-version compatibility or production deployment is claimed. Prepared with AI assistance and reviewed locally.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant