diff --git a/.github/ISSUE_TEMPLATE/--bug-report.yaml b/.github/ISSUE_TEMPLATE/--bug-report.yaml index 1ba4e015..e52b65fd 100644 --- a/.github/ISSUE_TEMPLATE/--bug-report.yaml +++ b/.github/ISSUE_TEMPLATE/--bug-report.yaml @@ -6,14 +6,16 @@ body: - type: markdown attributes: value: | - Thank you for taking the time to fill out this bug report. + Thank you for taking the time to report this issue. Complete information helps us resolve issues faster. + - type: checkboxes attributes: label: Is there an existing issue for this? description: Please search to see if an issue already exists for the bug you encountered options: - - label: I have searched the existing issues + - label: I have searched existing issues and this bug hasn't been reported yet required: true + - type: textarea attributes: label: Current behavior @@ -24,6 +26,7 @@ body: What I expect is validations: required: true + - type: textarea attributes: label: Steps to reproduce @@ -35,23 +38,97 @@ body: 4. See error validations: required: true + +- type: textarea + id: logs + attributes: + label: Logs and Screenshots + description: Include any relevant anonymized console logs, network errors, or screenshots + placeholder: | + ``` + Uncaught TypeError: Cannot read property 'data' of undefined + at GraphQLModule.processResponse (graphql.js:242) + ``` + + [Attach screenshots if available] + render: shell + - type: dropdown id: env attributes: label: Environment + description: Where did you encounter this issue? options: - Production - Release - Deploy preview validations: required: true + - type: dropdown id: version attributes: - label: Version + label: Hoppscotch Version + description: Which version of Hoppscotch are you using? options: - Cloud - Self-hosted - Local validations: required: true + +- type: dropdown + id: interceptor + attributes: + label: Interceptor + description: Which request interceptor are you using? (Select "Not Applicable" if your issue isn't related to network requests) + options: + - Not Applicable - Issue not related to network requests + - Browser - Web App + - Agent - Web App + - Extension - Web App + - Proxy - Web App + - Native - Desktop App + - Proxy - Desktop App + default: 0 + validations: + required: true + +- type: dropdown + id: browsers + attributes: + label: Browsers Affected + description: Which browsers have you seen this issue on? (Select all that apply) + multiple: true + options: + - Chrome + - Firefox + - Safari + - Edge + - Opera + - Other (specify in additional info) + - Not browser-specific + - Not applicable (Desktop app) + +- type: dropdown + id: os + attributes: + label: Operating System + description: Which operating system are you using? + options: + - Windows + - MacOS + - Linux + - Other (specify in additional info) + +- type: textarea + id: additional + attributes: + label: Additional Information + description: Any other details that might help us understand and fix the issue + placeholder: | + - Self Hosted instance version if not latest + - Desktop app version if not latest + - Device specifics + - Special configurations + - Context about your use case diff --git a/packages/hoppscotch-desktop/README.md b/packages/hoppscotch-desktop/README.md index 569db34f..e015d45b 100644 --- a/packages/hoppscotch-desktop/README.md +++ b/packages/hoppscotch-desktop/README.md @@ -1,9 +1,115 @@ -# Hoppscotch Desktop App +# Hoppscotch Desktop App ALPHA -## Notes +
+ +

Hoppscotch Desktop

+

+ Download | + Official Docs +

