303b0aa6Add libxml2 to build time dependencies
It's used by "glib-compile-resouces" for stripping spaces in XML.
That command produces a warning to stderr if the "xmllint" command is
not available (for example, on NixOS.)
Shota FUJI
authored at
Shota FUJI
comitted at
d24ded32Do not disable category list during loading
Even an instant, if the list goes "sensitive = false", it loses focus
thus user have to manually re-focus to the list. This change enables
users to rapidly send API requests, but I believe that's not an issue as
requests are identified by "Request-Id" header.
Shota FUJI
authored at
Shota FUJI
comitted at
692a4071Fix pressing Tab key on category list changes category
This is unintuitive and inaccessible, as it was virtually impossible to
"select a category then select an item" only via keyboard.
<https://codeberg.org/pocka/plac-for-gtk4/issues/23>
Shota FUJI
authored at
Shota FUJI
comitted at
7e2ca927Fix loading spinner is shown even when no artwork image is available
Upon opening Plac when there is no playback queue, artwork section shows
loading spinner even though nothing to show there.
That spin animation consumes CPU resource. It also has been visually
annoying.
<https://codeberg.org/pocka/plac-for-gtk4/issues/22>
Shota FUJI
authored at
Shota FUJI
comitted at
3378919dAllow setting fixed discovery UDP port number
For firewalled environment.
https://codeberg.org/pocka/plac-for-gtk4/issues/21
Shota FUJI
authored at
Shota FUJI
comitted at
8ef35b20Use treefmt for formatting
dprint-plugin-exec doesn't work inside non-FHS environment.
I'm not a fan of treefmt's overall design: file paths rather than
stdin/stdout, noisy CLI outputs, over-complicated mechanism, etc.
Shota FUJI
authored at
Shota FUJI
comitted at
139b96a3Do not use flake-utils
Dependency just for just several lines is ridiculous.
Shota FUJI
authored at
Shota FUJI
comitted at
03aef5b8Use unstable nixpkgs
`nix flake update`
I'm not seeing benefits of using stable channel. When using this flake
from other flake, 99.9% of the time the caller sets `nixpkgs.follows` so
using stable is rather problematic.
Shota FUJI
authored at
Shota FUJI
comitted at
36a122b8Simplify connection process
This patch refactors and simplifies connection process, which has been
messy as it was designed for C API. This refactor also removed the
unnecessary short-lived WebSocket connection on startup.
That unorganized `try_listen` / `start` methods have been pain point for
me. It was unclear how the class calls methods one by another, by
looking at class.
Elimination of startup short-lived WebSocket connection reduces startup
time. It was not a bothering one, but there is no technical reason to
close the established connection so this is good.
Shota FUJI
authored at
Shota FUJI
comitted at
42bdb450Remove third-party copyright notice
Plac for GTK4 no longer statically links to libraries.
Shota FUJI
authored at
Shota FUJI
comitted at
8ca06f40Fix extension registration errors in short time
Request handler at registration does not ignore ping request from Roon
server and tried to parse it as register response.
Shota FUJI
authored at
Shota FUJI
comitted at
417fbfc7Use SOOD parsing written in Vala
For faster compilation in Nix build (no downloading) and pure-Vala
challenge.
Shota FUJI
authored at
Shota FUJI
comitted at
d1962e17Fix seekbar behavior being flaky
Sometimes the seekbar remains disabled (`sensitive = false`) and
sometime it keeps previous tracks seek location after track changed.
These are due to mishandling of `seek_position`'s nullability.
Shota FUJI
authored at
Shota FUJI
comitted at
61dd1427Use Zone class directly for view model
`Zone` class became GObject.
Shota FUJI
authored at
Shota FUJI
comitted at
28bbf5cfUse json-glib instead of Zig module
To integrate to GLib ecosystem more.
I rejected json-glib before due to poor API, but the lure of "Vala only
codebase" was too attractive. While the new codebase is quite verbose,
overall line counts are lower than the before.
Due to C API deserializing and serializing code is not readable and
error-prone. I created `JsonHelper` module to mitigate the shitty API
but it's nowhere near perfect.
These code seriously need unit tests, but that would take a while. For
now, this is good enough.
Shota FUJI
authored at
Shota FUJI
comitted at
7ad3f9fePut space after type parameter's close angle
It was so ugly and stupid but I had no idea which uncrustify property is
the culprit.
Shota FUJI
authored at
Shota FUJI
comitted at
19824f68Rename namespace "Plac.V2" to "Plac"
V1 code is no longer there.
Shota FUJI
authored at
Shota FUJI
comitted at