wekan-0001/wekan-0002, kodi CLEAN: 5-MOAD scan across PrusaSlicer/Kodi/Wekan

wekan-0001: boards.js setNewLabelOrder indexOf in sort comparator O(L^2 logL) MEDIUM 808x
wekan-0002: cards.js moveToBoard filter+includes O(M*A) MEDIUM 58x
kodi: CLEAN for CWE-407 (proper maps/sets/contains throughout)
prusaslicer-0002: fix test N parameter for reasonable runtime
cleanup: remove .class artifacts from prusaslicer tests
This commit is contained in:
russell@unturf.com 2026-03-31 08:05:29 -04:00
parent aff709eb3a
commit d15b9b06d3
9 changed files with 243 additions and 67 deletions

View file

@ -0,0 +1,19 @@
--- a/models/cards.js
+++ b/models/cards.js
@@ -2155,13 +2155,13 @@
+ const allowedSet = new Set(allowedMemberIds);
const currentMembers = Array.isArray(this.members) ? this.members : [];
- const filteredMembers = currentMembers.filter(memberId => allowedMemberIds.includes(memberId));
- if (currentMembers.filter(x => !filteredMembers.includes(x)).length > 0) {
+ const filteredMembers = currentMembers.filter(memberId => allowedSet.has(memberId));
+ if (filteredMembers.length !== currentMembers.length) {
mutatedFields.members = filteredMembers;
}
const currentWatchers = Array.isArray(this.watchers) ? this.watchers : [];
- const filteredWatchers = currentWatchers.filter(watcherId => allowedMemberIds.includes(watcherId));
- if (currentWatchers.filter(x => !filteredWatchers.includes(x)).length > 0) {
+ const filteredWatchers = currentWatchers.filter(watcherId => allowedSet.has(watcherId));
+ if (filteredWatchers.length !== currentWatchers.length) {
mutatedFields.watchers = filteredWatchers;
}