Commit Graph

6011 Commits

Author SHA1 Message Date
curiouscorrelation
8ab77ba7d8 fix(common): use has() to handle falsy values
`CURRENT_INTERCEPTOR_ID` can default to empty string, which is falsy,
 so the truthiness check skipped deletion. Now deprecated properties are
 removed regardless of their stored value.
2026-02-04 13:45:27 +05:30
curiouscorrelation
2d5cf80bf8 fix(common): deprecate legacy interceptor system
This removes the legacy `std/interceptors/` directory and associated
 infrastructure in favor of the kernel-based interceptors introduced
 earlier. The legacy system was kept around for backward compatibility
 but is now fully superseded by `std/kernel-interceptors/`.

 Closes FE-1061

 The legacy interceptor system had parallel implementations for agent,
 extension, and proxy interceptors that duplicated logic already present
 in the kernel-based equivalents.

 ### What's removed

 Legacy interceptor impls:
 - `std/interceptors/agent/` (AgentInterceptorService, persisted-data, modals)
 - `std/interceptors/extension.ts` (ExtensionInterceptorService)
 - `std/interceptors/proxy.ts` (proxyInterceptor)
 - `std/interceptors/helpers.ts` (preProcessRequest)

 UI components:
 - `components/interceptors/agent/` (RegistrationModal, RootExt, CA/Client cert modals)
 - `components/interceptors/ExtensionSubtitle.vue`
 - `components/interceptors/ErrorPlaceholder.vue` →  moved to `components/settings/` with a few modifications

 Service infra:
 - `services/interceptor.service.ts` and it's tests
 - `services/spotlight/searchers/interceptor.searcher.ts`
 - `modules/interceptors.ts` module
 - `platform/interceptors.ts` platform definition
 - `platform/std/inspections/extension.inspector.ts` and tests

 Mostly cleanup:
 - Removed `CURRENT_INTERCEPTOR_ID` from `SettingsDef`
 - Updated settings migration to delete legacy interceptor ID
 - Removed from persistence validation schema
 - Removed `agent.open-registration-modal` action since the legacy agent
 registration flow is no longer used. The kernel-based agent interceptor
 handles registration through its own service.

 ### What's kept/moved

 The `ErrorPlaceholder.vue` component is still needed by kernel
 interceptors, so it's moved to
 `components/settings/InterceptorErrorPlaceholder.vue`
 with imports updated across all interceptors.

 The `preProcessRequest` helper from the legacy system is not needed
 since kernel interceptors use `preProcessRelayRequest` from
 `helpers/functional/process-request.ts`.

 ### Migration

 Settings migration in `newstore/settings.ts` now:
 - Deletes `EXTENSIONS_ENABLED` without migrating (legacy)
 - Deletes `PROXY_ENABLED` without migrating (legacy)
 - Deletes `CURRENT_INTERCEPTOR_ID` if present

 Users on the legacy system will have their interceptor selection reset
 to the platform default on first load. This is acceptable since the
 kernel interceptor system has been the active path for some time so
 there's little to no chance the legacy system still being in use.

 ### Notes to reviewers

 The legacy `x25519.utils.randomPrivateKey()` issue mentioned in the
 audit ticket doesn't need fixing since that code is being removed
 entirely.

 Testing should verify interceptor selection works in settings,
 spotlight search for interceptors functions correctly, and that
 no runtime errors occur from missing imports.
