hoppscotch icon indicating copy to clipboard operation
hoppscotch copied to clipboard

[bug]: Instability in Self hosted Desktop app

Open roopepaajanen opened this issue 1 month ago • 4 comments

Is there an existing issue for this?

  • [x] I have searched existing issues and this bug hasn't been reported yet

Platform

Desktop App

Browser

Chrome

Operating System

macOS

Bug Description

Hi, We have been facing instability in our self hosted desktop app since the release of versions 2.9.x. We are facing the same issues in 2.10.0 which was released earlier today. In our browser client everything seems to be working normally.

  1. Unable to create new environment variable files Simply trying to create a new environment file returns an error Session expired. Please log in again, but everything else continues to work. Pressing the "Create Environment" button triggers the following network logs:

First: plugin:relaylexecute

{
    "kind": "success",
    "response": {
        "id": 1761910841385,
        "status": 200,
        "statusText": "200 OK",
        "version": "HTTP/1.1",
        "headers": {
            "etag": "xxx",
            "content-length": "77",
            "access-control-allow-credentials": "true",
            "content-type": "application/json; charset=utf-8",
            "x-ratelimit-remaining": "91",
            "x-ratelimit-reset": "1",
            "x-powered-by": "Express",
            "date": "Fri, 31 Oct 2025 11:40:41 GMT",
            "set-cookie": "connect.sid=123; Path=/; HttpOnly",
            "x-ratelimit-limit": "100",
            "server": "istio-envoy",
            "via": "1.1 Caddy",
            "vary": "Origin"
        },
        "cookies": null,
        "body": {
            "body": [
...
            ],
            "mediaType": "application/json"
        },
        "meta": {
            "timing": {
                "start": 1761910841386,
                "end": 1761910841452
            },
            "size": {
                "headers": 478,
                "body": 77,
                "total": 555
            }
        }
    }
}

Second: plugin:relaylexecute

{
    "kind": "success",
    "response": {
        "id": 1761910841453,
        "status": 403,
        "statusText": "403 Forbidden",
        "version": "HTTP/1.1",
        "headers": {
            "content-type": "application/json; charset=utf-8",
            "access-control-allow-credentials": "true",
            "x-powered-by": "Express",
            "x-ratelimit-reset": "1",
            "x-ratelimit-remaining": "91",
            "server": "istio-envoy",
            "x-ratelimit-limit": "100",
            "etag": "xx",
            "vary": "Origin",
            "set-cookie": "connect.sid=123; Path=/; HttpOnly",
            "content-length": "73",
            "date": "Fri, 31 Oct 2025 11:40:41 GMT",
            "via": "1.1 Caddy"
        },
        "cookies": null,
        "body": {
            "body": [
...
            ],
            "mediaType": "application/json"
        },
        "meta": {
            "timing": {
                "start": 1761910841453,
                "end": 1761910841524
            },
            "size": {
                "headers": 491,
                "body": 73,
                "total": 564
            }
        }
    }
}

I am wondering if the status message 403 in the second request is related to our issue.

  1. Websocket failed After keeping the desktop app idle after login for about one minute, the desktop returns error WebSocket connection to 'wss://domain/graphql' failed: The operation couldn’t be completed. Socket is not connected.

  2. Database migration rollback to 2025.8.1 fails Last somewhat working version for us is 2025.8.1, but we cannot execute database migration from 2025.9.x back to 2025.8.1. The migration turns every API request in non-personal collection into default values.

I'll paste our configuration below, any help would be much appreciated. Kubernetes: v1.30.5 - amd64

Gateway

spec:
  selector:
    istio: ingressgateway
  servers:
    - hosts:
        - domain.net
        - domain-admin.net
        - domain-backend.net
      port:
        name: http
        number: 80
        protocol: HTTP
    - hosts:
        - domain.net
        - domain-admin.net
        - domain-backend.net
      port:
        name: https
        number: 443
        protocol: HTTPS
      tls:
        credentialName: wildcard
        mode: SIMPLE

Virtualservice

