Commit graph

148 commits

Author SHA1 Message Date
Andrew Bastin
ba64fea681
chore: bump vulnerable dependencies (#4943) 2025-03-27 22:45:29 +05:30
jamesgeorge007
3c535b2ad4 chore: bump version to 2025.3.0 2025-03-27 13:15:30 +05:30
Shreyas
d00c219401
fix(desktop): enable cookie support for sh-desktop (#4939) 2025-03-26 15:01:36 +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
jamesgeorge007
8c67c832d2 chore: bump version to 2025.2.3 2025-03-19 14:41:08 +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
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
jamesgeorge007
05399d874a chore: bump version to 2025.2.2 2025-03-12 13:59:11 +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
Shreyas
d4125ffd7b
chore: bump version in webapp server (#4795) 2025-02-28 16:49:44 +05:30
Shreyas
a6147f4ce4
feat: platform independent core and the new desktop app (#4684)
* feat(desktop): init

* feat(desktop): external app download and setup

* feat(desktop): offload app load to plugin system

* perf(desktop): add rdbms facade and caching layer

* feat: parallelize signing, shared trust, lru cache

* feat: webapp encoder + compressor + hasher server

* feat(desktop): app autoupdate with hashed loader

* feat(kernel): init `hoppscotch-kernel`

* feat(kernel): `io`

* feat(kernel): `network`

* feat(kernel): `network` - native interceptor

* feat(kernel): `network` - interceptor - rest

* feat(kernel): `network` - interceptor - graphql

* feat(kernel): `network` - interceptor - capabilities

* feat(kernel): `network` - interceptor - `FormData`

* feat(kernel): `network` - interceptor - `oauth2.0`

* feat(kernel): `store`

* feat(desktop): dragging, traffic light, plugin workspaces

* feat(kernel|wip): `store`

* feat(kernel): `network` - capabilities - with active

* feat(kernel|wip): `network` - interceptor - `proxy`

* feat(kernel|wip): `network` - relay ext

* feat(kernel): `network` - interceptor - `proxy`

* feat(kernel): `network` - interceptor - decoding

* feat(kernel): `network` - interceptor - Kernel Err

* feat(kernel): `network` - flow transformation

* feat(kernel): `network` - request status

* fix(desktop): repositioning traffic lights on fullscreen exit

* feat(kernel): `network` - interceptor - `agent`

* feat(kernel): `store` - track updates

* feat(kernel): `network` - interceptor - extension

* feat(kernel): `network` - updates as overrides

* feat(interceptor): pre-process request encoding

* fix(ui): mismatched extension button size/position

* feat(kernel): `network` - interceptor - `browser`

* feat(native): common certs componsable

* fix(kernel): interceptor selection store and json parse

* feat(kernel): `network` - consistent multipart encoding

* feat(kernel): `network` - interceptor - `OAuth2.0`

* feat(kernel): `network` - interceptor - cookie support

* feat(agent): registration list, log-sink, relay

* feat(kernel): `network` - interceptor subtitles

* feat(kernel): `store` - persist network settings

* fix(agent): encrypted ser/de certificate requests

* feat(kernel): `kernelInterceptor` spotlight service

* fix(kernel): gql introspection edge-case schema

* ref: conditionals for migrated components

* feat(kernel): `localaccess` capability via relay

* feat(kernel): `network` - explicit types and lint

* feat(kernel): `store` - isolate host and platform

* feat(kernel): `store` - persistence service

* fix(infra): whitelisted origins, non-std engines

* feat(desktop): impl deep-link callbacks

* feat(kernel): `auth`

* feat(kernel): `io` - event listeners

* feat(kernel): platform migration

* fix: dep `vue` import on Win 11

Fixes `error TS2305: Module '"vue"' has no exported member
'VueConstructor'.` arising from `splitpane` dependency.

* fix(webapp-server): platform independent res paths

* feat(desktop): auth and emit via embedded server

* feat(platform): host, csp and bundle compatibility

- Bundle name format for using as host
- Windows UI handler HWND casting and version detection
- CSP headers type handling in URI protocol
- Protocol whitelist in env config

* feat(desktop|wip): login flow with `auth-tokens`

feat(desktop|wip): typesafe auth

* feat(backend): `auth` token flow, gql/websocket

feat(desktop): working auth for gql

feat: gql client with refresh token

* feat(backend): `auth` token flow, authorization bearer

* fix(gen): qualifier clash when invalidating cache

* feat(common): coordinated initialization service

* fix(desktop): appload persistence in data json

* feat(desktop|wip): desktop icons and updater

* fix: typos in readme docs

* fix: docker ignore copying on windows

* fix: update `.lock` file after rebase

* fix: `persistenceService` setup in tests

* fix: remove old console logs

* fix: console error on invalid schema

Show console error if default value is used when loading invalid data from
local storage

* fix(test): `PersistenceService` methods

* fix(test): `PersistenceService` rest tab state

* fix(test): `PersistenceService` gql tab state

* fix(test): `PersistenceService` global env

* fix(test): `PersistenceService` mqtt request

* fix(test): `PersistenceService` sse request

* fix(test): `PersistenceService` socketio request

* fix(test): `PersistenceService` websocket request

* fix(test): `PersistenceService` secret environment

* fix(test): `PersistenceService` selected env

* fix(test): `PersistenceService` collections

* fix(test): `PersistenceService` environments

* fix(test): `PersistenceService` history

* fix(test): `PersistenceService` settings

* fix(test): `PersistenceService` migrations

* fix(test): `InspectionService` request inspector

* feat(desktop): button to clear bundle/key cache

This is useful when there are partial updates to the web app or bundle gen server
which haven't been correctly propagated when the app bundle was downloaded.

If the user were to change the self host instance without updating the
desktop app; which is possible albeit rarely under very certain circumstances,
desktop app will refuse to load the bundle, this is because the desktop app
cannot differentiate between partial updates vs incorrect bundle being hosted
since both will fail verification.

The button lets the user decide what should be the appropriate action,
clear the bundle and trust the hosted app
or make sure the app is built and hosted correctly.

* fix(desktop): enforce one version per instance

This was part of a leftover scaffolding from development.

* fix(desktop): bundle url not stored after download

* fix(desktop): stalling progress on updates

* fix(backend): helper to parse cookie into kv-pairs

* feat(desktop): launch session on working endpoints

* fix(common): preserve `auth` structure and default

* fix: loading native networking with kernel mode

* fix: fallback for unhandled response error

* fix: `urlencoded` content request processing

* feat: `interceptor` - error mapping for `browser`

* fix: backwards compatibility for `digest` auth

* fix: platform check for `initializationService`

* fix: `interceptor` - analytics `strategy` resolution

* fix: `interceptor` - check for `cookies` component

* fix: enable digest auth support for `native`

* test: `interceptor` - kernel interceptor

* fix(relay): `grantType` casing for OAuth2.0

* test(wip): kernel transformers

* fix(relay): auth headers discarding others

* fix(desktop): http version deserialization

* fix(common): `grantType` extractor, auth processor

* fix: `PersistenceService` - parsing edge cases

* fix(infra): post rebase fixup

* fix(web): component structure and lint

* fix(desktop): cohesive splash opener, scroll url section

* fix: explicit auto auth and docs on url auth

* fix(relay): special chars failing proxy auth

* fix: finer cert control setting option

* fix: post-rebase fixup

* feat(appload): ability to vendor pre-built bytes

* fix: avoid copying over `target` dir in containers

* fix: auth key missing in capability set

* fix(desktop): relax `refresh_token` requirement

This is to support Firebase token

* fix(desktop): normalization for Windows WebView

* feat(desktop): instance switcher and vendored app

* fix(desktop): merge artifacts and conflicts

* feat(desktop): instance switcher improvements

* fix: derive instance name from normalized name

* fix: pkg links, lints and UI edge cases

* feat(desktop): restore window state after relaunch

* fix(desktop): distinguish header for cloud/default

* fix: instance switcher in web mode

* fix: close dropdown on new instance modal

* fix: whitelist vendored app origin

* feat(desktop): platform parity - `collections`

* fix: history entries population desync

* fix(desktop): check for history storage status

* fix(desktop): safe parse `globalEnv`

* feat(desktop): platform parity - `environment`

* fix: use settings store for proxy url

* fix: lint, unused imports

* fix: proxy input enabled for other interceptors

* feat: reverse proxy for desktop app server

* fix: duplicate entries after connecting to sh

* fix: specify instance org qualified

* fix: remove debugging logs

* feat(desktop): enable `devtools` in release builds

* fix(desktop): prepend protocol validation edgecase

* feat(desktop): clear cache on removing instance

* fix: better response toast message

* fix: avoid reverse proxy for webapp server

* fix(desktop): ignore subpath in instance name

* feat: switcher ui/ux improvements

* feat: more switcher ui/ux improvements

* feat(server): specify bundle version at build time

* fix(desktop): missing migration as rebase artifact

* fix: minor switcher ui/ux improvement

* fix: rebase artifacts

* fix: consolidated toast on success

* fix: missing i18n strings

* fix(desktop): handle drag and drop fe side

* feat: confirmation modal on instance removal

* chore: minor UI update

* chore: minor UI changes

* fix: gql connection partial refactor

* fix: resolve merge artifacts

* chore: prod lint

* feat(desktop): better desktop app update ux

* fix: broken gql connection.ts

---------

Co-authored-by: nivedin <nivedinp@gmail.com>
Co-authored-by: Andrew Bastin <andrewbastin.k@gmail.com>
2025-02-28 00:01:25 +05:30
Akash K
3563e1eb16
chore: move openapi validation and dereferencing to a worker (#4789) 2025-02-26 19:04:15 +05:30
jamesgeorge007
d8875043cd chore: bump version to 2025.2.0 2025-02-24 12:36:00 +05:30
James George
49430528e5
refactor: foundational changes to support subdomain based cloud instances (#4704) 2025-02-24 12:24:28 +05:30
luzpaz
ce0eaf1d84
fix: typos under hoppscotch-selfhost-desktop package (#4766) 2025-02-20 13:45:29 +05:30
jamesgeorge007
98a2631ba4 chore: bump version to 2025.1.1 2025-02-07 14:53:00 +05:30
Anwarul Islam
ede275425b
fix: properties not inherited while importing from postman (#4725)
Update collection-level platform definitions

Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2025-02-07 14:45:51 +05:30
jamesgeorge007
7be23dfb59 chore: bump version to 2025.1.0 2025-01-30 11:23:20 +05:30
jamesgeorge007
b54edd2edb chore: bump version to 2024.12.2 2025-01-27 14:27:46 +05:30
jamesgeorge007
b48c982ea6 chore: bump version to 2024.12.1
Bump CLI version to `0.20.2`
2025-01-15 18:45:19 +05:30
Akash K
8b70d7f419
feat: support for sending client credentials via basic auth header (#4635)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
Co-authored-by: nivedin <nivedinp@gmail.com>
2025-01-15 18:43:05 +05:30
jamesgeorge007
aa17448317 chore: bump version to 2024.12.0
Bump CLI version to `0.20.1`.
2024-12-20 20:07:04 +05:30
Anwarul Islam
d9d656269c
feat: collection runner refinements (#4609)
Co-authored-by: nivedin <nivedinp@gmail.com>
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2024-12-19 20:06:52 +05:30
Akash K
bd22c8c1a9 feat: disable tracking request history (#4607)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2024-12-18 11:18:29 +05:30
jamesgeorge007
69b94886a6 chore: bump version to 2024.11.0 2024-11-27 17:44:55 +05:30
Anwarul Islam
e8ed938b4c
feat: collection runner (#3600)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
Co-authored-by: nivedin <nivedinp@gmail.com>
2024-11-26 15:56:09 +05:30
jamesgeorge007
908f936f50 chore: bump version to 2024.10.2 2024-11-12 22:35:30 +05:30
Andrew Bastin
e87ec8c026 chore: bump version to 2024.10.1 2024-11-06 20:50:08 +05:30
James George
223dd25788
chore: introduce supportsDigestAuth field at the interceptor service level (#4498) 2024-10-30 21:44:14 +05:30
jamesgeorge007
c3518cf678 chore: add showInterceptorWarningForDigestAuth field under platformFeatureFlags
Introduce a new platform-level feature flag indicating whether to display a warning via the inspector regarding supported interceptor alongside Digest Auth.
2024-10-30 18:28:15 +05:30
Andrew Bastin
108315d1b4 chore: bump version to 24.10.0 2024-10-29 17:25:37 +05:30
James George
7aa43232cc
chore: bump dependencies (#4444) 2024-10-24 03:25:55 +05:30
Joel Jacob Stephen
0e00eeb950
feat: introducing ability to set custom collection import size limit (#4440) 2024-10-23 18:34:40 +05:30
Andrew Bastin
9da5f63e70 chore: bump version to 2024.9.3 2024-10-17 16:58:51 +05:30
Andrew Bastin
28727cd6c2 chore: bump version 2024.9.2 2024-10-14 21:19:45 +05:30
Andrew Bastin
cda1ed5f94 chore: bump version to 2024.9.1 2024-10-05 21:05:11 +05:30
Andrew Bastin
f75900ed30
feat: hoppscotch agent and agent interceptor (#4396)
Co-authored-by: CuriousCorrelation <CuriousCorrelation@gmail.com>
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2024-10-03 20:26:30 +05:30
jamesgeorge007
3d9dc36d77 chore: bump version to 2024.9.0 2024-10-01 13:10:52 +05:30
James George
5e9f8743d4
feat: extend duplicate collection to personal workspace in SH (#4368) 2024-09-30 21:20:19 +05:30
Nivedin
58857be650
feat: save api responses (#4382)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2024-09-30 19:06:53 +05:30
Akash K
db8cf229ac
chore: make client secret optional across grant types (#4363)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2024-09-27 17:20:26 +05:30
Palak Chopra
bfe3b3a9c3
refactor: make global environment a versioned entity (#4216)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2024-09-23 17:01:14 +05:30
Andrew Bastin
e9e1366cc8 chore: revert vite-plugin-pages and vite-plugin-pwa versions 2024-09-20 14:20:14 +05:30
Akash K
626b5fea7f
chore: preemptly update pwa settings to avoid missing files in the service worker cache (#4344)
Co-authored-by: Andrew Bastin <andrewbastin.k@gmail.com>
2024-09-19 19:09:14 +05:30
Andrew Bastin
c2e9e3dfe2 chore: bump version to 2024.8.3 2024-09-19 18:04:34 +05:30
Andrew Bastin
2bc46ed6cb chore: bump version to 2024.8.2 2024-09-11 13:45:19 +05:30
Andrew Bastin
3b29a56ba0 chore: bump version to 2024.8.1 2024-09-01 21:31:29 +05:30
Nivedin
5a2eed60c9
fix: resolve multiple UI issues and account for description field in syncing context (#4309)
* fix: collection properties header bulk update editor bug

* chore: add migration step while resolving `headers` in the syncing context

Resolve type errors.

* fix: prevent inifinite loading state in add environments modal

Toggle back the loading state if attempting to create an environment from a team workspace without specifying a name.

* fix: tab change when clicking computed auth

* fix: ensure tab change action works in GQL headers view

`Go to Authorization tab` action.

* chore: account for REST params while adding description fields

Writing to store after pulling from the syncing context.

---------

Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com>
2024-08-30 12:15:19 +05:30
Andrew Bastin
a177bdced0 chore: update vulnerable dependencies 2024-08-29 18:03:44 +05:30