Skip to content

Commit dae0701

Browse files
committed
Validate filter data on load
1 parent d0ff057 commit dae0701

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

web/src/lib/components/diff-filtering/index.svelte.ts

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import type { FileDetails } from "$lib/diff-viewer.svelte";
2-
import { FILE_STATUSES } from "$lib/github.svelte";
2+
import { FILE_STATUSES, type FileStatus } from "$lib/github.svelte";
33
import type { TryCompileRegexSuccess } from "$lib/util";
44
import { SvelteSet } from "svelte/reactivity";
55

@@ -98,13 +98,18 @@ export class DiffFilterDialogState {
9898
this.filePathFilters.clear();
9999
if (parsed.filePathFilters) {
100100
for (const filter of parsed.filePathFilters) {
101-
const regex = new RegExp(filter.regex);
102-
this.filePathFilters.add(new FilePathFilter(filter.text, regex, filter.mode));
101+
try {
102+
const regex = new RegExp(filter.regex);
103+
this.filePathFilters.add(new FilePathFilter(filter.text, regex, filter.mode));
104+
} catch {
105+
continue;
106+
}
103107
}
104108
}
105109

106110
if (parsed.selectedFileStatuses) {
107-
this.selectedFileStatuses = parsed.selectedFileStatuses;
111+
const validStatuses = parsed.selectedFileStatuses.filter((status) => FILE_STATUSES.includes(status as FileStatus));
112+
this.selectedFileStatuses = validStatuses;
108113
}
109114
}
110115

0 commit comments

Comments
 (0)