spec:
  gateways:
    - hoppscotch-virtualservice
  hosts:
    - domain.net
    - domain-admin.net
    - domain-backend.net
  http:
    - match:
        - authority:
            exact: domain.net
          uri:
            prefix: /proxy
      route:
        - destination:
            host: proxyscotch.hoppscotch.svc.cluster.local
            port:
              number: 9159
    - match:
        - authority:
            exact: domain.net
          uri:
            prefix: /desktop-app-server
      route:
        - destination:
            host: hoppscotch-community.hoppscotch.svc.cluster.local
            port:
              number: 3200
    - match:
        - authority:
            exact: domain.net
      route:
        - destination:
            host: hoppscotch-community.hoppscotch.svc.cluster.local
            port:
              number: 3000
    - match:
        - authority:
            exact: domain-admin.net
      route:
        - destination:
            host: hoppscotch-community.hoppscotch.svc.cluster.local
            port:
              number: 3100
    - corsPolicy:
        allowCredentials: true
        allowHeaders:
          - Authorization
          - Content-Type
          - X-Requested-With
          - apollo-require-preflight
          - Sec-WebSocket-Protocol
          - Sec-WebSocket-Key
          - Sec-WebSocket-Version
          - Connection
          - Upgrade
          - Origin
          - Sec-WebSocket-Extensions
          - Cache-Control
          - Pragma
          - Accept
          - Accept-Language
          - Accept-Encoding
        allowMethods:
          - GET
          - POST
          - PUT
          - PATCH
          - DELETE
          - OPTIONS
        allowOrigins:
          - exact: https://domain.net
          - exact: https://domain-admin.net
          - exact: app://domain_net
          - exact: http://app.domain_net
        exposeHeaders:
          - Content-Length
          - Content-Type
          - Authorization
      match:
        - authority:
            exact: domain-backend.net
      route:
        - destination:
            host: hoppscotch-community.hoppscotch.svc.cluster.local
            port:
              number: 3170

Whitelist (long only for debugging reasons):

http://localhost:3170,http://localhost:3000,http://localhost:3100,https://domain.net,https://domain-backend.net,https://domain-admin.net,http://domain.net,http://domain-backend.net,http://domain-admin.net,app://localhost_3200,app://hoppscotch,app://domain.net,app://domain_net_3200,https://app.domain.net,http://app.domain.net,https://app.domain.net_3200,http://app_domain_net_3200,https://management.apis.jty.op-palvelut.net,ws://localhost:3170,wss://domain-backend.net,wss://domain.net,https://127.0.0.1:3000,https://127.0.0.1:3100,https://127.0.0.1:3170,http://127.0.0.1:3000,http://127.0.0.1:3100,http://127.0.0.1:3170,file://,capacitor://localhost,ionic://localhost,http://localhost,https://localhost,app://.,moz-extension://,chrome-extension://,tauri://localhost,app://localhost

Deployment Type

Self-hosted (on-prem deployment)

Version

2025.10.0

roopepaajanen avatar Oct 31 '25 12:10 roopepaajanen

Additionally, here is application start logs, if they would happen to give any insight

