[main] fix: make old_line and new_line optional for image diff discussions

Image files in GitLab MR discussions use x/y coordinates instead of line numbers. This fix allows proper handling of image diff comments.

Co-authored-by: Peter Xu <px.peter.xu@gmail.com>
This commit is contained in:
Peter Xu
2025-05-29 20:38:14 -07:00
committed by GitHub
parent 3ce688b55c
commit cb36c007cb

View File

@ -618,21 +618,21 @@ export const GitLabDiscussionNoteSchema = z.object({
old_path: z.string(), old_path: z.string(),
new_path: z.string(), new_path: z.string(),
position_type: z.enum(["text", "image", "file"]), position_type: z.enum(["text", "image", "file"]),
old_line: z.number().nullable(), old_line: z.number().nullish(), // This is missing for image diffs
new_line: z.number().nullable(), new_line: z.number().nullish(), // This is missing for image diffs
line_range: z line_range: z
.object({ .object({
start: z.object({ start: z.object({
line_code: z.string(), line_code: z.string(),
type: z.enum(["new", "old", "expanded"]), type: z.enum(["new", "old", "expanded"]),
old_line: z.number().nullable(), old_line: z.number().nullish(), // This is missing for image diffs
new_line: z.number().nullable(), new_line: z.number().nullish(), // This is missing for image diffs
}), }),
end: z.object({ end: z.object({
line_code: z.string(), line_code: z.string(),
type: z.enum(["new", "old", "expanded"]), type: z.enum(["new", "old", "expanded"]),
old_line: z.number().nullable(), old_line: z.number().nullish(), // This is missing for image diffs
new_line: z.number().nullable(), new_line: z.number().nullish(), // This is missing for image diffs
}), }),
}) })
.nullable() .nullable()