Skip to content

Feat/phase 3 discover vm#75

Merged
jabibamman merged 160 commits intomasterfrom
feat/phase-3-discover-vm
Jul 20, 2025
Merged

Feat/phase 3 discover vm#75
jabibamman merged 160 commits intomasterfrom
feat/phase-3-discover-vm

Conversation

@jabibamman
Copy link
Contributor

@jabibamman jabibamman commented Jul 20, 2025

Summary by CodeRabbit

New Features

  • Introduced a comprehensive migration management interface, including migration control, destination configuration, and event status tracking.
  • Added advanced server management features: power state control, enhanced metrics, and credential display.
  • Implemented granular room and UPS management with bulk actions, import/export, and template application in setup workflows.
  • Added new setup steps: planning, relationships, and review, with visual progress and resource validation.

Enhancements

  • Improved server and VM forms with stricter validation, connectivity tests, and conditional field rendering.
  • Refined dashboard and group management by removing deprecated features and simplifying views.
  • Enhanced role-based access control for sensitive actions (deletion, editing, creation).

Bug Fixes

  • Corrected translation function usage for consistency across components.
  • Fixed data fetching and error handling in server, room, and UPS components.

Removals

  • Removed unused or deprecated features: advanced group shutdown, resource usage widgets, profile activity, and certain dashboard templates.
  • Eliminated legacy or redundant documentation and test files.

Chores

  • Updated dependencies and configuration files for improved build and runtime support.
  • Incremented package version to 1.0.0 and updated contributor metadata.

- Add syncVMs API function to synchronize VMs from VMware servers
- Add refresh VM buttons in migration views with loading states
- Add i18n translations for sync operations
- Integrate with priority store refresh after sync
@jabibamman jabibamman self-assigned this Jul 20, 2025
@jabibamman jabibamman added the enhancement New feature or request label Jul 20, 2025
@coderabbitai
Copy link

coderabbitai bot commented Jul 20, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

This update introduces major functional and architectural changes across the application. It adds a comprehensive migration feature (with API, store, components, and types), overhauls the setup workflow with new modular steps and resource management dialogs, and implements granular server and room deletion with role-based access. The dashboard, groups, and profile features are simplified by removing certain advanced and legacy functionalities. Validation, permissions, and UI consistency are improved throughout, with extensive refactoring to support VMware-centric workflows and enhanced real-time feedback.

Changes

Files / Areas Change Summary
Migration (src/features/migration/*) New migration feature: Added API module, Pinia store, types, and Vue components for migration control, destinations, status, and view. Enables VMware migration workflows with real-time status via WebSockets, destination configuration, and event history.
Setup Workflow (src/features/setup/components/steps/, dialogs/, ResourceList.vue, api.ts, ... ) Setup refactor: Modularized setup into new steps (planning, relationships, review, config), added resource list and form dialogs, import/export, template application, and real-time validation. Removed legacy CreateUpsStep. Enhanced restart, navigation, and validation logic.
Dashboard (src/features/dashboard/*) Simplification: Removed resource usage widget and templates, updated widget/component types, and refactored logic to use a custom UUID generator. Adjusted UPS widget for new status and metrics.
Groups (src/features/groups/*) Feature reduction: Removed shutdown preview, start/stop actions, and flow view. Refactored resource selection to use a new composable; unified translation usage. Updated group, card, and panel components for admin-only actions and simplified UI.
Servers (src/features/servers/*) VMware-centric refactor: Changed server types to 'vcenter'/'esxi', added power state management, improved validation, added connectivity tests, and enabled server deletion with permissions. Enhanced server/VM cards and details with metrics, power controls, and credentials display.
Rooms (src/features/rooms/*) Room deletion & tree: Added room deletion with confirmation and admin check, implemented new room tree types and API. Simplified room creation form. Updated room card and list for deletion and improved display.
Admin Settings, Profile, Settings (src/features/admin, profile, settings/*) Cleanup: Removed system settings spec, profile activity, preferences, and advanced settings. Simplified settings and profile views; removed notifications, integrations, and advanced filters.
Auth, Command Palette, Changelog, History (src/features/auth, CommandPalette, changelog, history/*) Enhancements: Improved error handling and permission checks, updated command palette for new permissions, standardized translation usage, and removed advanced filters in history.
Tests, Utilities, Config, .gitignore, ecosystem.config.cjs, package.json, serve-prod.cjs Infrastructure: Added tests for real-time validation, updated ignore rules, changed process manager script, updated dependencies and metadata, added new server script for static file serving.
Documentation, Legacy, Deleted Features (docs/*, admin-settings-specs.md, dashboard-api-documentation.md, ... ) Removed: Deleted legacy documentation, dashboard API docs, UPS navigation flow, room details, group shutdown, and profile activity components.

Sequence Diagram(s)

sequenceDiagram
  participant User
  participant MigrationView
  participant MigrationStore
  participant MigrationAPI
  participant MigrationWebSocket

  User->>MigrationView: Interacts with migration UI (start, restart, configure)
  MigrationView->>MigrationStore: Calls migration actions (startMigration, configureDestinations, etc.)
  MigrationStore->>MigrationAPI: Performs REST API calls for migration actions
  MigrationStore->>MigrationWebSocket: Connects to WebSocket for real-time updates
  MigrationWebSocket-->>MigrationStore: Sends migration status/events
  MigrationStore-->>MigrationView: Updates reactive state and events
  MigrationView-->>User: Displays migration progress, events, and controls
Loading
sequenceDiagram
  participant User
  participant SetupView
  participant ResourceList
  participant Dialogs (Form/Import/Template)
  participant SetupStore
  participant SetupAPI

  User->>SetupView: Navigates setup steps (rooms, servers, UPS, planning, review)
  SetupView->>ResourceList: Shows resource lists with add/edit/delete/import/export
  User->>ResourceList: Triggers add/edit/import/export actions
  ResourceList->>Dialogs: Opens form/import/template dialogs as needed
  Dialogs->>SetupStore: Adds/updates resources or applies templates
  SetupStore->>SetupAPI: Validates or persists resources
  SetupStore-->>SetupView: Updates step progress and validation state
  SetupView-->>User: Shows updated setup progress and next steps
Loading

Possibly related PRs

  • feat: Room UX #65: Adds the UPS navigation flow documentation that is deleted in this PR, directly connecting the two through the same file.
  • Feat/group #68: Implements and modifies group-related APIs, components, and stores, which are refactored and simplified in this PR.
  • feat: admin setting preference #73: Introduces the admin system settings feature, which is now removed and cleaned up in this update.

Poem

🐇
A migration arrives, bold and new,
Setup steps now guide you through.
Servers and rooms can say goodbye—
With admin paws, just click and sigh.
VMware’s world is front and center,
Old features hop out, new ones enter.
Here’s to change, with every deploy—
The codebase leaps, and rabbits enjoy!

✨ Finishing Touches
  • 📝 Generate Docstrings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@jabibamman jabibamman merged commit c5990f8 into master Jul 20, 2025
0 of 2 checks passed
@jabibamman jabibamman deleted the feat/phase-3-discover-vm branch July 20, 2025 10:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants