Commit graph

2484 commits

Author SHA1 Message Date
Nivedin
51840cb5e5
fix(common): preserve team environment name during collection runs (#5578) 2025-11-13 14:02:55 +05:30
James George
8b164f9e31 chore: bump version to 2025.10.1 2025-11-13 00:11:21 +05:30
Nivedin
c1e684e655
fix: team collection not loading on route change (#5533)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-11-12 14:43:35 +05:30
jamesgeorge007
98f07f8a4c test(js-sandbox): expand unsupported API coverage and sync error messages
Add comprehensive test coverage for unsupported Postman APIs and ensure
consistent error messages across pre-request and post-request contexts.

Test improvements:
- Expand coverage from 13 to 25 unsupported APIs (50 tests total)
- Add missing APIs: collectionVariables.set/unset/has/clear/toObject,
  vault.set/unset, iterationData.set/unset/has/toJSON
- Fix assertions to match actual error format with prefix
- Add pre-request context test for pm.execution.location

Implementation fixes:
- Add missing pm.iterationData.toJSON() in pre-request.js
- Sync post-request.js collectionVariables error messages to match
  pre-request.js ("use environment or request variables instead")
2025-11-12 14:35:16 +05:30
Nivedin
fc985771ea
fix: capture environment before request run (#5560)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-11-11 20:25:44 +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
James George
f8cb75895f
fix(common): resolve script errors when switching sandbox modes (#5555)
Co-authored-by: Claude <noreply@anthropic.com>
2025-11-04 15:13:21 +05:30
jamesgeorge007
69fb8ac63f chore: resolve lint errors 2025-10-31 11:22:22 +05:30
jamesgeorge007
c939c4f0c8 fix(common): update request headers/params setter method types to accept partial objects
The runtime schema uses .catch() fallbacks for all fields (`key`, `value`, `active`, `description`), making them effectively optional at runtime. Updated type definitions to use Partial<> to match actual runtime behavior and prevent type errors in usage.

This allows valid usage patterns like:

``
hopp.request.setHeaders([{ key: "X-Custom", value: "foo" }])
```

Without requiring all fields (`active`, `description`) to be explicitly provided.
2025-10-31 11:17:16 +05:30
James George
dae02c839f
fix: prevent log injection
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2025-10-30 23:06:42 +05:30
Anwarul Islam
a573db5937
fix(common): use fallback ref ID for mock server creation with legacy collections (#5536)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-10-30 22:58:14 +05:30
Anwarul Islam
e607f9db24
feat(common): mock server ui improvements (#5532)
- Update active state styles for better visibility in the mock server.
- BE updates catered to improving content type handling in the mock server.
- Introduced a `disableMockServerInPersonalWorkspace` platform-level feature flag.
- Remove inactive keyboard shorthand nudges from the Mock server dashboard context menu.

---

Co-authored-by: mirarifhasan <arif.ishan05@gmail.com>
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-10-30 15:17:16 +05:30
Shreyas
95a8be6f94
chore(agent): bump version to v0.1.15 (#5531)
Regenerated lock file due to conflicting dependencies.
2025-10-30 11:42:09 +05:30
jamesgeorge007
6729d7c7fd refactor(common): remove redundant logs 2025-10-29 23:11:20 +05:30
Anwarul Islam
bb4f4aca54
feat(common): handle null collection and add private access hint for mock servers (#5527)
* fix(mock-server): handle null collection case in dashboard display

* feat(mock-server): add private access hint for non-public mock servers

* fix(mock-server): update private access hint for clarity

* refactor(mock-server): remove console logs from mock server creation and update
2025-10-29 23:21:05 +06:00
jamesgeorge007
ae3d73bb32 fix(js-sandbox): improve scripting value handling and serialization
- Fix null/undefined environment variable handling across namespaces
- Fix pm.request console.log output to display properly
- Add pm.request.id and pm.request.name type definitions
- Fix assertion error messages to show actual values
- Strip `export {};` from collection exports and legacy sandbox editor display
2025-10-29 20:55:07 +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
Mir Arif Hasan
213c5436bc
chore: mock server name validation and prevent duplicates (#5524) 2025-10-29 14:41:52 +06:00
Chhavi Goyal
9a4e5a7f7e
fix(js-sandbox): resolve environment variable fallback behavior (#5439)
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-10-28 23:08:55 +05:30
Harshit Chandra
453b5fc088
feat: add configurable session cookie name (#5425)
Added support for overriding the default session cookie name using the `INFRA.SESSION_COOKIE_NAME` config or the `SESSION_COOKIE_NAME` environment variable. This helps compatibility with proxies or load balancers that cannot handle cookie names containing dots.

---

Co-authored-by: mirarifhasan <arif.ishan05@gmail.com>
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-10-28 13:45:08 +05:30
jamesgeorge007
8f7146bd57 chore: bump CLI version 2025-10-27 23:06:27 +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
Abhishek3880
dd8744f292 chore(backend): cleanup code quality issues (#5466)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-10-27 21:13:43 +05:30
Eman Fateen
1b0a21a3b2
feat: add $randomCompanyName predefined variable (#5479)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-10-27 20:59:39 +05:30
Prajjwol
76e6c3ae2f fix: add missing token checks to request save workflow (#5436)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-27 19:45:23 +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
James George
567344a9e3
fix(common): preserve file uploads in experimental scripting sandbox (#5512) 2025-10-26 23:34:43 +05:30
Nivedin
68d1db7e74
feat: add auth refresh token flow if token expires (#5490) 2025-10-26 22:24:59 +05:30
Anwarul Islam
795cc820db
fix: preserve PKCE and client secret in postman collection imports (#5480) 2025-10-22 19:45:39 +05:30
Nivedin
aa1583763a
fix: avoid rapid polling while fetching teams in selector (#5485) 2025-10-22 19:06:29 +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
Mir Arif Hasan
cd084ebbb3
fix: ensure graceful shutdown and container stop when stopApp is called (#5494)
* fix: graceful shutdown handling for backend app

* chore: add startup delay to health check script
2025-10-21 19:39:39 +06:00
Mir Arif Hasan
6064186d30
fix: reset ONBOARDING_COMPLETED to false during infra config reset (#5496)
fix: reset ONBOARDING_COMPLETED config to false on reset
2025-10-20 19:57:59 +06:00
Prit Rojivadiya
c31f74829d
refactor: cleanup sync logic and imports (#5428) 2025-10-08 13:31:29 +05:30
jamesgeorge007
bb8b9cec8f chore: merge hoppscotch/main into hoppscotch/next 2025-10-08 11:59:09 +05:30
Abhijeet Singh
743aaa145e chore: replace all instances of twitter.com with x.com (#5455) 2025-10-08 11:59:02 +05:30
jamesgeorge007
d80ea5d214 chore: bump version to 2025.9.2 2025-10-07 17:22:25 +05:30
Nivedin
a5e9f83066
fix: focus existing request tab instead of duplicating (#5452)
Addresses an issue where multiple tabs would open even when a request tab was already active. It now correctly switches to the active tab instead.
2025-10-07 17:21:00 +05:30
Nivedin
2b9b45ea76
fix: prevent syncing secret variable initial values (#5434)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-10-07 17:15:06 +05:30
James George
11b07db12c
fix(js-sandbox): resolve errors with pw.env namespace in legacy sandbox (#5433) 2025-10-06 16:45:35 +05:30
jamesgeorge007
6bbfb9b8b7 chore: bump version to 2025.9.1 2025-10-01 11:18:38 +05:30
Nivedin
711d249a4d
fix: correctly resolve inherited properties before request runs (#5418)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-30 17:43:13 +05:30
Sourav Agrawal
5039a14985
fix: highlight environment on string containing dot (#5409)
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>
2025-09-29 13:29:57 +05:30
Nivedin
35e01e1280
chore: accept single character length name and trim white spaces (#5412)
Co-authored-by: mirarifhasan <arif.ishan05@gmail.com>
2025-09-29 13:25:40 +05:30
Mayank Jain
2498ee7b08
fix: race condition in active team collection tab inheritance (#5184)
Co-authored-by: Mayank <mayank@Mayanks-MacBook-Pro.local>
Co-authored-by: nivedin <nivedinp@gmail.com>
2025-09-26 17:53:19 +05:30
Shreyas
9cb98f619d
chore(agent): bump version to 0.1.14 (#5405)
Bump agent to version `v0.1.14` with `relay` dependency changes as per
 #5394, and direct dependency change according to #5402.
2025-09-26 14:20:48 +05:30
jamesgeorge007
5eb9fec21c docs: document CLI versioning scheme 2025-09-26 14:19:08 +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
Anandakrishnan CV
fc87526fbc
fix: close modal on clicking overlay for non input modals (#5403)
Co-authored-by: nivedin <nivedinp@gmail.com>
2025-09-26 12:22:11 +05:30
Anwarul Islam
f9a1d65ad9
refactor: streamline duplicated advanced param type definitions for oauth grant types (#5401)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-09-25 21:03:13 +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
jamesgeorge007
220c9abe43 chore: bump CLI version 2025-09-24 19:48:30 +05:30
jamesgeorge007
93d2e53885 chore: bump version to 2025.9.0 2025-09-24 19:47:28 +05:30
James George
b62b50c1e2
feat(scripting-revamp): introduce hopp namespace (#5388) 2025-09-24 17:09:55 +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
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
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
a23a2c657d chore: merge hoppscotch/patch into hoppscotch/next 2025-09-18 14:14:05 +05:30
Aakash Bhatia
f7b448c860
fix: prevent empty entries when dragging items past last row (#5384)
Co-authored-by: nivedin <nivedinp@gmail.com>
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-09-18 14:13:33 +05:30
Vignesh P
62060a0603
fix(common): correct indentation for nested endpoints in sidebar (#5370) 2025-09-08 16:26:55 +05:30
jamesgeorge007
75ec412076 chore: bump version to 2025.8.1 2025-09-02 15:22:35 +05:30
Nivedin
bc2f7c4f2f
fix: add support for data-schema changes after version bump (#5368) 2025-09-02 15:20:03 +05:30
Nivedin
5bab04a487
feat: allow non-empty shared workspace names (#5363) 2025-09-02 13:48:28 +05:30
Mir Arif Hasan
aac4c5b34b
fix: orderIndex update to scope by collection ID (#5365) 2025-09-02 13:19:53 +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
Anwarul Islam
1df781ec0a feat(common): support advanced parameters in OAuth grant types (#5287)
Adds support for advanced parameters in `implicit`, `password`, and `client_credentials` grant types.
2025-08-27 13:09:58 +05:30
Anschaire Pérard
6f942a7c30
chore: improve french translations (#5340)
Co-authored-by: Anschaire PERARD <aperard@decima.fr>
2025-08-27 10:57:41 +05:30
Anwarul Islam
4f393d37a5
test(common): add comprehensive unit tests for auth helpers (#5211)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-08-27 10:24:21 +05:30
Nivedin
ed8b85bb67
fix: prevent GQL request failure caused by collection property computation (#5350)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-08-27 10:08:12 +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
Nivedin
9504369ce1
fix: handle edge cases and bugs in collection variables (#5348)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-08-26 17:24:23 +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
Vignesh P
11799c17f7
feat: add structured JSON fold indicators in response viewer (#5347)
Co-authored-by: nivedin <nivedinp@gmail.com>
2025-08-26 14:34:25 +05:30
jamesgeorge007
430d6d3b02 chore: bump CLI version 2025-08-25 12:11:03 +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
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
KvS
cbdb654927
fix: show argument type on click in GQL documentation view (#5328)
Co-authored-by: Viraj <kunwar.suryavanshi@sapiens.com>
2025-08-20 18:42:28 +05:30
Anwarul Islam
bb25c59942
feat(common): add support for post/put body schemas in openapi import (#5322)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-08-20 17:43:24 +05:30
Anwarul Islam
3994d9e9a0
fix: preserve request name when importing cURL commands (#5337)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-08-19 20:27:53 +05:30
Nivedin
24c0f9370b
fix: update masked secret environment value after replace action (#5335) 2025-08-19 19:55:31 +05:30
Léopold Jacquot
f430caa1c0
fix: correctly resolve client IP behind proxies (#5323) 2025-08-18 21:52:17 +05:30
Tom
c04faaaf27
fix: (import-export) add spacing above exporter buttons (#5220)
Co-authored-by: tom <tom@radom.com>
Co-authored-by: nivedin <nivedinp@gmail.com>
2025-08-08 14:40:09 +05:30
Shreyas
1cc20a4841
chore(agent): bump version to 0.1.12 (#5318)
Updates agent to version `0.1.12` with relay dependency that includes
expanded MIME type support for file uploads.

Follows #5306
2025-08-08 14:37:17 +05:30
Nivedin
919eeac4a3
fix: correctly resolve request variables during collection runs (#5313)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-08-08 14:18:57 +05:30
jamesgeorge007
43c025fa5e chore: bump version to 2025.7.0 2025-08-08 14:13:48 +05:30
Ruyut
114a0f0e24
chore(i18n): update action block translations in tw.json (#5315) 2025-08-08 13:56:39 +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
Shreyas
eb2cc58dca
feat(desktop): explore random port for IPv6 compat (#5311)
This attempts to resolve app startup failures on Linux systems
where IPv6 is disabled at the kernel level by replacing the dual-stack
port selection logic with network interface discovery.

Closes FE-912
Closes #4962
2025-08-08 13:40:02 +05:30
Nivedin
7e10445f3b
fix: SmartEnvInput environment context bug (#5305)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-05 13:39:43 +05:30
Xavier Bonell
0ce6468434
fix: resolve typo in i18n string (#5300) 2025-07-31 16:31:02 +05:30
Nivedin
edd45ec2b9
fix: onboarding flow smtp bug (#5297) 2025-07-30 15:13:49 +05:30
Anwarul Islam
2ac8a15849
chore: hide advanced configuration for non-authCode grant types (#5293) 2025-07-30 10:44:45 +05:30
Nivedin
6597ade3f7
fix: SH admin dashboard setting and onboarding page cleanups (#5290)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-07-29 20:59:39 +05:30
Shreyas
56fa9534c7
test(common): coverage for desktop tab navigation (#5291)
This adds test coverage for the tab navigation methods added in FE-907
 the native tab keyboard shortcuts implementation.

 Closes FE-909

 The recently implemented desktop tab keyboard shortcuts added new tab
 navigation methods to the `TabService` class (`goToNextTab()`,
 `goToPreviousTab()`, `goToFirstTab()`, `goToLastTab()`,
 `goToTabByIndex()`, and `reopenClosedTab()`). These methods lacked
 corresponding test coverage.
2025-07-29 20:48:05 +05:30
Mir Arif Hasan
f5aee59448
chore: change session config (#5289) 2025-07-29 14:32:57 +05:30
jamesgeorge007
7864baef11 chore: bump CLI version to 0.23.3 2025-07-29 12:10:21 +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
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
Shreyas
28ce90234f
docs(agent): add README (#5286)
This adds documentation for the Hoppscotch Agent package covering
 installation, configuration, and usage.

 Closes FE-942
 Closes #5284

 The agent package lacked user-facing documentation beyond the minimal
 Tauri template content. Users needed guidance for installation,
 registration, certificate management, proxy configuration, and
 troubleshooting.
2025-07-28 20:53:53 +05:30
Nivedin
74efe58c7b
chore: add i18n for onboarding flow and cleanup (#5285) 2025-07-28 20:28:35 +05:30
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
37671ac9e7
chore(backend): prevent clear text transmission of sensitive cookie (#5274) 2025-07-28 16:18:38 +05:30
Mir Arif Hasan
37cca6cfc9
chore: security patches for the dependency chain (#5278) 2025-07-28 15:53:25 +05:30
Vignesh p
98fa140b55
feat: preserve response viewer scroll position per tab (#5193)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
Co-authored-by: nivedin <nivedinp@gmail.com>
2025-07-28 14:58:04 +05:30
Rafael Laidlaw
913be953c3
fix: allow aws signature to work with query params (#5231)
Co-authored-by: Twix <twix@macbookpro.home>
Co-authored-by: Anwarul Islam <anwaarulislaam@gmail.com>
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-07-27 19:53:15 +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
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
Anwarul Islam
f52349e734
feat(common): authorization ui panel revamp (#5258) 2025-07-24 22:26:54 +05:30
Luke Barrett
9751625414
feat(common): add status code and additional metadata to GraphQL responses (#4435)
Co-authored-by: Anwarul Islam <anwaarulislaam@gmail.com>
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-07-24 16:52:33 +05:30
Shreyas
caadfc8c55
feat(kernel): extensible content media types (#5244) 2025-07-24 16:29:50 +05:30
Shreyas
899db05ab8
feat(desktop): portable phase-1 foundational: infra & build (#5259) 2025-07-24 15:45:48 +05:30
Alexandre Rodrigues Batista
876d0fd322
fix: preserve encoded characters in cURL URLs (#4792)
Co-authored-by: nivedin <nivedinp@gmail.com>
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-07-24 13:14:36 +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
Anwarul Islam
56c8652990
feat(common): enhance URL parsing to use environment variables on openapi import (#5232)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-07-14 14:12:28 +05:30
Shreyas
39124fb50d
fix(desktop): disk space detection on overlay fs (#5226) 2025-07-11 13:32:15 +05:30
Anwarul Islam
eecaa745af
chore(common): fixes lint errors and clean up code (#5237)
Co-authored-by: nivedin <nivedinp@gmail.com>
2025-07-11 12:56:03 +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
Sharad Saha
bf3e135679
fix: avoid shortcut conflicts in CodeMirror editors (#5224)
Prevents `alt+up` and `alt+down` from triggering global keybindings when focus is in CodeMirror editors or other typable elements.
2025-07-10 16:23:41 +05:30
Anwarul Islam
0b605fe9cb
feat(common): retry import openapi from url with proxy interceptor on network error (#5225)
Co-authored-by: nivedin <nivedinp@gmail.com>
2025-07-10 16:13:31 +05:30
jamesgeorge007
3452e721fa chore: remove unused imports 2025-07-09 17:04:00 +05:30
Nivedin
5f99819a67
fix: unicode error in postman import (#5213) 2025-07-09 16:58:51 +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
5a79c3ba2a
feat(desktop): tab shortcuts discoverability (#5229)
This adds tab navigation shortcuts to the shortcuts help dialog for
desktop users and conditionally shows them only in desktop mode.

The shortcuts help now includes a "Tabs" section with all available tab
management shortcuts, but only displays them when running in desktop
kernel mode to avoid confusing web users with non-functional shortcuts.

Closes FE-917

The desktop app already had functional tab navigation shortcuts, but
they weren't documented in the app's shortcuts help dialog (accessible
via `?` or `Cmd/Ctrl+/`). This made the shortcuts less discoverable for
users who wanted to learn about available keyboard controls.
2025-07-09 16:33:12 +05:30
Nivedin
27392a5793
fix: tooltip alignment update (#5217) 2025-07-07 13:18:28 +05:30
Shreyas
224525be66
fix(desktop): redirect menu bar events to window (#5200) 2025-06-26 13:33:15 +05:30
Shreyas
b1d4ad2bf8
chore(desktop): update typescript bump hash (#5199) 2025-06-26 11:38:18 +05:30
Anwarul Islam
965e4e1d44
feat(common): authentication strategy improvements (#5130)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-06-25 22:12:09 +05:30
jamesgeorge007
0d4df746cd chore: align TypeScript version across packages 2025-06-25 16:34:08 +05:30
jamesgeorge007
d674a2e8d2 chore: bump version to 2025.6.0 2025-06-25 14:15:29 +05:30
Nivedin
7952dbf34d
feat: ability to copy initial and current env value to eachother (#5195) 2025-06-25 14:12:51 +05:30
Krish Prajapati
08e5fa974c
refactor(backend): enhance auth strategies with type safety and better error handling (#5066)
Co-authored-by: mirarifhasan <arif.ishan05@gmail.com>
2025-06-25 14:02:01 +05:30
Anwarul Islam
19362a4291
fix(common): auto unescape utf-8 issue in the request body (#5185) 2025-06-25 13:55:43 +05:30
Nivedin
427a1811a5
chore: resolve global env in team env and tooltip UI update (#5187) 2025-06-25 13:32:37 +05:30
Akhil
594f078b4e
fix: output raw numbers in JSON filter (#5152)
fix: JSON response filter
2025-06-24 23:23:30 +05:30
Shreyas
78e623a847
feat(desktop): native tab keyboard shortcuts (#5190) 2025-06-24 23:16:31 +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
b2de105012 chore: merge hoppscotch/main into hoppscotch/next 2025-06-19 16:49:28 +05:30
Nivedin
8e5b44d7a4
chore: rename test to post-request (#5170)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-06-19 16:27:49 +05:30
Nivedin
15330b8a85
chore: remove spotlight animation (#5171) 2025-06-19 15:06:04 +05:30
Soumya Makkar
a1079ee61a
fix(kernel): body size calculation in web relay (#5141)
Co-authored-by: CuriousCorrelation <CuriousCorrelation@gmail.com>
2025-06-19 12:32:07 +05:30
jamesgeorge007
8a88016d00 chore: bump version to 2025.5.2 2025-06-18 18:05:26 +05:30
Nivedin
2e9f0400f9
chore: use initial value in runtime if current value is empty (#5162) 2025-06-18 17:01:20 +05:30
Nivedin
f6550350e0
fix: team env not migrating in edge cases (#5160) 2025-06-17 14:59:38 +05:30
Mayank Jain
ff8a8f5e71
fix: auth tokens not propagating to child requests (#5154)
Co-authored-by: Mayank <mayank@Mayanks-MacBook-Pro.local>
Co-authored-by: nivedin <nivedinp@gmail.com>
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-06-17 12:39:42 +05:30
Nivedin
44d5289a2d
fix: add fallback for isSecret key (#5157) 2025-06-16 18:22:52 +05:30
jamesgeorge007
bf9e6c423d chore: merge hoppscotch/main into hoppscotch/next 2025-06-13 16:15:56 +05:30
Shreyas
9eeac1ac70
chore(agent): version bump (#5150) 2025-06-13 15:18:43 +05:30
Nivedin
5049f6fde7
fix: team environment user access bug (#5149) 2025-06-13 14:29:27 +05:30
Shreyas
9ef2c461ba
feat(agent): file-based logs with rotation (#5147) 2025-06-13 13:48:33 +05:30
jamesgeorge007
4302a45477 chore: bump CLI version 2025-06-13 11:26:22 +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
Shreyas
754f076f18
fix(desktop): in-memory update progress polling (#5126)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-06-13 11:11:37 +05:30
Nivedin
936b0fff46
fix: admin dashboard team member count bug (#5143) 2025-06-13 09:57:03 +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
Paul Vogel
c00548f1f9
chore: German i18n string entry additions (#5142) 2025-06-12 20:42:37 +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
Ben
beb3184bb3
feat(common): change REST method text color based on selected method (#5116) 2025-06-11 11:56:46 +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
James George
5e33595c12
feat(common): in app console UI enhancements (#5120)
Co-authored-by: nivedin <nivedinp@gmail.com>
2025-06-06 23:38:11 +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
jamesgeorge007
07c79170f6 chore: bump CLI version 2025-06-02 17:33:28 +05:30
Nivedin
f8cd8bfce7
fix: desktop platform level env migration and codegen bug (#5110) 2025-05-29 19:26:21 +05:30
Nivedin
a325f2945d
fix: fill current value to existing value (#5109) 2025-05-29 18:36:58 +05:30
jamesgeorge007
caeddac94c chore: bump version to 2025.5.1 2025-05-29 15:14:19 +05:30
Nivedin
805ac88688
fix: environment and rest tab state schema migration (#5105) 2025-05-29 15:13:14 +05:30
jamesgeorge007
052dc1708c test: update CLI test suite
- Flexible assertions avoiding flakiness.
- Update test fixtures conforming to the schema.
2025-05-28 16:43:12 +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
jamesgeorge007
e1f78b185a chore: remove support for fetch from experimental scripting sandbox
To be revisited after addressing security implications.
2025-05-28 15:37:32 +05:30
Phaired
40c1c20de0
feat(lenses): enhance content type detection and lens selection logic (#5081)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-05-28 13:30:27 +05:30
Anwarul Islam
fea6d8cd64
fix: correct import order for HoppRESTAuth (#5101) 2025-05-28 12:18:08 +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
jamesgeorge007
a80573603b chore: bump version to 2025.5.0 2025-05-27 13:35:29 +05:30
Anwarul Islam
cf442c5450
feat(common): support importing OpenAPI YAML definitions from URL (#5098)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-05-27 13:33:33 +05:30
Anwarul Islam
b414496943
chore(common): improved i18n strings (#5099) 2025-05-27 12:31:26 +05:30
James George
aab2924139
feat: extend platform API support for experimental scripting sandbox (#5097) 2025-05-26 20:39:51 +05:30
Shreyas
935bc10c0b
docs(desktop): add minimum system requirements (#5096) 2025-05-26 12:22:21 +05:30
James George
656a15a983
feat: migrate to a unified scripting system based on faraday-cage (#5090)
Co-authored-by: curiouscorrelation <curiouscorrelation@gmail.com>
2025-05-23 22:54:27 +05:30
Nivedin
01d96fa577
feat: initial and current value for environment variables (#5055) 2025-05-23 22:38:36 +05:30
Mir Arif Hasan
e7aba8a914
chore(backend): update dependencies (#5085) 2025-05-22 16:32:58 +05:30
Nivedin
9371457d0d
chore: display platform links in app header (#5091) 2025-05-21 21:03:58 +05:30
Anwarul Islam
130facb440
fix: include request body to AWS V4 signer in effective request functions (#5084) 2025-05-21 21:02:07 +05:30
Shreyas
d213bec3ef
feat(kernel): multi-instance support for store (#5083) 2025-05-21 19:08:55 +05:30
Shreyas
1da961cef7
fix(desktop): extend file-write permissions (#5070) 2025-05-21 18:27:20 +05:30
Shreyas
d14a3c7f1c
fix(desktop): verbatim path handling in disk resolution (#5049) 2025-05-21 18:16:48 +05:30
Shreyas
2ecc60ad1a
feat(desktop): complete lifecycle logs (#5044) 2025-05-21 15:26:16 +05:30
Anwarul Islam
3980847983
feat(common): enhance HAWK authentication with payload hash calculation (#5067)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-05-20 17:01:04 +05:30
Anwarul Islam
2232f0291c
feat(common): add support for registering and merging additional locale messages (#5072)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-05-16 16:58:38 +05:30
Mir Arif Hasan
7ee33abdef
HSB-514 refactor: remove unused CollType GQL enum (#5074)
chore: removed unused CollType GQL enum
2025-05-16 16:55:56 +06:00
Binayak Bhattacharjee
9b0e1af92d
chore(backend): configure CORS for development and production environments (#4430)
Co-authored-by: mirarifhasan <arif.ishan05@gmail.com>
2025-05-14 12:29:24 +05:30
Mir Arif Hasan
46e5792965
chore: hoppscotch-backend code formatting, minor lint fixes, and refactoring (#5061)
* chore: prettier formatting applied

* chore: added some lint fixed

* fix: few lint errors

* chore: prisma and pubsub are now global module

* chore: add encapsulation consistency in service files

* chore: made a cast function private

* chore: cast function made private

* refactor: module imports

* refactor: posthog spelling
2025-05-09 15:37:20 +06:00
jamesgeorge007
c28e4103a8 chore: merge hoppscotch/main into hoppscotch/next 2025-05-08 16:44:12 +05:30
jamesgeorge007
b5e19c9d46 chore: bump version to 2025.4.2 2025-05-08 15:38:54 +05:30
Shreyas
e9096eaca1
fix(common): url and param encoding (#5041) 2025-05-08 15:29:08 +05:30
Chhavi Goyal
b6e2e93457
feat: import authorization header with curl (#4963) 2025-05-08 15:08:50 +05:30
Akhil
f26d32c4e4
refactor: rename enum TeamMemberRole to TeamAccessRole (#5053)
Co-authored-by: mirarifhasan <arif.ishan05@gmail.com>
Co-authored-by: Anwarul Islam <anwaarulislaam@gmail.com>
2025-05-07 17:56:10 +05:30
jamesgeorge007
609aaa4070 chore: merge main into next 2025-05-07 17:32:45 +05:30
jamesgeorge007
9e8ecd97d0 chore: bump version to 2025.4.1 2025-05-07 16:21:39 +05:30
shuaixr
dafe56cfe9
fix: default Content-Type to x-www-form-urlencoded when importing curl POST with body (#5040)
fix: handle missing Content-Type when importing curl POST

When importing a curl POST request with a body and no explicit
Content-Type, default to `application/x-www-form-urlencoded`
to match curl's behavior.

Reference: https://everything.curl.dev/http/post/content-type.html
2025-05-07 14:25:45 +05:30
Anwarul Islam
cb4ad87f08
feat(common): platform ui definition for team edit and invite (#5037)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-05-02 20:52:13 +05:30
jamesgeorge007
77daa1f589 chore: update inspector warning regarding supported interceptors
Proxy interceptor doesn't support Digest & HAWK Auth.
2025-04-30 12:51:45 +05:30
jamesgeorge007
63135a0633 chore: bump CLI version 2025-04-29 15:12:57 +05:30
jamesgeorge007
bed898b523 chore: define supported interceptors for HAWK authentication
Update lockfile.
2025-04-29 15:07:32 +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
Mir Ishfaq Hussain
cccd711507
refactor(backend): formatting updates in TeamEnvironmentsService (#4388)
Co-authored-by: mirarifhasan <arif.ishan05@gmail.com>
2025-04-29 14:37:03 +05:30
Raphael Hehl
cb52a582ac
feat(backend): add getTracker method for IP extraction (#3535)
Co-authored-by: Raphael Hehl <Raphael.Hehl@deutschebahn.com>
2025-04-29 14:29:01 +05:30
Dmitry
12f35d880d
feat: add file extensions to response exports (#4367)
Co-authored-by: Dmitry Mukovkin <d.mukovkin@cft.ru>
2025-04-29 13:51:34 +05:30
Shreyas
8c6ec87f90
fix(relay): better matching for content-type detection (#5025) 2025-04-29 13:10:08 +05:30
Andrew Bastin
decbb56c9f chore: bump vulnerable dependencies 2025-04-28 15:11:15 +05:30
jamesgeorge007
3219cb3b5d chore: bump version to 2025.4.0 2025-04-25 20:47:28 +05:30
jamesgeorge007
2b591b9536 test: resolve flaky CLI tests
Move to the in-house echo service for reliability.
2025-04-25 20:45:32 +05:30
Shreyas
fbeb0e56be
feat(desktop): file-based logs with rotation (#5009)
This PR adds a file-based logging system with size-based rotation to the desktop application. It essentially redirects existing diagnostic to size-based rotating files for troubleshooting environment-specific issues.

Closes HFE-801

The desktop application currently lacks a persistent logging mechanism in production environments. Logs are only available through the development mode console.

This PR will help diagnose issues reported in #4859, #4950, #5003, discussions #4984 and #4986.

Mainly aiming to understand errors in specific environments that can't be reproduced in our testing setups.

This implementation uses the tracing ecosystem (`tracing`, `tracing_subscriber`, `tracing_appender`) along with `file_rotate` to create log files in the platform's log directory. The logs are automatically rotated when they reach `10MB`, with a maximum of `5` files retained.

Thinking 10 * 5 MB is reasonable disk usage while maintaining sufficient history.

The system currently writes to both the console (with ANSI colors where supported) and to files (without ANSI formatting for readability). Log levels are currently controlled via the `RUST_LOG` environment variable, defaulting to "debug" when not specified.

| OS      | Log File Path                                        |
|---------|------------------------------------------------------|
| Windows | `C:\Users\<username>\AppData\Local\io.hoppscotch.desktop\logs\io.hoppscotch.desktop.log` |
| macOS   | `~/Library/Logs/io.hoppscotch.desktop/io.hoppscotch.desktop.log` |
| Linux   | `~/.local/share/io.hoppscotch.desktop/logs/io.hoppscotch.desktop.log` |
2025-04-25 17:09:51 +05:30
Shreyas
13b46d52f2
fix(desktop): disk space detection (#5019)
This fix replace `sys-info v0.9.1` with
the more actively maintained `sysinfo 0.34.2`
which does return size of the disk in bytes.

Closes #5017, HFE-831

Rebased on #5010, consider merging that first.

Issues:

Appload fails to load with a "Storage full" error despite
having sufficient disk space.

This was caused by a unit mismatch in the `sys-info` crate
which returns disk space in kilobytes instead of bytes.

- sys_info::disk_info() returns values in KB, see:
  60ecf1470a/c/linux.c (L119)
- The `StorageFull` error was triggered when comparing
  raw bytes against a KB value, causing false positive

Changes:
- Rewrite the `ensure_space` function to find the correct disk of the config dir
- Add a new `StorageError::DiskNotFound` for cases where the disk cannot
  be resolved
2025-04-25 16:57:37 +05:30
Shreyas
93787f8389
fix(desktop): add win version checks for DWM attr api (#5010)
fix: add win version checks for DWM attr api

This adds version checking before using Windows 11-specific DWM APIs.

Closes HFE-821

The desktop app crashes on startup on older Windows versions (pre-Windows 11)
due to unsupported DWM API calls for dark mode and caption styling.

According to docs at https://learn.microsoft.com/en-us/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute,
both `DWMWA_USE_IMMERSIVE_DARK_MODE` and `DWMWA_CAPTION_COLOR` attributes
are only supported starting with Windows 11 Build 22000.

> DWMWA_USE_IMMERSIVE_DARK_MODE: [...] This value is supported starting
> with Windows 11 Build 22000"

and

> DWMWA_CAPTION_COLOR: [...] This value is supported starting
> with Windows 11 Build 22000.

See https://github.com/hoppscotch/hoppscotch/discussions/4984 for more details,
for reports of app crashing immediately on startup with these errors:

```
Failed to set dark mode: Error { code: HRESULT(0x80070057), message: "The parameter is incorrect." }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
[0417/150158.530:ERROR:window_impl.cc(122)] Failed to unregister class Chrome_WidgetWin_0. Error = 1412
```

The tests were all over the place, both attributes (sometimes!) seems to be present
on Windows 10 1809 and even earlier, only if it was installed with network access,
so perhaps this is due to Windows updates? Other times, they weren't, especially on VMs.

The issue is reproducible on Windows Server 2019 Datacenter (v10.0.17763),
which is equivalent to Windows 10 version 1809.

This version is too old to support DWMWA_USE_IMMERSIVE_DARK_MODE,
which is only **officially supported** starting with Windows 11 Build 22000
according to Microsoft's documentation.

So at the moment, relying on official docs seems to be the right call,
and themes are definitely something app shouldn't crash for regardless.
2025-04-25 16:48:43 +05:30
Joel Jacob Stephen
485ac8c3c6
refactor(sh-admin): dashboard settings page redesign (#5014) 2025-04-24 20:24:32 +05:30
moaqz
a208125c7d
chore(i18n): update es translation (#4999) 2025-04-24 16:59:47 +05:30
Nivedin
f1b1a8894b
feat: add colour highlight for codesnippet (#5006)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-04-24 16:54:18 +05:30
jamesgeorge007
236db8396b chore: bump version to 2025.3.2 2025-04-15 13:16:56 +05:30
Akhil
4460751389
fix: account for templates directory in ARM images (#4992) 2025-04-15 13:13:53 +05:30
Nayan
45d99a48a2
fix(common): refine profile field validations (#4995) 2025-04-15 13:09:37 +05:30
atrimpe-ford
72cff75277
chore: truncate long secret environment variables (#4958)
Co-authored-by: nivedin <nivedinp@gmail.com>
2025-04-11 17:25:12 +05:30
Shreyas
80b63545f1
fix(common): extention interceptor response meta (#4980) 2025-04-10 13:28:20 +05:30
Anwarul Islam
3c150ec90a
feat(common): enhanced cookie parsing from curl arguments (#4977) 2025-04-10 12:56:05 +05:30
Anwarul Islam
111fdccfc8
feat: allow multiple params with same key to process get request queryparams (#4975)
Co-authored-by: curiouscorrelation <curiouscorrelation@gmail.com>
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-04-10 12:54:26 +05:30
jamesgeorge007
9a5b5323ab chore: bump version to 2025.3.1 2025-04-09 19:47:01 +05:30
Anwarul Islam
965c722ff8
feat(common): lenient OpenAPI imports (#4917)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-04-09 19:44:35 +05:30
Nivedin
8a1996126d
feat: add support to export http postman graphql request (#4967) 2025-04-09 15:53:12 +05:30
Mir Arif Hasan
ae5b745f5c
test(backend): account for race conditions in verifyMagicLinkTokens test suite (#4969) 2025-04-08 20:32:01 +05:30
Shreyas
9cc8b68077
fix(kernel): deterministic form data processing (#4945) 2025-04-08 14:50:04 +05:30
Nivedin
3cf286a443
fix(common): OpenAPI response example status code bug (#4966)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-04-08 14:46:29 +05:30
Nivedin
a263113147
chore: add organization dashboard link to profile dropdown (#4952) 2025-04-07 19:56:29 +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
Nivedin
fb2b677faf
fix: import bug with extension and agent interceptors (#4932)
Co-authored-by: curiouscorrelation <curiouscorrelation@gmail.com>
2025-03-28 17:52:45 +05:30
Christoffer Hjalmarsson
0c361faeab
fix(common): oauth2 basic header encoding (#4927) 2025-03-28 13:46:22 +05:30