Webapp Server |  INFO webapp_server: Initializing Hoppscotch Web Static Server
Webapp Server |  INFO webapp_server::signing::key: Generating new signing key pair
Webapp Server |  INFO webapp_server::signing::key: Generated new signing key pair key_id=key_abc
Webapp Server |  INFO webapp_server::signing::key: signing_key_bytes_encoded="123"
Webapp Server |  INFO webapp_server::signing::key: verifying_key_bytes_encoded="xx"
Webapp Server |  INFO webapp_server: Frontend path verified frontend_path="/site/selfhost-web"
App/Admin Dashboard Caddy | {"level":"info","ts":1761905823.2107062,"msg":"maxprocs: Updating GOMAXPROCS=1: using minimum allowed GOMAXPROCS"}
App/Admin Dashboard Caddy | {"level":"info","ts":1761905823.29782,"msg":"GOMEMLIMIT is updated","package":"github.com/KimMachineGun/automemlimit/memlimit","GOMEMLIMIT":483183820,"previous":9223372036854775807}
App/Admin Dashboard Caddy | {"level":"info","ts":1761905823.2979233,"msg":"using config from file","file":"/etc/caddy/aio-multiport-setup.Caddyfile"}
App/Admin Dashboard Caddy | {"level":"info","ts":1761905823.2995117,"msg":"adapted config to JSON","adapter":"caddyfile"}
App/Admin Dashboard Caddy | {"level":"warn","ts":1761905823.299954,"logger":"admin","msg":"admin endpoint disabled"}
App/Admin Dashboard Caddy | {"level":"warn","ts":1761905823.301042,"logger":"http","msg":"HTTP/2 skipped because it requires TLS","network":"tcp","addr":":3000"}
App/Admin Dashboard Caddy | {"level":"warn","ts":1761905823.301058,"logger":"http","msg":"HTTP/3 skipped because it requires TLS","network":"tcp","addr":":3000"}
App/Admin Dashboard Caddy | {"level":"info","ts":1761905823.3010614,"logger":"http.log","msg":"server running","name":"srv0","protocols":["h1","h2","h3"]}
App/Admin Dashboard Caddy | {"level":"warn","ts":1761905823.3011284,"logger":"http","msg":"HTTP/2 skipped because it requires TLS","network":"tcp","addr":":3100"}
App/Admin Dashboard Caddy | {"level":"warn","ts":1761905823.3011322,"logger":"http","msg":"HTTP/3 skipped because it requires TLS","network":"tcp","addr":":3100"}
App/Admin Dashboard Caddy | {"level":"info","ts":1761905823.3011353,"logger":"http.log","msg":"server running","name":"srv1","protocols":["h1","h2","h3"]}
App/Admin Dashboard Caddy | {"level":"warn","ts":1761905823.3011992,"logger":"http","msg":"HTTP/2 skipped because it requires TLS","network":"tcp","addr":":3170"}
App/Admin Dashboard Caddy | {"level":"warn","ts":1761905823.301204,"logger":"http","msg":"HTTP/3 skipped because it requires TLS","network":"tcp","addr":":3170"}
App/Admin Dashboard Caddy | {"level":"info","ts":1761905823.3012083,"logger":"http.log","msg":"server running","name":"srv2","protocols":["h1","h2","h3"]}
App/Admin Dashboard Caddy | {"level":"info","ts":1761905823.3012574,"msg":"serving initial configuration"}
App/Admin Dashboard Caddy | {"level":"warn","ts":1761905823.301339,"logger":"tls","msg":"unable to get instance ID; storage clean stamps will be incomplete","error":"mkdir /.local: read-only file system"}
App/Admin Dashboard Caddy | {"level":"error","ts":1761905823.3014255,"logger":"tls","msg":"could not clean default/global storage","error":"unable to acquire storage_clean lock: creating lock file: open /.local/share/caddy/locks/storage_clean.lock: no such file or directory"}
App/Admin Dashboard Caddy | {"level":"info","ts":1761905823.301431,"logger":"tls","msg":"finished cleaning storage units"}
App/Admin Dashboard Caddy | {"level":"info","ts":1761905823.3014553,"logger":"tls.cache.maintenance","msg":"started background certificate maintenance","cache":"0xc0007c7680"}
Webapp Server |  INFO webapp_server: Initialized bundle builder from path frontend_path="/site/selfhost-web"
Webapp Server |  INFO webapp_server: Bundle built successfully with 437 files
Webapp Server |  INFO webapp_server::bundle::manager: Initializing BundleManager with a new bundle
Webapp Server |  INFO webapp_server::bundle::manager: Successfully created initial bundle
Webapp Server |  INFO webapp_server: Bundle signed and stored successfully in the bundle manager
Webapp Server |  INFO webapp_server::api: Setting up API routes
Webapp Server |  INFO webapp_server: Attempting to bind to address: 0.0.0.0:3200
Webapp Server |  INFO webapp_server: Server successfully bound to 0.0.0.0:3200
Webapp Server |  INFO webapp_server: Starting server
Backend Server | [Nest] 38  - 10/31/2025, 10:17:11 AM     LOG [NestFactory] Starting Nest application...
Backend Server | Mailer module is disabled
Backend Server | [Nest] 38  - 10/31/2025, 10:17:12 AM     LOG [InstanceLoader] PrismaModule dependencies initialized +879ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:12 AM     LOG [InstanceLoader] PubSubModule dependencies initialized +1ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:12 AM     LOG [InstanceLoader] PassportModule dependencies initialized +0ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:12 AM     LOG [InstanceLoader] ConfigHostModule dependencies initialized +9ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:12 AM     LOG [InstanceLoader] DiscoveryModule dependencies initialized +0ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:12 AM     LOG [InstanceLoader] ScheduleModule dependencies initialized +5ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:12 AM     LOG [InstanceLoader] TerminusModule dependencies initialized +1ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:12 AM     LOG [InstanceLoader] HealthModule dependencies initialized +2ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:12 AM     LOG [InstanceLoader] AppModule dependencies initialized +5ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:12 AM     LOG [InstanceLoader] GraphQLSchemaBuilderModule dependencies initialized +73ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [InstanceLoader] ConfigModule dependencies initialized +346ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [InstanceLoader] MailerModule dependencies initialized +1ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [InstanceLoader] PostHogModule dependencies initialized +0ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [InstanceLoader] ThrottlerModule dependencies initialized +1ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [InstanceLoader] JwtModule dependencies initialized +0ms
Backend Server | [MicrosoftStrategy] Proxy agent set via _oauth2.setAgent
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [InstanceLoader] UserModule dependencies initialized +6ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [InstanceLoader] UserSettingsModule dependencies initialized +0ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [InstanceLoader] UserEnvironmentsModule dependencies initialized +0ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [InstanceLoader] UserCollectionModule dependencies initialized +0ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [InstanceLoader] UserHistoryModule dependencies initialized +0ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [InstanceLoader] TeamModule dependencies initialized +0ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [InstanceLoader] ShortcodeModule dependencies initialized +0ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [InstanceLoader] UserRequestModule dependencies initialized +0ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [InstanceLoader] TeamEnvironmentsModule dependencies initialized +1ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [InstanceLoader] TeamRequestModule dependencies initialized +0ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [InstanceLoader] SortModule dependencies initialized +0ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [InstanceLoader] AccessTokenModule dependencies initialized +47ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [InstanceLoader] GraphQLModule dependencies initialized +2ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [InstanceLoader] TeamInvitationModule dependencies initialized +1ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [InstanceLoader] TeamCollectionModule dependencies initialized +1ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [InstanceLoader] AdminModule dependencies initialized +0ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [InstanceLoader] InfraConfigModule dependencies initialized +1ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [InstanceLoader] AuthModule dependencies initialized +1ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [InstanceLoader] InfraTokenModule dependencies initialized +0ms
Backend Server | Running in production: true
Backend Server | Port: 8080
Backend Server | Enabling CORS with production settings
Backend Server | Fri, 31 Oct 2025 10:17:13 GMT express-session deprecated undefined resave option; provide resave option at ../dist/backend/dist/main.js:41:13
Backend Server | Fri, 31 Oct 2025 10:17:13 GMT express-session deprecated undefined saveUninitialized option; provide saveUninitialized option at ../dist/backend/dist/main.js:41:13
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RoutesResolver] AppController {/ping}: +118ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RouterExplorer] Mapped {/ping, GET} route +3ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RoutesResolver] AuthController {/auth} (version: 1): +1ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RouterExplorer] Mapped {/auth/providers, GET} (version: 1) route +1ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RouterExplorer] Mapped {/auth/signin, POST} (version: 1) route +0ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RouterExplorer] Mapped {/auth/verify, POST} (version: 1) route +1ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RouterExplorer] Mapped {/auth/refresh, GET} (version: 1) route +1ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RouterExplorer] Mapped {/auth/google, GET} (version: 1) route +0ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RouterExplorer] Mapped {/auth/google/callback, GET} (version: 1) route +1ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RouterExplorer] Mapped {/auth/github, GET} (version: 1) route +0ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RouterExplorer] Mapped {/auth/github/callback, GET} (version: 1) route +1ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RouterExplorer] Mapped {/auth/microsoft, GET} (version: 1) route +0ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RouterExplorer] Mapped {/auth/microsoft/callback, GET} (version: 1) route +1ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RouterExplorer] Mapped {/auth/logout, GET} (version: 1) route +0ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RouterExplorer] Mapped {/auth/verify/admin, GET} (version: 1) route +0ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RouterExplorer] Mapped {/auth/desktop, GET} (version: 1) route +0ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RouterExplorer] Mapped {/auth/verify-token, GET} (version: 1) route +1ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RoutesResolver] SiteController {/site} (version: 1): +0ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RouterExplorer] Mapped {/site/setup, GET} (version: 1) route +0ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RouterExplorer] Mapped {/site/setup, PUT} (version: 1) route +0ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RoutesResolver] OnboardingController {/onboarding} (version: 1): +0ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RouterExplorer] Mapped {/onboarding/status, GET} (version: 1) route +1ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RouterExplorer] Mapped {/onboarding/config, POST} (version: 1) route +0ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RouterExplorer] Mapped {/onboarding/config, GET} (version: 1) route +0ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RoutesResolver] TeamCollectionController {/team-collection} (version: 1): +0ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RouterExplorer] Mapped {/team-collection/search/:teamID, GET} (version: 1) route +1ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RoutesResolver] HealthController {/health}: +0ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RouterExplorer] Mapped {/health, GET} route +0ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RoutesResolver] AccessTokenController {/access-tokens} (version: 1): +0ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RouterExplorer] Mapped {/access-tokens/create, POST} (version: 1) route +0ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RouterExplorer] Mapped {/access-tokens/revoke, DELETE} (version: 1) route +1ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RouterExplorer] Mapped {/access-tokens/list, GET} (version: 1) route +0ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RouterExplorer] Mapped {/access-tokens/collection/:id, GET} (version: 1) route +59ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RouterExplorer] Mapped {/access-tokens/environment/:id, GET} (version: 1) route +0ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RoutesResolver] InfraTokensController {/infra} (version: 1): +0ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RouterExplorer] Mapped {/infra/user-invitations, POST} (version: 1) route +1ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RouterExplorer] Mapped {/infra/user-invitations, GET} (version: 1) route +0ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RouterExplorer] Mapped {/infra/user-invitations, DELETE} (version: 1) route +1ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RouterExplorer] Mapped {/infra/users, GET} (version: 1) route +1ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RouterExplorer] Mapped {/infra/users/:uid, GET} (version: 1) route +0ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RouterExplorer] Mapped {/infra/users/:uid, PATCH} (version: 1) route +0ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RouterExplorer] Mapped {/infra/users/:uid, DELETE} (version: 1) route +0ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RouterExplorer] Mapped {/infra/users/:uid/admin-status, PATCH} (version: 1) route +1ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:13 AM     LOG [RouterExplorer] Mapped {/infra/users/:uid/workspaces, GET} (version: 1) route +0ms
Backend Server | Initialize PubSub
Backend Server | [Nest] 38  - 10/31/2025, 10:17:15 AM     LOG [GraphQLModule] Mapped {/graphql, POST} route +1706ms
Backend Server | [Nest] 38  - 10/31/2025, 10:17:15 AM     LOG [NestApplication] Nest application successfully started +15ms

