Commit Graph

47 Commits

Author SHA1 Message Date
Eli Bosley fcd6fbcdd4 feat: move to iframe for changelog (#1388)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Changelog modal now displays changelog documentation within an
embedded iframe if a URL is available, allowing navigation within the
iframe and providing a "Back to Changelog" button to return to the
original view.
- "View on Docs" button dynamically updates to reflect the current page
within the iframe.
- Added support for displaying a formatted changelog string and testing
modal behavior with or without this content.
- Introduced a new component to fetch, parse, and render changelogs from
URLs with enhanced markdown handling.
- Update OS store extended to manage changelog display and release
stability, consolidating changelog state and actions.

- **Bug Fixes**
  - Close button in modal dialogs is now visible on all screen sizes.

- **Chores**
- Updated the default server state, which may affect registration device
counts and types.
- Added new localization string for changelog titles with version
placeholders.
- Removed deprecated changelog store and related tests, simplifying
state management.
- Refined backup and restoration scripts for unraid-components directory
to use move operations with improved logging.
- Improved modal visibility state handling by consolidating changelog
modal controls into the main update OS store.
- Added URL origin and pattern checks for changelog iframe navigation
security.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-05-19 15:34:44 -04:00
Michael Datelle d74d9f1246 test: create tests for stores batch 2 (#1351)
This is batch 2 of the web store tests. I started implementing the
recommended approach in the Pinia docs for the store tests and was able
to eliminate most of the mocking files. The server.test.ts file still
uses `pinia/testing` for now since I was having trouble with some of the
dependencies in the store due to it's complexity.

I also updated the `web-testing-rules`for Cursor in an effort to
streamline the AI's approach when helping with tests. There's some
things it still struggles with and seems like it doesn't always take the
rules into consideration until after it hits a snag. It likes to try and
create a mock for the store it's actually testing even though there's a
rule in place and has to be reminded.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Summary by CodeRabbit

- **Tests**
- Added comprehensive test suites for account management and activation
flows to ensure smoother user interactions.
- Introduced new test coverage for callback actions, validating state
management and action handling.
- Added a new test file for the account store, covering various actions
and their interactions.
- Introduced a new test file for the activation code store, verifying
state management and modal visibility.
- Established a new test file for dropdown functionality, ensuring
accurate state management and action methods.
- Added a new test suite for the Errors store, covering error handling
and modal interactions.
- Enhanced test guidelines for Vue components and Pinia stores,
providing clearer documentation and best practices.
- Introduced a new test file for the InstallKey store, validating key
installation processes and error handling.
- Added a new test file for the dropdown store, ensuring accurate
visibility state management and action methods.

- **Refactor**
- Streamlined the structure of account action payloads for consistent
behavior.
- Improved code formatting and reactivity setups to enhance overall
operational stability.
- Enhanced reactivity capabilities in various stores by introducing new
Vue composition API functions.
- Improved code readability and organization in the installKey store and
other related files.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: mdatelle <mike@datelle.net>
2025-04-14 12:30:27 -04: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 c6547a51fc feat: lots of progress on colors 2024-12-17 11:48:45 -05:00
Zack Spear 7759fe1dc3 chore(web): update deps + eslint (#887)
* chore: update deps + eslint

* fix: lint + type errors
2024-05-16 09:26:39 -04:00
Zack Spear f0ded9f5be fix: update os cancel refresh on update page 2024-05-13 10:52:30 -07:00
Zack Spear f3dc9663b8 feat: UI Update OS Cancel 2024-05-13 10:52:30 -07:00
Zack Spear 7f010854b5 refactor: availableWithRenewal determined by updateOsResponse isEligible
refactor: updateOsResponse changelogPretty key renamed
2024-01-31 14:52:04 -08:00
Zack Spear 62697f7972 feat: updateOs check response determines if update auth is required 2024-01-31 11:02:37 -08:00
Zack Spear 3e051815c5 feat: update os ignore release 2024-01-31 11:02:37 -08:00
Zack Spear 4acc4ea9a9 fix: ignore release localStorage 2024-01-31 11:02:37 -08:00
Zack Spear daba2a352f feat: updateOs store call local server-side endpoint & add modal support 2024-01-31 11:02:37 -08:00
Zack Spear 16f0ac5771 refactor: simplified updateOs store to use updateOsResponse from server store 2023-12-19 16:25:26 -08:00
Zack Spear 46a0567881 fix: lint unused param var prefixed 2023-11-21 10:59:48 -08:00
Zack Spear 1ef2522089 refactor: updateOs lint 2023-11-20 19:24:14 -08:00
Zack Spear f9652d7c06 refactor: updateOs store to match auth repo 2023-11-20 18:15:35 -08:00
Zack Spear c91fef9c5f refactor(web): updateOs store release response group filtering 2023-11-07 15:40:36 -08:00
Zack Spear 2bd460effb fix(web): preview and test releases usage 2023-11-06 14:48:38 -08:00
Zack Spear 84c96371f5 chore: lint and type check fixes 2023-11-06 13:53:29 -08:00
Zack Spear 799b77f09b refactor: downgrade and update improvements with store refactors 2023-11-06 13:20:06 -08:00
Zack Spear 7b3bd08c15 fix(web): updateOs lint 2023-11-03 08:40:21 -07:00
Zack Spear 00375a4590 fix: updateOs auth group usage 2023-11-03 08:40:21 -07:00
Zack Spear 6619138b54 refactor(web): updateOs store release error handling 2023-11-03 08:40:21 -07:00
Zack Spear be1f419d92 refactor(web): updateOs release groups 2023-11-03 08:40:21 -07:00
Zack Spear ef962f5f5d fix(web): lint fixes 2023-11-01 13:36:17 -07:00
Zack Spear 5cbccb06ad fix(web): type errors 2023-11-01 13:36:17 -07:00
Zack Spear 220a64ebdc chore(web): type fixes 2023-11-01 13:36:17 -07:00
Zack Spear 8bdffdc7b0 fix: updateOs type check 2023-11-01 13:36:17 -07:00
Zack Spear 2104eebe02 chore: lint manual fixes 2023-11-01 13:36:17 -07:00
Zack Spear caab570be6 chore: lint auto fixes 2023-11-01 13:36:17 -07:00
Zack Spear ed4aa3d62c refactor(web): improved updateOs store extensibility 2023-11-01 13:36:17 -07:00
Zack Spear 2aa491e6f2 refactor(web): use osVersionBranch to determine releases endpoint 2023-11-01 13:36:17 -07:00
Zack Spear 207ae12522 refactor: updateOs shared store better branch handling 2023-11-01 13:36:17 -07:00
Zack Spear 22ebb06980 refactor(web): update os use sha256 key server lookup + callback handle multiple actions with update os 2023-11-01 13:36:17 -07:00
Zack Spear 9334322f11 refactor: updateOs 2023-11-01 13:36:17 -07:00
Zack Spear 3a5f976ff6 refactor: updateOs store parity with web components 2023-11-01 13:36:17 -07:00
Zack Spear ad416413fe refactor(web): ineligible available update ui/ux 2023-11-01 13:36:17 -07:00
Zack Spear ed0b41a425 feat(web): guidValidation if new keyfile auto install 2023-11-01 13:36:17 -07:00
Zack Spear 00c07290ad feat(web): refactor generic updateOS with date comparison 2023-11-01 13:36:17 -07:00
Zack Spear d8faef0146 refactor: WIP on downgrade and UI / UX 2023-11-01 13:36:17 -07:00
Zack Spear 57efcef072 feat: WIP first pass at UpdateOs page replacement component 2023-11-01 13:36:17 -07:00
Zack Spear 5c58a86d86 feat: WIP UpdateOs page component 2023-11-01 13:36:17 -07:00
Zack Spear aa50d88575 refactor: generic updateOs store 2023-11-01 13:36:17 -07:00
Zack Spear 971e879744 refactor: genericized updateOs store to be shared with other repos 2023-11-01 13:36:17 -07:00
Zack Spear dc2191f228 refactor: WIP updateOs store – response caching and update version checking 2023-11-01 13:36:17 -07:00
Zack Spear 6fb916eccd feat(web): WIP updateOs callback 2023-11-01 13:36:17 -07:00
Zack Spear 8b5ba1aa97 wip: update os via upc 2023-11-01 13:36:17 -07:00