Skip to content

Feature: Developer interface for tesing and adding features #36

@xhzeem

Description

@xhzeem

I was working on adding support for additional browsers (Brave, Edge, Opera, Vivaldi, Arc) to grroxy. While the backend implementation in Go is ready, I've run into a major blocker regarding the frontend.

Currently, the grx/frontend and cmd/electron/src/frontend directories seem to rely on a compiled bundle from an external package called cybernetic-ui. The main UI logic and browser definitions are hardcoded inside the compiled dist/ assets (specifically within a pd constant in the minified index-*.js files).

The Problems:

  1. Contribution Blocked: Since the source code for the UI components and the cybernetic-ui package is missing from the repository, it's impossible for the community to contribute to the frontend or fix UI bugs without patching minified JS.
  2. UI/API Disconnect: The backend already has a /api/proxy/browsers endpoint that provides the supported browser list, but the UI ignores this and uses the hardcoded list in the compiled bundle.
  3. Fragility: Any manual patches to the dist files are wiped out if the frontend is rebuilt.

Suggested Fixes:

  • Expose Source: Include the source code for the frontend components and the cybernetic-ui package in the repository (or as a public submodule).
  • Dynamic UI: Refactor the frontend to dynamically fetch the browser list from the backend API instead of using hardcoded values in the UI package.
    Making the frontend source available would be a huge help for anyone looking to help expand grroxy's capabilities!

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions