Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide clear feedback on connection and application state #21

Open
8 of 9 tasks
ekkolon opened this issue Oct 29, 2024 · 0 comments
Open
8 of 9 tasks

Provide clear feedback on connection and application state #21

ekkolon opened this issue Oct 29, 2024 · 0 comments

Comments

@ekkolon
Copy link
Owner

ekkolon commented Oct 29, 2024

This ticket marks the first issue after our successful initial build.

Here, I’m mapping out the next steps and reassessing the current status of the project.

What's working

  • All tests passed successfully.
  • The build is consistently successful across CI/CD pipelines for all three platforms (Windows, macOS, Linux).
  • Artifacts are available for download via the release page.
  • Installation works smoothly on Linux (to be tested on Windows and macOS).
  • The app launches and is immediately responsive for interaction.
  • With an active GraphQL server, we can run queries against the configured endpoint.
  • The app is responsive, and all window controls function as expected (minimize, maximize, close).
  • The query editor view formatting is functional.

Areas for improvemnt

  • Connection Status Clarity
    When opening the app, there is currently no clear indication of the connection status to an endpoint (or if no endpoint is set).

    For instance, the connection indicator changes from "DISCONNECTED" to "CONNECTED" only if the app opens with a pre-configured, active GraphQL server in the endpoint input.
    For local testing, where we can launch the development server at /examples/graphql-server and refresh the app to observe status changes, this is manageable. However, for end users, this is suboptimal, as they need clear indicators of the application’s status to avoid guesswork and to easily understand what actions to take within the client.

    Resolution

    To enhance user experience, we need to ensure the application clearly communicates its current state to the user. Specifically:

    • The app should indicate connection states without requiring manual interaction or hidden configurations.
    • Since a GraphQL schema requires a connected endpoint, the app should listen for changes in the endpoint URL, derive the application state, and reflect these changes dynamically in the UI.

    Steps

    • Run introspection queries to fetch the GraphQL schema upon connection.
    • Sync the fetched schema with the CodeMirror editor view.
    • Update the connection state (UNKNOWNCONNECTINGCONNECTED | DISCONNECTED).
    • Periodically run introspection queries to maintain connection status, potentially using an exponential back-off strategy or fixed intervals.

    The above process should be automated for sessions with prepopulated values (e.g., restoring sessions from a local store).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant