From af348621df9b73b5543440fdd9eb60a793e3285f Mon Sep 17 00:00:00 2001 From: KoloMl Date: Sat, 17 Oct 2026 05:15:11 +0200 Subject: [PATCH 1/2] Only reveal invalid blacklisted tags that actually present --- .../components/extension/profiles/TaggingProfilePopup.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/components/extension/profiles/TaggingProfilePopup.ts b/src/content/components/extension/profiles/TaggingProfilePopup.ts index b332279..2274101 100644 --- a/src/content/components/extension/profiles/TaggingProfilePopup.ts +++ b/src/content/components/extension/profiles/TaggingProfilePopup.ts @@ -211,7 +211,7 @@ export class TaggingProfilePopup extends BaseComponent { return; } - this.#tagsListToggler.prependTags(tagsBlacklist, activeTags); + this.#tagsListToggler.prependTags(tagsBlacklist.filter(tagName => activeTags.has(tagName)), activeTags); } static create(): HTMLElement { From c34c6500059bdd3ef3aab824ce9913ee800b26df Mon Sep 17 00:00:00 2001 From: KoloMl Date: Sat, 17 Oct 2026 05:15:44 +0200 Subject: [PATCH 2/2] Adding general guard to prevent duplicates altogether --- .../components/extension/profiles/TagsListToggler.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/content/components/extension/profiles/TagsListToggler.ts b/src/content/components/extension/profiles/TagsListToggler.ts index f70d727..c88b564 100644 --- a/src/content/components/extension/profiles/TagsListToggler.ts +++ b/src/content/components/extension/profiles/TagsListToggler.ts @@ -10,6 +10,7 @@ export default class TagsListToggler extends BaseComponent { #invalidTagsList: Map = new Map(); #tagsToAdd: Set = new Set(); #tagsToRemove: Set = new Set(); + #renderedTags: Set = new Set(); protected build() { this.container.classList.add('tags-list'); @@ -34,6 +35,7 @@ export default class TagsListToggler extends BaseComponent { this.#tagsList = []; this.#invalidTagsList = new Map(); + this.#renderedTags = new Set(); this.#renderAndInsertTags(tags, activeTags); } @@ -58,12 +60,19 @@ export default class TagsListToggler extends BaseComponent { #renderAndInsertTags(toggleableTags: string[], activeTags: Set, shouldPrepend: boolean = false) { toggleableTags.sort((a, b) => a.localeCompare(b)); - let lastInserted: HTMLElement|null = null; + let lastInserted: HTMLElement | null = null; const hasStoredChanges = this.hasChanges; for (let tagIndex = 0; tagIndex < toggleableTags.length; tagIndex++) { const tagName = toggleableTags[tagIndex]; + + if (this.#renderedTags.has(tagName)) { + continue; + } + + this.#renderedTags.add(tagName); + const tagElement = TagsListToggler.#buildTagElement(tagName); this.#tagsList.push(tagElement);