damongolding / immich-kiosk

Immich Kiosk is a lightweight slideshow for running on kiosk devices and browsers that uses Immich as a data source.
GNU Affero General Public License v3.0
535 stars 19 forks source link

Progress bar does not correspond with actual progress #75

Closed carlosjfcasero closed 2 months ago

carlosjfcasero commented 2 months ago

Describe the bug When you load the page, the progress bar starts before the first picture is loaded. Therefore, the next picture is shown when the progress bar is not in the beginning of the screen. Additionally, when you pause/resume the pictures, the progress bar visually starts but it does not change at the end of the progress, but when it reaches some other point (seems random to me)

To Reproduce Steps to reproduce the behavior:

  1. Load Immich kiosk page
  2. See the picture changes when the progress bar is in the middle of the screen
  3. Pause
  4. Resume
  5. See the progress bar starts from the beginning
  6. See the picture changes when the progress bar is in the middle of the screen

Expected behavior

  1. Picture should change when the progress bar is in the beginning of the bar
  2. Despite of stopping/starting, picture should change when the progress bar is in the beginning of the bar

Screenshots Not possible

Your Kiosk version 0.8.0

Your Kiosk installation

The URL used to access Kiosk

Desktop:

Smartphone:

damongolding commented 2 months ago

What refresh time are you using and is your server low resource?

If you have a really small refresh time I might expect this behaviour.

I am planning on reworking how the loop triggers a loop i.e. only restart once the image event has loaded On 9 Sep 2024 at 1:50 PM +0100, carlosjfcasero @.***>, wrote:

Describe the bug When you load the page, the progress bar starts before the first picture is loaded. Therefore, the next picture is shown when the progress bar is not in the beginning of the screen. Additionally, when you pause/resume the pictures, the progress bar visually starts but it does not change at the end of the progress, but when it reaches some other point (seems random to me) To Reproduce Steps to reproduce the behavior:

  1. Load Immich kiosk page
  2. See the picture changes when the progress bar is in the middle of the screen
  3. Pause
  4. Resume
  5. See the progress bar starts from the beginning
  6. See the picture changes when the progress bar is in the middle of the screen

Expected behavior

  1. Picture should change when the progress bar is in the beginning of the bar
  2. Despite of stopping/starting, picture should change when the progress bar is in the beginning of the bar

Screenshots Not possible Your Kiosk version 0.8.0 Your Kiosk installation

• Docker

The URL used to access Kiosk

• Private URL

Desktop:

• OS: iOS • Browser: chrome/safari • Version: latest

Smartphone:

• Device: iPhone15 • OS: iOS17 • Browser safari • Version latest

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***>

jschwalbe commented 2 months ago

I’ve noticed it also, but I think it’s since 0.80?

https://imgur.com/a/4gokYXG

Refresh is 10 sec in settings. Fairly slow network.

damongolding commented 2 months ago

Thanks for posting the video. I see the issue. The device and the server are out of sync. I also known how to fix it.

I’ve never tested anything less than 20 seconds and my network and server are relatively quick so I have never encountered this before. Thanks for submitting.

On 9 Sep 2024 at 7:25 PM +0100, jschwalbe @.***>, wrote:

I’ve noticed it also, but I think it’s since 0.80? https://imgur.com/a/4gokYXG Refresh is 10 sec in settings. Fairly slow network. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

damongolding commented 2 months ago

@jschwalbe @carlosjfcasero Would you be open to testing out a fix for this using the development docker image?

If so, you can use damongolding/immich-kiosk-development:0.8.1 as your image in your compose file.

If you are able could you report any issues or fixes to this issue please 🙏

jschwalbe commented 2 months ago

So far so good! I’ll keep an eye on it throughout the day and update this if any changes!

carlosjfcasero commented 2 months ago

Sure, I will change ASAP and let you know. Thanks!

carlosjfcasero commented 2 months ago

Hi @damongolding I tested the fix. The progress bar desynchronization has been solved (thanks!). However, when the progress bar reaches the end, it remains there for a few seconds until the picture changes and the bar starts again from the beginning

damongolding commented 2 months ago

@carlosjfcasero yes that is expected. Once the progress bar/refresh loop finishes. Kiosk then tells the server to grab a new image and depending on the network and server speed it can take a moment or two.

But I am implementing (I already have a prototype working) a pre-fetch on the server that would make the new image load as soon as the refresh/progress end instantly. So watch this space 👀

carlosjfcasero commented 2 months ago

Another question, I don't know if is expected behavior as well, but when you stop and resume the loop, it starts from the beginning. Is it expected?

damongolding commented 2 months ago

It is at the moment yes as it was simpler to implement. I do understand it goes against the expected behaviour though, so I will fix that at some point.