Skip to content

Refactor server-driven Widgets#6

Merged
NoobNotFound merged 6 commits intomainfrom
widget-fix
Jan 3, 2026
Merged

Refactor server-driven Widgets#6
NoobNotFound merged 6 commits intomainfrom
widget-fix

Conversation

@NoobNotFound
Copy link
Copy Markdown
Contributor

Replaces legacy plugin setup UI with a unified, server-driven widget system.

Introduces a new Widget API in the PluginSDK, supporting contextual widget requests (e.g., settings, add menu) and a flexible widget model (text, button, input, container, etc.). Updates gRPC protocol, backend service, and macOS frontend to use the new model. And a new WidgetBuilder

Refactors official plugins to implement the new GetPluginWidgets method and removes legacy layout JSON usage.

Replaces legacy plugin setup UI with a unified, server-driven widget system. Introduces a new Widget API in the PluginSDK, supporting contextual widget requests (e.g., settings, add menu) and a flexible widget model (text, button, input, container, etc.). Updates gRPC protocol, backend service, and macOS frontend to use the new model. Refactors official plugins to implement the new GetPluginWidgets method and removes legacy layout JSON usage.
@NoobNotFound NoobNotFound self-assigned this Jan 3, 2026
@NoobNotFound NoobNotFound added the enhancement New feature or request label Jan 3, 2026
Introduced static Constants classes for field and action names in Custom, IGDB, and Web plugins to improve maintainability and reduce string duplication. Updated plugin versions for AppStore, Crossover, Epic, Gog, IGDB, Steam, and Web plugins. Removed unused Class1.cs files from AppStore, Custom, and Epic importers.
Split AetherGrpcService into multiple partial classes by feature (Library, Metadata, News, Plugins, Updates) for better maintainability and organization. Moved and renamed service files accordingly, removed PluginService.cs, and updated method implementations to their new locations. No functional changes were made.
Expanded the architecture documentation to clarify the modular structure of the gRPC server. Updated the plugins documentation to reflect the new WidgetBuilder-based approach for server-driven UI, including revised code examples and method signatures.
Updated the marketing version to 1.4 and CURRENT_PROJECT_VERSION to 2 in the Xcode project settings to reflect a new release.
Deleted the Class1.cs file from Aether.PluginSDK as it was empty and not in use.
@NoobNotFound NoobNotFound merged commit 1c83e66 into main Jan 3, 2026
@NoobNotFound NoobNotFound deleted the widget-fix branch January 3, 2026 17:52
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.

1 participant