damongolding / immich-kiosk

A web slideshow for Immich
GNU Affero General Public License v3.0
339 stars 14 forks source link

Support iOS 9.3.5 browser #57

Closed tylerobara closed 1 week ago

tylerobara commented 1 week ago

Is your feature request related to a problem? Please describe. When attempting to load Immich Kiosk using either Chrome or Safari on iOS 9.3.5, the page loads a black background and the Kiosk logo that stops.

Describe the solution you'd like Support older browsers or maybe there is a way to build Kiosk into an app in XCode??

Describe alternatives you've considered An existing app I bought, "LiveFrame" supports on device photos. Maybe there is a way to remotely rotate the photos from an Immich instance

Additional context I used mitmproxy to watch the traffic to/from my iPad. No obvious problems. Nothing significant in Immich Kiosk Debug logs

damongolding commented 1 week ago

Do you see a POST request in the kiosk logs? That’s the endpoint that fetches the actual images. If you see the Kiosk logo (and it’s centred)  that means the GET requests are working. On 3 Sep 2024 at 7:06 PM +0100, tylerobara @.***>, wrote:

Is your feature request related to a problem? Please describe. When attempting to load Immich Kiosk using either Chrome or Safari on iOS 9.3.5, the page loads a black background and the Kiosk logo that stops. Describe the solution you'd like Support older browsers or maybe there is a way to build Kiosk into an app in XCode?? Describe alternatives you've considered An existing app I bought, "LiveFrame" supports on device photos. Maybe there is a way to remotely rotate the photos from an Immich instance Additional context I used mitmproxy to watch the traffic to/from my iPad. No obvious problems. Nothing significant in Immich Kiosk Debug logs — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***>

tylerobara commented 1 week ago

Do you see a POST request in the kiosk logs? That’s the endpoint that fetches the actual images. If you see the Kiosk logo (and it’s centred)  that means the GET requests are working.

Negative this is what gets logged on every refresh of kiosk tab in safari


2024/09/03 14:11:24 DEBU  jCxnJbhgFBhhAnsxLEhElemVKiYvWaTj  method=GET path=/
  requestConfig=
  │ {
  │  "ImmichApiKey": "redacted",
  │  "ImmichUrl": "https://immich.example.com",
  │  "DisableUi": false,
  │  "ShowTime": true,
  │  "TimeFormat": "12",
  │  "ShowDate": true,
  │  "DateFormat": "YYYY/MM/DD",
  │  "Refresh": 60,
  │  "DisableScreensaver": false,
  │  "HideCursor": false,
  │  "Person": [],
  │  "Album": [],
  │  "ImageFit": "CONTAIN",
  │  "BackgroundBlur": true,
  │  "Transition": "NONE",
  │  "ShowProgress": false,
  │  "ShowImageTime": true,
  │  "ImageTimeFormat": "24",
  │  "ShowImageDate": true,
  │  "ImageDateFormat": "YYYY-MM-DD",
  │  "Kiosk": {
  │   "Cache": true,
  │   "Password": ""
  │  },
  │  "History": []
  │ }
  `
tylerobara commented 1 week ago

For reference, when using my desktop, I see a GET then immediately a POST.

damongolding commented 1 week ago

I see show_time is true. Do you see a GET request to /clock? If not then the issue will be the Ajax requests not being sent.

tylerobara commented 1 week ago

I see show_time is true. Do you see a GET request to /clock? If not then the issue will be the Ajax requests not being sent.

There was no get request to /clock. I changed the value to false. No change. Just a single get request to /.

Compose file:

services:
  immich-kiosk:
    image: damongolding/immich-kiosk:latest
    container_name: immich-kiosk
    environment:
      TZ: America/New_York
      KIOSK_IMMICH_API_KEY: redacted
      KIOSK_IMMICH_URL: https://immich.example.com
      KIOSK_DISABLE_UI: "false"
      KIOSK_SHOW_DATE: "true"
      KIOSK_DATE_FORMAT: YYYY/MM/DD
      KIOSK_SHOW_TIME: "false"
      KIOSK_TIME_FORMAT: 12
      KIOSK_REFRESH: 60
      #KIOSK_ALBUM: ALBUM_ID,ALBUM_ID,ALBUM_ID
      #KIOSK_PERSON: PERSON_ID,PERSON_ID,PERSON_ID
      KIOSK_IMAGE_FIT: CONTAIN
      KIOSK_BACKGROUND_BLUR: "true"
      KIOSK_TRANSITION: NONE
      KIOSK_SHOW_PROGRESS: "false"
      KIOSK_SHOW_IMAGE_TIME: "true"
      KIOSK_IMAGE_TIME_FORMAT: 24
      KIOSK_SHOW_IMAGE_DATE: "true"
      KIOSK_IMAGE_DATE_FORMAT: YYYY-MM-DD
      #      KIOSK_PASSWORD: password
      KIOSK_CACHE: "true"
      KIOSK_DEBUG: "true"
    ports:
      - 3000:3000
    restart: on-failure
networks: {}

I will disable a few more options and see what happens

tylerobara commented 1 week ago

No go. All true values above have been changed to false. Desktop browser renders bare image. Logo only for iOS browsers.

damongolding commented 1 week ago

All signs point to that browser not being supported by HTMX, which is the driving force behind the front end.

tylerobara commented 1 week ago

All signs point to that browser not being supported by HTMX, which is the driving force behind the front end.

Seems like it, I found https://htmx.org/test and it doesn't do anything on the iPad

damongolding commented 1 week ago

Seems like it, I found https://htmx.org/test and it doesn't do anything on the iPad

That's such a shame but I can't say I really want to rewrite Kiosk nor fill it will polyfills 😭

tylerobara commented 1 week ago

Seems like it, I found https://htmx.org/test and it doesn't do anything on the iPad

That's such a shame but I can't say I really want to rewrite Kiosk nor fill it will polyfills 😭

no worries. I will research other paths to keep using this iPad. Considering looking at VNC+dedicated VM.