Skip to content
This repository was archived by the owner on Aug 15, 2025. It is now read-only.

Conversation

@Myestery
Copy link
Contributor

@Myestery Myestery commented Jun 9, 2025

This PR is made to /fix #181 and close #181 and /claim #181

Architecture Changes

The application has undergone a fundamental architectural shift:

  • API Decoupling: The desktop app no longer makes direct API calls to Golem services
  • CLI Integration: The application now requires a local installation of golem-cli or the golem executable
  • Configuration Management: All operations now read from and write to golem.yaml files for both applications and components
  • Component Function Encoding: The application supports encoding component function calls to WAVE format directly from the UI
  • Universal Component Invocation: UI-based invocation is now available for any Golem component (simple or complex) that isn't an HTTP handler
  • Complete CLI Mapping: The application provides comprehensive UI mapping for nearly all Golem CLI commands

User Interface Enhancements

Navigation and Structure

  • New Homepage: The root route (/) now displays applications instead of components, reflecting the v1.25 architecture requirements
  • Hierarchical Organization: Components are now properly organized within applications according to v1.25 specifications
  • Application Management: New dedicated page for creating and managing applications
  • Enhanced 404 Handling: Custom 404 page implementation (though rarely seen due to comprehensive routing)

Functionality Improvements

  • Application Actions: Build, deploy, and other application-level operations are now accessible through the UI
  • Component Actions: Build, deploy, and other component-level operations are now available in the interface
  • In-App Editing: Direct editing capabilities for both component and application golem.yaml files
  • Plugin Management: New interface for creating and managing plugins

User Experience Enhancements

  • Improved Error Handling:
    • Original bottom-page error toast variant maintained
    • New popup variant for displaying larger log outputs
    • Theme-aware error notifications that respect user preferences
  • Theme Integration:
    • Monaco Editor now properly respects system theme settings, resolving dark theme application issues
    • Consistent theming across all UI components
  • Input Improvements: Resolved auto-capitalization issues on macOS input fields
  • Enhanced Error Boundaries: Improved error boundary coverage integrated with the new logs viewer
  • Settings Management: New settings page for managing Golem CLI profiles and setting CLI executable paths

Technical Improvements

Build System Fixes

Code Quality and Standards

  • Linting Implementation:
    • Added ESLint v9 with comprehensive lint rules
    • Integrated linting into the development workflow
  • CI/CD Enhancement:
    • Updated .github/workflows/desktop-ci.yaml to include frontend testing (npm test) and linting (npm run lint) steps
  • Development Scripts:
    • Added new package.json scripts: test, lint, format, and format:check for streamlined development workflows
  • Type Safety:
    • Implemented strict TypeScript type checking throughout the application
    • Banned the use of any type to ensure type safety and code reliability

@algora-pbc algora-pbc bot mentioned this pull request Jun 9, 2025
@Myestery Myestery changed the title Golem-yaml Refactor Desktop App to use Golem CLI and Golem Yaml Jun 9, 2025
Myestery and others added 19 commits July 19, 2025 09:57
…n, and Worker Services

- Added APIService for managing HTTP APIs, including methods for listing, creating, updating, and deleting APIs.
- Introduced AppService for application management, including health checks and worker updates.
- Created CLIService to handle CLI command execution with error handling and logging.
- Developed ComponentService for managing components, including listing, creating, and retrieving component details.
- Implemented DeploymentService for managing deployments, including creating and deleting deployments.
- Added ManifestService for handling application and component manifests, including reading and writing YAML files.
- Introduced PluginService for managing plugins, including listing, creating, and deleting plugins.
- Created WorkerService for managing workers, including invoking, upgrading, and deleting workers.
@Myestery Myestery marked this pull request as ready for review July 20, 2025 23:42
@andrueandersoncs andrueandersoncs merged commit 9a963a5 into main Jul 30, 2025
9 checks passed
@andrueandersoncs andrueandersoncs deleted the golem-yaml branch July 30, 2025 13:56
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Refactor Golem Desktop

4 participants