"includeCookies" not respected for embedded Sandbox after initial reload

Author: mderrieyCreated Aug 14, 2023Updated Sep 3, 2025
Labels🛰️ Explorer / Sandbox

Issue Description

The very first time someone accesses the embedded Sandbox configured with cookies included by default, the following happens:

  1. Page loads, go to connection settings, cookies are included (wanted behaviour)
  2. A ton of requests happen in the background
  3. At some point, the page/frame reloads automatically
  4. Go to connection settings, cookies are disabled (unwanted behaviour)

At this stage, refreshing the page entirely doesn't bring back the initial config, which means users explicitly have to go to connection settings and enable cookies. After doing this, though, the preference is persisted across refreshes.

Link to Reproduction

See below

Reproduction Steps

Apologies, I tried to sign up / log in to CodeSandbox, but it seems it doesn't work.

However, repro steps are super simple:

  1. Start from the Apollo CodeSandbox: https://codesandbox.io/p/sandbox/apollo-server-typescript-3opde

  2. In index.ts, replace

    typescript
    ApolloServerPluginLandingPageLocalDefault({
      embed: { runTelemetry: false }, 
    }),

    with

    typescript
    ApolloServerPluginLandingPageLocalDefault({
      includeCookies: true,
      embed: { runTelemetry: false }, 
    }),
  3. Open an incognito/InPrivate tab, and reach the CodeSandbox public URL

  4. Observe what happens as per the description.

Here's also a video of it showing on a personal project:

https://github.com/apollographql/apollo-server/assets/6102639/419e1012-4a10-4d8b-893a-bd55ebefad7c

Source: apollographql/apollo-server