diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
new file mode 100644
index 00000000..dd84ea78
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -0,0 +1,38 @@
+---
+name: Bug report
+about: Create a report to help us improve
+title: ''
+labels: ''
+assignees: ''
+
+---
+
+**Describe the bug**
+A clear and concise description of what the bug is.
+
+**To Reproduce**
+Steps to reproduce the behavior:
+1. Go to '...'
+2. Click on '....'
+3. Scroll down to '....'
+4. See error
+
+**Expected behavior**
+A clear and concise description of what you expected to happen.
+
+**Screenshots**
+If applicable, add screenshots to help explain your problem.
+
+**Desktop (please complete the following information):**
+ - OS: [e.g. iOS]
+ - Browser [e.g. chrome, safari]
+ - Version [e.g. 22]
+
+**Smartphone (please complete the following information):**
+ - Device: [e.g. iPhone6]
+ - OS: [e.g. iOS8.1]
+ - Browser [e.g. stock browser, safari]
+ - Version [e.g. 22]
+
+**Additional context**
+Add any other context about the problem here.
diff --git a/README.md b/README.md
index 06385076..c3c334ac 100644
--- a/README.md
+++ b/README.md
@@ -7,25 +7,24 @@ APIs. It's built using [Tauri](https://tauri.app), Rust, and ReactJS.
## Feature Overview
-🪂 Import data from Postman, Insomnia, OpenAPI, Swagger, or Curl.
-📤 Send requests via REST, GraphQL, Server Sent Events (SSE), WebSockets, or gRPC.
-🔐 Automatically authorize requests with OAuth 2.0, JWT tokens, Basic Auth, and more.
-🔎 Filter response bodies using JSONPath or XPath queries.
-⛓️ Chain together multiple requests to dynamically reference values.
-📂 Organize requests into workspaces and nested folders.
-🧮 Use environment variables to easily switch between Prod and Dev.
-🏷️ Send dynamic values like UUIDs or timestamps using template tags.
-🎨 Choose from many of the included themes, or make your own.
-💽 Mirror workspace data to a directory for integration with Git or Dropbox.
-📜 View response history for each request.
-🔌 Create your own plugins for authentication, template tags, and more!
-🛜 Configure a proxy to access firewall-blocked APIs
+- 🪂 Import data from Postman, Insomnia, OpenAPI, Swagger, or Curl.
+- 📤 Send requests via REST, GraphQL, Server Sent Events (SSE), WebSockets, or gRPC.
+- 🔐 Automatically authorize requests with OAuth 2.0, JWT tokens, Basic Auth, and more.
+- 🔎 Filter response bodies using JSONPath or XPath queries.
+- ⛓️ Chain together multiple requests to dynamically reference values.
+- 📂 Organize requests into workspaces and nested folders.
+- 🧮 Use environment variables to easily switch between Prod and Dev.
+- 🏷️ Send dynamic values like UUIDs or timestamps using template tags.
+- 🎨 Choose from many of the included themes, or make your own.
+- 💽 Mirror workspace data to a directory for integration with Git or Dropbox.
+- 📜 View response history for each request.
+- 🔌 Create your own plugins for authentication, template tags, and more!
+- 🛜 Configure a proxy to access firewall-blocked APIs
## Feedback and Bug Reports
All feedback, bug reports, questions, and feature requests should be reported to
-[feedback.yaak.app](https://feedback.yaak.app). Issues will be duplicated
-in this repository if applicable.
+[feedback.yaak.app](https://feedback.yaak.app).
## Community Projects
@@ -34,9 +33,5 @@ in this repository if applicable.
## Contribution Policy
-Yaak is open source, but only accepting contributions for bug fixes. See the
-[`good first issue`](https://github.com/yaakapp/app/labels/good%20first%20issue) label for
-issues that are more approachable for contribution.
-
-To get started, visit [`DEVELOPMENT.md`](DEVELOPMENT.md) for tips on setting up your
-environment.
+Yaak is open source, but only accepting contributions for bug fixes. To get started,
+visit [`DEVELOPMENT.md`](DEVELOPMENT.md) for tips on setting up your environment.
diff --git a/src-web/hooks/useHotKey.ts b/src-web/hooks/useHotKey.ts
index 6080a8f3..54e1da4f 100644
--- a/src-web/hooks/useHotKey.ts
+++ b/src-web/hooks/useHotKey.ts
@@ -1,8 +1,8 @@
import { type } from '@tauri-apps/plugin-os';
+import { debounce } from '@yaakapp-internal/lib';
import { useEffect, useRef } from 'react';
import { capitalize } from '../lib/capitalize';
import { useOsInfo } from './useOsInfo';
-import { debounce } from '@yaakapp-internal/lib';
const HOLD_KEYS = ['Shift', 'Control', 'Command', 'Alt', 'Meta'];
@@ -31,9 +31,9 @@ const hotkeys: Record = {
'app.zoom_out': ['CmdCtrl+-'],
'app.zoom_reset': ['CmdCtrl+0'],
'command_palette.toggle': ['CmdCtrl+k'],
- 'environmentEditor.toggle': ['CmdCtrl+Shift+e'],
+ 'environmentEditor.toggle': ['CmdCtrl+Shift+E', 'CmdCtrl+Shift+e'],
'grpc_request.send': ['CmdCtrl+Enter', 'CmdCtrl+r'],
- 'hotkeys.showHelp': ['CmdCtrl+Shift+/'],
+ 'hotkeys.showHelp': ['CmdCtrl+Shift+/', 'CmdCtrl+Shift+?'], // when shift is pressed, it might be a question mark
'http_request.create': ['CmdCtrl+n'],
'http_request.delete': ['Backspace'],
'http_request.duplicate': ['CmdCtrl+d'],
@@ -115,6 +115,7 @@ export function useHotKey(
if (e.metaKey) currentKeysWithModifiers.add('Meta');
if (e.shiftKey) currentKeysWithModifiers.add('Shift');
+ console.log('down', currentKeysWithModifiers);
for (const [hkAction, hkKeys] of Object.entries(hotkeys) as [HotkeyAction, string[]][]) {
if (
(e.target instanceof HTMLInputElement || e.target instanceof HTMLTextAreaElement) &&