Commit graph

375 commits

Author SHA1 Message Date
Shreyas
b3b609d0b4
perf(desktop): cache store path resolution (#5747) 2026-01-06 14:08:29 +05:30
Mir Arif Hasan
442242c8ca
chore: security patch for the quic-go vulnerability (#5710)
Co-authored-by: James George <25279263+jamesgeorge007@users.noreply.github.com>
Co-authored-by: Nahid Hasan <52489202+nahidhasan94@users.noreply.github.com>
2025-12-19 21:00:22 +05:30
James George
745fc9d1f6 fix: resolve CodeMirror editor syntax highlighting issues
Revert `@codemirror/view` dependency bump.
2025-12-15 13:34:52 +05:30
Mir Arif Hasan
05927f3d4d
chore: security patch for the dependency chain v2025.12.0 (#5678)
Co-authored-by: James George <25279263+jamesgeorge007@users.noreply.github.com>
2025-12-12 16:58:35 +05:30
Shreyas
87d1cccb82
feat(desktop): atomic write for registry persistence (#5658)
This implements atomic writes for registry.json using a temporary file and renaming to prevent file corruption on Windows 11.
2025-12-04 14:34:22 +05:30
James George
c50076ef2e chore: bump dependencies
Follow up to #5590.
2025-11-26 11:06:57 +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
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
Shreyas
f62405088d
chore(agent): bump agent and dependency chain (#5607)
This updates Hoppscotch Agent dependencies to align with
 `v2025.11.0` security patch and other dependency chain.
2025-11-24 19:59:57 +05:30
Mir Arif Hasan
904a1b0405
chore: security patch for the dependency chain v2025.11.0 (#5590)
Bump dependencies and account for breaking changes.

---------

Co-authored-by: James George <25279263+jamesgeorge007@users.noreply.github.com>
2025-11-24 14:21:29 +05:30
James George
9cd6c7d6cf
feat(scripting-revamp): chai powered assertions and postman compatibility layer (#5417)
Co-authored-by: nivedin <nivedinp@gmail.com>
2025-10-27 17:49:58 +05:30
Shreyas
ecf7d2507a
feat(relay): control redirect follow (#5508)
Add per-domain toggle to disable automatic HTTP redirect following in
 the Native and Agent interceptors. When disabled, requests return the
 redirect response (status code, headers, body) without following the
 Location header.

 Previously HTTP redirects were always followed (on browser, can't do
 much about that, see
 https://fetch.spec.whatwg.org/#atomic-http-redirect-handling) without
 option to inspect the redirect response itself. This prevented
 developers from accessing redirect metadata needed when testing OAuth
 flows (PKCE where intermediate responses contain authorization tokens),
 authentication endpoints that return codes in Location headers with 302
 status, and debugging API redirect chains. But on the desktop app,
 redirects were just never followed, creating the opposite effect.

 The browser's fetch API applies atomic HTTP redirect handling per spec,
 making it impossible to intercept redirects and inspect their responses.
 The Native and Agent interceptors use curl and native HTTP clients
 respectively, both supporting redirect control, making this feature
 viable for these specific interceptors. (Proxyscotch tbd).
2025-10-27 17:41:58 +05:30
Mir Arif Hasan
53e8b28459
chore: security patch for the dependency chain (#5487)
v2025.10.0

---------

Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-10-22 18:48:20 +05:30
jamesgeorge007
c26b8f7729 chore: bump vite-plugin-inspect under hoppscotch-selfhost-web 2025-09-26 13:46:48 +05:30
jamesgeorge007
58b0736c5b chore: bump non-major dependencies 2025-09-26 13:26:42 +05:30
Shreyas
6beca5c787
fix(native): bump tauri-plugin-shell to v2.2.1 (#5402)
Updates `tauri-plugin-shell` from vulnerable version to `v2.2.1` to
 address `CVE-2025-31477` in `open` around scope validation.

 Affects both `hoppscotch-agent` and `hoppscotch-desktop`.

 Closes FE-1022
2025-09-24 21:48:06 +05:30
Mir Arif Hasan
37060638df
chore: security patch for the dependency chain (#5400)
Bump non-major dependencies

---------

Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-09-24 16:22:31 +05:30
Shreyas
3be91a4a51
fix(relay): multiple Set-Cookie headers in resp (#5394)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-09-23 17:14:29 +05:30
Shreyas
ba700886b5
fix(desktop): window lifecycle for instance switch (#5381)
This resolves window accumulation during instance switching by
implementing proper window lifecycle management using Tauri's
WebviewWindow APIs.

Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-09-22 14:55:53 +05:30
jamesgeorge007
bc2e5eb0bb chore: revert dependency override for ws in subscriptions-transport-ws chain 2025-08-27 19:25:11 +05:30
Shreyas
eb8487fc82
fix(desktop): rebase with appload mirror and hash (#5351)
The rebases and updates desktop's `@hoppscotch/plugin-appload`
 dependency from branch-based ref to specific commit hash to resolve
 Docker build failures.

 Branch-based GitHub dependencies require `git` in the build environment.
 Our Dockerfile stages didn't install `git`, which caused `pnpm install`
 to fail with `spawn git ENOENT`. Using a commit hash allows `pnpm` to
 fetch the tarball directly without requiring `git`.
2025-08-27 09:52:49 +05:30
Shreyas
f234e66078
feat(desktop): portable phase-2 app loader infra (#5341)
This implements backend path management, backup system, cross-platform utilities, and refactors the `appload` plugin arch to support portable mode deployment.

The changes are mainly establishing foundational infra maintaining current frontend behavior until phase-3+ integration.
2025-08-26 20:48:31 +05:30
Mir Arif Hasan
a0c2635000
chore: security patch for the dependency chain (#5349)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-08-26 14:56:48 +05:30
Shreyas
ad974dbd5b
chore: align tailwindcss to 3.4.16 (#5343)
This aligns `tailwindcss` to `3.4.16` across `hoppscotch-selfhost-web`
and `hoppscotch-sh-admin` packages.
2025-08-21 19:26:23 +05:30
Shreyas
a0fbb7b076
chore(native): bump and align dependencies (#5331)
- This standardises package versions between desktop, agent, appload, relay
  all the native components to resolve version inconsistencies and prepare
  for unified bumps in the future.

- Account for recent minor dependency bumps as a follow-up to #5329

Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-08-21 16:24:30 +05:30
James George
42089fbb55
chore: bump dependencies and account for breaking changes (#5329)
Co-authored-by: mirarifhasan <arif.ishan05@gmail.com>
2025-08-20 23:04:14 +05:30
Shreyas
137e95e873
fix(relay): expand MIME type support (#5306)
This fixes file uploads incorrectly showing MIME type as "Other" instead
 of their actual content types by expanding the `MediaType` enum relay
 to include common audio, video, and image formats.

 Basically `MediaType` enum is used for both `ContentType` which would
 map to `ContentType` from `hoppscotch-data` (e.g. `multipart/form-data`)
 but also to `FormValue` in `interop`
 ```rust
 pub enum FormValue {
     ...
     File {
         filename: String,
         content_type: MediaType,
         data: Bytes,
     },
 }
 ```
 although the later should be much more pervasive.

 This is a follow up on #5244

 Closes FE-887
 Closes #3810
 Closes #5223
 Closes #5233

 The issue occurred because the `relay`'s `MediaType` couldn't deserialize
 beyond the basic types (text, JSON, XML, etc.), lacked support for
 other media file types. The TypeScript layer correctly detected MIME
 types (e.g., "audio/x-m4a"), but the deserialization process fell back
 to `MediaType::Other`. Main reason for servers performing strict MIME
 validation to reject uploads.
2025-08-08 13:51:46 +05:30
Mir Arif Hasan
96b1bd10a8
chore: security patches for the dependency chain (second iteration) (#5288)
chore: pin form-data in pnpm override
2025-07-29 12:08:57 +05:30
Mir Arif Hasan
8f5eed5151
chore: migrate to @db.Timestamptz(3) and remove luxon dependency (#5283)
* feat: remove deprecated env sync

* feat: using infraConfig in bootstrap

* chore: migrate to TIMESTAMPTZ and remove luxon dependency

* chore: remove luxon deps

* Revert "feat: using infraConfig in bootstrap"

This reverts commit 147dba632f095dad816afdd4e46ed736e8a3b8ff.

* chore: cleanup
2025-07-28 21:32:14 +06:00
Mir Arif Hasan
0b7d31a20c
feature: reduce .env usage and move configurations to admin dashboard (#5194)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: nivedin <nivedinp@gmail.com>
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-07-28 16:46:30 +05:30
Mir Arif Hasan
37cca6cfc9
chore: security patches for the dependency chain (#5278) 2025-07-28 15:53:25 +05:30
Anwarul Islam
e5bb60f8b3
fix(common): added theme support for tooltips (#5242)
Co-authored-by: nivedin <nivedinp@gmail.com>
2025-07-25 13:36:09 +05:30
James George
40aca4d35b
feat: move scripting code editors to use Monaco (#5191)
Replaces CodeMirror with Monaco for scripting editors under the experimental scripting sandbox.
The legacy CodeMirror-based editors are preserved for backwards compatibility and will
continue to power the legacy scripting sandbox.

This introduces improved type support, IntelliSense, and JSDoc hinting via Monaco, with
the backing for pre-request and post-request scripts in tabbed views. Type definitions are
isolated per editor to avoid variable leakage.
2025-07-25 13:35:37 +05:30
Shreyas
899db05ab8
feat(desktop): portable phase-1 foundational: infra & build (#5259) 2025-07-24 15:45:48 +05:30
Shreyas
39124fb50d
fix(desktop): disk space detection on overlay fs (#5226) 2025-07-11 13:32:15 +05:30
Nivedin
fe5c07faed
fix: fallback env to initial and make valid url in codegen (#5214)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-07-10 16:42:50 +05:30
Shreyas
f97fecd4b7
fix(agent): vue-tsc and typescript compat (CI) (#5227)
This updates `vue-tsc` to version `2.2.0` and removes caret prefix from
TypeScript to resolve build compatibility issues that were preventing
builds in `agent`'s CI/CD pipeline.

The build process was failing with "Search string not found" errors when
vue-tsc attempted to patch TypeScript's internal structure.

Initially thought to be related to FE-925, FE-924.

Closes FE-926

The previous config used `TypeScript` at `^5.8.3` with `vue-tsc` at
`^2.1.6`. The `vue-tsc` package contains hardcoded regex patterns for
patching TypeScript's internals, and these patterns in version 2.1.6
don't match the structure in TypeScript 5.8.3.
2025-07-09 16:42:09 +05:30
Shreyas
b1d4ad2bf8
chore(desktop): update typescript bump hash (#5199) 2025-06-26 11:38:18 +05:30
Andrew Bastin
78a165dcbb
chore: security patches for the dependency chain (#5196) 2025-06-25 19:33:10 +05:30
jamesgeorge007
0d4df746cd chore: align TypeScript version across packages 2025-06-25 16:34:08 +05:30
Shreyas
78e623a847
feat(desktop): native tab keyboard shortcuts (#5190) 2025-06-24 23:16:31 +05:30
jamesgeorge007
ad28169437 fix: resolve marshalling issues on the experimental scripting sandbox
Bump `faraday-cage`.
Closes #5129.
2025-06-13 11:20:28 +05:30
Anwarul Islam
2a633720a5
fix(common): OpenAPI import worker not working in production (#5140)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-06-11 19:14:45 +05:30
Shreyas
26cb342969
fix(desktop): arrow inserting escape sequences (#5108)
The unstable flag was causing arrow keys to
display ANSI escape sequences as literal text
instead of performing cursor navigation.

For example the arrow keys in URL input fields
display escape sequences (`^[[C, ^[[D, ^[[A, ^[[B`)
as literal text.

Closes HFE-880
Closes #5102

The unstable feature flag was originally added to
support experimental features that were required
for functionality that is no longer needed
in the current implementation.

See:
- [Tauri Issue #9257] - Keyboard shortcuts broken with unstable flag
- [Tauri Issue #10194] - Arrow keys printing invalid characters
- [Wry Issue #1177] - Related macOS input handling issues
2025-06-06 14:17:30 +05:30
James George
5ac2ac40de
feat: add support for version bounded parsing and migration (#5127)
- CLI Collection runner enhancements:

  - Support mixed versions - child collections based on different versions compared to the parent collection.
  - Better support for incoming data via IDs conforming to older formats.

- Bump `verzod` across packages.
- Relevant updates to test suite.
- Bump `zod` under `selfhost-desktop`.
2025-06-05 14:51:19 +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
Andrew Bastin
ad59690fc1 chore: bump vulnerable dependencies 2025-05-27 16:27:13 +05:30
James George
aab2924139
feat: extend platform API support for experimental scripting sandbox (#5097) 2025-05-26 20:39:51 +05:30