Skip to content

Commit 91fb6b1

Browse files
committed
fix: 🐛 remove either leading or trailing comma, not both (#562)
1 parent c5d2140 commit 91fb6b1

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

backend/lib/src/log.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -85,17 +85,17 @@ fn expand_path_params(json_str: &str) -> String {
8585
let before = &json_str[..start_idx];
8686
let after = &json_str[value_start + end_idx + 1..];
8787

88-
// Handle comma removal
89-
let cleaned_before = if before.trim_end().ends_with(',') {
90-
before.trim_end().trim_end_matches(',')
88+
// Handle comma removal.
89+
// Note: we remove from EITHER before OR after, but not both to maintain valid JSON structure
90+
let (cleaned_before, cleaned_after) = if before.trim_end().ends_with(',') {
91+
// Remove trailing comma from before, keep after as-is
92+
(before.trim_end().trim_end_matches(','), after)
93+
} else if after.trim_start().starts_with(',') {
94+
// Keep before as-is, remove leading comma from after
95+
(before, &after[1..])
9196
} else {
92-
before
93-
};
94-
95-
let cleaned_after = if after.trim_start().starts_with(',') {
96-
&after[1..]
97-
} else {
98-
after
97+
// No comma to remove
98+
(before, after)
9999
};
100100

101101
return format!("{}{}", cleaned_before, cleaned_after);

0 commit comments

Comments
 (0)