Commit graph

644 commits

Author SHA1 Message Date
Roland
35994bd363
Adding download window which can prevent downloads from running at unwanted times.
Some checks are pending
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
4579562be5
Displaying download progress (speed, eta) for file and video downloads. 2026-03-12 19:31:35 -06:00
Roland
fa97b25831
Adding HelpHeader to display a modal with the relevant Help document.
Some checks are pending
CodeQL / Analyze (push) Waiting to run
Controller Tests / controller-tests (push) Waiting to run
Jest Tests / jest-tests (push) Waiting to run
2026-03-11 15:47:01 -06:00
Roland
1e37f0d4dd Skipping Caddy tests on CICD.
Some checks failed
CodeQL / Analyze (push) Has been cancelled
Controller Tests / controller-tests (push) Has been cancelled
Jest Tests / jest-tests (push) Has been cancelled
2026-03-10 20:30:46 -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
da8a9bb923
Caddy must serve files inline on /media and download on /download. 2026-03-08 09:54:00 -06:00
Roland
19a0e7e1c5
Diplaying video poster on lock screen. 2026-03-08 09:22:50 -06:00
Roland
fbb71e012d Replace nginx with Caddy for TLS termination and reverse proxying.
- Replace nginx with Caddy as the web server for both Docker and native
  (RPi/Debian) deployments. Caddy handles HTTPS termination, reverse
  proxying to all services (API, React app, Controller, Kiwix, Help, Map),
  and serves the media/download file browsers.
- Generate a Root CA and signed leaf certificates for HTTPS. The Root CA
  uses Name Constraints to restrict signing to local addresses only
  (.local, localhost, and RFC 1918 private IP ranges), mitigating MITM
  risk if the CA key is compromised.
- Add an HTTP landing page that guides users through one-time CA
  certificate installation on iOS, Android, macOS, Windows, Linux, and
  Firefox, with auto-redirect when the cert is already trusted.
- Add trailing-slash redirects for /controller, /docs, /media, and
  /download so bare paths don't fall through to the React catch-all.
- Add a Root CA download link on the Settings page under Configs.
- Update help.sh diagnostics for IPv6 listener detection and HTTP/2
  status codes.
- Remove all nginx config files and the https_proxy Docker container.
- Bump wrolpi-help submodule with certificate documentation.
2026-03-07 18:48:44 -07:00
Roland
dd270b37dc
Not clearing settings when frontend fails to fetch, this caused the navbar color and such to be forgotten. 2026-03-07 16:24:20 -07: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
3d74b4bcfc
Always fetching frequent tags. Not showing the most recent tags if there are no results. Handling quoted URL for tag names. 2026-03-07 12:25:41 -07:00
Roland
1913755db5
Adding tags filter input on tags selector, adding frequently used tags to suggest tags that are used together.
Some checks are pending
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
b73685c6f4
Removing duplicate unlock modal. 2026-03-06 15:15:36 -07:00
Roland
20ae3a9963
Grouping hotspot settings in a segment.
Some checks are pending
CodeQL / Analyze (push) Waiting to run
Controller Tests / controller-tests (push) Waiting to run
Jest Tests / jest-tests (push) Waiting to run
2026-03-05 19:00:36 -07:00
Roland
36d5401ebd
Reducing margin on load statistics so that they show on one line on mobile. 2026-03-05 19:00:20 -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
dependabot[bot]
71380e778b
Bump minimatch in /app
Bumps  and [minimatch](https://github.com/isaacs/minimatch). These dependencies needed to be updated together.

Updates `minimatch` from 3.1.2 to 3.1.5
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.2...v3.1.5)

Updates `minimatch` from 5.1.6 to 5.1.9
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.2...v3.1.5)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-version: 3.1.5
  dependency-type: indirect
