fix(patches): always strip legacy ai-text-level keys on form save
Hyphenated keys (ai-text-level, ai-code-level, etc.) from the upstream beta.41 endpoint are now unconditionally deleted on form submission, preventing them from coexisting with the camelCase equivalents in MongoDB. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -7,16 +7,9 @@ const candidates = [
|
|||||||
"node_modules/@indiekit/indiekit/node_modules/@indiekit/endpoint-posts/lib/controllers/form.js",
|
"node_modules/@indiekit/indiekit/node_modules/@indiekit/endpoint-posts/lib/controllers/form.js",
|
||||||
];
|
];
|
||||||
|
|
||||||
const marker = "Remove empty AI metadata fields so Micropub payload stays lean.";
|
const marker = "Always remove legacy hyphenated keys — superseded by camelCase equivalents.";
|
||||||
|
|
||||||
const oldSnippet = [
|
const oldSnippet = [
|
||||||
" // Easy MDE appends `image` value to formData for last image uploaded",
|
|
||||||
" delete values.image;",
|
|
||||||
"",
|
|
||||||
" const mf2 = jf2ToMf2({ properties: sanitise(values) });",
|
|
||||||
].join("\n");
|
|
||||||
|
|
||||||
const newSnippet = [
|
|
||||||
" // Easy MDE appends `image` value to formData for last image uploaded",
|
" // Easy MDE appends `image` value to formData for last image uploaded",
|
||||||
" delete values.image;",
|
" delete values.image;",
|
||||||
"",
|
"",
|
||||||
@@ -43,6 +36,34 @@ const newSnippet = [
|
|||||||
" const mf2 = jf2ToMf2({ properties: sanitise(values) });",
|
" const mf2 = jf2ToMf2({ properties: sanitise(values) });",
|
||||||
].join("\n");
|
].join("\n");
|
||||||
|
|
||||||
|
const newSnippet = [
|
||||||
|
" // Easy MDE appends `image` value to formData for last image uploaded",
|
||||||
|
" delete values.image;",
|
||||||
|
"",
|
||||||
|
" // Remove empty AI metadata fields so Micropub payload stays lean.",
|
||||||
|
" for (const key of [",
|
||||||
|
" \"aiTextLevel\",",
|
||||||
|
" \"aiCodeLevel\",",
|
||||||
|
" \"aiTools\",",
|
||||||
|
" \"aiDescription\",",
|
||||||
|
" ]) {",
|
||||||
|
" if (",
|
||||||
|
" values[key] === undefined ||",
|
||||||
|
" values[key] === null ||",
|
||||||
|
" String(values[key]).trim() === \"\"",
|
||||||
|
" ) {",
|
||||||
|
" delete values[key];",
|
||||||
|
" }",
|
||||||
|
" }",
|
||||||
|
" // Always remove legacy hyphenated keys — superseded by camelCase equivalents.",
|
||||||
|
" delete values[\"ai-text-level\"];",
|
||||||
|
" delete values[\"ai-code-level\"];",
|
||||||
|
" delete values[\"ai-tools\"];",
|
||||||
|
" delete values[\"ai-description\"];",
|
||||||
|
"",
|
||||||
|
" const mf2 = jf2ToMf2({ properties: sanitise(values) });",
|
||||||
|
].join("\n");
|
||||||
|
|
||||||
async function exists(filePath) {
|
async function exists(filePath) {
|
||||||
try {
|
try {
|
||||||
await access(filePath);
|
await access(filePath);
|
||||||
|
|||||||
Reference in New Issue
Block a user