skrashevich/double-take

[BUG] ui -> path setting broken w/ v1.13.11

asherry99 opened this issue · 9 comments

Describe the bug

Upgrading to v1.13.11 while running docker compose. I was getting these 404 errors.
Screenshot 2023-08-17 at 6 53 47 PM

I tracked it back to the ui: -> path config setting.

ui:
  path: /matches

It looks like the API isn't getting the path added to them being called from the UI.
Screenshot 2023-08-17 at 6 58 05 PM

I confirmed removing ui:-> path from my config fixed loading. But this is long term problematic as I use nginx as a auth Proxy_Pass in front of it.

Version of Double Take
1.13.11

Expected behavior
I expect the ui->path setting to not break the web interface

Hardware

  • Architecture or platform: x86_64, Intel(R) Celeron(R) N5095A @ 2.00GHz
  • OS: Ubuntu
  • Browser (if applicable): chrome
  • Docker image (if applicable) skrashevich/double-take:latest

Additional context
Nope.

Could be related to #90 but felt different enough to be a different issue. Please feel free to close if I'm wrong.

I confirmed removing ui:-> path from my config fixed loading. But this is long term problematic as I use nginx as a auth Proxy_Pass in front of it.

Where did you remove this? I didn't have this in my config ? And why would this be a problem for nginx in the future ?

I had this in my config: (Readme Reference: https://github.com/jakowenko/double-take#ui-1)

# ui settings (default: shown below)
ui:
  # base path of ui
  path: /matches

This was added originally here: jakowenko#166 to support nginx proxying along side other applications.

It's an option I used for my set up, not likely that many people use this option.

Please, show HTML code of http://10.40.3.250:3000/matches/index.html (especially around </head> tag)

view-source: http://10.40.3.250:3000/matches/

<!DOCTYPE html>
<html lang="">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <meta id="theme-color" name="theme-color" content="#20262e"/>
    <link rel="icon" type="image/svg+xml" href="./favicon.svg">
    <link rel="apple-touch-icon"  href="./apple-touch-icon.png">
    <!-- https://developer.apple.com/design/human-interface-guidelines/ios/visual-design/adaptivity-and-layout/#device-screen-sizes-and-orientations -->
    <meta name="apple-mobile-web-app-capable" content="yes">
    <link href="./splash/iphone-12-pro-max.png" media="(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3)" rel="apple-touch-startup-image" />
    <link href="./splash/iphone-12.png" media="(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3)" rel="apple-touch-startup-image" />
    <link href="./splash/iphone-12-mini.png" media="(device-width: 375px) and (device-height: 812x) and (-webkit-device-pixel-ratio: 3)" rel="apple-touch-startup-image" />
    <link href="./splash/iphone-11-pro-max.png" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3)" rel="apple-touch-startup-image" />
    <link href="./splash/iphone-11-pro.png" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3)" rel="apple-touch-startup-image" />
    <link href="./splash/iphone-11.png" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />
    <link href="./splash/iphone-xs-max.png" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3)" rel="apple-touch-startup-image" />
    <link href="./splash/iphone-xs.png" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3)" rel="apple-touch-startup-image" />
    <link href="./splash/iphone-xr.png" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />
    <link href="./splash/iphone-x.png" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3)" rel="apple-touch-startup-image" />
    <link rel="manifest" href="./manifest.json">
    <link id="theme-link" rel="stylesheet" href="./themes/bootstrap4-dark-blue/theme.css">
    <title>Double Take</title>
    <script type="module" crossorigin src="./assets/index-cfef6394.js"></script>
    <link rel="stylesheet" href="./assets/index-baf06cb7.css">
  <script>
        window.ingressUrl = '';
        window.publicPath = '/matches';
      </script>
      </head>
  <body>
    <noscript>
      <strong>We're sorry but this app doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
    </noscript>
    <div id="app"></div>
    
    <!-- built files will be auto injected -->
  </body>
</html>

config.yml (just in case)

logs:
  level: error

mqtt:
  host: 10.60.3.1
  user: double-take
  password: not-my-password

  topics:
    frigate: frigate/events
    homeassistant: homeassistant
    matches: double-take/matches
    cameras: double-take/cameras

ui:
  path: /matches

# global detect settings.
detect:
  match:
    # save match images
    save: true
    # include base64 encoded string in api results and mqtt messages
    # options: true, false, box
    base64: false
    # minimum confidence needed to consider a result a match
    confidence: 80
    # hours to keep match images until they are deleted
    purge: 168
    # minimum area in pixels to consider a result a match
    min_area: 1250

  unknown:
    # save unknown images
    save: true
    # include base64 encoded string in api results and mqtt messages
    # options: true, false, box
    base64: false
    # minimum confidence needed before classifying a name as unknown
    confidence: 70
    # hours to keep unknown images until they are deleted
    purge: 168
    # minimum area in pixels to keep an unknown result
    min_area: 1000

# frigate settings.
frigate:
  url: http://10.40.3.250:5000
  update_sub_labels: true
  stop_on_match: true
  min_area: 2000
  labels:
    - person

  attempts:
    # number of times double take will request a frigate latest.jpg for facial recognition
    latest: 10
    # number of times double take will request a frigate snapshot.jpg for facial recognition
    snapshot: 10
    mqtt: true
    delay: 0

  image:
    # height of frigate image passed for facial recognition
    height: 720

  cameras:
    - camera_1
detectors:
  rekognition:
    aws_access_key_id: !secret aws_access_key_id
    aws_secret_access_key: !secret aws_secret_access_key
    aws_region: "us-west-2"
    collection_id: double-take
    opencv_face_required: true
    cameras:
      - camera_1

telemetry: false

try this build: ghcr.io/skrashevich/double-take:sha-524b747

Success! Thank you @skrashevich that seems to have fixed it!

seems to I can close this issue