Commit graph

103 commits

Author SHA1 Message Date
James George
27b817f627
feat: migrate ESLint to v9 across packages (#5773)
Co-authored-by: curiouscorrelation <curiouscorrelation@gmail.com>
2026-01-20 14:48:55 +05:30
Shreyas
b3b609d0b4
perf(desktop): cache store path resolution (#5747) 2026-01-06 14:08:29 +05:30
Shreyas
824dce79d0
feat(desktop): url focus and mru tab shortcuts (#5683)
Co-authored-by: James George <25279263+jamesgeorge007@users.noreply.github.com>
2025-12-16 17:25:56 +05:30
Mir Arif Hasan
008335c715
feat: add auto-create collection option to mock server creation (#5637)
Co-authored-by: Anwarul Islam <anwaarulislaam@gmail.com>
2025-12-03 23:01:06 +05:30
Nivedin
cd82eb212d
fix: remove ref_id field before collection exports and address race conditions (#5626)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: James George <25279263+jamesgeorge007@users.noreply.github.com>
2025-12-03 23:00:25 +05:30
Shreyas
fdbec04703
fix: guard tauri calls with kernel check (#5619) 2025-11-26 11:34:47 +05:30
James George
f2f015c1c8
feat(scripting-revamp): add support for sending requests in scripting context (#5596) 2025-11-26 09:52:00 +05:30
Anwarul Islam
03212386fb
feat: add platform-specific import support for personal collections (#5570)
Co-authored-by: mirarifhasan <arif.ishan05@gmail.com>
Co-authored-by: James George <25279263+jamesgeorge007@users.noreply.github.com>
2025-11-25 22:03:21 +05:30
Shreyas
f834cc87d3
feat(desktop): portable phase-3: instance manager (#5421)
Co-authored-by: James George <25279263+jamesgeorge007@users.noreply.github.com>
2025-11-25 18:09:18 +05:30
Nivedin
e63bfe3723
feat: API Documentation (#5499)
Co-authored-by: mirarifhasan <arif.ishan05@gmail.com>
Co-authored-by: James George <25279263+jamesgeorge007@users.noreply.github.com>
2025-11-25 11:26:57 +05:30
Shreyas
ce026d5cef
chore(desktop): bump desktop shell dependencies (#5612)
This updates Hoppscotch Desktop (Shell) dependencies to align with
 `v2025.11.0` security patch and other dependency chain.

---------

Co-authored-by: James George <25279263+jamesgeorge007@users.noreply.github.com>
2025-11-24 21:09:50 +05:30
James George
8b164f9e31 chore: bump version to 2025.10.1 2025-11-13 00:11:21 +05:30
Shreyas
eee92bbeeb
fix(desktop): token validation and cookie parsing (#5569)
This fixes desktop app auth failures where users encounter
 "Session expired" errors when creating environments or
 saving requests despite being logged in.

 The issue occurred because token verify/validation works on web
 (cookie-based auth) but fails on desktop (bearer token auth). The
 desktop implementation had flaky response parsing in
 `verifyAuthTokens()`.

 Includes some future proofing work around cookie parsing
 in `setAuthCookies()`, for Set-Cookie headers contain commas
 or are concatenated with newlines (see #5394).
2025-11-10 23:10:43 +05:30
Anwarul Islam
c0e3ff49b3
fix (common): address mock server issues and improve the UI (#5517)
Co-authored-by: nivedin <nivedinp@gmail.com>
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
Co-authored-by: mirarifhasan <arif.ishan05@gmail.com>
2025-10-29 16:25:02 +05:30
jamesgeorge007
457ca12be9 chore: bump version to 2025.10.0 2025-10-27 23:04:50 +05:30
Mir Arif Hasan
3acc0ec9b6
feat: mock server (#5482)
Co-authored-by: Anwarul Islam <anwaarulislaam@gmail.com>
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-10-27 23:03:22 +05:30
Nivedin
68d1db7e74
feat: add auth refresh token flow if token expires (#5490) 2025-10-26 22:24:59 +05:30
Prit Rojivadiya
c31f74829d
refactor: cleanup sync logic and imports (#5428) 2025-10-08 13:31:29 +05:30
jamesgeorge007
d80ea5d214 chore: bump version to 2025.9.2 2025-10-07 17:22:25 +05:30
jamesgeorge007
6bbfb9b8b7 chore: bump version to 2025.9.1 2025-10-01 11:18:38 +05:30
jamesgeorge007
93d2e53885 chore: bump version to 2025.9.0 2025-09-24 19:47:28 +05:30
Mir Arif Hasan
81fe98f25d
feature: add alphabetical sort for user and team collections (#5383)
Co-authored-by: nivedin <nivedinp@gmail.com>
Co-authored-by: Nivedin <53208152+nivedin@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-09-23 14:46:23 +05:30
Chhavi Goyal
637c380c07
fix: handle actions for logged-in users in case of token expiration (#5249)
Co-authored-by: nivedin <nivedinp@gmail.com>
Co-authored-by: Nivedin <53208152+nivedin@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-09-22 19:06:40 +05:30
jamesgeorge007
75ec412076 chore: bump version to 2025.8.1 2025-09-02 15:22:35 +05:30
Mir Arif Hasan
a7440d58cd
fix: maintain incremental orderIndex for collections and requests (#5338)
Co-authored-by: Anwarul Islam <anwaarulislaam@gmail.com>
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-08-27 13:33:27 +05:30
jamesgeorge007
6ae85ea9fa chore: bump version to 2025.8.0 2025-08-25 12:10:44 +05:30
Nivedin
2d2e65369f
feat: collection variables (#5325)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-08-22 14:39:42 +05:30
jamesgeorge007
43c025fa5e chore: bump version to 2025.7.0 2025-08-08 14:13:48 +05:30
jamesgeorge007
6473cd5af6 chore: resolve lint errors 2025-07-28 23:50:36 +05:30
jamesgeorge007
1537734374 chore: bump version to 2025.7.0 2025-07-28 23:48:07 +05:30
Anwarul Islam
b07212cb05
feat(common): add advanced configuration for auth and token request parameters (#5253)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-07-28 23:43:08 +05:30
Nivedin
cfa2caa1db
chore: add proper error msg and disable email updation in SH (#5247)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-07-25 12:42:51 +05:30
Shreyas
1f158a19ff
feat(desktop): cross-platform quit action (#5266)
This implements consistent cross-platform quit functionality that
triggers graceful application shutdown through native native commands.

Closes FE-919

The Cmd + Q quit shortcut was previously broken across platforms with
inconsistent behavior, working on Windows 11 but failing on macOS,
AppImage Linux, and Windows 10. The implementation was mixed and
unreliable.
2025-07-23 19:26:34 +05:30
jamesgeorge007
636d350c0f chore: bump version to 2025.6.1 2025-07-14 14:28:51 +05:30
Shreyas
224525be66
fix(desktop): redirect menu bar events to window (#5200) 2025-06-26 13:33:15 +05:30
jamesgeorge007
d674a2e8d2 chore: bump version to 2025.6.0 2025-06-25 14:15:29 +05:30
jamesgeorge007
aa5b540412 chore: merge hoppscotch/main into hoppscotch/next 2025-06-24 15:00:01 +05:30
jamesgeorge007
580cf60766 chore: bump version to 2025.5.4 2025-06-24 14:44:25 +05:30
Shreyas
5ece4821af
fix(desktop): prevent navigation on file drops (#5176) 2025-06-24 14:28:11 +05:30
jamesgeorge007
8a88016d00 chore: bump version to 2025.5.2 2025-06-18 18:05:26 +05:30
Nivedin
2bd3f36bfa
fix: schema error and test updation flow (#5124)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-06-13 09:55:05 +05:30
jamesgeorge007
9493b30a84 chore: bump version to 2025.5.2 2025-06-10 14:11:38 +05:30
Shreyas
b63c707624
fix(desktop): align connected instance with launch (#5132) 2025-06-10 13:21:54 +05:30
Nivedin
805ac88688
fix: environment and rest tab state schema migration (#5105) 2025-05-29 15:13:14 +05:30
Anwarul Islam
82d9367843
feat: add JWT authentication support (#5079)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-05-28 15:41:47 +05:30
Nivedin
0212eba895
fix: update id while syncing and gist import bug (#5100)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-05-27 16:12:55 +05:30
Nivedin
01d96fa577
feat: initial and current value for environment variables (#5055) 2025-05-23 22:38:36 +05:30
Nivedin
9371457d0d
chore: display platform links in app header (#5091) 2025-05-21 21:03:58 +05:30
Anwarul Islam
ccf3c6f834
feat: add support for HAWK authentication (#4694)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-04-29 14:51:16 +05:30
Shreyas
3803735d28
fix(web): add explicit headers following prior normalization (#4951)
These changes add explicit `Content-Type` headers to direct (via `native` interceptor)
authentication requests after changes made in [PR #4931](https://github.com/hoppscotch/hoppscotch/pull/4931) that modified how `Content-Type`
headers are handled in the `relay` plugin.

In [issue #4905](https://github.com/hoppscotch/hoppscotch/issues/4905), that was about Hoppscotch Agent and Native interceptor inconsistently
handling `Content-Type` headers. The issue had two main manifestations,
duplicate headers - when overriding the `Content-Type` header in the UI or using OAuth2 authentication, the agent
would send multiple `Content-Type` headers to the web server. This caused undefined behavior
and often 400 errors for backends that don't accept duplicate headers.
And inconsistent overrides - even when the content type was explicitly set (for example to
`application/json;v=2`), the agent/native would inconsistently apply this override. Server
logs revealed that roughly 50% of requests would use the correct override value, while the
others would revert to the default `application/json`.

The two-part solution implemented first in [PR #4911](https://github.com/hoppscotch/hoppscotch/pull/4911) addressed the duplicate headers issue
by implementing header normalization before final relay. This prevented duplicate headers
with different casing from being sent and [PR #4931](https://github.com/hoppscotch/hoppscotch/pull/4931) then resolved the inconsistent override
behavior by removing the automatic `Content-Type` header insertion in the `ContentHandler`
component. As explained in the PR description, this was a temporary workaround until we
implement a HTTP/2-compliant solution with proper normalization.

While the fixes in PR #4911 and #4931 correctly resolved the header inconsistency issues
for general API requests, they introduced a new problem: **requests that previously relied
on the automatic `Content-Type` insertion now have no `Content-Type` header at all**.

This mainly affects direct calls around authentication flows in the desktop module, which
were using the `content.json()` functionality without explicitly setting `Content-Type`
headers, relying on the automatic insertion that has now been removed.

These changes add the now-required explicit `Content-Type` headers to three
authentication-related API calls in the desktop platform module:

- **The initial user details GraphQL query**:
```javascript
headers: {
  Authorization: `Bearer ${accessToken}`,
  "Content-Type": "application/json",
},
```

- **The magic link email submission endpoint**:
```javascript
headers: {
  "Content-Type": "application/json",
},
```

- **The token verification endpoint**:
```javascript
headers: {
  "Content-Type": "application/json",
},
```

This will make sure that authentication flows continue to work properly with the native
interceptor after the header handling changes.

As noted in [PR #4931](https://github.com/hoppscotch/hoppscotch/pull/4931), this is considered a **temporary solution**. The plan is to revisit the
content-type handling when we implement a more comprehensive HTTP/2-compliant header
normalization system in the kernel layer.

While HTTP/1.1 headers are case-insensitive
per [RFC 7230](https://tools.ietf.org/html/rfc7230), inconsistent handling across server implementations can treat differently-cased
variations as distinct headers. HTTP/2 ([RFC 7540](https://tools.ietf.org/html/rfc7540)) mandates converting all header field
names to lowercase, which would prevent these issues altogether. In such cases, relying
fully on `MediaType` interface from the kernel will help handling these edge-cases.
2025-04-04 14:45:05 +05:30