roopepaajanen avatar Oct 31 '25 12:10 roopepaajanen

My issue is with saving requests in desktop app, it constantly says "Session expired. Please log in again." But I'm already logged in, even can see the changes that is made in the browser.

Pezhvak avatar Nov 02 '25 18:11 Pezhvak

Additionally, I noticed that creating a new environment before logging in worked normally. The issues is faced only after login. We are using Microsoft authentication.

roopepaajanen avatar Nov 03 '25 09:11 roopepaajanen

I have also the issue when I try to save. In DevTools :

"response": {
        "id": 1762162941933,
        "status": 403,
        "statusText": "403 Forbidden",
        "version": "HTTP/1.1",
...

In container logs :

Backend Server | ::ffff:127.0.0.1 GET /v1/auth/verify-token 200 - 3.305 ms
Backend Server | `refresh_token` not found
Backend Server | ::ffff:127.0.0.1 GET /v1/auth/refresh 403 - 0.697 ms

bnelissen-orisha avatar Nov 03 '25 09:11 bnelissen-orisha

I also face this issue. Confirmed that 2025.8.1 is working.

rock-tran avatar Nov 06 '25 09:11 rock-tran

First the file upload broke, now this, every update some regression is happening, it seems updating is seriously risky.

Pezhvak avatar Nov 08 '25 10:11 Pezhvak

I also face this issue.

saviocamacam avatar Nov 08 '25 21:11 saviocamacam

Thanks for the detailed report. We've identified the root cause, and the fix has been merged and is scheduled for the patch release this week. Really sorry about the trouble with this upgrade.

jamesgeorge007 avatar Nov 10 '25 17:11 jamesgeorge007

Thanks for the detailed report. We've identified the root cause, and the fix has been merged and is scheduled for the patch release this week. Really sorry about the trouble with this upgrade.

Is there an estimated time of resolution for this issue? Since it has occurred on both the self-hosted desktop app and the web app within our organization.

caturbgs avatar Nov 12 '25 03:11 caturbgs

Is there an estimated time of resolution for this issue? Since it has occurred on both the self-hosted desktop app and the web app within our organization.

We’re currently addressing a few issues encountered in our release pipeline, and aim to release the patch later this week. We'll post an update here once it's live.

jamesgeorge007 avatar Nov 12 '25 09:11 jamesgeorge007

Also, @caturbgs, could you elaborate on the issues encountered in the web app?

jamesgeorge007 avatar Nov 12 '25 09:11 jamesgeorge007

Also, @caturbgs, could you elaborate on the issues encountered in the web app?

Image

Every time I open the collections, it always shows empty. This issue occurred on the same latest update that broke the desktop app.

caturbgs avatar Nov 12 '25 09:11 caturbgs

Image Every time I open the collections, it always shows empty. This issue occurred on the same latest update that broke the desktop app.

Can you open a separate issue to track this concern?

jamesgeorge007 avatar Nov 12 '25 09:11 jamesgeorge007

Also, @caturbgs, could you elaborate on the issues encountered in the web app?

Image Every time I open the collections, it always shows empty. This issue occurred on the same latest update that broke the desktop app.

@caturbgs can you see if your cookie or session has expired when expanding the collection, can you check the network tab

nivedin avatar Nov 12 '25 09:11 nivedin

Image Every time I open the collections, it always shows empty. This issue occurred on the same latest update that broke the desktop app.

Can you open a separate issue to track this concern?

https://github.com/hoppscotch/hoppscotch/issues/5574 here's the new issue

caturbgs avatar Nov 12 '25 10:11 caturbgs

Also, @caturbgs, could you elaborate on the issues encountered in the web app?

Image Every time I open the collections, it always shows empty. This issue occurred on the same latest update that broke the desktop app.

@caturbgs can you see if your cookie or session has expired when expanding the collection, can you check the network tab

Image for each opening the collections there are call to graphql, but the status code is always success.

caturbgs avatar Nov 12 '25 10:11 caturbgs

We’ve resolved this issue in the latest desktop release candidate, v2025.10.1. Please update to the latest version and let us know what you think.

liyasthomas avatar Nov 13 '25 13:11 liyasthomas

The latest version (2025.10.1) did indeed resolve the issue with creating environments in the Desktop client — thank you!

However, I’m still seeing the following error in the Desktop client console logs:

WebSocket connection to 'wss://domain/graphql' failed: The operation couldn’t be completed. Socket is not connected.

This is the same WebSocket issue I mentioned in the original report. That said, I have not noticed any visible impact on actual app functionality so far — at least nothing obvious.

roopepaajanen avatar Nov 13 '25 13:11 roopepaajanen

Hi again, our windows users are facing the same issue with version 2025.10.1 - they are not able to create new environment files. They are getting the same error message Session expired. Please log in again, as I received on previous versions on my mac. Are other people facing similar issues?

edit: Windows users are able to modify environment files, create collections, execute API requests. But simply are not able to create new environment files.

roopepaajanen avatar Nov 25 '25 08:11 roopepaajanen

@roopepaajanen That's quite strange since we haven't seen this in our Windows testing suite. There's a major update aimed to be release by the end of this month, it includes a few QoL improvements that may fix some tangential issues as well.

If that doesn't fix this, please feel free to create a new issue with any details you can provide especially desktop logs (anonymized) which you can find here:

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

CuriousCorrelation avatar Nov 25 '25 09:11 CuriousCorrelation

Thanks we'll try out the new release once it is published. I'll create a separate issue if the problem does not disappear.

roopepaajanen avatar Nov 25 '25 10:11 roopepaajanen