Skip to content

Config validation producing a lot of of errors #519

@johndoe0815

Description

@johndoe0815

Describe the bug

Just with the latest config validation I notice that the validation produces many errors, which I did not notice before, as everything works as expected with the config.
This is what my log says:

07:54:13 WARN Config validation failed:
07:54:13 WARN - show_time: Invalid type. Expected: boolean, given: string
07:54:13 WARN - cross_fade_transition_duration: Invalid type. Expected: integer, given: string
07:54:13 WARN - kiosk: Additional property pre_fetch is not allowed
07:54:13 WARN - kiosk.watch_config: Invalid type. Expected: boolean, given: string
07:54:13 WARN - kiosk.port: Invalid type. Expected: integer, given: string
07:54:13 WARN - kiosk.redirects.1.name: Invalid type. Expected: string, given: integer
07:54:13 WARN - kiosk.redirects.2.name: Invalid type. Expected: string, given: integer
07:54:13 WARN - kiosk.redirects.3.name: Invalid type. Expected: string, given: integer
07:54:13 WARN - kiosk.redirects.4.name: Invalid type. Expected: string, given: integer
07:54:13 WARN - kiosk.redirects.5.name: Invalid type. Expected: string, given: integer
07:54:13 WARN - kiosk.redirects.6.name: Invalid type. Expected: string, given: integer
07:54:13 WARN - kiosk.redirects.7.name: Invalid type. Expected: string, given: integer
07:54:13 WARN - kiosk.redirects.8.name: Invalid type. Expected: string, given: integer
07:54:13 WARN - kiosk.redirects.9.name: Invalid type. Expected: string, given: integer
07:54:13 WARN - kiosk.redirects.10.name: Invalid type. Expected: string, given: integer
07:54:13 WARN - kiosk.redirects.11.name: Invalid type. Expected: string, given: integer
07:54:13 WARN - kiosk.redirects.12.name: Invalid type. Expected: string, given: integer
07:54:13 WARN - kiosk.redirects.13.name: Invalid type. Expected: string, given: integer
07:54:13 WARN - kiosk.redirects.14.name: Invalid type. Expected: string, given: integer
07:54:13 WARN - kiosk.redirects.15.name: Invalid type. Expected: string, given: integer
07:54:13 WARN - font_size: Invalid type. Expected: integer, given: string
07:54:13 WARN - show_progress_bar: Invalid type. Expected: boolean, given: string
07:54:13 WARN - time_format: Invalid type. Expected: integer, given: string
07:54:13 WARN - image_effect_amount: Invalid type. Expected: integer, given: string
07:54:13 WARN - show_date: Invalid type. Expected: boolean, given: string
07:54:13 WARN - frameless: Invalid type. Expected: boolean, given: string
07:54:13 WARN - show_image_time: Invalid type. Expected: boolean, given: string
07:54:13 WARN - fade_transition_duration: Invalid type. Expected: integer, given: string

I do not understand why it misinterprets SOME of the parameters.
See below the config output, why does it say it only got a string for show_image_time but it does not complain on show_image_date, both just have false/true?!
Why does it interpret fade_transition_duration as string, as the config clearly only shows a number?
See also here looking directly into the config:

Image

It even complains about the port 3000, which I had never touched, it is still from the standard config that I initially took over to adjust.

I have manually overwritten some values in my config and explicitely saved again, but the issue remains. Setting the validation to warning "fixes" it for the moment, as e.g. the redirects are still considered correctly even though the config says they are wrongly defined, but I would still aim to have an "officially valid" config.

Expected behavior

Integers, booleans and strings are considered as they are written into the config.

Your Kiosk version

0.23.1

Your Kiosk installation

  • Docker

Your Kiosk configuration (ENV / config file)

Please remove any sensitive data (e.g. Immich API key or URL) before sharing your configuration.

immich_api_key: REDACTED
immich_url: REDACTED
immich_external_url: ""
immich_users_api_keys: {}
user: []
show_user: false
show_owner: false
disable_navigation: false
menu_position: top
disable_ui: false
frameless: true
show_time: false
time_format: "24"
show_date: false
date_format: DD.MM.YYYY
clock_source: client
duration: 15
disable_screensaver: true
hide_cursor: false
font_size: 100
theme: fade
layout: splitview
sleep_start: "23"
sleep_end: "6"
sleep_icon: true
sleep_dim_screen: false
disable_sleep: false
show_archived: false
people: []
require_all_people: false
excluded_people: []
albums: []
album_video: false
album_order: random
excluded_albums: []
tags: []
dates: []
memories: false
date_filter: ""
live_photos: false
live_photo_loop_delay: 0
image_fit: cover
image_effect: smart-zoom
image_effect_amount: 120
use_original_image: false
background_blur: true
background_blur_amount: 10
transition: cross-fade
fade_transition_duration: 3
cross_fade_transition_duration: 3
show_progress_bar: false
progress_bar_position: top
custom_css: true
custom_css_class: ""
show_album_name: false
show_person_name: false
show_person_age: false
age_switch_to_years_after: 1
show_age_year_unit: false
show_image_time: false
image_time_format: "24"
show_image_date: true
image_date_format: DD.MM.YYYY
show_image_description: false
show_image_exif: false
show_image_location: false
hide_countries:
    - country to hide
show_image_id: false
show_image_qr: false
show_more_info: true
show_more_info_image_link: true
show_more_info_qr_code: true
like_button_action:
    - favorite
hide_button_action:
    - tag
weather: []
iframe: []
optimize_images: false
use_gpu: true
webhooks: []
blacklist: []
use_offline_mode: false
offline_mode:
    enabled: false
    number_of_assets: 100
    max_size: "0"
    parallel_downloads: 1
    expiration_hours: 0
kiosk:
    version: ""
    redirects:
        - name: REDACTED
          url: REDACTED
          type: ""
        - name: REDACTED
          url: REDACTED
          type: ""
        - name: REDACTED
          url: REDACTED
          type: ""
        - name: REDACTED
          url: REDACTED
          type: ""
        - name: REDACTED
          url: REDACTED
          type: ""
        - name: REDACTED
          url: REDACTED
          type: ""
        - name: REDACTED
          url: REDACTED
          type: ""
        - name: REDACTED
          url: REDACTED
          type: ""
        - name: REDACTED
          url: REDACTED
          type: ""
        - name: REDACTED
          url: REDACTED
          type: ""
        - name: REDACTED
          url: REDACTED
          type: ""
        - name: REDACTED
          url: REDACTED
          type: ""
        - name: REDACTED
          url: REDACTED
          type: ""
        - name: REDACTED
          url: REDACTED
          type: ""
        - name: REDACTED
          url: REDACTED
          type: ""
        - name: REDACTED
          url: REDACTED
          type: ""
    config_validation_level: warning
    port: 3000
    behind_proxy: false
    disable_url_queries: false
    disable_config_endpoint: false
    watch_config: true
    fetched_assets_size: 1000
    http_timeout: 20
    cache: true
    prefetch: true
    password: ""
    asset_weighting: true
    debug: false
    debug_verbose: false

Any params passed to the URL used to access Kiosk

none

Additional context

Add any other context about the problem here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions