* Add last_modified and date_added fields in catalog.toml
* remove changes to catalog.toml, better field naming
---------
Co-authored-by: Lemmy <studio@quadbyte.net>
* feat: add AniList plugin
Browse and update anime/manga lists from the bar widget and library panel with OAuth login.
* feat(anilist): add French translations
* docs(anilist): align README with template and current features
* chore(anilist): bump version to 1.0.0
* chore(anilist): update plugin thumbnail
* docs(anilist): document network, cache, and filesystem behavior
* fix(anilist): comply with AniList ToS naming guidelines
Rename the plugin to AniList (UNOFFICIAL), update the thumbnail, and keep service-facing copy referring to AniList itself.
* feat(hypr-screen-mirror): setup plugin
* feat(hypr-screen-mirror): added socat watch on hyprland socket for monitor change
* feat(hypr-screen-mirror): added hyprctl commands for starting and stopping mirroring
* fix(hypr-screen-mirror): check if a mirror is active from monitor output during monitor update
* doc(hypr-screen-mirror): plugin readme and image
* fix(hypr-screen-mirror): issues from review
* fix(hypr-screen-mirror): separate observed state from mirror actions
---------
Co-authored-by: Lemmy <studio@quadbyte.net>
* fix(service_sse): Fixed perpetual connecting from hung states request.
* fix(service_sse): Distinguish unreachable server from disconnected/auth
states.
* chore(plugin): Bumped version to 2.0.3
* feat: add keybind cheatsheet
* docs: refresh keybind cheatsheet preview
* docs: use official generated keybind thumbnail
* feat(keybind-cheatsheet): preload cached snapshots
Move parser and cache ownership into an event-driven data service so the panel opens from a prepared last-known-good snapshot. Document the plugin's inspiration and independent v5 implementation.
* fix(service_sse): Fixed connecting state not updating.
* fix(shortcut*): Changed shortcuts to use the clean URL.
* chore(plugin): Bumped version to 2.0.2
* feat(lyrics): add Simplified Chinese translations
Ship translations/zh-Hans.json so the plugin UI follows Noctalia's
host language when set to Simplified Chinese.
* fix(lyrics): restore splayer in lyrics_sources help text
The i18n reorder dropped splayer from settings.lyrics_sources.description.
* feat(lyrics): add album artwork fallbacks
Use artwork returned by matched lyric sources when MPRIS artwork is missing
or fails, preserve detected image formats, and bound the cover cache.
* Add game-launcher plugin
* auto-build: compile gamelauncher.c on first run
* rename leo -> Alexander
* add cc to dependencies for CI
* fix CI issues: lowercase id, prefix, translations, getConfig
* fix: revert prefix to g (noctalia prepends / via provider_prefix)
* game-launcher: fix all 4 security audit issues, cache deletion crash, covers not showing, close button
- Issue 1: Removed all system/popen/curl/wget/python3/grep from C scanner
- Issue 2: Protocol URL validation + character-level filtering + shell escaping
- Issue 3: Added xdg-utils to plugin.toml dependencies
- Issue 4: Steampoacher opt-in setting, documented data flow in README
- Fix: Plugin crash after cache deletion (pcall-wrapped all error paths)
- Fix: Close button uses noctalia.togglePanel instead of panel.close
- Fix: onOpen rescans if any game missing a cover
- Fix: Cover display fallback path reconstruction
* game-launcher: revert close button to panel.close
* game-launcher: note steampoacher needed for HQ covers
* game-launcher: shorten steampoacher note
* 1. Refactored README by hand **Stupid AI**
2. deleted the binary , it will be built with plugin open
* fix: Remove the character-by-character sanitization