Commit graph

209 commits

Author SHA1 Message Date
520489ab48
docs: finalize hacking guidelines
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I2d3a5a9d745630f5da305664f0bdc66e6a6a6964
2026-03-23 03:30:56 +03:00
273d0244aa
chore: generate a documentation index for REST API docs in docs/api
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ia8426a63a50d07a6cec2b104951d58eb6a6a6964
2026-03-23 03:30:55 +03:00
d61b5d32d1
docs: link to 'hacking' guidelines in README; document project license
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6caae0f7de73aa02150b48a3d7d8dcd06a6a6964
2026-03-23 03:30:54 +03:00
00bab69598
meta: move public crates to packages/
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I928162008cb1ba02e1aa0e7aa971e8326a6a6964
2026-03-23 03:30:53 +03:00
70b0113d8a
meta: release under EUPL v1.2
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I81153bc119c58300fc2b1e7efab871496a6a6964
2026-03-23 03:30:52 +03:00
d18317b49b
meta: drop plugin stubs for now
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Iedf1d829183c258d0f6ef8a313053d4d6a6a6964
2026-03-23 03:30:51 +03:00
e7e9ea6036
nix: drop sccache
Did not work.

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I09802cd4835347115ba51bdffd0af1096a6a6964
2026-03-23 03:30:47 +03:00
6900984e46
meta: set up editorconfig
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ie44e5a7239a053d674e6aa06e14c3ce56a6a6964
2026-03-22 23:58:29 +03:00
9e5eb41d39
nix: set up project-wide formatter
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I4806c58aa0a17f504c9312723ad770166a6a6964
2026-03-22 23:58:28 +03:00
aa9c55277c
docs: document usage for Just intrumentation
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I11f818ca94867d483caf89c1753e28876a6a6964
2026-03-22 23:58:27 +03:00
f55edcdedd
meta: set up Just for general maintenance tasks
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I16a6121ab52fbc732a56720f622321496a6a6964
2026-03-22 23:58:26 +03:00
raf
035825a402 Merge pull request 'treewide: general cleanup' (#11) from notashelf/push-wsulzmvymvxq into main
Reviewed-on: #11
2026-03-22 20:14:10 +00:00
103be9d13d
nix: setup sccache
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I375e0d41d42939b63a01a59d41b3fd426a6a6964
2026-03-22 22:05:05 +03:00
f1eacc8484
pinakes-server: add more route tests
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ief16a2b3181bfa50193fb69a5ad4a9166a6a6964
2026-03-22 22:05:04 +03:00
d26f237828
meta: configure gitattributes; don't diff churn
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I9d22892a5f90a95c29fa8979512b13646a6a6964
2026-03-22 22:05:03 +03:00
7ed66f1d3f
various: autofix Clippy warnings
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ia355e5626b5db7760c8dbb571cb552c46a6a6964
2026-03-22 22:05:02 +03:00
c1a1f4a600
pinakes-ui: use system player for HLS streams
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I0255e79e25cde100a063476de2c8fe0d6a6a6964
2026-03-22 22:05:01 +03:00
bac79a2c08
pinakes-server: add more integration tests
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I7c6c8eaad569404c7a13cfa8114d84516a6a6964
2026-03-22 22:05:00 +03:00
b1ddb32ff0
pinakes-server: fix subtitle list response and registration
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I22c7237877862acbf931ce4c662bd2816a6a6964
2026-03-22 22:04:59 +03:00
76a48250e9
pinakes-ui: update styles for media widgets
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ia380cb749d3aafc15ffc242e43eefa106a6a6964
2026-03-22 22:04:58 +03:00
3948872042
pinakes-ui: playlists view and settings updates
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I7f39eca04360e78cd76c7cb43c2ad2776a6a6964
2026-03-22 22:04:57 +03:00
67019cad4c
pinakes-ui: add rustdoc to ApiClient types and methods
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I4b25ba66e695a870a753bdc6276c113d6a6a6964
2026-03-22 22:04:56 +03:00
0feb51d7b4
pinakes-ui: add playlists; expand detail/settings/player components
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ifb9c9da6fec0a9152b54ccf48705088e6a6a6964
2026-03-22 22:04:55 +03:00
bb69f2fa37
pinakes-tui: cover more API routes in the TUI crate
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Id14b6f82d3b9f3c27bee9c214a1bdedc6a6a6964
2026-03-22 22:04:54 +03:00
0dda2aec8f
chore: add cargo xtask alias
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Iaf5e1365e825e88a6cde49a50624c7736a6a6964
2026-03-22 22:04:53 +03:00
934691c0f9
docs: auto-generate API route documentation
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Id0d1f9769b7ccdbf83d5fa78adef62e46a6a6964
2026-03-22 22:04:52 +03:00
9d58927cb4
pinakes-server: add utoipa annotations to all routes; fix tests
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I28cf5b7b7cff8e90e123d624d97cf9656a6a6964
2026-03-22 22:04:51 +03:00
67b8322705
pinakes-server: add utoipa annotations; manage embedded subtitle data
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I30d4b23f09113628dea245404b0a31bd6a6a6964
2026-03-22 22:04:50 +03:00
aa68d742c9
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 22:04:49 +03:00
5e0f404fc7
pinakes-core: initial subtitle management
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Id2f9b87b1cc903462539ab8ea47099696a6a6964
2026-03-22 22:04:48 +03:00
2daa1e4395
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 22:04:47 +03:00
ee5df288bc
pinakes-server: expand test coverage for server features
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ia09d2d3ad7f6613e21d20321e0877bc16a6a6964
2026-03-22 22:04:46 +03:00
60b6aa1fe8
pinakes-plugin-api: suppress enum_variant_names lint
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I01367dea28dd7b47cf765b6f33782a5e6a6a6964
2026-03-22 22:04:45 +03:00
1ee225201a
pinakes-plugin-api: suppress struct_field_names lint; minor doc tweaks
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I90f1cc46303564a61bdefe76d21045066a6a6964
2026-03-22 22:04:44 +03:00
2f43279dd7
pinakes-server: consolidate helpers for the tests
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ifbc07ced09014391bc264a36be27dc8c6a6a6964
2026-03-22 22:04:43 +03:00
6b8444f19c
pinakes-plugin-api: fix hasher usage in tests
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I8ee475aef2d1f81cf6af6f5e247f5e386a6a6964
2026-03-22 22:04:42 +03:00
5b817e0b3e
pinakes-core: fix hasher usage in tests
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ied03277d450e39299470667ef479c3526a6a6964
2026-03-22 22:04:41 +03:00
e15dad208e
pinakes-core: clarify backup support for postgresql
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I7f7d5dcb1d973c8615aacbfc0a5a44576a6a6964
2026-03-22 22:04:40 +03:00
8023dc606b
migrations/postgres: add missing sequence counter for sqlite parity
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Iaf993250bff02b3d02aece62876b5ee56a6a6964
2026-03-22 22:04:39 +03:00
c6efd3661f
treewide: replace std hashers with rustc_hash alternatives; fix clippy
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I766c36cb53d3d7f9e85b91a67c4131a66a6a6964
2026-03-22 22:04:38 +03:00
0e79ba0518
meta: ignore Nix build results properly
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Iccbf2928b43e8b519d84884e801e4f206a6a6964
2026-03-22 22:04:37 +03:00
cf735b4278
chore: enforce rustc_hash over std hashers
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I228093b5da57d6fa3a6249e06de2f5776a6a6964
2026-03-22 22:04:36 +03:00
ede8a26e59
pinakes-ui: get rid of the build wrapper; let Dioxus compile its own stylesheets
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I8e83a7d9e592b0770b22c5832da6a5586a6a6964
2026-03-22 21:58:53 +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