[Live] Refresh Suchtimer Seite nach Anlegen eines neuen Suchtimers

  • Live, aktueller git Stand.

    Wenn ich einen neuen Suchtimer anlege, wir dieser erst nach einem Reload der Seite anzeigt. Das Problem tritt nur auf, wenn 1. Edge und 2. viele aktive Suchtimer. Auf einem Testsystem mit nur wenigen Suchtimern oder mit Firefox tritt das Problem nicht auf.

    VDR

    Server: Ubuntu 26.04 headless VDR im LXC Container, Plugins: satip (Octopus NET SL SX8), live, epgsearch, tvscraper, markad

    Clients: LibreELEC auf RasPi3 und RasPi4

  • Ja, ich denke, das passt. Wenn ich von der Programmseite Das Erste (also was mit viel EPG) auf eine andere Seite wechsle und dann mit dem zurück Pfeil auf Programm zurück gehe, ist die Programm Seite bei Edge sofort wieder da, bei Firefox sieht man, dass er neu läd.

    Ich würde aber sagen, dass ist eher ein Bug oder fehlende im Feature Firefox. Um die letzte Seite sofort anzuzeigen, gibt es den Back/Forward Cache, siehe:

    Back/Forward Cache (bfcache) | WebPerf Snippets

    Edit: Das Feature können beide, es gibt aber unterschiedliche Interpretationen, was gecached werden soll/darf und was nicht.

    VDR

    Server: Ubuntu 26.04 headless VDR im LXC Container, Plugins: satip (Octopus NET SL SX8), live, epgsearch, tvscraper, markad

    Clients: LibreELEC auf RasPi3 und RasPi4

    Edited once, last by kfb77 (September 27, 2026 at 10:49 PM).

  • Damit geht es, aber dann springt die Seite beim Edit nicht mehr auf die vorige Position, keine Ahnung, wie beides geht

    VDR

    Server: Ubuntu 26.04 headless VDR im LXC Container, Plugins: satip (Octopus NET SL SX8), live, epgsearch, tvscraper, markad

    Clients: LibreELEC auf RasPi3 und RasPi4

    Edited once, last by kfb77 (September 27, 2026 at 10:52 PM).

  • Das liegt daran, dass mit dem Redirect eine neue Seite, sprich: ein neuer History-Kontext entsteht, für den noch keine Scroll-Position gespeichert wurde.

    Beides lässt sich nicht wirklich gut verbinden, weil man dann für jede URL die Scroll-Position per Cookie speichern müsste. Datentechnisch wäre das ein ziemlicher ein Irrsinn. Zumal man dann eine bereits "bekannte" URL kaum noch "normal" (also ohne automatischen Sprung zur letzten Scroll-Position) laden könnte...

    PS: Beim Überarbeiten der Speicherung der Scroll-Position hat sich übrigens gezeigt, dass Chrome/Edge das von Google veröffentlichte Zustandsmodell nicht einhalten, also eher die auf der Chrome-Engine fußenden Browser diesbezüglich "Quell ewiger Freude" sind. ;)

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T @ 2.30 GHz, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.8 und VDR 2.8.3 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, femon, live, markad, mlist, osdteletext, recsearch, remote, satip, screenshot, skinnopacity, streamdev, systeminfo, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

    Edited once, last by SHofmann (September 28, 2026 at 1:49 AM).

  • Das Problem betrifft ja nicht nur Suchtimer, sondern viele Bereiche.

    Beispiel, wie man mit der aktuellen Version einen Timer anlegen muss: Click in der Programmliste auf Aufnahme, Click auf Timerliste, Click auf Timer editieren, um den Pfad zu ändern, weil inzwischen die Timer Liste nicht mehr kommt, Pfad ändern, speichern, Reload Page, um den neuen Timer zu sehen.

    Benutzerfreundlich ist das nicht, das ist ein Rückschritt zu früher, wo das mit 2 Clicks ging.

    VDR

    Server: Ubuntu 26.04 headless VDR im LXC Container, Plugins: satip (Octopus NET SL SX8), live, epgsearch, tvscraper, markad

    Clients: LibreELEC auf RasPi3 und RasPi4

  • Ich habe mal ein wenig gegoogelt. Möglicherweise kann ich eine Verbesserung für Chrome/Edge erzielen. Aber gebt mir bitte ein bisschen Zeit, OK?

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T @ 2.30 GHz, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.8 und VDR 2.8.3 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, femon, live, markad, mlist, osdteletext, recsearch, remote, satip, screenshot, skinnopacity, streamdev, systeminfo, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

  • Der folgende Patch:

    • The content cannot be displayed because you do not have authorisation to view this content.

    …sollte das Problem beheben. Seiten, die einen Reload der Vorgängerseite benötigen, können diesen vor Aufruf von history.go() als Request im Session-Storage hinterlegen. Wenn die Seite aus der History abgerufen wird, triggert das pageshow-Event die Auswertung des Flags und führt bei Chrome-basierten Browsern den Reload aus. Bei Firefox ist das Brimborium nicht notwendig, weshalb für diesen Browser der Reload nicht ausgeführt wird.

    Den Reload-Request habe ich im Code vor allen Aufrufen von history.go() eingefügt und sollte damit an jeder relevanten Stelle platziert sein. Eventuell bräuchte man ihn an der einen oder anderen Stelle überhaupt nicht; er schadet aber auch nicht. Bitte testet den Patch und gebt Bescheid.

    MarkusE, mir ist bei der Suche nach dem richtigen Hook noch eine Kleinigkeit bezüglich des Aufrufs von restoreScrollPosition() aufgefallen:

    Die Funktion benötigt keinen Parameter und ignoriert id deshalb.

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T @ 2.30 GHz, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.8 und VDR 2.8.3 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, femon, live, markad, mlist, osdteletext, recsearch, remote, satip, screenshot, skinnopacity, streamdev, systeminfo, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

  • Nein, funktioniert nicht. Brauche immer noch einen Reload bei Edge.

    VDR

    Server: Ubuntu 26.04 headless VDR im LXC Container, Plugins: satip (Octopus NET SL SX8), live, epgsearch, tvscraper, markad

    Clients: LibreELEC auf RasPi3 und RasPi4

  • Wir müssen zwei Szenarien unterscheiden:

    • Edge macht keinen Reload bei der Rückkehr auf die Vorgängerseite. Der Patch adressiert genau dies.
    • Der Reload erfolgt schneller, als der VDR die geänderten Daten an Live zurückliegen. Da kann auch der Patch nicht helfen.

    Beim Anlegen eines Suchtimers mit Edge war dieser bei mir nach dem Speichern und automatischen Reload der Suchtimer-Übersicht jedenfalls sofort in der Liste enthalten.

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T @ 2.30 GHz, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.8 und VDR 2.8.3 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, femon, live, markad, mlist, osdteletext, recsearch, remote, satip, screenshot, skinnopacity, streamdev, systeminfo, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

  • Wenn ich einen neuen Suchtimer anlege, wir dieser erst nach einem Reload der Seite anzeigt. Das Problem tritt nur auf, wenn 1. Edge und 2. viele aktive Suchtimer. Auf einem Testsystem mit nur wenigen Suchtimern oder mit Firefox tritt das Problem nicht auf.

    Genau um das Problem, das ich beim Öffnen des Threads geschrieben habe, geht es.

    Der Reload erfolgt schneller, als der VDR die geänderten Daten an Live zurückliegen. Da kann auch der Patch nicht helfen.

    Dann ist das ein Bug. Wenn ich eine neue Liste darstellen will, dann muss ich warten, bis das Backend sie geliefert hat.

    Ich vermute, diese Race Conditions zwischen Client Refresh und VDR Refresh gibt es auch noch an anderen Stellen. Beispiel: Wenn ich eine Aufnahme lösche, ist es reiner Zufall, ob die gelöschte Aufnahme in der Liste weg ist, oder es einen manuellen Refresh braucht.

    VDR

    Server: Ubuntu 26.04 headless VDR im LXC Container, Plugins: satip (Octopus NET SL SX8), live, epgsearch, tvscraper, markad

    Clients: LibreELEC auf RasPi3 und RasPi4

    Edited 2 times, last by kfb77 (October 4, 2026 at 10:17 AM).

  • Der Patch an sich ist sicherlich sinnvoll und sollte wohl ins Git. Den anderen Aspekt der Race-Conditions muss Markus angehen. Ich erinnere mich aber dunkel, dass wir das Thema schon einmal hatten und Markus nicht eingreifen wollte… :/

    PS: Habe den Patch um ein paar Debug-Ausgaben erweitert.

    Files

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T @ 2.30 GHz, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.8 und VDR 2.8.3 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, femon, live, markad, mlist, osdteletext, recsearch, remote, satip, screenshot, skinnopacity, streamdev, systeminfo, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

    Edited once, last by SHofmann (October 4, 2026 at 4:43 PM).

  • Auch wenn er nichts verbessert ? Ich vermute mal, wenn "return reply.redirect("searchtimers.html");" das Problem löst (und dafür ein anderes erzeugt) und dein Patch bei mir keine Wirkung hat, dann wird eben kein Reload durchgeführt. Zumindest nicht auf meinem Rechner.

    VDR

    Server: Ubuntu 26.04 headless VDR im LXC Container, Plugins: satip (Octopus NET SL SX8), live, epgsearch, tvscraper, markad

    Clients: LibreELEC auf RasPi3 und RasPi4

  • Klar verbessert der Patch etwas: er aktualisiert nämlich die Anzeige um zwischenzeitlich bei Live eingetroffene Daten und sorgt dafür, dass sich Firefox und Chrome/Edge diesbezüglich identisch verhalten. Dass bei einer hinreichend großen Anzahl die gerade erfolgte Änderung nicht (immer) gleich dabei ist, ist (leider) nichts Neues. Da muss – wie gesagt – MarkusE ran; mal sehen, ob er sich der Sache annehmen will. ;)

    Den Redirect darfst du dir natürlich gerne lokal reinpatchen, dafür geht halt dir die Scroll-Position bei der dadurch vollständig neu geladenen und gerenderten Seite (die aufgrund des Redirects ja die letzte in der History is) verloren. Insofern wäre das für die Allgemeinheit wohl eher ein Rückschritt.

    PS: Außerdem werden Edit-Dialog meist von mehr als einer Stelle aufgerufen. Ein Redirect zu einer festen Seite ist also auch kontraproduktiv…

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T @ 2.30 GHz, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.8 und VDR 2.8.3 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, femon, live, markad, mlist, osdteletext, recsearch, remote, satip, screenshot, skinnopacity, streamdev, systeminfo, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

    Edited once, last by SHofmann (October 4, 2026 at 5:08 PM).

  • Mein Vergleich mit dem Redirect war nicht, weil ich das für eine sinnvolle Lösung halte. Das war zum Aufzeigen, welche Daten in dem Moment in Live vorhanden sind.

    1. redirect: der erzwungene Reload zeigt den neuen Timer an, also hat Live die Daten bereits vom VDR bekommen
    2. dein Patch: Timer fehlt, also findet kein Reload statt, sondern es wird die alte Seite ohne den Timer auf dem back cache angezeigt
    VDR

    Server: Ubuntu 26.04 headless VDR im LXC Container, Plugins: satip (Octopus NET SL SX8), live, epgsearch, tvscraper, markad

    Clients: LibreELEC auf RasPi3 und RasPi4

  • Das kann noch immer eine Race Condition sein, weil der Redirect eventuell mehr Zeit erfordert. Aber geh doch bitte in den Inspektor und setze (bei Verwendung von Patch 45a) einen Breakpoint auf diese Stelle:

    The content cannot be displayed because you do not have authorisation to view this content.

    Dann zeigt sich doch ganz schnell, ob ein Reload erfolgt. Bei mir nach dem Bearbeiten eines Suchtimers:

    The content cannot be displayed because you do not have authorisation to view this content.

    … ist das der Fall. Und dass der Reload auch wirklich ausgeführt wird, habe ich geprüft, indem ich während des Wartens am Breakpoint mit einem anderen Browser einen weiteren Suchtimer angelegt habe. Dieser wird nach nach einem Step-Over auch angezeigt.

    Eventuell könnte man den Rücksprung per history.go() noch um ein paar Millisekunden verzögern. Das ist zwar nicht perfekt, aber als Workaround vielleicht gut genug… :/

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T @ 2.30 GHz, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.8 und VDR 2.8.3 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, femon, live, markad, mlist, osdteletext, recsearch, remote, satip, screenshot, skinnopacity, streamdev, systeminfo, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

    Edited 2 times, last by SHofmann (October 4, 2026 at 8:44 PM).

  • Hiermit:

    … ist auf meinem Produktivsystem auch bei ca. 180 Suchtimern ein neuer Suchtimer gleich angezeigt worden, ohne die paar Millisekunden aber nicht. Bemerken wir man diese minimale Verzögerung in der Regel wohl nicht.

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T @ 2.30 GHz, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.8 und VDR 2.8.3 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, femon, live, markad, mlist, osdteletext, recsearch, remote, satip, screenshot, skinnopacity, streamdev, systeminfo, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

  • Nach ein bisschen Herumspielen drängt sich mir der Eindruck auf, dass es vor allem darauf ankommt, den Reload per Event-Prozedur zu entkoppeln, denn selbst ein Timeout von 1 ms ist ausreichend.

    Anbei der aktualisierte Patch (falls ihr ihn überhaupt noch haben wollt).

    Files

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T @ 2.30 GHz, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.8 und VDR 2.8.3 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, femon, live, markad, mlist, osdteletext, recsearch, remote, satip, screenshot, skinnopacity, streamdev, systeminfo, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

  • Ja, wieder mal ein Grund, sich aus Web Anwendungen raus zu halten:

    Mit Break Point ist das Verhalten exakt so, wie du es erwartest: Nach Suchtimer speichern kommt der back cache ohne den neuen Suchtimer und er bleibt beim Breakpoint stehen. Wenn man dann mit Play weitermacht, wird die Seite neu geladen und der neue Suchtimer ist da.

    Ohne Breakpoint kommt der neue Timer nicht. Also doch ein Timing Problem.

    Ich nehme man an, die Liste verwaltet epgsearch. Wie teilt Live epgsearch den neuen Suchtimer mit und wie/wann holt sich Live die Liste wieder ?

    VDR

    Server: Ubuntu 26.04 headless VDR im LXC Container, Plugins: satip (Octopus NET SL SX8), live, epgsearch, tvscraper, markad

    Clients: LibreELEC auf RasPi3 und RasPi4

  • OK, die Posts haben sich jetzt überschnitten, aber wir sind zum gleichen Ergebnis gekommen. Lösung von Bugs will ich immer gerne haben, ich teste jetzt 0045b.

    VDR

    Server: Ubuntu 26.04 headless VDR im LXC Container, Plugins: satip (Octopus NET SL SX8), live, epgsearch, tvscraper, markad

    Clients: LibreELEC auf RasPi3 und RasPi4

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!