Commit graph

  • 530873b7a3
    pinakes-ui: replace unwrap() with expect(); add # Panics section to convert_wikilinks` main NotAShelf 2026-03-12 20:59:38 +03:00
  • a1906ece00
    chore: add -Dwarnings to default Rust flags; add rustflags for wasm32 target NotAShelf 2026-03-12 20:59:16 +03:00
  • b6da2ca616
    chore: simplify cargo-deny configuration NotAShelf 2026-03-12 20:49:23 +03:00
  • b86ff5f6ab
    pinakes-server: validate rename/move destinations; cap import tag arrays; consolidate batch_delete audit entry NotAShelf 2026-03-12 20:48:29 +03:00
  • 1f7d7ea925
    pinakes-server: warn on backup cleanup failure; add error logging around clear_database NotAShelf 2026-03-12 20:48:15 +03:00
  • 61eb2335d3
    pinakes-server: validate GPS coordinate bounds; validate saved search fields and sort_order NotAShelf 2026-03-12 20:47:44 +03:00
  • 18fda530f2
    pinakes-server: cap batch_enrich size; reject path traversal in library roots NotAShelf 2026-03-12 20:46:20 +03:00
  • c16fcb4a9b
    pinakes-server: add MAX_OFFSET/MAX_LIMIT constants; centralize pagination bounds NotAShelf 2026-03-12 20:45:45 +03:00
  • e026dcb1e0
    pinakes-plugin-api: restrict validate_element to pub(crate) NotAShelf 2026-03-12 20:45:20 +03:00
  • 6d68a83003
    pinakes-core: fix subtitle i32 overflow in postgres NotAShelf 2026-03-12 19:41:01 +03:00
  • 60452dcb5a
    Merge pull request 'GUI plugins' (#9) from notashelf/push-mytsqvppsvxu into main raf 2026-03-12 16:53:42 +00:00
  • be72b6a7ed
    docs/plugins: detail GUI plugin usage; separate server & GUI plugins notashelf/push-mytsqvppsvxu NotAShelf 2026-03-11 21:30:00 +03:00
  • ad6d0b646f
    chore: fix clippy lints; format NotAShelf 2026-03-11 21:29:24 +03:00
  • 489e55d0b4
    examples/media-stats-ui: fix Transform source key; add file_name column NotAShelf 2026-03-11 21:27:55 +03:00
  • ba01acf271
    pinakes-ui: integrate plugin pages into sidebar navigation; sanitize theme-extension CSS eval NotAShelf 2026-03-11 21:27:42 +03:00
  • 90504609e9
    pinakes-ui: supply local_state to Conditional and Progress; remove last_refresh NotAShelf 2026-03-11 21:26:59 +03:00
  • 071ea19c8f
    pinakes-ui: add plugin component stylesheet NotAShelf 2026-03-11 21:26:41 +03:00
  • dccaff2481
    pinakes-plugin-api: add reserved-route and required-endpoint validation NotAShelf 2026-03-11 21:26:20 +03:00
  • 7cbce98795
    docs/plugins: detail GUI plugin usage; separate server & GUI plugins NotAShelf 2026-03-11 21:30:00 +03:00
  • 0014a1a2a9
    chore: fix clippy lints; format NotAShelf 2026-03-11 21:29:24 +03:00
  • e1351e8881
    examples/media-stats-ui: fix Transform source key; add file_name column NotAShelf 2026-03-11 21:27:55 +03:00
  • 81d1695e11
    pinakes-ui: integrate plugin pages into sidebar navigation; sanitize theme-extension CSS eval NotAShelf 2026-03-11 21:27:42 +03:00
  • 63954fdb2f
    pinakes-ui: supply local_state to Conditional and Progress; remove last_refresh NotAShelf 2026-03-11 21:26:59 +03:00
  • 220dfa6506
    pinakes-ui: add plugin component stylesheet NotAShelf 2026-03-11 21:26:41 +03:00
  • 7989d4c4dd
    pinakes-plugin-api: add reserved-route and required-endpoint validation NotAShelf 2026-03-11 21:26:20 +03:00
  • 91123fc90e
    pinakes-core: use InvalidOperation for nil media_id in upsert_book_metadata NotAShelf 2026-03-11 18:21:13 +03:00
  • 185e3b562a
    treewide: cleanup NotAShelf 2026-03-11 17:23:51 +03:00
  • 0ba898c881
    pinakes-core: check file existence before removal in TempFileGuard drop NotAShelf 2026-03-11 17:23:17 +03:00
  • 0c9b71346d
    pinakes-core: map serde_json errors to Serialization variant in export NotAShelf 2026-03-11 17:23:08 +03:00
  • 15b005cef0
    pinakes-core: expose required_endpoints alongside UI pages in plugin manager NotAShelf 2026-03-11 17:22:52 +03:00
  • dc4dc41670
    pinakes-plugin-api: consolidate reserved-route check; reject widget data-source refs NotAShelf 2026-03-11 17:12:07 +03:00
  • 3678edd355
    meta: prefer std's OnceLock and LazyLock over once_cell NotAShelf 2026-03-11 17:11:26 +03:00
  • 119f6d2e06
    examples: add media-stats-ui plugin NotAShelf 2026-03-11 17:09:56 +03:00
  • cf76d42c33
    pinakes-core: add integration tests for batch_update_media NotAShelf 2026-03-11 17:09:27 +03:00
  • 592a9bcc47
    pinakes-core: add error context to tag and collection writes; map serde_json errors to Serialization variant NotAShelf 2026-03-11 17:08:24 +03:00
  • 8f2b44b50c
    pinakes-core: unify book metadata extraction; remove ExtractedBookMetadata NotAShelf 2026-03-11 17:08:02 +03:00
  • 9c67c81a79
    pinakes-server: relativize media paths against configured root directories NotAShelf 2026-03-11 17:07:17 +03:00
  • 5077e9f117
    pinakes-ui: extract expression evaluation into dedicated module NotAShelf 2026-03-11 17:06:58 +03:00
  • 0baa57d48d
    pinakes-ui: add SettingsSection widget target; align location strings with schema constants NotAShelf 2026-03-11 17:02:29 +03:00
  • 5d7076426c
    pinakes-ui: add special actions; add modal control to action executor NotAShelf 2026-03-11 17:01:22 +03:00
  • 9389af9fda
    pinakes-ui: enforce plugin endpoint allowlist; replace inline styles with CSS custom properties NotAShelf 2026-03-11 17:00:37 +03:00
  • ada1c07f66
    pinakes-server: add widget, theme-extension, and event plugin routes; expose allowed_endpoints in UI page DTO NotAShelf 2026-03-11 16:55:27 +03:00
  • 4834208f9f
    pinakes-core: use checked_sub for Instant arithmetic in pipeline tests NotAShelf 2026-03-11 16:55:10 +03:00
  • 7a6d602eed
    pinakes-plugin-api: add integration and sample plugin tests NotAShelf 2026-03-11 16:49:41 +03:00
  • 5a0901ba95
    pinakes-plugin-api: add required_endpoints and theme_extensions to manifest UI section NotAShelf 2026-03-10 00:02:35 +03:00
  • 6e442065b1
    pinakes-ui: integrate plugin registry into app navigation and routing NotAShelf 2026-03-10 00:02:31 +03:00
  • de913e54bc
    pinakes-ui: rewrite renderer with interactive tabs; correct data context; per-item loop binding NotAShelf 2026-03-10 00:02:16 +03:00
  • 188f9a7b8d
    pinakes-ui: fix action param precedence and non-JSON 2xx handling NotAShelf 2026-03-10 00:02:09 +03:00
  • e55fd5cc98
    pinakes-ui: fix plugin page data loading; add as_json helper NotAShelf 2026-03-10 00:01:56 +03:00
  • 1acff0227c
    pinakes-ui: add WidgetContainer; basic widget injection system NotAShelf 2026-03-10 00:01:39 +03:00
  • 62058a7c4d
    pinakes-ui: fix ApiClient clone to preserve auth token NotAShelf 2026-03-10 00:01:23 +03:00
  • ed8ad73497
    pinakes-core: fix `list_ui_pages\' doc comment NotAShelf 2026-03-10 00:01:11 +03:00
  • 21572541c3
    pinakes-plugin-api: schema validation for page and widget schemas NotAShelf 2026-03-10 00:00:55 +03:00
  • aa2a81e354
    pinakes-plugin-api: add widgets field to manifest UI section NotAShelf 2026-03-10 00:00:40 +03:00
  • 7ad068b930
    pinakes-plugin-api: new UI widget types NotAShelf 2026-03-09 22:02:28 +03:00
  • a4bc48214f
    meta: ignore test configuration NotAShelf 2026-03-09 22:02:06 +03:00
  • be4305f46e
    pinakes-ui: add plugin page registry NotAShelf 2026-03-09 22:01:40 +03:00
  • 901adcb2f0
    pinakes-ui: add plugin schema renderer NotAShelf 2026-03-09 22:01:37 +03:00
  • 307375a348
    pinakes-ui: add plugin action executor NotAShelf 2026-03-09 22:01:34 +03:00
  • e46a8943cb
    pinakes-ui: add plugin data fetching NotAShelf 2026-03-09 22:01:08 +03:00
  • 5b204dceb5
    pinakes-ui: add ApiClient plugin methods; depend on plugin API NotAShelf 2026-03-09 21:59:58 +03:00
  • 29ba24ae01
    pinakes-server: add GET /plugins/ui-pages endpoint NotAShelf 2026-03-09 21:59:22 +03:00
  • 0525ea6c60
    pinakes-core: expose plugin UI pages via PluginManager NotAShelf 2026-03-09 19:59:21 +03:00
  • c86d9399ac
    pinakes-plugin-api: initial UI schema types; manifest extension for GUI plugins NotAShelf 2026-03-09 18:16:20 +03:00
  • 1accc202bc
    chore: force explicit ABI in rustfmt NotAShelf 2026-03-08 15:45:35 +03:00
  • c6697e7c6f
    docs: update plugin documentation to reflect new isolation model NotAShelf 2026-03-08 15:25:06 +03:00
  • 1928d26cde
    chore: update sample configuration with new plugin fields NotAShelf 2026-03-08 15:16:37 +03:00
  • 24d60fd4c9 Merge pull request 'finalize server-side plugin system' (#8) from notashelf/push-wxzvxtntoxnn into main raf 2026-03-08 12:21:42 +00:00
  • ce9c27d410
    pinakes-server: update tests with plugin configuration notashelf/push-wxzvxtntoxnn NotAShelf 2026-03-08 15:16:12 +03:00
  • e9c5390c45
    pinakes-server: integrate plugin system into routes & application state NotAShelf 2026-03-08 15:06:11 +03:00
  • f686e8a777
    pinakes-core: emit plugin events from scan and import pipelines NotAShelf 2026-03-08 15:01:46 +03:00
  • 7d3c2052c2
    pinakes-core: add plugin integration tests and test fixtures NotAShelf 2026-03-08 14:56:31 +03:00
  • 61ebc6824c
    meta: ignore compiled test fixtures in git NotAShelf 2026-03-08 14:56:08 +03:00
  • 57f440d62e
    nix: add wasm32-wasip1 target NotAShelf 2026-03-08 14:54:40 +03:00
  • 4edda201e6
    pinakes-core: add plugin pipeline; impl signature verification & dependency resolution NotAShelf 2026-03-08 14:23:02 +03:00
  • 8347a714d2
    pinakes-plugin-api: extend manifest with dependencies; basic WASM exchange buffer NotAShelf 2026-03-08 01:07:43 +03:00
  • cb10c84809
    chore: update example config with ratelimit opts; format TOML NotAShelf 2026-03-08 01:06:57 +03:00
  • 99b3c01d22
    chore: tag 0.3.0-dev NotAShelf 2026-03-08 00:42:41 +03:00
  • adaab9de21
    pinakes-ui: add book management component and reading progress display NotAShelf 2026-03-08 00:42:38 +03:00
  • 66861b8a20
    pinakes-tui: add book management view and api key authentication NotAShelf 2026-03-08 00:42:34 +03:00
  • 3d9f8933d2
    pinakes-core: update remaining modules and tests NotAShelf 2026-03-08 00:42:29 +03:00
  • c8425a4c34
    pinakes-plugin-api: update manifest, types, and wasm interface NotAShelf 2026-03-08 00:42:25 +03:00
  • eb6c0a3577
    pinakes-server: update remaining route imports and handlers NotAShelf 2026-03-08 00:42:20 +03:00
  • 2b2c1830a1
    pinakes-server: fix api key timing, notification scoping, and validate progress inputs NotAShelf 2026-03-08 00:42:17 +03:00
  • 52f0b5defc
    pinakes-server: wire backup, session refresh, webhooks, and rate limit config NotAShelf 2026-03-08 00:42:14 +03:00
  • 4e91cb6679
    pinakes-core: add backup, session refresh, share permissions restructure, and fix integrity NotAShelf 2026-03-08 00:42:10 +03:00
  • 672e11b592
    pinakes-core: add configurable rate limits and cors; add webhook dispatcher; bound job history NotAShelf 2026-03-08 00:42:06 +03:00
  • d5be5026a7
    pinakes-core: fix isbn regex, csv quoting, document extraction, and enrichment accuracy NotAShelf 2026-03-08 00:42:01 +03:00
  • d77e5b9f2f
    pinakes-server: split dto module into submodules NotAShelf 2026-03-07 19:57:37 +03:00
  • e66a2231b7
    chore: bump dependencies NotAShelf 2026-03-07 17:18:13 +03:00
  • 8ec30c35f2
    flake: bump inputs NotAShelf 2026-03-07 17:06:30 +03:00
  • b2b9adb0af
    pinakes-server: sanitize Content-Disposition filenames in dls NotAShelf 2026-03-07 16:55:43 +03:00
  • f049dd100a
    pinakes-server: propagate sync/share errors; cap unbounded pagination limits NotAShelf 2026-03-07 16:55:43 +03:00
  • b12ad5d272
    pinakes-server: fix session token distribution bias; propagate auth audit errors NotAShelf 2026-03-07 16:55:43 +03:00
  • b8ff35acea
    various: inherit workspace lints in all crates; eliminate unwrap() throughout NotAShelf 2026-03-07 16:55:43 +03:00
  • 1fe2c7998d
    pinakes-server: eliminate unwraps from response builders NotAShelf 2026-03-07 16:55:43 +03:00
  • 01fc2021c0
    pinakes-server: bound session concurrency; handle JoinError; make analytics retention configurable NotAShelf 2026-03-07 16:55:43 +03:00
  • b24d4cbcdd
    pinakes-core: fix thumbnail generation; use explicit MediaType IDs NotAShelf 2026-03-07 16:55:43 +03:00
  • 237f7c28d2
    pinakes-core: add batch_update_media; RAII temp file cleanup in import NotAShelf 2026-03-07 16:55:43 +03:00
  • cd63eeccff
    various: add Display impls for domain enums; improve contextual errors NotAShelf 2026-03-07 16:55:43 +03:00