<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Documentation**
- Improved the API documentation update process to enhance clarity and
maintain consistent content.
- Introduced a comprehensive guide outlining the API's repository
organization and system architecture.
- Streamlined the documentation by removing outdated developer guides on
API introspection and feature implementation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Documentation**
- Expanded the Unraid API guides with comprehensive CLI command details
for managing services, logs, configuration, and authentication.
- Updated the API usage instructions to include steps for enabling a
GraphQL sandbox, example queries, error handling, and best practices.
- Added an implementation overview detailing component capabilities and
a release roadmap outlining upcoming improvements across core
infrastructure, security, and user interface.
- **Chores**
- Introduced automation that streamlines the updating of API
documentation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
• New Features
- Enhanced the login experience with improved session management and
two-factor authentication.
- Introduced a comprehensive README for the Unraid Plugin Builder,
detailing development workflows and commands.
• Chores
- Streamlined build, packaging, and deployment processes with updated
dependency and environment configurations.
- Updated Docker configurations to support pnpm as the package manager.
- Added new environment variables for better configuration management.
- Introduced new scripts for improved build and packaging processes.
• Tests
- Removed outdated test cases and simplified test setups.
• Refactor
- Modernized internal code structure and asynchronous handling for
improved overall performance.
- Transitioned imports from lodash to lodash-es for better module
handling.
- Updated environment variable management and configuration settings.
- Enhanced the build script for improved deployment processes.
- Updated the notification handling structure to improve efficiency.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
PHP 8.4.4 (Unraid 7.1.0): Implicitly marking parameter $subkey as
nullable is deprecated
Related: https://github.com/unraid/webgui/pull/2009
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Refactor**
- Improved internal handling of optional details, enhancing system
robustness and flexibility when certain inputs are omitted. This update
contributes to smoother, more reliable operations without affecting
visible functionality.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Refactor**
- Updated the user profile’s loading indicator for a smoother visual
experience during system restart.
- **Chores**
- Improved environment-specific configurations and asset management,
streamlining production builds and deployment.
- Enhanced the development tools behavior based on the environment.
- Updated scripts for building and serving the application to align with
production settings.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: mdatelle <mike@datelle.net>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Documentation**
- Enhanced CLI help text by adding and refining command descriptions:
• Logs command now clearly displays “View logs.”
• Restart command now focuses solely on restarting the API.
• Start command now shows “Start the Unraid API.”
• Stop command now explicitly states its stopping action.
• Environment switch command now indicates its role in switching the API
environment.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Chores**
- Refined our deployment process to ensure staging updates now reflect
the fully merged changes.
- Made minor formatting tweaks for improved clarity.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced automated build and release processes with containerized
builds, improved caching, and refined artifact handling.
- Introduced new configuration options to strengthen versioning,
integrity checks, and pull request tracking.
- Added a new Dockerfile for building the Node.js application.
- Added new environment variables for API versioning and validation
control.
- Implemented comprehensive management of PM2 processes and state.
- Introduced a new GitHub Actions workflow for automating staging plugin
deployment upon pull request closure.
- Updated logic for handling plugin installation and error feedback.
- Added new asynchronous methods for managing PM2 processes.
- Updated logging configurations for better control over log outputs.
- Added Prettier configuration for consistent code formatting.
- Introduced a configuration to prevent the application from watching
for file changes.
- **Bug Fixes**
- Improved error handling and user feedback during the installation of
staging versions.
- **Documentation**
- Removed outdated introductory documentation to streamline project
information.
- **Chores**
- Updated deployment routines and validation steps to improve release
consistency and error handling.
- Simplified packaging and build scripts for smoother staging and
production workflows.
- Excluded sensitive files from the Docker build context.
- Updated the `.gitignore` file to prevent unnecessary files from being
tracked.
- Adjusted the test timeout configuration for improved test reliability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
**New Features**
- Enhanced notifications tracking that updates seen status in real time.
- Improved notification indicators provide a more consistent and responsive experience.
- Persistent state management ensures your viewed notifications remain accurately reflected across sessions.
- New composable functions introduced for better management of notification visibility and interaction.
- Streamlined notification handling by simplifying state management processes.
* change default execa opts in pm2 service (disable `extendEnv` and add default bash shell)
* change default log level of `pm2.run` to `trace`
* add tsdoc for `pm2.run`