2026-02-04 13:29:06 +05:30
No jae gun
2dc3463b69 fix(backend): use duration instead of timestamp for auth cookie maxAge (#5821)
The maxAge option in Express's res.cookie() expects a duration in milliseconds, not an absolute timestamp. The previous code was adding `Date.now()` to the validity period, causing cookies to expire decades in the future instead of the intended 1 day / 7 days.

This was particularly problematic on macOS due to stricter cookie handling by Safari/WebKit.

Addresses #5818

Co-authored-by: njg7194 <njg7194@users.noreply.github.com>
2026-02-04 11:08:07 +05:30
Leonic
3c0938da9d fix(common): prevent support menu from triggering in editors (#5811) 2026-02-03 23:46:08 +05:30
Mayank Jain
fcf31a4fd8 fix: broken scroll on latest chrome versions (#5816)
Co-authored-by: nivedin <nivedinp@gmail.com>
2026-02-03 12:07:54 +05:30
Leonic
fbe0b8fd10 fix(common): handle null request ref in InspectionService for test-runner tabs (#5814)
Co-authored-by: James George <25279263+jamesgeorge007@users.noreply.github.com>
2026-01-29 23:09:34 +05:30
James George
645ecb55d8 fix: prevent memory leaks in experimental scripting sandbox (#5800)
- Cache and reuse a single `FaradayCage` WASM instance to avoid repeated allocations.
- Dispose `InspectionService` watchers via `effectScope` to prevent accumulation on tab switch.
- Use `Set` for environment variable key lookups in validation.
- Dispose Monaco editor models on component unmount.
2026.1.0
2026-01-28 11:47:31 +05:30
James George
913863bd09 chore: bump CLI version 2026-01-23 21:20:36 +05:30
James George
8991f2a490 chore: bump version to 2026.1.0 2026-01-23 21:18:39 +05:30
Leonic
dcc36d2a35 feat(common): display user roles in member stack tooltips (#5793) 2026-01-23 20:44:10 +05:30
abhibarkade
fb09afbd71 feat(common): show full request path in tab tooltip (#5750)
Co-authored-by: Code3B <97300790+code3b@users.noreply.github.com>
2026-01-23 20:30:35 +05:30
Shreyas
6348d17955 fix(desktop): use store dir for unified store path (#5799)
The desktop shell was reading from `instance/hoppscotch-unified.store` while the webapp writes to `store/hoppscotch-unified.store`. This caused the app to lose track of the last connected instance on restart.

Closes FE-1121
2026-01-23 18:20:00 +05:30
Shreyas
c64928885f feat(desktop): host mapping infra for cloud orgs (#5795) 2026-01-23 15:07:44 +05:30
Leonic
65046526f0 fix(common): ignore shift keybindings in CodeMirror editors (#5794) 2026-01-23 14:35:02 +05:30
Swanand Keskar
05875cc65b docs(desktop): add installation instruction using Homebrew (#5790)
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2026-01-23 11:45:58 +05:30
shaezard
1824990980 fix: add teamID/userUid filter to updateMany queries, Fixed Row level locking to prevent deadlocks and achieve ~100x performance improvement (#5647)
* fix: add teamID/userUid filter to updateMany queries

Prevents cross-user/cross-team orderIndex corruption

* fix: fix orderIndex of existing collections

* feat(backend): add cascade delete for collections

- Add onDelete: Cascade to TeamCollection parent relationship
- Add onDelete: Cascade to UserRequest → UserCollection relationship
- Remove manual recursive deleteCollectionData methods
- Simplify deleteUserCollection and deleteTeamCollection services
- Add Prisma migration for cascade delete foreign keys

Resolves #5654

* refactor(team-collection): remove manual deleteCollectionData method

Resolves #5654

* fix(backend): fixed locking mechanisms for collections and requests

- User/Team Collection/Requests

Resolves #5666

---------

Co-authored-by: Abdur Rahman Daanish <abdurrahman_daanish@intuit.com>
2026-01-23 00:32:48 +06:00
James George
a998d6c493 feat(js-sandbox): add extensive Web Crypto API support (#5791) 2026-01-22 17:30:06 +05:30
Jorge Alexander Taberoa Jimenez
4e717d79a5 chore(common): complete missing Spanish translations (#5761)
Co-authored-by: Jorge Alexander Taberoa Jimenez <taberoajorge@users.noreply.github.com>
2026-01-22 17:07:12 +05:30
Mir Arif Hasan
4f13549ed2 chore: security patch for the dependency chain v2026.1.0 (#5786)
Co-authored-by: James George <25279263+jamesgeorge007@users.noreply.github.com>
2026-01-21 23:25:40 +05:30
Nivedin
69c7c2d9ad fix(common): restore scrolling on response panel (#5783) 2026-01-20 19:26:01 +05:30
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
Mir Arif Hasan
992579e285 fix: improve endpoint parsing in parseExample method (#5762) 2026-01-20 12:46:13 +06:00
Anwarul Islam
194c9496aa fix(common): prevent duplication of request ID when duplicating requests (#5781) 2026-01-19 14:27:58 +05:30
NoobFullStack
4d862c2f4b feat(common): update and complete Dutch translations for Hoppscotch UI (#5734)
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
Co-authored-by: James George <25279263+jamesgeorge007@users.noreply.github.com>
2026-01-16 22:12:48 +05:30
NoobFullStack
823d9055a2 fix(common): correct typo in repo French locale (#5733) 2026-01-16 19:37:46 +05:30
NarekCodes
818f9ab0ca feat(common): add armenian translation (#5740) 2026-01-16 19:35:28 +05:30
Gerard Balaoro
bdc2d33f50 feat(common): use jq for JSON response filtering (#5703)
Co-authored-by: James George <25279263+jamesgeorge007@users.noreply.github.com>
2026-01-15 15:02:56 +05:30
Chhavi Goyal
bbb7fdf819 fix(common): prevent hang when highlighting large responses (#5714)
Co-authored-by: James George <25279263+jamesgeorge007@users.noreply.github.com>
2026-01-15 13:52:17 +05:30
James George
dfe3d05c5a fix(cli): inherit collection variables in folders without own variables (#5771) 2026-01-14 19:54:36 +05:30
James George
d3144f99fb fix: strip comments from JSON request bodies in CLI (#5769)
Fixes collections with JSON comments failing in the CLI with `SerializationException` while working fine in the app, where comments are stripped before sending requests, but the CLI was sending them as-is, breaking APIs like AWS Cognito that expect valid JSON.
2026-01-14 17:06:30 +05:30
Aaron Fort Garcia
254eb3c958 fix(common): environment variable mapping when referencing other variables (#5704) 2026-01-14 13:12:16 +05:30
aparna-bhatt
6c2128fbed feat(common): add copy functionality to console output entries (#5743)
Co-authored-by: James George <25279263+jamesgeorge007@users.noreply.github.com>
2026-01-12 13:24:52 +05:30
James George
84c3e8642c fix: enable scrolling for console tab in response section
Adds `overflow-auto` to `HttpResponse` component to create a scroll container
that enables console entries to scroll when content exceeds viewport.
Removes unnecessary `overflow-y-auto` from `ConsolePanel` component since scrolling
is now handled at the `HttpResponse` level.

Fixes the console tab scrolling issue by following the same component-level
approach as PR #5695 (Settings/Profile scroll fix).
2026-01-09 17:11:29 +05:30
Shreyas
b3b609d0b4 perf(desktop): cache store path resolution (#5747) 2025.12.1 2026-01-06 14:08:29 +05:30
James George
9693a82a87 chore: bump version to 2025.12.1 2026-01-05 16:15:09 +05:30
James George
f34e06b7d1 fix: remove redundant label on the Desktop App
Follow up of 67dff5f.
2026-01-05 16:13:34 +05:30
Mir Arif Hasan
212b15890e chore: apply ThrottlerBehindProxyGuard across controllers (#5746) 2026-01-05 14:02:56 +06:00
James George
67dff5fe0f refactor: backport cloud for orgs related foundational changes
- Remove organization branding updates.
- Update `Hoppscotch Cloud` organization sidebar item.
- Ensure organization switcher sidebar isn't displayed on the central cloud instance.
2025.12.0
2025-12-22 13:06:59 +05:30
Stanislav Horáček
29d8b6cc77 chore(common): Czech translation updates (#5672)
Co-authored-by: James George <25279263+jamesgeorge007@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-21 20:06:14 +05:30
Denny Jiang
7092e77fe0 chore(common): Chinese translation improvements (#5699) 2025-12-21 20:04:49 +05:30
Yun Juhwan
24eb33707c chore(common): update product name in Korean translation for consistency (#5660)
Replaces phonetic Korean translations with the original product name, matching the approach used in other Asian locales (ja, cn).
2025-12-21 19:53:16 +05:30
Anwarul Islam
3c2bc6caf3 feat(common): create and manage example responses in collections (#5652)
Co-authored-by: James George <25279263+jamesgeorge007@users.noreply.github.com>
2025-12-19 23:14:21 +05:30
James George
d91c554fca chore: cleanup organization sidebar i18n strings
- Remove unused i18n keys (organizations, no_orgs, expand, collapse, status badges).
- Consolidate inactive org tooltips into single key.
- Simplify `multi_account_notice` text for clarity.
2025-12-19 23:09:23 +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
440868d635 chore: bump version to 2025.12.0 2025-12-19 17:19:24 +05:30
James George
c9d0ea78bb chore: i18n string addition
Informational message indicating each organization instance maintains its own authentication state.
2025-12-19 17:18:23 +05:30
Aaron Fort Garcia
c7e453455b fix(common): resolve Postman API key authorization header import mapping (#5701) 2025-12-19 17:11:22 +05:30
James George
a0bc22968d docs(common): clarify desktop organization switching behavior 2025-12-19 12:48:48 +05:30
James George
3d8810ec74 feat(common): add platform support for organization switcher (#5708)
Extends the organization platform definition to support switching between multiple organizations and displaying custom branding (logo and name) in the application header. Adds shared utilities for file uploads and avatar generation, including deterministic colour support.

These changes enable the Cloud for Organizations tier to offer:
- Multi-organization switching via sidebar UI.
- Custom logo uploads for organization branding.
- Seamless navigation between different organization instances.
2025-12-19 12:39:50 +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