|
|
422e21aaf1
|
nix: setup sccache
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I375e0d41d42939b63a01a59d41b3fd426a6a6964
|
2026-03-22 17:58:53 +03:00 |
|
|
|
cee172fcc3
|
pinakes-server: add more route tests
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ief16a2b3181bfa50193fb69a5ad4a9166a6a6964
|
2026-03-22 17:58:52 +03:00 |
|
|
|
db2d02a323
|
meta: configure gitattributes; don't diff churn
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I9d22892a5f90a95c29fa8979512b13646a6a6964
|
2026-03-22 17:58:51 +03:00 |
|
|
|
ec2487fb5f
|
various: autofix Clippy warnings
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ia355e5626b5db7760c8dbb571cb552c46a6a6964
|
2026-03-22 17:58:50 +03:00 |
|
|
|
76cb98375c
|
pinakes-ui: use system player for HLS streams
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I0255e79e25cde100a063476de2c8fe0d6a6a6964
|
2026-03-22 17:58:49 +03:00 |
|
|
|
30041c40c0
|
pinakes-server: add more integration tests
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I7c6c8eaad569404c7a13cfa8114d84516a6a6964
|
2026-03-22 17:58:48 +03:00 |
|
|
|
fd11b2b7c4
|
pinakes-server: fix subtitle list response and registration
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I22c7237877862acbf931ce4c662bd2816a6a6964
|
2026-03-22 17:58:47 +03:00 |
|
|
|
5e29de82eb
|
pinakes-ui: update styles for media widgets
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ia380cb749d3aafc15ffc242e43eefa106a6a6964
|
2026-03-22 17:58:46 +03:00 |
|
|
|
651b9ef3f0
|
pinakes-ui: playlists view and settings updates
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I7f39eca04360e78cd76c7cb43c2ad2776a6a6964
|
2026-03-22 17:58:45 +03:00 |
|
|
|
cabead92cf
|
pinakes-ui: add rustdoc to ApiClient types and methods
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I4b25ba66e695a870a753bdc6276c113d6a6a6964
|
2026-03-22 17:58:44 +03:00 |
|
|
|
7d886d2c24
|
pinakes-ui: add playlists; expand detail/settings/player components
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ifb9c9da6fec0a9152b54ccf48705088e6a6a6964
|
2026-03-22 17:58:43 +03:00 |
|
|
|
8129c5a6e7
|
pinakes-tui: cover more API routes in the TUI crate
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Id14b6f82d3b9f3c27bee9c214a1bdedc6a6a6964
|
2026-03-22 17:58:42 +03:00 |
|
|
|
c18edc9146
|
chore: add cargo xtask alias
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Iaf5e1365e825e88a6cde49a50624c7736a6a6964
|
2026-03-22 17:58:41 +03:00 |
|
|
|
7a0a009ced
|
docs: auto-generate API route documentation
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Id0d1f9769b7ccdbf83d5fa78adef62e46a6a6964
|
2026-03-22 17:58:40 +03:00 |
|
|
|
625077f341
|
pinakes-server: add utoipa annotations to all routes; fix tests
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I28cf5b7b7cff8e90e123d624d97cf9656a6a6964
|
2026-03-22 17:58:39 +03:00 |
|
|
|
8bde7f8fc2
|
pinakes-server: add utoipa annotations; manage embedded subtitle data
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I30d4b23f09113628dea245404b0a31bd6a6a6964
|
2026-03-22 17:58:38 +03:00 |
|
|
|
1f966ad020
|
pinakes-core: fix minor clippy warnings; add toggle for Swagger UI generation
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ie33a5d17b774289023e3855789d3adc86a6a6964
|
2026-03-22 17:58:37 +03:00 |
|
|
|
349b51e76c
|
pinakes-core: initial subtitle management
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Id2f9b87b1cc903462539ab8ea47099696a6a6964
|
2026-03-22 17:58:36 +03:00 |
|
|
|
6233b46f70
|
pinakes-core: add error variants for external tool calls and subtitle ops
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I9c9f4a7de065e176e16b108411c3d44b6a6a6964
|
2026-03-22 17:58:35 +03:00 |
|
|
|
7d8ec5ffc1
|
pinakes-server: expand test coverage for server features
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ia09d2d3ad7f6613e21d20321e0877bc16a6a6964
|
2026-03-22 17:58:34 +03:00 |
|
|
|
4a2136439f
|
pinakes-plugin-api: suppress enum_variant_names lint
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I01367dea28dd7b47cf765b6f33782a5e6a6a6964
|
2026-03-22 17:58:33 +03:00 |
|
|
|
957bc06f11
|
pinakes-plugin-api: suppress struct_field_names lint; minor doc tweaks
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I90f1cc46303564a61bdefe76d21045066a6a6964
|
2026-03-22 17:58:32 +03:00 |
|
|
|
84288c9660
|
pinakes-server: consolidate helpers for the tests
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ifbc07ced09014391bc264a36be27dc8c6a6a6964
|
2026-03-22 17:58:31 +03:00 |
|
|
|
e40c66e399
|
pinakes-plugin-api: fix hasher usage in tests
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I8ee475aef2d1f81cf6af6f5e247f5e386a6a6964
|
2026-03-22 17:58:30 +03:00 |
|
|
|
54fffa3c96
|
pinakes-core: fix hasher usage in tests
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ied03277d450e39299470667ef479c3526a6a6964
|
2026-03-22 17:58:29 +03:00 |
|
|
|
72f06a4f2a
|
pinakes-core: clarify backup support for postgresql
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I7f7d5dcb1d973c8615aacbfc0a5a44576a6a6964
|
2026-03-22 17:58:28 +03:00 |
|
|
|
a2d233ed6d
|
migrations/postgres: add missing sequence counter for sqlite parity
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Iaf993250bff02b3d02aece62876b5ee56a6a6964
|
2026-03-22 17:58:27 +03:00 |
|
|
|
f831e58723
|
treewide: replace std hashers with rustc_hash alternatives; fix clippy
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I766c36cb53d3d7f9e85b91a67c4131a66a6a6964
|
2026-03-22 17:58:27 +03:00 |
|
|
|
d73bb4580d
|
meta: ignore Nix build results properly
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Iccbf2928b43e8b519d84884e801e4f206a6a6964
|
2026-03-22 17:58:26 +03:00 |
|
|
|
24b681453e
|
chore: enforce rustc_hash over std hashers
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I228093b5da57d6fa3a6249e06de2f5776a6a6964
|
2026-03-22 17:58:25 +03:00 |
|
|
|
530873b7a3
|
pinakes-ui: replace unwrap() with expect(); add # Panics section to convert_wikilinks`
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I984d4d9e636a6a4091cba6f4048c09826a6a6964
|
2026-03-19 20:06:21 +03:00 |
|
|
|
a1906ece00
|
chore: add -Dwarnings to default Rust flags; add rustflags for wasm32 target
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I2134d0a73748bd8889a97c336823ca826a6a6964
|
2026-03-19 20:06:21 +03:00 |
|
|
|
b6da2ca616
|
chore: simplify cargo-deny configuration
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I1e2ff34d322e80fbedbd46e0d1b971b76a6a6964
|
2026-03-19 20:06:09 +03:00 |
|
|
|
b86ff5f6ab
|
pinakes-server: validate rename/move destinations; cap import tag arrays; consolidate batch_delete audit entry
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I02b585a9fb5fc3a2b5fa40f9aac3a7b66a6a6964
|
2026-03-12 20:49:47 +03:00 |
|
|
|
1f7d7ea925
|
pinakes-server: warn on backup cleanup failure; add error logging around
`clear_database`
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I903ce59772c16883642c82427be8167a6a6a6964
|
2026-03-12 20:49:46 +03:00 |
|
|
|
61eb2335d3
|
pinakes-server: validate GPS coordinate bounds; validate saved search fields and sort_order
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Idca86117aeeff4afd489ee00bb5c70a36a6a6964
|
2026-03-12 20:49:45 +03:00 |
|
|
|
18fda530f2
|
pinakes-server: cap batch_enrich size; reject path traversal in library roots
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I42212cdd385921295484d5c1f5fbfeab6a6a6964
|
2026-03-12 20:49:44 +03:00 |
|
|
|
c16fcb4a9b
|
pinakes-server: add MAX_OFFSET/MAX_LIMIT constants; centralize pagination bounds
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ib8227feb353cbbadc7f42fa5d29618e16a6a6964
|
2026-03-12 20:49:43 +03:00 |
|
|
|
e026dcb1e0
|
pinakes-plugin-api: restrict validate_element to pub(crate)
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ifdffa6f56261bfa8c4e8a345ba8e9c4f6a6a6964
|
2026-03-12 20:49:42 +03:00 |
|
|
|
6d68a83003
|
pinakes-core: fix subtitle i32 overflow in postgres
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I3b43f97c96905953fd58f051667c59096a6a6964
|
2026-03-12 20:49:41 +03:00 |
|
|
|
60452dcb5a
|
Merge pull request 'GUI plugins' (#9) from notashelf/push-mytsqvppsvxu into main
Reviewed-on: #9
|
2026-03-12 20:49:40 +03:00 |
|
|
|
be72b6a7ed
|
docs/plugins: detail GUI plugin usage; separate server & GUI plugins
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I2060db637209655390a86facd004bc646a6a6964
|
2026-03-12 20:49:39 +03:00 |
|
|
|
ad6d0b646f
|
chore: fix clippy lints; format
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ib3d98a81c7e41054d27e617394bef63c6a6a6964
|
2026-03-12 20:49:38 +03:00 |
|
|
|
489e55d0b4
|
examples/media-stats-ui: fix Transform source key; add file_name column
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I4c741e4b36708f2078fed8154d7341de6a6a6964
|
2026-03-12 20:49:38 +03:00 |
|
|
|
ba01acf271
|
pinakes-ui: integrate plugin pages into sidebar navigation; sanitize theme-extension CSS eval
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ie87e39c66253a7071f029d52dd5979716a6a6964
|
2026-03-12 20:49:37 +03:00 |
|
|
|
90504609e9
|
pinakes-ui: supply local_state to Conditional and Progress; remove last_refresh
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ib513b5846d6c74bfe821da195b7080af6a6a6964
|
2026-03-12 20:49:36 +03:00 |
|
|
|
071ea19c8f
|
pinakes-ui: add plugin component stylesheet
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I05de526f0cea5df269b0fee226ef1edf6a6a6964
|
2026-03-12 20:49:35 +03:00 |
|
|
|
dccaff2481
|
pinakes-plugin-api: add reserved-route and required-endpoint validation
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Id85a7e729b26af8eb028e19418a5a1706a6a6964
|
2026-03-12 20:49:34 +03:00 |
|
|
|
91123fc90e
|
pinakes-core: use InvalidOperation for nil media_id in upsert_book_metadata
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I72a80731d926b79660abf20c2c766e8c6a6a6964
|
2026-03-12 19:41:16 +03:00 |
|
|
|
185e3b562a
|
treewide: cleanup
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ia01590cdeed872cc8ebd16f6ca95f3cc6a6a6964
|
2026-03-12 19:41:15 +03:00 |
|