From 5696c89dee2329560a2782bc59c0d8f33c0b1a68 Mon Sep 17 00:00:00 2001 From: Kolkman Date: Fri, 28 Aug 2026 09:37:14 +0200 Subject: [PATCH] Plugin follows duplicate behavior behavior of new-entry --- CHANGELOG.MD | 7 ++- VIBE/CHAT_LOG.md | 6 ++ VIBE/PROMPTS.md | 1 + XPI/unsigned/LinkLog-0.2.0.xpi | Bin 0 -> 51617 bytes frontend/static/new-entry.js | 5 +- frontend/templates/new-entry.html | 2 +- webextension/_locales/de/messages.json | 5 +- webextension/_locales/en-US/messages.json | 13 ++++- webextension/_locales/es/messages.json | 5 +- webextension/_locales/fr/messages.json | 5 +- webextension/_locales/nl/messages.json | 5 +- webextension/manifest.json | 2 +- webextension/popup.html | 1 + webextension/popup.js | 64 ++++++++++++++++++++-- 14 files changed, 105 insertions(+), 16 deletions(-) create mode 100644 XPI/unsigned/LinkLog-0.2.0.xpi diff --git a/CHANGELOG.MD b/CHANGELOG.MD index 7f8c3d7..100b296 100644 --- a/CHANGELOG.MD +++ b/CHANGELOG.MD @@ -1,6 +1,6 @@ # Changelog -## Version v0.1.2 +## Version v0.2.0 ### Features * Users can edit or delete labels created by themselves on the labels page * Administrators can edit labels from the admin interface @@ -15,12 +15,13 @@ * Brightened the Red theme surfaces and deepened its crimson accents * Allow every user to filter the feed using every available tag or label * Bundle required web fonts during Docker image builds and serve them from LinkLog - * New Entry page warns when the title/URL combination already exists, matching the browser extension's duplicate warning + * Bundle required web fonts during Docker image builds and serve them from LinkLog + * New Entry page warns when the title/URL combination already exists, matching the browser extension's duplicate warning * New Entry page warns when an existing link with the same title has a different or missing URL (after tracking parameters are stripped) * New Entry page auto-fills the title when the URL field loses focus, instead of requiring a manual button press * Added a "Re-fetch Title" button to manually re-scrape the title after editing the URL * New Entry duplicate detection and submission strip known tracking parameters (utm_*, gclid, fbclid, etc.) from URLs, mirroring the browser extension - + * Browser extension popup now matches the New Entry page: it warns on duplicate title/URL, notes when the stored link has a different URL, and gained a "Re-fetch title" button; bumped extension version to 0.2.0 ### Fixed * Fixed element ID conflict on the Admin page so Available Themes load correctly diff --git a/VIBE/CHAT_LOG.md b/VIBE/CHAT_LOG.md index b7f4082..898b8e3 100644 --- a/VIBE/CHAT_LOG.md +++ b/VIBE/CHAT_LOG.md @@ -1460,3 +1460,9 @@ Update VIBE and Changelog. ### Assistant outcome Appended the new-entry duplicate-detection and title auto-fill work to `VIBE/PROMPTS.md` and `VIBE/CHAT_LOG.md`, and added a Version v0.1.3 section to `CHANGELOG.MD`. + +### User +Make sure the webplugin has the same functionality as just implemented in the new-entry page. Increase its version number to 0.2.0. + +### Assistant outcome +Brought `webextension/popup.js` to parity with `new-entry.js`: the duplicate check now distinguishes an exact title/URL match from a title match with a differing stored URL (using the same `/api/links/check` `url_matches`/`stored_url` fields) and shows an additional localized note in the latter case; added a "Re-fetch title" button that calls the backend `/api/scrape` endpoint (guarded by existing backend-permission checks) and auto-fills the title on URL blur when empty; reworked `setStatus` to render real `
` line breaks via DOM APIs instead of `textContent`. Added `duplicateLinkDifferentUrl`, `refetchTitle`, and `titleFetchFailed` strings to all five locale files, updated `popup.html` with the new button, and bumped `manifest.json` to version `0.2.0`. Full backend test suite (36 tests) passed. diff --git a/VIBE/PROMPTS.md b/VIBE/PROMPTS.md index cbf77a9..0508614 100644 --- a/VIBE/PROMPTS.md +++ b/VIBE/PROMPTS.md @@ -262,6 +262,7 @@ 240. I want this last change to be more precise: I do not want to be warned when parameters are stripped, but when the URL entered has arguments/parameters and the URL in the database has none or different ones (even after tracking parameters are stripped). 241. In the check duplicate I have a `
` tag, but that shows as formatted text on the page, I want a real break to occur at that position. 242. Update VIBE and Changelog. +243. Make sure the webplugin has the same functionality as just implemented in the new-entry page. Increase its version number to 0.2.0. ## Future entries diff --git a/XPI/unsigned/LinkLog-0.2.0.xpi b/XPI/unsigned/LinkLog-0.2.0.xpi new file mode 100644 index 0000000000000000000000000000000000000000..36ee4b1ac6f0ecb221126addabc91e9f498a6ca5 GIT binary patch literal 51617 zcmagFQ;aT5ptbq7ZQH%uw(Z_++qP}nwr$(CZQI)2{eLqTCpmL5e=6&)lB!BpWo6Zq zl9vVnMFju@AOUX@xH?329mBUk002EG000NT1=twaT9}$RIn!A>+1aWnLjgbrnG-Dk zAGx^00DwT@|C}g}QP4^pW2dg$mM|)0)flgK6T{B3lxv zW=7!#etSr6%w!7K@4DIVW}8IlnbjzSrM;%pJ9d+GK@jvjsTZyN?1MM|(-am|&gy7WGCzSbeZ8gx!gZel-N20a zC__dC9dU`~8>w?BPn7>s2r8zxwQQOcH2*K}TU?}#GBWG16eT=mKGhS+0!}uD$G^H~ zko~q=^)beIH>=i{`gWWbyWX@** zZzryJeQ5uo{x%ppBB$*PkP88!h?iW9LPDh!`VdVvo`i>1_`)Y;Y4Ue7HBU}8kD{;R zW$2v}R#);kg{ers>7!EGTzU%zRa>)$h<8v$5nQRz^IeA;Vc}m!jsXVhU|PB$G}zW| zY=zD}vC9@nT7uopIF|bjNg0A}1p~p2k~%H?2nj8hSF_2%NXNQ|!Er-*Fca9!yjh_+ zsPGT6`O>PHdyQ#+zZENwhKv=9T?0Zy13YZm647@T8`dXw;qo!l2aNpxn1)ORTc`Y3 zSLOv10C?d9{AVLvfVG{O9i5Y_+5hX8lG0d9)W7lnU%%97UB%*$Ieg!hrPCnx1G}1i z`4))a+>fJ2d&h#Q&x-zHI*QuL+#*l4P@Kd(VtX`ZJ5`pQkyH#r62pwzI(T|^UO8SW zyWC;){T$3(oqT15xwXBy$9Ed4FQ>>$1d{>KZe1qtET>?d$UJ zba3-~xYGMRjOy#^)NK7~hW}WxP*iDw-_h;Kw z*PR}n-tPx{*`D3h$jZwL|Jcpv=agNq_Rq7N9m7Z4>bg7j1YOVH zH#1**+rRhEgS55}GbJNx1az}2$MonFx3@b>dGEgVvkzWI<4FX%d%NE!W#FH?UoE+o z=SgmMdAwnfdwkp7T^{d0rhWv2H*N&ob$%Lodwm_H4!+(oX}w)O-=CKUb#->R+unXo zZoh{kXLEXcz2EnGyS#kczbB{A1l=ERUt3*&5Z?THvVK2L(b3&~q6p*$&*T>ae|;Vt zJ-ppr-)_6U!r0~LcX_omcbzd9tVOtLsBmVDVz|Qqb&}Q4hCQ5T$CV?e%5+@ZaHk zHFbG<-h;;GbLo8~Ep9GYM#9$?Pa8I~lP2uht?R%e!X-NOv>t563#x0Z@hcNiR~Iq% zj<8Y0z1D$U^<8kb9b~<;AM)MBsD3&GZQoUSlcY7QcHptNWTEDG-QcmL-@u;S z{^37u9+ldeT$4bQYf(eV5~C&|aofP*QP1>NcNp$?xa2B*v>TR&W^`O#U%;=EqwiB0 zudTt>C|3s;>F8($t5St34f6qu^o>@IsZ0CAKWS>SaK4X}!BaaB&h)jFb-fg!KL zGPX8z&Av8R54Ayljk->wOKS?>zqWJ^Ps5pNSy^kzz*$|kqJRWl^>0S>Z8|idi zDKR6tzU^k6X6qUHgJ-gjfKSH}EFg@Gb&mjKO|ihlhP{D&QQyC#^=3sjo>@#j)rM_} z)moy|eYBlmhxV}9!s^KEep0{DO(-IlH;^yvp96v2B<91cQf^mQ6z5m+wumtLhlCg< zX!Sp+?UDDzbe&o-xn2kyS <;hy)_) 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 - + diff --git a/webextension/_locales/de/messages.json b/webextension/_locales/de/messages.json index 00ea489..7a5f1e8 100644 --- a/webextension/_locales/de/messages.json +++ b/webextension/_locales/de/messages.json @@ -42,7 +42,10 @@ "submissionFailed": {"message": "Senden fehlgeschlagen"}, "linkSaved": {"message": "Link auf $URL$ gespeichert.", "placeholders": {"url": {"content": "$1"}}}, "linkAlreadyExists": {"message": "Dieser Link existiert bereits. Kommentar und Tags wurden aktualisiert und die Veröffentlichung erneut ausgelöst."}, - "duplicateLinkWarning": {"message": "Dieser Link existiert bereits. Kommentar und Tags können aktualisiert werden; beim Absenden wird die Veröffentlichung erneut ausgelöst."}, + "duplicateLinkSameUrl": {"message": "Dieser Link existiert bereits.\nDu kannst den Eintrag trotzdem speichern; dabei werden Kommentar und Tags des bestehenden Eintrags aktualisiert."}, + "duplicateLinkDifferentUrl": {"message": "Dieser Link existiert bereits. Der gespeicherte Link hat jedoch eine andere URL (fehlende oder andere Parameter).\nWenn du den Eintrag speicherst, riskierst du einen doppelten Eintrag."}, + "refetchTitle": {"message": "Titel erneut abrufen"}, + "titleFetchFailed": {"message": "Titel konnte nicht abgerufen werden"}, "publishingErrors": {"message": "Fehler bei der Veröffentlichung: $ERRORS$", "placeholders": {"errors": {"content": "$1"}}}, "submissionFailedConnection": {"message": "Senden fehlgeschlagen. Überprüfe die Verbindung zum Backend."}, "loggedInAt": {"message": "$USERNAME$ ist bei $BACKEND$ angemeldet", "placeholders": {"username": {"content": "$1"}, "backend": {"content": "$2"}}}, diff --git a/webextension/_locales/en-US/messages.json b/webextension/_locales/en-US/messages.json index 58cfcc4..cb43c41 100644 --- a/webextension/_locales/en-US/messages.json +++ b/webextension/_locales/en-US/messages.json @@ -133,8 +133,17 @@ "linkAlreadyExists": { "message": "This link already exists. Comment and tags were updated, and publishing was retriggered." }, - "duplicateLinkWarning": { - "message": "This link already exists. Comment and tags can be updated, and by submitting publishing will be retriggered." + "duplicateLinkSameUrl": { + "message": "This link already exists.\nYou can still save the entry, which will update the existing entry's comment and or tags." + }, + "duplicateLinkDifferentUrl": { + "message": "This link already exists. But, the stored link has a different URL (missing or different parameters).\nWhen you save the entry you risk a duplicate entry." + }, + "refetchTitle": { + "message": "Re-fetch title" + }, + "titleFetchFailed": { + "message": "Could not fetch title" }, "publishingErrors": { "message": "Publishing errors: $ERRORS$", diff --git a/webextension/_locales/es/messages.json b/webextension/_locales/es/messages.json index 39654b4..b445b7d 100644 --- a/webextension/_locales/es/messages.json +++ b/webextension/_locales/es/messages.json @@ -42,7 +42,10 @@ "submissionFailed": {"message": "Error al enviar"}, "linkSaved": {"message": "Enlace guardado en $URL$.", "placeholders": {"url": {"content": "$1"}}}, "linkAlreadyExists": {"message": "Este enlace ya existe. Se actualizaron el comentario y las etiquetas, y se volvió a activar la publicación."}, - "duplicateLinkWarning": {"message": "Este enlace ya existe. Puedes actualizar el comentario y las etiquetas; al enviarlo se volverá a activar la publicación."}, + "duplicateLinkSameUrl": {"message": "Este enlace ya existe.\nAún puedes guardar la entrada, lo que actualizará el comentario y las etiquetas de la entrada existente."}, + "duplicateLinkDifferentUrl": {"message": "Este enlace ya existe. Pero el enlace guardado tiene una URL diferente (parámetros ausentes o distintos).\nSi guardas la entrada, corres el riesgo de crear una entrada duplicada."}, + "refetchTitle": {"message": "Volver a obtener el título"}, + "titleFetchFailed": {"message": "No se pudo obtener el título"}, "publishingErrors": {"message": "Errores de publicación: $ERRORS$", "placeholders": {"errors": {"content": "$1"}}}, "submissionFailedConnection": {"message": "Error al enviar. Comprueba la conexión con el servidor."}, "loggedInAt": {"message": "$USERNAME$ ha iniciado sesión en $BACKEND$", "placeholders": {"username": {"content": "$1"}, "backend": {"content": "$2"}}}, diff --git a/webextension/_locales/fr/messages.json b/webextension/_locales/fr/messages.json index 68b42fe..9b50b9b 100644 --- a/webextension/_locales/fr/messages.json +++ b/webextension/_locales/fr/messages.json @@ -42,7 +42,10 @@ "submissionFailed": {"message": "Échec de l’envoi"}, "linkSaved": {"message": "Lien enregistré sur $URL$.", "placeholders": {"url": {"content": "$1"}}}, "linkAlreadyExists": {"message": "Ce lien existe déjà. Le commentaire et les étiquettes ont été mis à jour et la publication a été relancée."}, - "duplicateLinkWarning": {"message": "Ce lien existe déjà. Le commentaire et les étiquettes peuvent être mis à jour ; l’envoi relancera la publication."}, + "duplicateLinkSameUrl": {"message": "Ce lien existe déjà.\nVous pouvez tout de même enregistrer l’entrée ; le commentaire et les étiquettes de l’entrée existante seront mis à jour."}, + "duplicateLinkDifferentUrl": {"message": "Ce lien existe déjà. Mais le lien enregistré a une URL différente (paramètres manquants ou différents).\nSi vous enregistrez l’entrée, vous risquez de créer un doublon."}, + "refetchTitle": {"message": "Récupérer à nouveau le titre"}, + "titleFetchFailed": {"message": "Impossible de récupérer le titre"}, "publishingErrors": {"message": "Erreurs de publication : $ERRORS$", "placeholders": {"errors": {"content": "$1"}}}, "submissionFailedConnection": {"message": "Échec de l’envoi. Vérifiez la connexion au serveur."}, "loggedInAt": {"message": "$USERNAME$ est connecté à $BACKEND$", "placeholders": {"username": {"content": "$1"}, "backend": {"content": "$2"}}}, diff --git a/webextension/_locales/nl/messages.json b/webextension/_locales/nl/messages.json index d580c14..78099fc 100644 --- a/webextension/_locales/nl/messages.json +++ b/webextension/_locales/nl/messages.json @@ -42,7 +42,10 @@ "submissionFailed": {"message": "Verzenden mislukt"}, "linkSaved": {"message": "Koppeling opgeslagen op $URL$.", "placeholders": {"url": {"content": "$1"}}}, "linkAlreadyExists": {"message": "Deze koppeling bestaat al. De opmerking en tags zijn bijgewerkt en publiceren is opnieuw gestart."}, - "duplicateLinkWarning": {"message": "Deze koppeling bestaat al. De opmerking en tags kunnen worden bijgewerkt; na verzenden wordt publiceren opnieuw gestart."}, + "duplicateLinkSameUrl": {"message": "Deze koppeling bestaat al.\nJe kunt de invoer nog steeds opslaan; de opmerking en tags van de bestaande koppeling worden dan bijgewerkt."}, + "duplicateLinkDifferentUrl": {"message": "Deze koppeling bestaat al. De opgeslagen koppeling heeft echter een andere URL (ontbrekende of andere parameters).\nAls je de invoer opslaat, loop je het risico op een dubbele koppeling."}, + "refetchTitle": {"message": "Titel opnieuw ophalen"}, + "titleFetchFailed": {"message": "Titel kon niet worden opgehaald"}, "publishingErrors": {"message": "Publicatiefouten: $ERRORS$", "placeholders": {"errors": {"content": "$1"}}}, "submissionFailedConnection": {"message": "Verzenden mislukt. Controleer de verbinding met de backend."}, "loggedInAt": {"message": "$USERNAME$ is ingelogd op $BACKEND$", "placeholders": {"username": {"content": "$1"}, "backend": {"content": "$2"}}}, diff --git a/webextension/manifest.json b/webextension/manifest.json index d4de332..3f8deed 100644 --- a/webextension/manifest.json +++ b/webextension/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 3, "name": "__MSG_extensionName__", - "version": "0.1.0", + "version": "0.2.0", "description": "__MSG_extensionDescription__", "default_locale": "en-US", "permissions": [ diff --git a/webextension/popup.html b/webextension/popup.html index 7d3b82d..41d4a7b 100644 --- a/webextension/popup.html +++ b/webextension/popup.html @@ -26,6 +26,7 @@ Title +