* add dev branch container to workflow
* correctly set the default range of ActivityGrid
* fix: set name/short_name to koito (#61)
* fix dev container push workflow
* fix: race condition with using getComputedStyle primary color for dynamic activity grid darkening (#76)
* Fix race condition with using getComputedStyle primary color for dynamic activity grid darkening
Instead just use the color from the current theme directly. Tested works on initial load and theme changes.
Fixes https://github.com/gabehf/Koito/issues/75
* Rework theme provider to provide the actual Theme object throughtout the app, in addition to the name
Split name out of the Theme struct to simplify custom theme saving/reading
* fix: set first artist listed as primary by default (#81)
* feat: add server-side configuration with default theme (#90)
* docs: add example for usage of the main listenbrainz instance (#71)
* docs: add example for usage of the main listenbrainz instance
* Update scrobbler.md
---------
Co-authored-by: Gabe Farrell <90876006+gabehf@users.noreply.github.com>
* feat: add server-side cfg and default theme
* fix: repair custom theme
---------
Co-authored-by: m0d3rnX <jesper@posteo.de>
* docs: add default theme cfg option to docs
* feat: add ability to manually scrobble track (#91)
* feat: add button to manually scrobble from ui
* fix: ensure timestamp is in the past, log fix
* test: add integration test
* feat: add first listened to dates for media items (#92)
* fix: ensure error checks for ErrNoRows
* feat: add now playing endpoint and ui (#93)
* wip
* feat: add now playing
* fix: set default theme when config is not set
* feat: fetch images from subsonic server (#94)
* fix: useQuery instead of useEffect for now playing
* feat: custom artist separator regex (#95)
* Fix race condition with using getComputedStyle primary color for dynamic activity grid darkening
Instead just use the color from the current theme directly. Tested works on initial load and theme changes.
Fixes https://github.com/gabehf/Koito/issues/75
* Rework theme provider to provide the actual Theme object throughtout the app, in addition to the name
Split name out of the Theme struct to simplify custom theme saving/reading
* feat: add server-side configuration with default theme (#90)
* docs: add example for usage of the main listenbrainz instance (#71)
* docs: add example for usage of the main listenbrainz instance
* Update scrobbler.md
---------
Co-authored-by: Gabe Farrell <90876006+gabehf@users.noreply.github.com>
* feat: add server-side cfg and default theme
* fix: repair custom theme
---------
Co-authored-by: m0d3rnX <jesper@posteo.de>
* fix: rebase errors
---------
Co-authored-by: pet <128837728+againstpetra@users.noreply.github.com>
Co-authored-by: mlandry <mike.landry@gmail.com>
Co-authored-by: m0d3rnX <jesper@posteo.de>
3 weeks ago
56 changed files with 1895 additions and 914 deletions
@ -23,6 +23,9 @@ If the environment variable is defined without **and** with the suffix at the sa
##### KOITO_DEFAULT_PASSWORD
- Default: `changeme`
- Description: The password for the user that is created on first startup. Only applies when running Koito for the first time.
##### KOITO_DEFAULT_THEME
- Default: `yuu`
- Description: The lowercase name of the default theme to be used by the client. Overridden if a user picks a theme in the theme switcher.
##### KOITO_BIND_ADDR
- Description: The address to bind to. The default blank value is equivalent to `0.0.0.0`.
##### KOITO_LISTEN_PORT
@ -37,6 +40,9 @@ If the environment variable is defined without **and** with the suffix at the sa
##### KOITO_LOG_LEVEL
- Default: `info`
- Description: One of `debug | info | warn | error | fatal`
##### KOITO_ARTIST_SEPARATORS_REGEX
- Default: `\s+·\s+`
- Description: The list of regex patterns Koito will use to separate artist strings, separated by two semicolons (`;;`).
##### KOITO_MUSICBRAINZ_URL
- Default: `https://musicbrainz.org`
- Description: The URL Koito will use to contact MusicBrainz. Replace this value if you have your own MusicBrainz mirror.
@ -63,6 +69,12 @@ If the environment variable is defined without **and** with the suffix at the sa
- Description: Disables Cover Art Archive as a source for finding album images.
##### KOITO_DISABLE_MUSICBRAINZ
- Default: `false`
##### KOITO_SUBSONIC_URL
- Required: `true` if KOITO_SUBSONIC_PARAMS is set
- Description: The URL of your subsonic compatible music server. For example, `https://navidrome.mydomain.com`.
##### KOITO_SUBSONIC_PARAMS
- Required: `true` if KOITO_SUBSONIC_URL is set
- Description: The `u`, `t`, and `s` authentication parameters to use for authenticated requests to your subsonic server, in the format `u=XXX&t=XXX&s=XXX`. An easy way to find them is to open the network tab in the developer tools of your browser of choice and copy them from a request.
##### KOITO_SKIP_IMPORT
- Default: `false`
- Description: Skips running the importer on startup.
returnnil,fmt.Errorf("loadConfig: invalid configuration: both %s and %s must be set in order to use subsonic image fetching",SUBSONIC_URL_ENV,SUBSONIC_PARAMS_ENV)