+
-- Remember to `pnpm build` in `tauri-plugin-appload` before running the `pnpm tauri dev` server. Those exports needs to be built in `tauri-plugin-appload/dist-js` before they can be used. +
-- Remember to build `hoppscotch-selfhost-web` with `HOPP_ALLOW_RUNTIME_ENV=true pnpm generate` to enable `import-meta-env` runtime env var injections into the built files. +#### Hoppscotch Desktop App is a cross-platform [Hoppscotch](https://hoppscotch.io) app built with [Tauri V2](https://v2.tauri.app/) -- Always check `build.rs` file in the plugin directory to make sure newly added commands are defined in the `COMMANDS` static str, these are used to generate permissions. This should regenerate `permissions` directory contents. Default permissions can be set with `default.toml` in the same directory. +![Hoppscotch Desktop App](desktop-app.png) + +#### Now with the ability to connect to Self-Hosted instances + +![Hoppscotch Desktop App](connection-to-self-hosted-instance.png) + +## Install Hoppscotch Desktop App + +1. [Download the latest version of Hoppscotch Desktop App](https://hoppscotch.com/download) +2. Open the downloaded file. +3. Follow the on-screen instructions to install Hoppscotch Desktop App. +4. Open Hoppscotch Desktop App. + +## Access Hoppscotch + +### Hoppscotch Cloud Edition for Individuals + +Access Hoppscotch Cloud Edition from Hoppscotch Desktop App: + +1. Open Hoppscotch Desktop App. +2. Click the Hoppscotch logo in the top-left corner. +3. Click "**HOPPSCOTCH CLOUD**". +4. Sign in with your Hoppscotch Cloud account to access your workspaces and collections. + +### Hoppscotch Self-Hosted Edition for Community + +> [!Note] +> To enable desktop app support for your self-hosted Hoppscotch instance, make sure to update the `WHITELISTED_ORIGINS` environment variable in your `.env` file with your deployment URL. +> +> e.g. to allow connection to `https://hoppscotch.mydomain.com` you need to add `app://hoppscotch_mydomain_com` to the `WHITELISTED_ORIGINS` environment variable. +> ```bash +> WHITELISTED_ORIGINS=...existing_origins,app://hoppscotch_mydomain_com +> ``` + +Add your self-hosted Hoppscotch Community Edition instance to Hoppscotch Desktop App: + +1. Open Hoppscotch Desktop App. +2. Click the Hoppscotch logo in the top-left corner. +3. Click "**Add an instance**". +4. Enter the URL of your self-hosted Hoppscotch instance. +5. Click "**Connect**". + +> [!Tip] +> You can also self-host Hoppscotch Desktop App. +> 1. Install and generate the selfhost web app: +> ```bash +> cd ../hoppscotch-selfhost-web +> pnpm install +> pnpm generate +> ``` +> 2. Build the webapp bundler: +> ```bash +> cd crates/webapp-bundler +> cargo build --release +> ``` +> 3. Bundle the web app: +> ```bash +> cd target/release +> ./webapp-bundler --input [path-to-dist-directory] --output [path-to-hoppscotch-desktop]/bundle.zip --manifest [path-to-hoppscotch-desktop]/manifest.json +> ``` +> 4. Run the Tauri development server: +> ```bash +> cd src-tauri +> pnpm tauri dev +> ``` +> or the following for production build: +> ```bash +> cd src-tauri +> pnpm tauri dev +> ``` + +> [!Note] +> `[path-to-dist-directory]` should point to the `dist` directory created by the `pnpm generate` command in step 1. + +### Hoppscotch Self-Hosted Edition for Enterprise + +> [!Note] +> To enable desktop app support for your self-hosted Hoppscotch instance, make sure to update the `WHITELISTED_ORIGINS` environment variable in your `.env` file with your deployment URL. +> +> e.g. to allow connection to `https://hoppscotch.mydomain.com` you need to add `app://hoppscotch_mydomain_com` to the `WHITELISTED_ORIGINS` environment variable. +> ```bash +> WHITELISTED_ORIGINS=...existing_origins,app://hoppscotch_mydomain_com +> ``` + +Add your self-hosted Hoppscotch Enterprise Edition instance to Hoppscotch Desktop App: + +1. Open Hoppscotch Desktop App. +2. Click the Hoppscotch logo in the top-left corner. +3. Click "**Add an instance**". +4. Enter the URL of your self-hosted Hoppscotch instance. +5. Click "**Connect**". + +> [!Note] +> For docker setup, the desktop app uses a server at port `3200`, and it is part of the frontend container: +> +> ``` +> ❯ docker run -p 3000:3000 -p 3200:3200 hoppscotch/hoppscotch-frontend +> ``` +> +> Once the container is live, you can enter `[your-ip]:3200` or simply the base address of the instance if you are using [subpath access](https://docs.hoppscotch.io/guides/articles/self-host-hoppscotch-on-your-own-servers#4-subpath-access). diff --git a/packages/hoppscotch-desktop/connection-to-self-hosted-instance.png b/packages/hoppscotch-desktop/connection-to-self-hosted-instance.png new file mode 100644 index 00000000..508610c9 Binary files /dev/null and b/packages/hoppscotch-desktop/connection-to-self-hosted-instance.png differ diff --git a/packages/hoppscotch-desktop/desktop-app.png b/packages/hoppscotch-desktop/desktop-app.png new file mode 100644 index 00000000..38ab8e4d Binary files /dev/null and b/packages/hoppscotch-desktop/desktop-app.png differ