Wikipedia Diskussion:Technik/Skin/Gadgets/watchlistMessage

message: Übertrag von dort:
--PerfektesChaos 21:39, 21. Jul. 2022 (CEST)
thread_title:  Technik-Werkstatt Juli 2022 

message: Dieses Gadget könnte ich kurzfristig aus vorhandenen Funktionen zusammenbauen; habe ich in einem Dutzend Benutzerskripte stecken und stehe im Stoff.
* Erste Frage ist, wie man die Dinger wieder loswird, weil die sonst auf ewig kumulieren. Brauchen also eingebaute Selbstzerstörung, sprich Verfallsdatum.
* Können zu jedem Schlüsselwort ein Objekt mit beliebigen Infos hinterlegen, in dem auch das Verfallsdatum mitläuft.
* hidden default für alle.
* Nach Laden initialisiert es sich, indem das LocalStorage der siteOptions abgefragt wird.
** Wenn noch nicht vorhanden dann wird leeres Objekt generiert und gespeichert.
** Wenn Speicherung fehlschlägt dann in diesem Browser zurzeit nicht möglich.
** Es werden alle Komponenten geprüft ob Verfallsdatum überschritten.
** Wenn sich was ändert wird das jetzt hinterlegt.
** Am Ende der Initialisierung gibt es ein Objekt aller Einträge oder einen Passiv-Status, und es wird auf mw.hook() gewartet.
* mw.hook( "siteOptions.feasible" ).fire( callback )
** Antwort: true wenn LocalStorage in diesem Browser möglich.
* mw.hook( "siteOptions.fetch" ).fire( obj  )
** obj ist Objekt mit der Kennung sign und Callback-Funktion.
** Antwort: Objekt zum Eintrag sign oder sonst null.
* mw.hook( "siteOptions.fill" ).fire( obj )
** Objekt wird übergeben mit Kennung _sign_ und Haltbarkeit _minutes_ und Payload.
* Bei Abspeicherung wird Haltbarkeit _minutes_ zum date addiert.
** Wenn _minutes_ fehlt oder kleinergleich Null dann 1440 und wenn größer 500000 dann Obergrenze.
* Bei Abfrage wird auf Gültigkeit geprüft, ob
** Komponente ein object ist
** und nicht null
** und _minutes_ vom Typ number enthält
** und _minutes_ kleiner als date in Minuten ist,
** und wenn irgendwas davon nicht zutrifft dann wird diese Komponente eliminiert.
* Wenn Zugriff auf das siteOptions fehlschlägt, JSON.parse() fehlschlägt, Resultat kein object oder null ist dann Löschung und Reset.
VG --PerfektesChaos 21:39, 21. Jul. 2022 (CEST)
replies: text: Inzwischen erste Implementierung als localUserOptions verfügbar. Kann im Testbetrieb verwendet werden. VG --PerfektesChaos 15:43, 31. Jul. 2022 (CEST)
thread_title:  siteOptions 

message: Aufgabe: Cookies aller Art des Wikis über Löschung aller Cookies retten.
* Browser schließen, Laptop-Deckel zu – löscht für viele alle Cookies.
* Ist auch sinnvoll; habe ich bei meinen Nicht-Wiki-Browsern ebenfalls so konfiguriert.
* Dann müssen alle Banner erneut weggeklickt werden.
* SiteNotice, CentralNotice, ULS/IME Sprach- und Schrifteinstellungen, diverse Merker für Ein/Ausklappen.
* Prozedur:
** Wenn bestimmtes Cookie nicht definiert dann frage siteOptions.
*** Wenn dort definiert dann stelle Cookie mit bisherigem Wert wieder her.
** Wenn aber definiert dann schicke an siteOptions zwecks Abspeicherung.
* Kleines Problemchen: CentralNotice verwendet wohl viele; müsste der Gesamt-Cookie-String mit Pattern geflöht werden zwecks Abspeicherung.
VG --PerfektesChaos 21:39, 21. Jul. 2022 (CEST)
thread_title:  restoreCookies 

message: Fachliche Infos:
* Cookies gehen in allen Browsern und sind seit letztem Jahrhundert definiert.
* LocalStorage sind technisch in etwa 99,8 % der marktgängigen Browser implementiert.
* Sicherheitswerkzeuge blockieren LocalStorage aus Domains ohne Whitelist, weil sich hier Tracking-Infos hinterlegen lassen, die ein konventionelles Cookie-Reset überstehen.
* Browser mit Privacy-Bewusstsein bieten das wohl heute oder bald als konfigurierbare Option an.
* LocalStorage hat Größen-Limits, gern 5 MB für alle Subdomains einer Domain, und das wird von MediaWiki öfter mal bis zum Anschlag ausgelutscht.
* Cookies werden bei jedem Seitenabruf an den Server übertragen und erhöhen dadurch den Traffic. Sie sollten heutzutage nur dann an den Server geschickt werden, wenn dieser damit auch was anfangen kann. Die Maximalgröße ist eiiiiigentlich limitiert. Deshalb wurde ja Web Storage eingeführt. Weil aber sehr robust sind Cookies weiterhin sehr gebräuchlich, um lokale Zustände zu hinterlegen.
VG --PerfektesChaos 21:39, 21. Jul. 2022 (CEST)
thread_title:  Cookies & LocalStorage