[Upgrade to 1.7.19] Documents not found, spurious "Grist Fleet" activation?

Hi there,

I am hosting Grist on podman via a docker-compose.yml file, quoted below. I upgraded to 1.7.19 today, from 1.4.2. On this new version, when I click on any document on my logged-in home page, I see

for a URL

{https://}scicomp-grist.cs.illinois.edu/o/docs/dbQCKRwJRQEN/Numerics-Seminar

(Ignore the braces, I’m trying to hide the URL from Discourse wanting to expand it.)

The logs say this:

Sep 30 13:59:03 scicomp-discourse bash[1773055]: grist-1  | 2026-09-30 18:59:03.569 - info: DocWorkerMap.assignDocWorker dbQCKRwJRQENQXhtvU5nMq undefined
Sep 30 13:59:03 scicomp-discourse bash[1773055]: grist-1  | 2026-09-30 18:59:03.571 - info: DocWorkerMap.assignDocWorker dbQCKRwJRQENQXhtvU5nMq already assigned to testDocWorkerId_8484

A perhaps-related oddity is that the admin panel things I am running a sharded installation:

Every time I restart the service, another “server” gets added. NB: As you can probably tell from the compose file, there’s no actual sharding happening.

Any tips?

Thanks!

Andreas

services:
  redis:
    image: docker.io/redis

  minio:
    image: docker.io/minio/minio
    environment:
      MINIO_ROOT_USER: "admin"
      MINIO_ROOT_PASSWORD: "****************"
    ports:
      - "127.0.0.1:9001:9001"
    volumes:
      - "/opt/grist/minio-data:/data"
    command: 'minio server /data -console-address ":9001"'

  grist:
    image: docker.io/gristlabs/grist
    environment:
      GRIST_DEFAULT_EMAIL: "andreask@illinois.edu"
      GRIST_SESSION_SECRET: "****************************************************************"
      APP_HOME_URL: "https://scicomp-grist.cs.illinois.edu"
      GRIST_SANDBOX_FLAVOR: "gvisor"
      GRIST_FORCE_LOGIN: "true"
      # GRIST_ORG_IN_PATH: "false"
      PYTHON_VERSION: 3
      REDIS_URL: "redis://redis"
      # GRIST_DOMAIN: "scicomp-grist.cs.illinois.edu"

      # Default should be OK
      # GRIST_OIDC_SP_HOST: "https://scicomp-grist.cs.illinois.edu"

      GRIST_OIDC_IDP_ISSUER: "************************************************************************************************************"
      GRIST_OIDC_IDP_CLIENT_ID: "************************************"
      GRIST_OIDC_IDP_CLIENT_SECRET: "****************************************"
      GRIST_OIDC_IDP_SKIP_END_SESSION_ENDPOINT: "true"
      GRIST_OIDC_SP_IGNORE_EMAIL_VERIFIED: "true"

      # Old value

      GRIST_DOCS_MINIO_ACCESS_KEY: grist
      GRIST_DOCS_MINIO_SECRET_KEY: ****************
      GRIST_DOCS_MINIO_USE_SSL: 0
      GRIST_DOCS_MINIO_BUCKET: grist-docs
      GRIST_DOCS_MINIO_ENDPOINT: minio
      GRIST_DOCS_MINIO_PORT: 9000
    ports:
      - "127.0.0.1:8484:8484"
    volumes:
      - "/opt/grist/data:/persist"

This may be related to this problem: WebSocket connection fails on some documents due to connecting to port 8484 on a Grist instance behind a reverse proxy · Issue #2587 · gristlabs/grist-core · GitHub

There was a recent change that made Grist more sensitive to left-over server registrations in Redis. I’m working on a diagnosis and fix.

Let me know if flushing redis doesn’t help, there might be other workarounds.

Another symptom I forgot to include above is that websockets were shown as non-working in the admin panel.

I unset REDIS_URL in the compose file, and that seems to have addressed all three symptoms.

Thanks for the help!