- dependency-name: minimatch
  dependency-version: 5.1.9
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-28 08:43:14 -07:00
dependabot[bot]
0979d82110
Bump rollup from 2.79.2 to 2.80.0 in /app
Bumps [rollup](https://github.com/rollup/rollup) from 2.79.2 to 2.80.0.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/v2.80.0/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v2.79.2...v2.80.0)

---
updated-dependencies:
- dependency-name: rollup
  dependency-version: 2.80.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-28 08:42:48 -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
ad0d93714a
Adding videos page hotkeys to help play and navigate videos. Adding f hotkey for all local search fields (channel/domain/etc). Focusing when opening cookie modals. 2026-02-23 17:29:09 -07:00
Roland
21c96d9501
Displaying cmd+k/ctrl+k global search keyboard shortcut suggestion. 2026-02-23 16:07:22 -07:00
Roland
50ead953d8
Using selected resolution defaults when editing video with no resolutions are selected. 2026-02-23 15:23:10 -07:00
Roland
7870c194f5
Changing default download sleep to 20 seconds. Moving video settings inputs to be more compact.
Some checks are pending
CodeQL / Analyze (push) Waiting to run
Controller Tests / controller-tests (push) Waiting to run
Jest Tests / jest-tests (push) Waiting to run
2026-02-21 14:24:22 -07:00
dependabot[bot]
1380ae0ff2 Bump ajv from 6.12.6 to 6.14.0 in /app
Bumps [ajv](https://github.com/ajv-validator/ajv) from 6.12.6 to 6.14.0.
- [Release notes](https://github.com/ajv-validator/ajv/releases)
- [Commits](https://github.com/ajv-validator/ajv/compare/v6.12.6...v6.14.0)

---
updated-dependencies:
- dependency-name: ajv
  dependency-version: 6.14.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-21 14:09:37 -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
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
298a67159a
Not showing files that will not be moved during collection reorganization preview. Adding button to mark collection as reorganized when no files need to be reorganized. 2026-02-19 15:27:15 -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.
Some checks are pending
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
8fc98741d0
Adding noreferrer to all external links. 2026-02-15 17:26:36 -07:00
Roland
56419cf5a2
Convert ManageMap page to use SortableTable. 2026-02-15 14:16:35 -07:00
Roland
c216e8ed26
Reworking file refresh button to only disable when global refresh is running. 2026-02-14 17:17:08 -07:00
Roland
8d03d9783a
Logging total runtime when doing global refresh. 2026-02-14 15:54:20 -07:00
Roland
9eea3dd9f9
Adding collection_id to many download forms.
Some checks failed
CodeQL / Analyze (push) Has been cancelled
Controller Tests / controller-tests (push) Has been cancelled
Jest Tests / jest-tests (push) Has been cancelled
2026-02-08 19:34:24 -07:00
Roland
6b939bb195
Displaying more informative error when video files are missing. 2026-02-08 11:02:07 -07:00
Roland
6389541b51
Always displaying icon on steps, even when disabled. 2026-02-08 10:57:12 -07:00
Roland
94f13183b1
Adding InfoPopup for video and archive specia directory forms. 2026-02-08 10:40:23 -07:00
Roland
3cfba32c29
Linking to new ffprobe json file on VideoPage. 2026-02-08 10:29:08 -07:00
Roland
f779369bb8
Updating download edit form to include the tag names alread set for the download. 2026-02-08 09:39:28 -07:00
Roland
8a03ceec52
Adding refresh steps to UI for better user feedback. Modifying file worker progress tracking for better accuracy.
Some checks are pending
CodeQL / Analyze (push) Waiting to run
Controller Tests / controller-tests (push) Waiting to run
Jest Tests / jest-tests (push) Waiting to run
2026-02-07 19:47:44 -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
dependabot[bot]
f8675d52f0
Bump webpack from 5.94.0 to 5.105.0 in /app
Some checks are pending
CodeQL / Analyze (push) Waiting to run
Controller Tests / controller-tests (push) Waiting to run
Jest Tests / jest-tests (push) Waiting to run
Bumps [webpack](https://github.com/webpack/webpack) from 5.94.0 to 5.105.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Changelog](https://github.com/webpack/webpack/blob/main/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack/compare/v5.94.0...v5.105.0)

---
updated-dependencies:
- dependency-name: webpack
  dependency-version: 5.105.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-06 15:33:38 -07:00
Roland
63c370b073
Creating Collection reorganization conflict resolution. 2026-02-06 15:05:15 -07:00
Roland
a9b2ec321e
Channel saving logic was inverted. 2026-02-05 11:12:44 -07:00
Roland
bd217d98ce
Changing favicon color when navbar color changes.
Some checks are pending
CodeQL / Analyze (push) Waiting to run
Controller Tests / controller-tests (push) Waiting to run
Jest Tests / jest-tests (push) Waiting to run
2026-02-04 12:28:55 -07:00
Roland
98ea05b689
Reworking FileBrowser selection using context to reduce prop drilling. 2026-02-03 16:36:44 -07:00
Roland
2c8f765f2b
Adding statistics page for Archives. 2026-02-02 15:15:28 -07:00
Roland
4f90a3daa2
Reverting react-router version because of node dependency.
Some checks are pending
CodeQL / Analyze (push) Waiting to run
Controller Tests / controller-tests (push) Waiting to run
Jest Tests / jest-tests (push) Waiting to run
2026-01-31 19:50:25 -07:00
dependabot[bot]
e1ec896ece
Bump qs, @cypress/request and express in /app
Bumps [qs](https://github.com/ljharb/qs), [@cypress/request](https://github.com/cypress-io/request) and [express](https://github.com/expressjs/express). These dependencies needed to be updated together.

Updates `qs` from 6.13.0 to 6.14.1
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ljharb/qs/compare/v6.13.0...v6.14.1)

Updates `@cypress/request` from 3.0.6 to 3.0.10
- [Release notes](https://github.com/cypress-io/request/releases)
- [Changelog](https://github.com/cypress-io/request/blob/master/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/request/compare/v3.0.6...v3.0.10)

Updates `express` from 4.21.2 to 4.22.1
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/v4.22.1/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.21.2...v4.22.1)

---
updated-dependencies:
- dependency-name: qs
  dependency-version: 6.14.1
  dependency-type: indirect
- dependency-name: "@cypress/request"
  dependency-version: 3.0.10
  dependency-type: indirect
- dependency-name: express
  dependency-version: 4.22.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-31 18:44:11 -07:00
dependabot[bot]
d0217c87f3
Bump lodash from 4.17.21 to 4.17.23 in /app
Some checks are pending
CodeQL / Analyze (push) Waiting to run
Controller Tests / controller-tests (push) Waiting to run
Jest Tests / jest-tests (push) Waiting to run
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to 4.17.23.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.17.23)

---
updated-dependencies:
- dependency-name: lodash
  dependency-version: 4.17.23
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-31 18:10:36 -07:00
dependabot[bot]
0fa44e9464
Bump lodash-es from 4.17.21 to 4.17.23 in /app
Bumps [lodash-es](https://github.com/lodash/lodash) from 4.17.21 to 4.17.23.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.17.23)

---
updated-dependencies:
- dependency-name: lodash-es
  dependency-version: 4.17.23
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-31 18:10:36 -07:00