Roland
9468448a54
Modifying Video/Channel/RSS Downloaders so that they can download videos, but audio only. These audio files are grouped under their channel directories.
2026-04-14 15:33:01 -06:00
Roland
cefa29e67c
Adding simple search to epub viewer.
2026-04-13 17:23:20 -06:00
Roland
8a75cf9057
Linking to specific page or section of an EPUB/PDF when user searches.
2026-04-13 16:47:02 -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
9e5a8b8057
Adding some vertical video formats to downloader.
2026-04-09 15:03:44 -06:00
Roland
e0324ce0fc
Migrating Controller from port 8087 to 80 so that it is more discoverable. Reformatting Controller dashboard to make header at the top. Reformatting navigation bar to handle the new links which prevented Admin from being visible in some screens.
2026-04-09 15:01:05 -06:00
Roland
250575ef87
Delete duplicate video on download, even if it has tags.
CodeQL / Analyze (push) Waiting to run
Controller Tests / controller-tests (push) Waiting to run
Jest Tests / jest-tests (push) Waiting to run
2026-04-04 19:05:16 -06:00
Roland
105ae377f9
Video download destination can download to the incorrect Channel.
CodeQL / Analyze (push) Waiting to run
Controller Tests / controller-tests (push) Waiting to run
Jest Tests / jest-tests (push) Waiting to run
2026-04-04 15:52:47 -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
0ceac364ec
Hiding traceback when zim file does not match kiwix naming scheme.
2026-03-29 10:19:28 -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
282b0f63e8
Adding links next to video captions to allow scrubbing of video by the captions, adding filter to make finding quick.
2026-03-21 16:50:27 -06:00
Roland
1c4f57226f
Adding skip_viewed to archive and video fetching endpoints.
CodeQL / Analyze (push) Waiting to run
Controller Tests / controller-tests (push) Waiting to run
Jest Tests / jest-tests (push) Waiting to run
2026-03-20 20:17:27 -06:00
Roland
00cfdc14c6
Trying to get existing channel using more variations of Youtube URLs.
CodeQL / Analyze (push) Waiting to run
Controller Tests / controller-tests (push) Waiting to run
Jest Tests / jest-tests (push) Waiting to run
2026-03-20 17:26:51 -06:00
Roland
14cfc87bce
Fixing bug where multiple words could not be used in docs search.
2026-03-20 16:26:04 -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
4a21499bdd
Include archive details in file search.
2026-03-20 14:16:56 -06:00
Roland
4918ea5ef6
Creating Zim search endpoint that searches all auto-search zim files.
2026-03-20 14:16:56 -06:00
Roland
e6aaab1016
Creating video duration cache to avoid requesting video duration between restarts.
2026-03-20 13:02:46 -06:00
Roland
ae7ab1981f
Adding toggle to prevent downloads from starting when cookies are locked.
2026-03-14 12:08:23 -06:00
Roland
b1db71f04a
Handling when skip_urls is a None. Logging a warning (and ignoring) when duplicate json files are in a Video FileGroup.
CodeQL / Analyze (push) Waiting to run
Controller Tests / controller-tests (push) Waiting to run
Jest Tests / jest-tests (push) Waiting to run
2026-03-13 15:27:43 -06:00
Roland
4579562be5
Displaying download progress (speed, eta) for file and video downloads.
2026-03-12 19:31:35 -06:00
Roland
2e1cb4bfaf
Fixing bug in file refreshing where old file locations were not removed from the DB because they shared a their original stem.
2026-03-11 15:03:30 -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
1cf402821c
Renaming VTT files on video download if there are extra characters in the name.
CodeQL / Analyze (push) Waiting to run
Controller Tests / controller-tests (push) Waiting to run
Jest Tests / jest-tests (push) Waiting to run
2026-03-09 15:00:24 -06:00
Roland
8c294dad39
Downloading only the first video when the VideoDownloader gets a playlist by accident.
CodeQL / Analyze (push) Waiting to run
Controller Tests / controller-tests (push) Waiting to run
Jest Tests / jest-tests (push) Waiting to run
2026-03-08 11:55:59 -06:00
Roland
b2185ad7c3
Failing all downloads of a domain if cookies errors are received.
2026-03-08 11:08:08 -06:00
Roland
d2d09da296
Video downloads are retried in an hour, if they are live.
CodeQL / Analyze (push) Waiting to run
Controller Tests / controller-tests (push) Waiting to run
Jest Tests / jest-tests (push) Waiting to run
2026-03-06 15:22:27 -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
9e52f658ea
Storing parent_download_url in a file group's json file after download has completed.
CodeQL / Analyze (push) Has been cancelled
Controller Tests / controller-tests (push) Has been cancelled
Jest Tests / jest-tests (push) Has been cancelled
2026-03-03 15:54:22 -07:00
Roland
99eba4262c
Adding vertical download formats to video downloader.
2026-03-03 15:07:01 -07:00
Roland
71f20d8c59
Using shared context to sync cookies between processes.
2026-02-22 14:32:27 -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
4537c63d89
Adding DEBUS to api systemd services.
2026-02-19 18:01:55 -07:00
Roland
929468821b
Using gnomekeyring for yt-dlp brave cookie parsing.
2026-02-19 17:44:57 -07:00
Roland
a49f67e117
Fetching video duration using api rather than using overpowered yt-dlp.
2026-02-19 16:49:38 -07:00
Roland
d8c51db5a3
Fetching video comments uses video downloader browser profile.
2026-02-19 16:25:35 -07:00
Roland
ae17152e79
Expanding video browser profile selection to match archive feature. Adding toggle to disable downloading missing video comments.
2026-02-19 16:15:18 -07:00
Roland
99a716aa13
Storing parent url for every child download, useful for knowing why WROLPi is downloading something. This is displayed on the Video and Archive download edit page. Updating Archive Download edit modal to use single url input.
CodeQL / Analyze (push) Waiting to run
Controller Tests / controller-tests (push) Waiting to run
Jest Tests / jest-tests (push) Waiting to run
2026-02-18 15:16:10 -07:00
Roland
71e3b307c3
Restarting wrolpi-kiwix when zim files are modeled.
2026-02-14 17:37:09 -07:00
Roland
3f5470d974
Channels are linked to downloads by directory or download source id when downloading, or when importing config.
2026-02-08 14:27:59 -07:00
Roland
a5dee64af2
Changing video view_count to bigint for popular videos.
CodeQL / Analyze (push) Waiting to run
Controller Tests / controller-tests (push) Waiting to run
Jest Tests / jest-tests (push) Waiting to run
2026-02-08 12:33:37 -07:00
Roland
387ef6dfe8
Saving video ffprobe json when video file is uploaded.
2026-02-08 12:29:25 -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
fa5c116b62
Detecting collection directories using collection formatting rather than relying on parent directory of file groups, because those are now longer always in the collection directory.
2026-02-07 17:16:08 -07:00
Roland
8a4f9201f6
Using Channel name when reorganizing channel's files, fallback to info json uploader name (which may be outdated).
CodeQL / Analyze (push) Has been cancelled
Controller Tests / controller-tests (push) Has been cancelled
Jest Tests / jest-tests (push) Has been cancelled
2026-02-05 11:48:25 -07:00
Roland
f5a48e3e7c
Falling back to video file name parser if we don't have enough info in the video's info json.
2026-02-05 08:52:29 -07:00