Commit Graph

390 Commits

Author SHA1 Message Date
Eli Bosley
6c042cbe01 fix: stepper fixes (#1240)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Refactor**
- Streamlined the activation steps display with improved conditional
rendering and enhanced interactive button styling.
- **New Features**
- Introduced a new welcome page featuring a dummy server switcher and
refreshed welcome modal.
- Expanded the activation interface with a new activation code section
for clearer navigation.
- **Chores**
  - Removed the welcome modal from the home page to simplify the layout.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Zack Spear <hi@zackspear.com>
2025-03-18 16:21:40 -04:00
Pujit Mehrotra
a4f69dc539 restart when developer sandbox is toggled (#1232)
When the sandbox is toggled via api, the api now restarts after a 3 second delay. The Connect settings UI also informs users, when applicable, that the api will restart before and after they apply their settings.

## Summary by CodeRabbit

- **New Features**
- Improved deployment commands now allow specifying a target server,
streamlining the deployment process.
- Enhanced settings synchronization provides clear feedback on when a
system restart is required after updates.
- Automatic service restart is now triggered after applying connection
settings changes.
- User interface enhancements include added contextual descriptions for
toggle controls.
- New functionality to refetch connection settings after updates,
providing users with the latest information.

- **Bug Fixes**
- Improved user feedback regarding API restart status after settings
updates.
2025-03-18 10:33:09 -04:00
Eli Bosley
dd9983c8b7 feat: swap to absolute paths for css (#1224)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Style**
- Updated CSS file paths across multiple components to reference assets
absolutely, ensuring consistent and reliable styling across the user
interface.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-03-17 16:28:49 -04:00
Pujit Mehrotra
9285eb745e make log viewer vertically resizable (#1231)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- The log viewer now starts at a fixed size and supports vertical
resizing, giving users more control over the viewing area.
- The single log display has been updated to remove height restrictions,
allowing for a more flexible and extended view of log content.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-03-17 14:48:39 -04:00
Eli Bosley
3f590c56e3 feat: add resolver for logging (#1222)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced a comprehensive Log Viewer accessible from the web
interface and Unraid management, allowing users to easily view, refresh,
and download log files.
- Enabled real-time log updates with auto-scroll functionality for
seamless monitoring.
- Enhanced log display with syntax highlighting and detailed file
metadata for improved readability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-03-17 11:44:10 -04:00
Pujit Mehrotra
acbf46df3f feat: connect settings web component (#1211)
Replaces the Connect Settings form at Settings > Management Access with a webcomponent containing a generated form.

CodeRabbit:

- **New Features**
- Enhanced connection settings with an updated UI, including a new
custom element `<unraid-connect-settings>`.
- Introduced several new form components (e.g., `NumberField`,
`StringArrayField`, `Select`, `Switch`, `PreconditionsLabel`,
`ControlLayout`, and `VerticalLayout`) for a more dynamic experience.
- Added a notification system with the `Toaster` component for user
feedback.
- New GraphQL operations for managing connection settings and API
updates.
- **Chores**
- Upgraded multiple backend and frontend dependencies and refined
configuration files.
- **Tests**
- Expanded test coverage for CSV conversion, form settings merging, and
the new `csvStringToArray` function.
- **Documentation**
- Added introductory documentation for form components and a readme for
the forms directory.
2025-03-17 10:26:07 -04:00
Eli Bosley
d467f13a5d chore: hide notification bell when connect is not installed 2025-03-05 14:14:35 -05:00
Eli Bosley
ae47866724 chore: pure ESM (#1202) 2025-02-25 14:14:14 -05:00
Eli Bosley
d59ca415af chore: cleanup packages (#1198)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Chores**
- Updated configuration versions and connection status settings for
improved consistency.
- Restructured build and tooling processes with refined script
organization, including new commands for type checking and cleanup.
- Updated dependency management to support enhanced styling and state
management.
- Removed legacy scripts related to environment handling and CSS
utilities.

- **Refactor**
- Streamlined module imports to align with an updated theme management
structure.

- **Bug Fixes**
- Enhanced error handling in various components to provide more
informative error messages during operations.
	- Improved error reporting in the update cancellation process.
	- Improved error reporting in date difference calculations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-02-25 13:09:02 -05:00
Eli Bosley
a0306269c6 feat: update theme application logic and color picker (#1181)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Upgraded the theme customization interface with a dropdown that lets
you choose from multiple themes (Light, Dark, Azure, Gray). Users can
now adjust options like text colors, background color, gradients, and
banner display more intuitively.
- Introduced a structured approach to theme variables, enhancing
compatibility and customization options.

- **Style**
- Enhanced the header’s visual presentation by introducing dynamic
background imagery and refined layout adjustments for a more polished
look.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-02-24 11:31:46 -05:00
Michael Datelle
08423b8dae fix: small modal window (#1183)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Style**
- Adjusted the modal’s width during transitions for a consistent
full-width display.
- Refined responsive behavior for improved modal display on smaller
screens.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: mdatelle <mike@datelle.net>
2025-02-21 14:12:48 -05:00
Pujit Mehrotra
7588e0e3cf feat(web): improve notification count syncing (#1148)
## Summary by CodeRabbit

- **New Features**
- Added a refresh button in the notifications sidebar, allowing users to
update notification counts on demand.
- Introduced real-time updates for notification counts through a new
subscription.
- Enhanced GraphQL functionality to support recalculating notification
counts for archived and unread notifications.
  - Added a new mutation for recalculating the notifications overview.
- Implemented a new subscription to receive updates on notification
counts.
- Minor formatting update to the notifications title for improved
readability.
2025-02-19 14:25:04 -05:00
Eli Bosley
ad6b6589db feat: convert to pnpm monorepo (#1137)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced enhanced project management scripts for building, testing,
and deploying the monorepo.
- Added an automated testing pipeline for improved reliability of the
Libvirt functionality.
- Provided a new plugin installation script that ensures thorough
cleanup during removal.

- **Improvements**
- Updated container mappings and dependency configurations for more
stable and efficient operations.
- Refined web application settings and build commands for smoother
performance.
- Streamlined continuous integration workflows with optimized caching
and dependency management.
  - Updated allowed origins in configuration for enhanced security.

- **Chores/Refactor**
- Removed outdated configuration files to simplify maintenance and
enhance consistency.
- Enhanced event listener management in the web application for better
error handling.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-02-19 13:41:23 -05:00
Pujit Mehrotra
19208e5fab fix(web): broken modals 2025-02-19 12:04:03 -05:00
Pujit Mehrotra
0b8df2a43e chore(web): add pinia store and select dropdown for dummy server state (#1143)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced an interactive server selector that lets users toggle
between different server modes (e.g., Default and OEM Activation) via a
dropdown.
- Integrated reactive state management across key pages, ensuring
dynamic UI updates.
  - Added new popover components for enhanced UI interactions.
- Introduced a settings interface for developers, allowing access to
server selection within a popover.

- **Bug Fixes**
- Restored functionality for the downgrade feature that was previously
removed.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---
- To see the specific tasks where the Asana app for GitHub is being
used, see below:
  - https://app.asana.com/0/0/1209127325997642
2025-02-19 08:53:54 -05:00
Michael Datelle
741e8532ab refactor: unraid-ui-web-migration (#1106)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced enhanced stepper components for smoother multi-step
interactions.
- Added new loading indicators and improved the loading experience with
customizable variants.
  
- **UI Improvements**
- Refreshed the global color palette and updated styling across buttons,
badges, and loading indicators for a more modern, consistent experience.
- Improved the organization and readability of templates and styles
across various components.

- **Code & Dependency Updates**
- Updated key dependencies and revised the theme and configuration
settings to improve performance and maintainability.
- Introduced new environment variables for better configuration
management.

- **Legacy Cleanup**
- Removed deprecated components and streamlined registrations to
simplify the codebase without affecting end-user functionality.
- Eliminated unused utility functions and legacy code to enhance overall
code quality.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: mdatelle <mike@datelle.net>
Co-authored-by: Eli Bosley <ekbosley@gmail.com>
2025-02-12 18:00:06 -05:00
Michael Datelle
26639d5139 refactor: update config and scripts to ensure production mode (#1122)
<!-- 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>
2025-02-06 13:39:52 -05:00
Pujit Mehrotra
321703e907 fix(web): track 'notification seen' state across tabs & page loads (#1121)
**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.
2025-02-06 12:00:53 -05:00
Pujit Mehrotra
8251c6f2d3 fix: only toast unread notifications, not archived ones 2025-02-04 11:30:57 -05:00
Pujit Mehrotra
61ee689658 feat(ui): webgui-compatible web component library (#1075)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Eli Bosley <ekbosley@gmail.com>

- **CI/CD**
	- Updated GitHub Actions workflow to build Unraid UI Web Components.
	- Adjusted artifact naming and download configurations.

- **Web Components**
	- Added new web components and registration mechanism.
	- Implemented toast notifications.
	- Enhanced UI component library.

- **Notifications**
	- Added real-time notification subscription.
	- Created notification settings page.
	- Implemented notification toast system.

- **API Improvements**
	- Refactored GraphQL schema loading.
	- Updated authentication and cookie handling.
	- Improved error logging and server initialization.

- **Development Tools**
	- Updated ESLint configuration.
	- Enhanced import path management.
	- Added new development dependencies.
2025-01-31 10:47:03 -05:00
Eli Bosley
e88593620b feat: automatic session setup for dev 2025-01-30 14:37:33 -05:00
Zack Spear
1ecac5ee4e fix(web): theme header differences (#1085)
* feat(theme): add default header colors for theme differences

* refactor(theme): update UserProfile component colors to use theme variables

* fix(theme): safely handle default header colors for themes
2025-01-30 11:14:30 -08:00
Zack Spear
d8a5b1711a feat(web): activation modal steps, updated copy (#1079)
* feat(stepper): add shadcn stepper components

* chore(serverState): remove partnerLogo property from server state configuration

* refactor(web): modal add subfooter slot

- adds ability to display content below the modal's content box

* feat(modal): add ActivationSteps component to subFooter slot in WelcomeModal and ActivationModal

* refactor: improve activation modal buttons responsiveness

* refactor: update activation flow messaging and UI

* feat: web/deploy-dev.sh add dynamic web component JS file whitelisting in auth-request.php

* fix: remove test UTM parameters from Unraid docs links in activation modal

* refactor: improve konami code handling and add type safety to activation steps

* chore: remove extra semicolon in serverState.ts

* Apply suggestions from code review

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-01-29 11:08:23 -08:00
Eli Bosley
961bcc5db6 fix: remove line from or in button 2025-01-28 16:19:04 -05:00
Eli Bosley
a8211cef7d feat: style improvements 2025-01-28 09:12:54 -05:00
Eli Bosley
3a8c9b13ee feat: allow csrf passing through querystring 2025-01-27 13:34:32 -05:00
Eli Bosley
daf904bc1b feat: remove sso if disabled on Unraid-API start 2025-01-27 13:34:32 -05:00
Eli Bosley
3734730bf7 feat: state using crypto 2025-01-27 13:34:32 -05:00
Eli Bosley
c1fe95fcb6 feat: warning on missing fields 2025-01-27 13:34:32 -05:00
Eli Bosley
ca94cc8602 Update web/components/SsoButton.ce.vue
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-01-27 13:34:32 -05:00
Eli Bosley
a1cf44162a feat: error state outside of button 2025-01-27 13:34:32 -05:00
Eli Bosley
1e6fb7e3e3 fix: thorw on invalid token body 2025-01-27 13:34:32 -05:00
Eli Bosley
895d5857f9 feat: remove apiKey from server 2025-01-27 13:34:32 -05:00
Eli Bosley
29a8689ad8 fix: lowercase or 2025-01-27 13:34:32 -05:00
Eli Bosley
0da77d7119 feat: disable button on submit 2025-01-27 13:34:32 -05:00
Eli Bosley
09f741557b feat: sso testing page and form disable on submit 2025-01-27 13:34:32 -05:00
Eli Bosley
ae753d6bea fix: padding and glob function issues 2025-01-27 13:34:32 -05:00
Eli Bosley
56cfa84794 fix: oauth2 api prefix 2025-01-27 13:34:32 -05:00
Eli Bosley
11ff890bcc feat: or button on sign in page 2025-01-27 13:34:32 -05:00
Eli Bosley
3abf20b347 feat: sso button token exchange 2025-01-27 13:34:32 -05:00
Eli Bosley
6f5edb2406 feat: move ssoenabled to a boolean flag rather than ids 2025-01-27 13:34:32 -05:00
Eli Bosley
428ad15ec7 feat: back to callbackUrl 2025-01-27 13:34:32 -05:00
Eli Bosley
bd584902e0 feat: use state passing to validate requests 2025-01-27 13:34:32 -05:00
Eli Bosley
aae38e3404 fix: dev mode 2025-01-27 13:34:32 -05:00
Eli Bosley
b3551a1b69 fix: further resolve sso sub ids issues 2025-01-27 13:34:32 -05:00
Eli Bosley
92799312c9 fix: pass token to password field 2025-01-27 13:34:32 -05:00
Eli Bosley
b969f3a9ab feat: dont pass entire server state for privacy 2025-01-27 13:34:32 -05:00
Eli Bosley
2b25537e26 feat: unraid single sign on with account app 2025-01-27 13:34:32 -05:00
Michael Datelle
6669a963af refactor: unraid ui cleanup and migration (#998)
Co-authored-by: Eli Bosley <ekbosley@gmail.com>
Co-authored-by: Pujit Mehrotra <pujit@lime-technology.com>
Co-authored-by: mdatelle <mike@datelle.net>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Zack Spear <zackspear@users.noreply.github.com>
2025-01-15 11:15:52 -05:00
Eli Bosley
8d386043ae chore: comment to detail archived count 2025-01-14 18:14:42 -05:00