Coder Social home page Coder Social logo

Doppelt laufende Counter about timed-frontend HOT 2 OPEN

trowik avatar trowik commented on July 18, 2024
Doppelt laufende Counter

from timed-frontend.

Comments (2)

trowik avatar trowik commented on July 18, 2024

Es läuft immer nur eine Aktivität nicht mehrere gleichzeitig. Was nicht passiert ist wenn man auf dem einen Gerät eine Aktivität stoppt und eine neue startet, dass das User Interface auf dem anderen Browser automatisch aktualisiert wird. Darum macht es der Anschein, dass zwei Aktivitäten laufen, dies ist aber Datentechnisch nicht der Fall.

Wenn man F5 drückt hat man aber wieder den aktuellen Stand der Aktivitäten.

Um solch ein Feature umzusetzen, dass automatisch aktualisiert wird auf mehreren Geräten, müssten wir Websockets einführen.

from timed-frontend.

trowik avatar trowik commented on July 18, 2024

Ich habe das nun etwas genauer angeschaut.

Auf der Datenbank sind tatsächlich nicht zwei Counter aktiv. Im Frontend kann es sein, dass zwei Counter auf zwei verschiedenen Geräten laufen. Nun wird zum Beispiel der Counter auf dem Smartphone gestoppt. Die Datenbank trägt korrekt die Endzeit ein.

Wenn ich nun einige Zeit später (z.B. am nächsten Morgen oder wenn ich zu Hause bin) auf meinem Notebook ins Timed wechsle und nicht realisiere, dass ich ja eigentlich den Counter auf dem Mobile schon gestoppt hatte, kann es passieren, dass ich den Counter auf dem Notebook auch noch stoppe.

Und hier scheint es zu einem Fehlverhalten zu kommen. Timed merkt nicht, dass für diese Activity eigentlich schon eine Endzeit eingetragen ist und überschreibt diese mit einem neuen Wert.

Zwei Probleme lassen sich erkennen:

  • Es darf eigentlich nicht sein, dass sich ein zweiter Counter starten lässt, wenn schon einer läuft. Dass schon einer läuft, sieht man ja in der Datenbank. Vorschlag: Starten verhindern, Seite neu laden und Fehlermeldung anzeigen.

  • Es sollte nicht sein, dass sich ein Endwert eines bereits gestoppten Counters überschrieben wird. Ausser natürlich über die Edit-Funktion, wo die Zeit manuell erfasst wird.

Das sind aber natürlich alles Edge Cases und eher unbedeutend.

from timed-frontend.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.