release/1.0.0#53
Merged
Merged
Conversation
feature/backmerge-to-develop
…and documentation Agent-Logs-Url: https://github.com/tmseidel/restic-explorer/sessions/5f2cadf9-f87c-4d92-8d90-80c34d93a3f9 Co-authored-by: tmseidel <192797+tmseidel@users.noreply.github.com>
…, verify env map size Agent-Logs-Url: https://github.com/tmseidel/restic-explorer/sessions/5f2cadf9-f87c-4d92-8d90-80c34d93a3f9 Co-authored-by: tmseidel <192797+tmseidel@users.noreply.github.com>
…webpages Add REST server backend connector
…tion Agent-Logs-Url: https://github.com/tmseidel/restic-explorer/sessions/3ff5adcc-e7f7-4eff-a3e5-b49e59e9132c Co-authored-by: tmseidel <192797+tmseidel@users.noreply.github.com>
…stemtest Agent-Logs-Url: https://github.com/tmseidel/restic-explorer/sessions/38202b1d-0978-497c-9056-ce9c2a0b0cc6 Co-authored-by: tmseidel <192797+tmseidel@users.noreply.github.com>
Add Rclone connector
…snapshots pages - Add StatusApiController REST endpoint (/api/status) returning JSON with per-repository scan/check statuses, snapshot counts, and active jobs - Add auto-refresh.js that polls the status API every 10 seconds and reloads the page when status changes are detected - Add active jobs dropdown indicator in the navbar showing running scans and integrity checks with a spinning icon - Include auto-refresh on both dashboard and snapshots pages (snapshots page uses data-repo-id for targeted refresh) - Update SecurityConfig to permit /api/** endpoints - Add 10 new tests for StatusApiController Agent-Logs-Url: https://github.com/tmseidel/restic-explorer/sessions/55b1644d-3628-4d67-a5de-da38c9d8d401 Co-authored-by: tmseidel <192797+tmseidel@users.noreply.github.com>
…logging in auto-refresh.js Agent-Logs-Url: https://github.com/tmseidel/restic-explorer/sessions/55b1644d-3628-4d67-a5de-da38c9d8d401 Co-authored-by: tmseidel <192797+tmseidel@users.noreply.github.com>
Add auto-refresh polling and active jobs indicator
feature/restructuring-documentation
Contributor
There was a problem hiding this comment.
Pull request overview
Release preparation for 1.0.0, adding new repository connector support (REST server + Rclone), a lightweight /api/status endpoint for UI polling, and updated documentation/system-test assets to match the new capabilities.
Changes:
- Add REST + Rclone repository types, configuration fields, and restic provider implementations (with tests).
- Introduce
/api/status+ frontend auto-refresh (including an “Active Jobs” navbar indicator). - Update docs, Docker image contents (add rclone), and release version metadata.
Reviewed changes
Copilot reviewed 38 out of 39 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| systemtest/sftp-test/docker-compose-sftp.yml | Adds docker-compose for local SFTP system testing |
| systemtest/rest-test/htpasswd | Adds htpasswd fixture for REST server system testing |
| systemtest/rest-test/docker-compose-rest.yml | Adds docker-compose for restic REST server system testing |
| systemtest/rclone-test/rclone.conf | Adds sample rclone config for system testing |
| systemtest/rclone-test/docker-compose-rclone.yml | Adds docker-compose for local SFTP backend used by rclone testing |
| src/test/java/org/remus/resticexplorer/scanning/StatusApiControllerTest.java | Tests for new /api/status endpoint behavior |
| src/test/java/org/remus/resticexplorer/restic/ResticRestProviderTest.java | Unit tests for REST provider env/url behavior |
| src/test/java/org/remus/resticexplorer/restic/ResticRcloneProviderTest.java | Unit tests for Rclone provider extra-arg behavior |
| src/main/resources/templates/scanning/snapshots.html | Loads auto-refresh JS on snapshot list page (scoped to repo) |
| src/main/resources/templates/scanning/dashboard.html | Loads auto-refresh JS on dashboard |
| src/main/resources/templates/repository/form.html | Adds REST + Rclone-specific config sections + URL hints |
| src/main/resources/templates/fragments/layout.html | Adds “Active Jobs” dropdown in navbar |
| src/main/resources/static/js/auto-refresh.js | Polls /api/status, reloads page on change, updates active jobs indicator |
| src/main/resources/static/css/style.css | Adds spinner animation for active jobs icon |
| src/main/resources/messages.properties | Adds i18n strings for REST/Rclone config + navbar active jobs |
| src/main/java/org/remus/resticexplorer/scanning/web/dto/StatusResponse.java | DTO for /api/status response |
| src/main/java/org/remus/resticexplorer/scanning/web/dto/RepositoryStatusDto.java | DTO for per-repository status in /api/status |
| src/main/java/org/remus/resticexplorer/scanning/web/dto/ActiveJobDto.java | DTO for active job entries in /api/status |
| src/main/java/org/remus/resticexplorer/scanning/web/StatusApiController.java | Implements /api/status aggregation endpoint |
| src/main/java/org/remus/resticexplorer/restic/ResticRestProvider.java | Adds REST backend provider (env-based basic auth) |
| src/main/java/org/remus/resticexplorer/restic/ResticRcloneProvider.java | Adds Rclone backend provider (restic -o rclone.*) |
| src/main/java/org/remus/resticexplorer/repository/web/RepositoryForm.java | Adds REST/Rclone form fields |
| src/main/java/org/remus/resticexplorer/repository/web/RepositoryController.java | Maps REST/Rclone fields to repository properties + sensitive handling |
| src/main/java/org/remus/resticexplorer/repository/data/RepositoryType.java | Adds REST + RCLONE types |
| src/main/java/org/remus/resticexplorer/repository/data/RepositoryPropertyKey.java | Adds REST/Rclone property keys; uses Lombok getters |
| src/main/java/org/remus/resticexplorer/config/SecurityConfig.java | Permits /api/** for status polling |
| pom.xml | Bumps Spring Boot parent + app version to 1.0.0 |
| docs/screenshot_dashboard.png | Updates dashboard screenshot asset |
| docs/dockerhub-overview-description.md | Adds Docker Hub description document |
| docs/USER_GUIDE.md | Adds REST/Rclone connector documentation |
| docs/SYSTEMTEST_REST.md | Adds REST server system test tutorial |
| docs/SYSTEMTEST_RCLONE.md | Adds Rclone system test tutorial |
| docs/CONFIGURATION.md | Adds/updates configuration + migration notes |
| docs/ARCHITECTURE.md | Updates architecture diagram/table for new providers |
| docker-compose.yml | Adjusts compose definition and mounts test key |
| README.md | Streamlines README; updates supported backends + doc links |
| Dockerfile | Installs rclone into runtime image |
| .github/copilot-instructions.md | Adds agent instruction file |
| .dockerignore | Excludes systemtest/ from Docker build context |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.