-
-
Notifications
You must be signed in to change notification settings - Fork 83
More GUI improvements #283
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR enhances the Apprise API GUI with improved user experience features and API consistency. It adds the ability to copy the Config ID to clipboard, allows retrieving configuration via POST to /cfg/<key> (in addition to /get/<key>), and displays both the Apprise API and Apprise Library versions in the header to reduce confusion between the two packages.
Key changes:
- Added Config ID copy-to-clipboard button functionality in the GUI
- Extended
/cfg/<key>endpoint to accept POST requests for configuration retrieval (mirrors/get/<key>) - Updated header to display both Apprise API version and Apprise Library version
- Extensive CSS formatting improvements for consistency across theme files
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| apprise_api/static/css/theme-light.min.css | CSS formatting improvements: consistent spacing, proper indentation |
| apprise_api/static/css/theme-dark.min.css | CSS formatting improvements: consistent spacing, proper indentation |
| apprise_api/static/css/base.css | CSS formatting improvements and new styles for Config ID copy button |
| apprise_api/core/middleware/theme.py | Import reordering for better organization |
| apprise_api/api/views.py | Refactored config retrieval logic into shared _get_config_response helper, added POST handler to ConfigView |
| apprise_api/api/tests/test_manager.py | Added comprehensive tests for new POST /cfg/<key> endpoint |
| apprise_api/api/templates/config.html | Added Config ID copy button and updated copyToClipboard function signature |
| apprise_api/api/templates/base.html | Updated header to display both API and Library versions |
| apprise_api/api/context_processors.py | Updated to return both APPRISE_API_VERSION and APPRISE_LIB_VERSION |
| apprise_api/init.py | New file defining Apprise API package version |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 33 out of 45 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [caronc/apprise](https://github.com/caronc/apprise-api) | minor | `1.2.6` -> `1.3.0` | --- ### Release Notes <details> <summary>caronc/apprise-api (caronc/apprise)</summary> ### [`v1.3.0`](https://github.com/caronc/apprise-api/releases/tag/v1.3.0): Apprise API Release v1.3.0 [Compare Source](caronc/apprise-api@v1.2.6...v1.3.0) ##### Overview This is a signifigant release that refactors almost the entire website giving it a much more polished/improved look. - Improved instructional text and layout in the configuration template. - Minor template clean-up and formatting alignment for the help content. - Updated the configuration list view to support API based calls so it can return JSON when requested, instead of always rendering the template. - This enables programmatic consumption of configuration IDs/keys. - The API version is now exposed in headers in addition to the Apprise library version, reducing confusion about the relationship between the two packages. - `/cfg/<key>` now accepts `POST` in addition to the previous retrieval approach acting exactly how `/get/<key>` POST works. `/get/` would return the users configuration when it was posted to. It makes sense to use `/cfg/<key>` as well for users who copy/paste URL's from their Apprise API instance directly (from the browser URL). Basically `/cfg/<key>` is now an alias of `/get/<key>` - `/get/<key>` remains supported for backwards compatibility. No plans on removing this either. - Expanded `swagger.yaml` substantially to better document the service. - Added a dedicated `docker-compose.swagger.yml` to launch Swagger UI pointing at the repository `swagger.yaml` without altering Apprise-API runtime. ```bash docker compose -f docker-compose.swagger.yml up -d # Browse: # http://localhost:8001 ``` - improvements to README.md - heath checks are now live when viewing the website - heavy changes to workflow: - development environment is now just `tox -e runserver` - improvements to linting and formatting ##### 💡 Features - Support HTTP\_PORT as Docker environment variable by [@​caronc](https://github.com/caronc) in [#​280](caronc/apprise-api#280) - Massive Application Refactor by [@​caronc](https://github.com/caronc) in [#​283](caronc/apprise-api#283) ##### ❤️ Life Cycle - Bump actions/checkout from 5 to 6 in the actions group by [@​dependabot](https://github.com/dependabot)\[bot] in [#​281](caronc/apprise-api#281) **Full Changelog**: <caronc/apprise-api@v1.2.6...v.1.3.0> </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zOS4xIiwidXBkYXRlZEluVmVyIjoiNDIuMzkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=--> Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/2511 Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net> Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
Description:
Related issue (if applicable): refs n/a
This pull request focuses on developer and operator usability improvements in
Apprise-API, with a particular emphasis on:
instead of always rendering the template.
version, reducing confusion about the relationship between the two packages.
/cfg/<key>now acceptsPOSTin addition to the previous retrieval approach acting exactly how/get/<key>POST works./get/would return the users configuration when it was posted to. It makes sense to use/cfg/<key>as well for users who copy/paste URL's from their Apprise API instance directly (from the browser URL). Basically/cfg/<key>is now an alias of/get/<key>/get/<key>remains supported for backwards compatibility. No plans on removing this either.swagger.yamlsubstantially to better document the service.Added a dedicated
docker-compose.swagger.ymlto launch Swagger UI pointingat the repository
swagger.yamlwithout altering Apprise-API runtime.tox -e runserverIn short, this is a huge refactor of the existing setup 🔥 🚀
Checklist
ruff)