element-web-0001: TextForEvent.tsx user dedup array → Set (15x, HIGH) element-web-0002: TextForEvent.tsx pinned filter indexOf → Set.has (13x, MEDIUM) bun-0001: yarn.zig scoped version two-pass scan → single pass (4x, MEDIUM) 5 tests: 5/5 PASS
17 lines
904 B
Diff
17 lines
904 B
Diff
--- a/apps/web/src/TextForEvent.tsx
|
|
+++ b/apps/web/src/TextForEvent.tsx
|
|
@@ -498,13 +498,9 @@ function textForPowerEvent(event: MatrixEvent, client: MatrixClient): (() => str
|
|
const previousUserDefault: number = event.getPrevContent().users_default || 0;
|
|
const currentUserDefault: number = event.getContent().users_default || 0;
|
|
- // Construct set of userIds
|
|
- const users: string[] = [];
|
|
- Object.keys(event.getContent().users).forEach((userId) => {
|
|
- if (users.indexOf(userId) === -1) users.push(userId);
|
|
- });
|
|
- Object.keys(event.getPrevContent().users).forEach((userId) => {
|
|
- if (users.indexOf(userId) === -1) users.push(userId);
|
|
- });
|
|
+ // Deduplicate userIds from current and previous content; O(U) via Set
|
|
+ const users = Array.from(
|
|
+ new Set([...Object.keys(event.getContent().users), ...Object.keys(event.getPrevContent().users)]),
|
|
+ );
|