Public Access
Same root cause as meal detail: recipe JSONB stores ingredient_id but not name. Shopping list now looks up names from the Ingredient table before aggregating quantities, so items show "3 cups onion" instead of "Unknown".