Implementere fullt brukergrensesnitt og logikk for profiler.
-
UI i popup.html og popup.css
- Lagt til profilvelger (dropdown) og "Administrer"-knapp i header.
- Laget #profilesModal for a legge til og slette profiler.
- Lagt til profil-velger i "Rediger Regel"-modalen.
- Stylet nye komponenter i popup.css.
-
Logikk i popup.js
- Oppdatert translations (EN/NO) med nye tekster.
- Implementert loadProfiles, handleProfileChange, handleAddProfile, handleDeleteProfile.
- Oppdatert applyFilters til a filtrere regler basert pa valgt profil.
- Oppdatert handleSaveRule til a lagre profileId.
- Sender melding refreshContextMenus til bakgrunnsskriptet ved profilendringer.
-
Context Menu (background.js)
- Implementert dynamisk generering av undermenyer for "Fyll ut som...".
- Henter profiler ved oppstart og nar refreshContextMenus mottas.
- Sender fillWithProfile-melding til content.js ved valg av profil i menyen.
-
Content Script (content.js)
- Lagt til lytter for fillWithProfile.
- Oppdatert loadRulesForCurrentSite til a akseptere en valgfri profileId.
popup.js; popup.html; popup.css; background.js; content.js
- Verifisere funksjonalitet manuelt.
- Vurdere automatiske tester for profiler hvis mulig.
Gjenopprette etter krasj, implementere ID Blacklist og funksjonalitet for flytting av regler mellom profiler.
-
Gjenoppretting og feilretting
- Gjenopprettet popup.js fra backup etter korrupsjon.
- Sikret at all profil-logikk fra Sesjon 6 ble bevart og integrert.
-
ID Blacklist
- Lagt til innstilling for Ignorerte Felt (ID) i popup.html.
- Implementert logikk i content.js for a blokkere autofill basert pa ID.
- Lagt til stotte for bade wildcards og regex (med regex:-prefiks).
-
Profil-administrasjon (masseflytting)
- Implementert Flytt til...-knapp i bulkActions-menyen (popup.html).
- Laget modal for valg av mal-profil.
- Implementert logikk i popup.js for a oppdatere profileId pa valgte regler.
-
UI/UX
- Oppdatert sprakfiler (NO/EN) med tekster for blacklist og flytting.
- Forbedret beskrivelser i innstillinger for a forklare regex-bruk.
popup.html; popup.js; content.js; SESSION.md
Flytte regel-handlingsknapper til fullvisningen, rydde i oversettelser og legge til force fill/test-stotte.
- Felles oversettelser
- Ekstrahert oversettelsesobjekt til translations.js og koblet inn i bade popup.html og rules.html.
- Popup-oppdateringer
- Fjernet regel-handlingsknapper fra popup, lagt til page-scope force-fill-knapp.
- content.js stotter na forceFill-kommando og testMatches-respons; autofill kan overstyres med force-flag.
- Rules fullvisning
- Lagt til flytende handlingslinje (AI/Test/Optimize/Variables/Select/+New), profiler i redigeringsmodal, AI/Variables-modaler og optimizer-seksjon.
- Startet i18n-stotte i rules.js: knapper, modal-etiketter, sorteringsvalg, sammendragslabels, blacklist-tekst m.m.
- Variabler lastes/vises i fullvisningen; profilvalg settes i modal.
- Stil
- Ny CSS for flytende handlingsbar i rules.css.
translations.js; popup.html; popup.js; content.js; rules.html; rules.js; rules.css; SESSION.md
- Fullfore i18n og wiring for alle knapper i rules.js (AI/Optimize/Variables/select-mode) og popup force-fill/rule-filtrering.
- Rydde resterende hardkodet tekst og sikre modal-etiketter/placeholder-oversettelser.
Fikse tre problemer: Test Match feilmelding, Optimize som ikke gjør noe, regex info ikon. Deretter forbedre badge og implementere smart regel-matching i popup.
-
Badge-forbedringer (background.js, pattern-matcher.js)
- Endret badge fra å vise "OPT" (optimalisering) til å vise antall regler som matcher gjeldende side.
- Implementert PatternMatcher.matchSite() for å matche URL mot site-mønstre.
- Badge oppdateres automatisk ved tab-bytte, URL-endring og vindusfokus.
- Farger: Blå (#667eea) for matchende regler, Rød (#ef4444) for "OFF".
- Tooltip viser beskrivende tekst (f.eks. "5 regler for denne siden").
-
Test Match flyttet til popup (popup.html, popup.js, rules.html, rules.js)
- Fjernet Test Match knapp fra rules.html (floating action bar).
- Lagt til Test Match knapp i popup.html ved siden av "Tving utfylling".
- Implementert handleTestMatch() i popup.js med automatisk content script injection.
- Gode feilmeldinger på norsk og engelsk for ulike feilscenarier.
-
Regex info ikon (rules.html, rules.js)
- Flyttet regex info-ikon ut av checkbox label for å unngå uønsket toggle.
- Lagt til klikk-handler som viser alert med regex-hjelp og eksempler.
- Forbedret visuell styling av ikonet.
-
Optimize forbedringer (rules.js)
- Lagt til omfattende logging for debugging.
- Forbedret feilhåndtering med spesifikke meldinger.
- Sjekker om det er regler før kjøring.
- Lagt til scrollIntoView() for å sikre synlighet.
-
Popup.html URL-håndtering (popup.js)
- Fikset problem hvor popup åpnet som egen tab prøvde å kommunisere med seg selv.
- Filtrerer nå bort chrome-extension:// og chrome:// URLs.
- Finner automatisk en annen gyldig webside-tab hvis tilgjengelig.
-
Smart regel-matching i popup (popup.js, popup.css)
- Henter faktiske felt fra siden via listFields action.
- Kategoriserer regler i "full match" (matcher både domene og felt) vs "partial match" (kun domene).
- Implementert checkIfRuleMatchesAnyField() som sjekker om regel matcher faktiske felt.
- Rendrer full matches normalt, partial matches i eget grået panel.
- Partial matches vises med redusert opacity (0.6) og grå farger.
- Tydelig header: "Delvis match (domene matcher, men ingen felt funnet)".
background.js; pattern-matcher.js; popup.html; popup.js; popup.css; rules.html; rules.js; content.js; SESSION.md
- Testing av smart matching i ulike scenarier.
- Vurdere caching av felt-informasjon for bedre ytelse.
rules.htmler delvis korrupt (rare tegn som «?? Cloud Backup», «+ f+»). Rens til ren UTF-8 først.- Når renset:
- Bytt header-knappen til «Backup» og kall samme logikk som popup: generer CSV (
buildCSV(allRules)) ogchrome.downloads.downloadmedsaveAs(evt.AutoFill/<filnavn>hvis dialog skal hoppes over). - Utvid AI-modal i
rules.htmlmed et felt for «Lim inn LLM-resultat (CSV)» + «Importer»-knapp. - I
rules.js: parse innlimt CSV,chrome.runtime.sendMessage({ action: 'importCSV', csv, merge: confirm(...) }), og reload regler.
- Bytt header-knappen til «Backup» og kall samme logikk som popup: generer CSV (
- Popup-backup er nå lokal (lagrer til Nedlastinger/AutoFill hvis checkbox er på; ellers Save As). Manifest har
downloads. - AI Assist i popup/rules.js genererer prompt med regler/felt og wildcard/regex-hints (duplikate deklarasjoner i rules.js er fjernet).
Ferdigstille backup i rules.html/rules.js, robust AI-import og gjøre variabler tilgjengelig i fullvisningen. Legge til sammenslåing av filtrerte regler + bedre UI i popup.
- Backup og AI-import (rules.html/rules.js)
- Renset encoding, byttet Cloud Backup-knapp til «Backup» og koblet til lokal CSV-download (chrome.downloads) med default-mappevalg.
- AI-modal har felt for innlimt CSV + Import-knapp; import håndterer headerløse LLM-responser og normaliserer separatorer.
- Prompt oppdatert til å kreve header + en linje per regel og kodeblokk-output.
- Variabler i fullvisning
- Inline variabelliste og skjema i rules.html; delt logikk for modal/inline i rules.js med i18n-støtte.
- Merge av filtrerte regler
- Ny knapp «Slå sammen filter» i rules.html. Slår sammen alle filtrerte regler per elementType, bruker filterstrengen som fieldPattern (name), felles domene ellers
*, og deaktiverer originalene.
- Ny knapp «Slå sammen filter» i rules.html. Slår sammen alle filtrerte regler per elementType, bruker filterstrengen som fieldPattern (name), felles domene ellers
- Popup UI: skjul sjeldne innstillinger
- Innstillinger delt i «grunnleggende» og «avansert» panel med toggle. Oversettelser for panelknapp/scan-toast lagt til. Alle labels/desc binds via translations med data-attributter.
- Import robusthet
- storage.js tolker tom/ugyldig
lastUsedsom null eksplisitt.
- storage.js tolker tom/ugyldig
rules.html; rules.js; translations.js; popup.html; popup.css; popup.js; storage.js; SESSION.md
- Full i18n-revisjon: ingen hardkodet tekst i UI, sjekk for encoding-glitches og at alle strenger finnes i translations.
- Popup: finpusse panel-toggle (animasjon/ikon) og vurdere hvilke innstillinger som bør være standard vs. avansert.
- Test AI-import med flere LLM-utdata (inkl. tomme felter) og bekrefte at merge-filter-regler gir forventet sitePattern når domener varierer.
- PRI 1: Flytt/vis tydelig «Slå sammen filter»-knapp nær filter/søk (kan ikke sees i dag).
- Reintroduksjon av standardvariabler ({date}, {time}, {timestamp}, {random}, {random:5}) i rules-visning.
Stabilisere badge/match-telling uten å åpne popup, fikse profiler i innlasting/test match, og rydde opp i content-script feil (dobbel injeksjon/syntaks).
- Badge og scanning
- Badge bruker nå aktiv profil fra storage når den henter regler.
listFieldskalles med injeksjonsfallback og retry; badge viser “?” til felt er scannet og oppdateres når content-script teller matcher.- Content-script trigget
refreshBadgeetter scanning slik at telling skjer uten å åpne popup.
- Profiler og matching
- Content-script laster
currentProfileId, bruker den ved regelhenting/force-fill/testMatch og aksepterer profil-id fra meldinger. - Test Match i popup sender aktiv profil til content-script slik at treff stemmer med valgt profil.
- Content-script laster
- Regex/match robusthet
- Regex-match i background/popup/content er case-insensitiv (felttelling + autofill).
- Stabilitet
- La inn duplikatvakt i content-script (skipper andre injeksjoner) og rettet manglende klamme som ga “Unexpected end of input”.
markRuleAsUseder gjort ikke-blokkerende ved “Extension context invalidated”.
background.js; content.js; popup.js; storage.js; SESSION.md
- Manuell verifisering: badge oppdateres på sidelast uten popup, matcher korrekt med aktiv profil, og regex-regler teller riktig.
- Test force fill/test match på profiler med blandede regex/wildcard felt.
Fikse to feil som oppsto etter tidligere endringer:
- "Permissions policy violation: unload is not allowed in this document."
- "Uncaught (in promise) Error: No tab with id: ."
-
Fjernet deprecated
unloadevent (content.js)unload-eventet er deprecated og blokkeres av Permissions-Policy på mange moderne sider.- Fjernet
window.addEventListener('unload', cleanup), beholder kunpagehide.
-
Robust feilhåndtering for badge-operasjoner (background.js)
- Ny
safeBadgeUpdate()hjelpefunksjon som wrapper allechrome.action.*-kall i try-catch. - Oppdatert
updateBadgeForTab()ogupdateBadgeWithCounts()til å brukesafeBadgeUpdate(). - Lagt til tabId-validering og "No tab with id"-feilhåndtering i tab-listeners.
- Ny
-
Null-sjekker for currentTab (popup.js)
- Lagt til
if (currentTab?.id)førupdateBadgeCount-meldinger. - Omdøpt duplikat
handleTestMatchtilhandleTestMatchLegacyfor å unngå konflikt.
- Lagt til
-
Dokumentasjon
- Oppdatert ISSUES.md med detaljert beskrivelse av feilrettingene.
content.js; background.js; popup.js; ISSUES.md; SESSION.md
- Verifiser at feilmeldingene er borte etter reload av utvidelsen.
- Test badge-oppdatering på tvers av tabs og vinduer.
Fikse at blacklist ikke ble respektert av popup og badge.
Blacklist/whitelist ble kun sjekket i content.js. Popup og badge viste fortsatt matcher for blokkerte sider (f.eks. facebook.com).
-
background.js - Ny
isUrlBlocked()funksjon- Sjekker URL mot blacklist/whitelist med wildcard-støtte
- Konverterer wildcards (
*,?) til regex - Case-insensitive matching
updateBadgeForTab()returnerer tidlig for blokkerte sider
-
popup.js - Samme
isUrlBlocked()funksjonloadPageRules()sjekker nå blacklist før den henter regler- Blokkerte sider viser ingen regler i popup
-
Dokumentasjon
- Oppdatert ISSUES.md med detaljer om løsningen
background.js; popup.js; ISSUES.md; SESSION.md
Forbedret isUrlBlocked() / isBlockedSite() med smart domene-matching:
facebook.commatcher nå automatiskfacebook.comOG alle subdomener (www.facebook.com,m.facebook.com)*.facebook.commatcher fortsatt kun subdomenerregex:mønstergir full regex-støtte- Wildcards (
*,?) fungerer som før
- Verifiser at smart domene-matching fungerer korrekt
- Test at badge viser tom for blokkerte sider