Roland
da340a00b3
Displaying warning when no drive is mounted.
2026-05-14 16:16:18 -06:00
Roland
ba63170e55
Consolidating deletion endpoints.
CodeQL / Analyze (push) Has been cancelled
Controller Tests / controller-tests (push) Has been cancelled
Jest Tests / jest-tests (push) Has been cancelled
2026-05-03 19:14:30 -06:00
Roland
09a967535b
Models like Archive/Video/Doc can be deleted, even if they are tagged. User is shown a warning and must confirm deletion of tagged files.
2026-05-03 19:14:15 -06:00
Roland
66cecce5e6
Adding Doc filter button so users can search just PDFs/EPUB/etc.
2026-04-14 15:35:35 -06:00
Roland
8fb9e35aef
Displaying confirmation modal when deleting tagged files, rather than just refusing to delete them.
2026-04-14 11:46:50 -06:00
Roland
c726654de9
Map search added to global search. Preview cards are displayed for all results in new Map tab.
...
CodeQL / Analyze (push) Waiting to run
Controller Tests / controller-tests (push) Waiting to run
Jest Tests / jest-tests (push) Waiting to run
Map viewer has simple search.
Map search databases can be downloaded from CDN, or built locally. Map searches can be built offline, but will not have enriched things like state names downloaded from Wikidata.
2026-04-13 12:17:08 -06:00
Roland
bbc23dbf90
Adding map default view option to the map context menu.
2026-04-04 14:56:25 -06:00
Roland
b8a532c8d9
Key changes:
...
- Add MapLibre GL JS viewer with light/dark themes, terrain layer,
and embedded static map page for coordinate sharing
- Add map pin support with persistent map_pins.yaml config
- Add map region subscriptions and downloader with progress tracking,
sourcing pre-extracted PMTiles from a cold CDN
- Add map export to PNG and GPS coordinate copy via context menu
- Add MapViewer React component alongside reworked Map page
- Add map catalog and region-building script (build_map_regions.py)
- Remove OSM import/render scripts, leaflet files, Apache configs,
renderd service, and osm-map-dumper Docker container
- Update Caddyfile to serve PMTiles and map static assets
- Update build/install/repair scripts for Protomaps dependencies
- Drop map_file table, add/drop map_subscription table (alembic)
- Adding button to skip primary drive mounting during onboarding.
2026-04-04 13:48:19 -06:00
Roland
755b133fa4
Fixing bug where configs could be overwritten with empty configs on first refresh. Fixing bug where configs were displayed as JSON in admin settings.
2026-03-22 12:56:37 -06:00
Roland
1c79c1c495
Refactoring docs to match new url scheme like videos and archives.
2026-03-20 15:53:21 -06:00
Roland
66a891c759
Refactoring videos and archives UI paths for consistent scheme.
2026-03-20 15:38:32 -06:00
Roland
aefc7b1def
Add Docs module for searching and organizing PDFs and EPUBs
...
Create a new Docs module that consolidates PDF and eBook handling into a
unified system with subjects and authors support. This replaces the
separate PDF/eBook modelers with a single Doc model backed by an
alembic migration (rename ebook to doc).
Key changes:
- New modules/docs package with models, API, extractors, and lib
- Subject and author metadata extraction with case-insensitive
normalization for cleaner PDF metadata
- Frontend Docs pages with AuthorsPage, SubjectsPage using
CollectionTable, and doc card deletion
- Global search integration for subjects and authors
- Generic collection item count support
- Frontend file card metadata adjusted to match collection sort
- Bump yt-dlp version
2026-03-20 14:17:06 -06:00
Roland
ebcb7b0e5d
Fixing bug where refreshing a video would download a copy, instead of just the metadata.
CodeQL / Analyze (push) Waiting to run
Controller Tests / controller-tests (push) Waiting to run
Jest Tests / jest-tests (push) Waiting to run
2026-03-19 15:02:32 -06:00
Roland
97006f7f12
Showing preview of zip file contents, allowing user to download individual files without full extraction.
CodeQL / Analyze (push) Has been cancelled
Controller Tests / controller-tests (push) Has been cancelled
Jest Tests / jest-tests (push) Has been cancelled
2026-03-15 12:58:40 -06:00
Roland
ae7ab1981f
Adding toggle to prevent downloads from starting when cookies are locked.
2026-03-14 12:08:23 -06:00
Roland
c2c5d237d7
Adding timezone to WROLPi config to schedule download window.
2026-03-13 15:03:13 -06:00
Roland
35994bd363
Adding download window which can prevent downloads from running at unwanted times.
CodeQL / Analyze (push) Waiting to run
Controller Tests / controller-tests (push) Waiting to run
Jest Tests / jest-tests (push) Waiting to run
2026-03-12 20:36:57 -06:00
Roland
da6e62ee45
Backup configs can be restored in the UI. User can choose between Merge or Overwrite, the UI displays a comparison. Configs are compared when user opens the restore modal, configs which won't cause changes are marked.
2026-03-10 20:30:46 -06:00
Roland
f59a4198d9
Renaming all co-occurring to overlapping, easier to spell. Filtering by only overlapping tags when searching by a tag, this is because any non-overlapping will not produce results anyways.
2026-03-07 15:55:04 -07:00
Roland
1913755db5
Adding tags filter input on tags selector, adding frequently used tags to suggest tags that are used together.
CodeQL / Analyze (push) Waiting to run
Controller Tests / controller-tests (push) Waiting to run
Jest Tests / jest-tests (push) Waiting to run
2026-03-07 10:47:18 -07:00
Roland
0ffbc05e91
Unifying video download settings so that global/channel/rss/video
...
download settings have inheritance. Allowing more granular control of
potentially failed downloads.
2026-03-05 17:40:17 -07:00
Roland
bdc29dace1
Skipping recent file tracking for ignored directories, and video and archive pages.
2026-02-28 08:39:10 -07:00
Roland
0c059865e2
Updating download process to prevent rate limiting.
...
* Added encrypted cookies feature for use with yt-dlp. Decrypted cookies never touch the disk.
* Adding sleep between all downloads to prevent rapid requests.
* Channels are fully refreshed before downloading.
* Removing superseded video browser profile.
2026-02-21 14:08:00 -07:00
Roland
a6d6aaf9b4
Adding .ffprobe.json for video file groups to speed up re-indexing in the future; adding save_ffprobe_json to the WROLPiConfig to disable this feature.
2026-02-07 18:40:56 -07:00
Roland
63c370b073
Creating Collection reorganization conflict resolution.
2026-02-06 15:05:15 -07:00
Roland
2c8f765f2b
Adding statistics page for Archives.
2026-02-02 15:15:28 -07:00
Roland
9005c0deff
Adding toggle to disable the tags directory feature.
2026-01-31 18:08:42 -07:00
Roland
74cb5171da
FileGroups in Collections can be reorganized in the Collection's directory.
...
* Batch reorganization is supported for both Domain and Channel Collections.
* Batch reorganization happens when any Collection does not match the respective file format. For example, a Channel Collection file format that does not match the `yt_dlp_options.file_name_format` will show `needs_reorganization`.
* Individual Collections can always be reorganized. The reorganization is a little more aggressive. Useful for when some files may have been missed in the batch reorganization.
2026-01-31 18:08:41 -07:00
Roland
173284699d
FileWorker: Async queue-based file synchronization system
...
Introduces FileWorker for background file operations with dual-queue
architecture (public/private). Handles refresh, move, and rename tasks
with progress tracking, job completion monitoring, and batch processing.
Compares DB FileGroups to filesystem state using FileGroupDiff to detect
new/modified/deleted files. Designed for memory efficiency on Raspberry Pi.
2026-01-23 15:29:15 -07:00
Roland
6a9ffcaadc
Adding selection to the Downloads page, user can delete or retry multiple downloads at once.
2025-12-26 10:35:30 -07:00
Roland
1ebcae0965
Allowing user to configure collection download destination directories, as well as directories in the file structure. This will allow sorting archives by destination year, for example.
2025-12-23 16:46:15 -07:00
Roland
78251b067e
Removing WROLPi admin functionality that is now in Controller.
CodeQL / Analyze (push) Has been cancelled
Controller Tests / controller-tests (push) Has been cancelled
Jest Tests / jest-tests (push) Has been cancelled
2025-12-19 18:41:27 -07:00
Roland
c6df730dcc
Adding bulk tag button to the file browser. User can add tags to many files, but can only remove tags if all files share the tags to be removed.
2025-12-06 19:06:33 -07:00
Roland
8a7f0737f0
Reformatting code.
2025-12-06 15:11:37 -07:00
Roland
5b29144d70
Testing that nearly-empty configs are ignored on import. Adding setting to disable automatic upgrade checking.
2025-12-06 15:11:37 -07:00
Roland
63a77b87e6
Removing collection metadata.
2025-12-06 15:11:37 -07:00
Roland
a1e0fb4e92
Creating a new Collection model for use in organizing FileGroups.
...
Replacing Channels and Domains with Collection.
Moving downloading relationships from Channel to Collection.
Created domains.yaml config to manage tagged domain collections.
Adding turn-key upgrade solution in the UI.
2025-12-06 15:11:37 -07:00
Roland
1ed0d63bac
Creating Generate Screenshot button for Archives which are missing a screenshot.
2025-12-06 15:11:37 -07:00
Roland
00c86e1a1a
Searching wrolpi user's home directory for browser profiles.
2025-05-02 17:24:51 -06:00
Roland
3d6ccad0c0
Adding feature which adds toggles to Zim files to enable/disable auto search.
2025-02-02 12:43:04 -07:00
Roland
531ec3d65e
Creating new /api/archive/upload which accepts a file from the SingleFile browser extension and converts it to an Archive.
2025-01-30 18:41:32 -07:00
Roland
01338e4d89
Displaying plug icon when API fails to respond. Using window.apiDown to communicate to other hooks to stop fetching, the status interval will keep checking if the API is back up.
2025-01-24 15:35:26 -07:00
Roland
74a1486f0e
Hiding syntax errors when API is down.
2024-12-18 17:32:00 -07:00
Roland
376850ceeb
Moving config api endpoints to their own file..
2024-12-03 22:33:19 -07:00
Roland
fe521c99f3
Adding edit form for Scrape downloader.
2024-12-03 12:44:38 -07:00
Roland
bf29bdcff7
Displaying error when video file name format is invalid.
2024-11-29 17:01:16 -07:00
Roland
5621d47309
Video downloads have many more options. Downloads are migrated.
...
Storing video settings in session storage to help user start downloads consistently.
Applying channel tag name to new channels when download videos or channels.
Initializing map tiles when importing and resetting map.
2024-11-28 09:48:57 -07:00
Roland
d4fc3d1c07
Moving Configs to SettingsPage.
2024-10-16 18:56:55 -06:00
Roland
4b6fb1d37f
Updating DirectorySearch to allow creation of new directories.
2024-10-16 18:56:51 -06:00
Roland
acf3dee179
Configs are displayed in new ConfigsPage under Admin.
...
- Configs can be imported and saved.
- Configs are validated before imported.
- API will refuse to save a config if it was not imported successfully.
2024-10-16 18:56:45 -06:00