Commit graph

2028 commits

Author SHA1 Message Date
Anwarul Islam
bedb0ffdb6
fix(common): improve authorization header handling (#4818) 2025-03-26 17:12:41 +05:30
Christoffer Hjalmarsson
ba165bc505
fix(common): oauth2 password flow not respecting scopes (#4940) 2025-03-26 16:50:36 +05:30
Pranay Pandey
b9ea5f7916
feat: search requests by endpoint in personal workspace (#4779)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-03-26 15:22:14 +05:30
Shreyas
d00c219401
fix(desktop): enable cookie support for sh-desktop (#4939) 2025-03-26 15:01:36 +05:30
Shreyas
72ff950d91
fix(relay): avoid override with header passthrough (#4931)
The current implementation causes duplicate `Content-Type` headers when users
override headers in the UI or use OAuth2 authentication with the agent.
Web servers receive multiple `Content-Type` headers which causes
undefined behavior and 400 errors for backends that don't accept duplicate headers.

This also fixes inconsistent behavior when overriding the `Content-Type` header
with custom values (e.g., `application/json;v=2`).

While HTTP/1.1 headers are case-insensitive per RFC 7230, inconsistent handling
across server implementations can treat differently-cased variations (e.g.,
"Content-Type" vs "content-type") as distinct headers. HTTP/2 (RFC 7540) mandates
converting all header field names to lowercase, which would prevent this issue.

This patch removes the automatic content-type header insertion, allowing user-defined
headers to take precedence without duplication. The is a temporary
workaround until we implement a HTTP/2-compliant solution with proper normalization.

This was implemented initially to support moving lower level handling
towards the kernel, although since the larger refactor has been slightly
deferred in favor of stability, this change is suitable for current
state.

This will be revisited when we implement HTTP/2 compliant header handling in the
kernel layer as part of our upcoming kernel efforts.

Use the following request to test this out on Desktop app and Agent and
override `Content-Type` header to `application/json;=v2`:

```
curl --request POST \
  --url 'https://echo.qubit.codes/?qp=1' \
  --header 'Content-Type: application/json;v=2' \
  --data '{ "test-key": "test-value" }'
```
2025-03-25 16:34:27 +05:30
SimonAllen
f5beabed1e
chore(i18n): update tw translation (#4920) 2025-03-25 16:32:25 +05:30
Nivedin
e43d0f1b70
feat: add search in environment selector and sidebar (#4872)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-03-24 22:18:19 +05:30
Anwarul Islam
1a2b9516c9
feat(common): click to activate environment from sidebar as primary (#4873)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-03-21 13:22:46 +05:30
jamesgeorge007
d8e297f61e chore: merge main into next 2025-03-19 16:52:23 +05:30
Shreyas
86c0bb619d
fix(infra): deterministic env var ordering (#4893)
This change sorts environment variables alphabetically before they're
processed with import-meta-env that injects them into the index.html.
This makes sure consistent hashes across pod restarts when there aren't
any functional changes made to the `.env` file.

The issue was affecting desktop app reconnections after k8s pod restarts.

The cause was non-deterministic env var ordering (a sideeffect of `Map`)
during the import-meta-env injection process. Even when the env vars
themselves didn't change, their order in the injected JSON could change,
ultimately resulting in different file hashes.

This fix ensures that regardless of the order in which env vars are
provided by the runtime, they will be sorted alphabetically before being
written to the build.env file.
2025-03-19 16:08:47 +05:30
Shreyas
18c233b9f9
fix(common): normalize headers before final relay (#4911) 2025-03-19 15:47:41 +05:30
Nivedin
346a1a3688
fix: resolve issues around import via URL (#4906) 2025-03-19 15:10:20 +05:30
jamesgeorge007
8c67c832d2 chore: bump version to 2025.2.3 2025-03-19 14:41:08 +05:30
Shreyas
51124e91b5
fix(desktop): fix missing ca certs when client certs are not present (#4888) 2025-03-19 14:37:55 +05:30
Shreyas
60cc41f745
fix(desktop): preserve formdata ordering (#4892) 2025-03-19 14:04:13 +05:30
Anwarul Islam
5f3a7754d5
fix(common): handle missing host and basePath in OpenAPI URL parsing (#4908)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-03-19 13:50:03 +05:30
Shreyas
2b5395011a
fix(common): pre-process proxy response to base type (#4910) 2025-03-19 13:12:32 +05:30
Nivedin
e2e5d4f1d5
fix: resolve issues around rendering HTML response previews (#4890)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-03-18 13:32:07 +05:30
jamesgeorge007
176e924bed fix: prevent dev server crashes due to breaking changes in the vue-i18n suite of tools
Migrate from `vite-plugin-vue-i18n` to `@intlify/unplugin-vue-i18n`.
2025-03-18 12:29:18 +05:30
Shreyas
03130a5317
fix(kernel): pre-req transformers for backcompat (#4883) 2025-03-17 14:28:49 +05:30
Nivedin
094ba7dfe4
chore: replace old interceptor component with new one (#4887)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-03-14 20:50:05 +05:30
Chhavi Goyal
622b753c55
fix: preserve hierarchy during personal collection imports (#4815)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-03-14 13:46:04 +05:30
Anwarul Islam
924a7c778e
feat: improve graphql query builder (#4742)
Co-authored-by: nivedin <nivedinp@gmail.com>
2025-03-13 17:02:14 +05:30
jamesgeorge007
84dc586582 chore: merge main into next 2025-03-13 16:34:58 +05:30
Shreyas
212cd4969d
docs(desktop): include windows specific caveats (#4884) 2025-03-13 16:25:25 +05:30
Anwarul Islam
f63474cd06
fix(common): correct coordinates calculation for selection end position (#4826) 2025-03-13 13:56:04 +05:30
Nivedin
acd190f3e9
fix: update the newline key in codemirror (#4876)
Co-authored-by: Jai A P <jai.jap.318@gmail.com>
2025-03-12 15:51:23 +05:30
jamesgeorge007
6bd2574cba chore: bump agent version to 0.1.6 2025-03-12 14:08:06 +05:30
jamesgeorge007
05399d874a chore: bump version to 2025.2.2 2025-03-12 13:59:11 +05:30
luzpaz
a8bf6c0611
fix: resolve typos across packages (#4867) 2025-03-12 13:53:08 +05:30
jamesgeorge007
e6fee11305 fix: persist active workspace selection
This is observed particularly in the cloud offering. The proposed changes ensure the relevant login state is confirmed before the network call, maintaining backwards compatibility with SH.
2025-03-11 16:04:03 +05:30
jamesgeorge007
d3f0e8303a chore: merge main into patch 2025-03-10 22:47:15 +05:30
Shreyas
9dc158877e
docs(desktop): update README (#4864)
Co-authored-by: James George <25279263+jamesgeorge007@users.noreply.github.com>
2025-03-10 22:46:15 +05:30
Shreyas
dd3bf52711
feat(kernel): isolate type ser/de to platform (#4860) 2025-03-10 22:45:51 +05:30
Shreyas
3f37a055b1
feat(desktop): update check timeout (#4868)
`2s` -> `5s`
2025-03-10 22:41:57 +05:30
luzpaz
072c759cd0
fix: typos in packages/hoppscotch-common/src/platform (#4855) 2025-03-10 12:53:42 +05:30
Shreyas
81f2dce531
fix(agent): version bumps (#4849) 2025-03-06 18:16:09 +05:30
Shreyas
8319914caf
fix(desktop): increase bundle download timeout (#4844) 2025-03-06 16:44:29 +05:30
Shreyas
2bed24307a
fix(common): proxy interceptor json response decode (#4840) 2025-03-06 15:58:03 +05:30
jamesgeorge007
ced98b997a chore: bump version to 2025.2.1
Bump Agent version to `0.1.5`.
2025-03-06 15:41:15 +05:30
jamesgeorge007
32e38367d5 chore: add missing i18n string entries 2025-03-06 15:37:49 +05:30
James George
e5be5ff227
fix(common): resolve issues around shared workspace invite validation (#4836) 2025-03-06 12:53:49 +05:30
Anwarul Islam
f3840e4342
fix(common): make cursorPosition field optional in HoppGQLDocument type (#4834) 2025-03-05 19:55:07 +05:30
Nivedin
6ce0fb8897
fix: environment variable not working on auth (#4829) 2025-03-05 19:50:16 +05:30
Nivedin
ce99617aac
fix(common): exception while clicking request history entries (#4832) 2025-03-05 19:14:55 +05:30
Shreyas
42f90d3f05
fix: enable aws auth passthrough (#4825) 2025-03-05 18:31:59 +05:30
Shreyas
8be8178b05
fix: support for apikey auth for native interceptors (#4821) 2025-03-05 14:15:37 +05:30
Shreyas
3f5e7ea9c0
fix(agent): mention name in updater dialog (#4822) 2025-03-05 13:45:39 +05:30
Shreyas
5f0acab055
fix: kernel-io calls via openExternalLink (#4807) 2025-03-05 13:03:55 +05:30
Nivedin
ae0303415a
fix: order request while fetching from db (#4814) 2025-03-04 20:51:55 +05:30