Commit graph

5917 commits

Author SHA1 Message Date
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
Chhavi Goyal
b438e1d813
fix: prevent duplicate requests from showing active indicator simultaneously (#5605)
Co-authored-by: nivedin <nivedinp@gmail.com>
2025-11-24 14:18:21 +05:30
Nivedin
4bfd1c4453
fix: resolve collection variable referencing issues (#5584) 2025-11-24 14:02:07 +05:30
Nivedin
51840cb5e5
fix(common): preserve team environment name during collection runs (#5578) 2025-11-13 14:02:55 +05:30
Shreyas
b269dd8656
feat(ci): desktop workflow with platform jobs (#5568)
This updates the Desktop Self Host workflow with selective platform builds,
 standardized secret naming, and artifact organization, synchronizing with
 the CI workflow patterns and completing the broader CI/CD updation cycle.
2025-11-13 11:39: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
James George
654e18fce9
chore: v2025.10.0 release 2025-10-31 11:32:37 +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
jamesgeorge007
c73e71827a chore: streamline pnpm versioning 2025-10-30 12:13:04 +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
jamesgeorge007
881c71560b ci: pin Node.js to v22 to avoid isolated-vm incompatibility
Node.js `v24` became LTS recently, causing CI failures due to `V8` API
incompatibilities with isolated-vm `v5.x`. Pinning to `v22` aligns with our
production environment (Alpine `v3.22.1` ships Node.js `v22.16.0`) and ensures
build stability.

`isolated-vm v6+` will be required for Node.js `v24` support and will be
addressed in a future dependency update cycle.
2025-10-29 12:35:33 +05:30
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
Shreyas
a3ca9cab81
feat(ci): agent workflow with platform jobs (#5514)
This replaces the matrix-based Agent build strategy with dedicated
 platform-specific jobs, synchronizing with the Desktop workflow
 patterns and preparing for the broader CI/CD updation cycle.
2025-10-27 18:35:20 +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