Skip to content

[Bug] "Single user mode" keeps bringing up setup wizard #34

@roseyhead

Description

@roseyhead

Version

v1.0.0-rc.29

Where

Web on desktop, PWA on phone

What I expected

Disabling single-user mode should allow me to access my diary without login

What actually happened

If I disable user management either by:
creating an account at startup and disabling user management in settings
creating an account at startup, logging out, clicking "locked out" and entering my recovery phrase or
creating an account, shutting down my docker container and manually clearing the users table in the db
then next time I load the site it directs me to the setup wizard and asks me to create an account

Steps to reproduce

  1. Spin up a Docker instance with the default settings (plus RECOVERY_TOKEN set)
  2. Connect to instance
  3. Create an admin account
  4. Skip setup
  5. Go into settings and disable user management
  6. Return to diary page and F5, or visit the site from another browser/device
  7. Directed to setup wizard

Logs

nutritrace | 2026-05-21T23:32:16.778371733Z [db] backfilled usage counters on 0 foods + 0 meals from existing diary items
nutritrace | 2026-05-21T23:32:16.957114365Z [2026-05-21T23:32:16.956Z] [INFO ] NutriTrace running on port 3001
nutritrace | 2026-05-21T23:32:16.958477534Z [2026-05-21T23:32:16.958Z] [INFO ] [scheduler] started (15-minute interval)
nutritrace | 2026-05-21T23:32:19.230704635Z [2026-05-21T23:32:19.230Z] [ERROR] GET /ai/history → 503 (5ms)
nutritrace | 2026-05-21T23:32:22.459160650Z [2026-05-21T23:32:22.458Z] [INFO ] GET / → 304 (2ms)
nutritrace | 2026-05-21T23:32:22.476948280Z [2026-05-21T23:32:22.476Z] [INFO ] GET /registerSW.js → 304 (1ms)
nutritrace | 2026-05-21T23:32:22.672042939Z [2026-05-21T23:32:22.671Z] [INFO ] GET /status → 200 (3ms)
nutritrace | 2026-05-21T23:32:22.673900634Z [2026-05-21T23:32:22.673Z] [ERROR] GET /ai/history → 503 (0ms)
nutritrace | 2026-05-21T23:32:22.675541750Z [2026-05-21T23:32:22.675Z] [INFO ] GET /me → 200 (1ms)
nutritrace | 2026-05-21T23:32:22.678051098Z [2026-05-21T23:32:22.677Z] [ERROR] GET /diary/2026-05-22 → 503 (0ms)
nutritrace | 2026-05-21T23:32:22.687431071Z [2026-05-21T23:32:22.687Z] [ERROR] GET /app-config/env-locks → 503 (1ms)
nutritrace | 2026-05-21T23:32:24.280075969Z [2026-05-21T23:32:24.279Z] [INFO ] GET /sw.js → 304 (0ms)
nutritrace | 2026-05-21T23:32:24.285476359Z [2026-05-21T23:32:24.285Z] [INFO ] GET /workbox-10e0918b.js → 304 (1ms)
nutritrace | 2026-05-21T23:32:36.235032754Z [2026-05-21T23:32:36.234Z] [INFO ] POST /register → 200 (204ms)
nutritrace | 2026-05-21T23:32:36.246609271Z [2026-05-21T23:32:36.246Z] [INFO ] GET /me → 200 (1ms)
nutritrace | 2026-05-21T23:32:36.249004142Z [2026-05-21T23:32:36.248Z] [INFO ] GET /status → 200 (1ms)
nutritrace | 2026-05-21T23:32:36.257914839Z [2026-05-21T23:32:36.257Z] [INFO ] GET / → 200 (2ms)
nutritrace | 2026-05-21T23:32:42.357215870Z [2026-05-21T23:32:42.357Z] [INFO ] GET /2026-05-22 → 200 (2ms)
nutritrace | 2026-05-21T23:32:44.123690411Z [2026-05-21T23:32:44.123Z] [INFO ] GET /icons/logo.png → 304 (1ms)
nutritrace | 2026-05-21T23:32:45.599171526Z [2026-05-21T23:32:45.598Z] [INFO ] GET /env-locks → 200 (2ms)
nutritrace | 2026-05-21T23:32:46.204558866Z [2026-05-21T23:32:46.204Z] [INFO ] PUT / → 200 (6ms)
nutritrace | 2026-05-21T23:32:46.211593602Z [2026-05-21T23:32:46.211Z] [INFO ] PUT / → 200 (4ms)
nutritrace | 2026-05-21T23:32:46.215453132Z [2026-05-21T23:32:46.215Z] [INFO ] PUT / → 200 (2ms)
nutritrace | 2026-05-21T23:32:46.219520461Z [2026-05-21T23:32:46.219Z] [INFO ] PUT / → 200 (2ms)
nutritrace | 2026-05-21T23:32:46.223193843Z [2026-05-21T23:32:46.223Z] [INFO ] PUT / → 200 (2ms)
nutritrace | 2026-05-21T23:32:46.226598369Z [2026-05-21T23:32:46.226Z] [INFO ] PUT / → 200 (2ms)
nutritrace | 2026-05-21T23:32:46.230837702Z [2026-05-21T23:32:46.230Z] [INFO ] PUT / → 200 (2ms)
nutritrace | 2026-05-21T23:32:46.234311152Z [2026-05-21T23:32:46.234Z] [INFO ] PUT / → 200 (2ms)
nutritrace | 2026-05-21T23:32:46.237552015Z [2026-05-21T23:32:46.237Z] [INFO ] PUT / → 200 (2ms)
nutritrace | 2026-05-21T23:32:46.240606009Z [2026-05-21T23:32:46.240Z] [INFO ] PUT / → 200 (2ms)
nutritrace | 2026-05-21T23:32:46.243576155Z [2026-05-21T23:32:46.243Z] [INFO ] PUT / → 200 (2ms)
nutritrace | 2026-05-21T23:32:46.246953729Z [2026-05-21T23:32:46.246Z] [INFO ] PUT / → 200 (1ms)
nutritrace | 2026-05-21T23:32:46.250333418Z [2026-05-21T23:32:46.250Z] [INFO ] PUT / → 200 (2ms)
nutritrace | 2026-05-21T23:32:46.253972411Z [2026-05-21T23:32:46.253Z] [INFO ] PUT / → 200 (1ms)
nutritrace | 2026-05-21T23:32:46.257490793Z [2026-05-21T23:32:46.257Z] [INFO ] PUT / → 200 (1ms)
nutritrace | 2026-05-21T23:32:46.261112310Z [2026-05-21T23:32:46.260Z] [INFO ] PUT / → 200 (1ms)
nutritrace | 2026-05-21T23:32:46.264124763Z [2026-05-21T23:32:46.264Z] [INFO ] PUT / → 200 (2ms)
nutritrace | 2026-05-21T23:32:49.108656461Z [2026-05-21T23:32:49.108Z] [INFO ] GET /users → 200 (1ms)
nutritrace | 2026-05-21T23:32:49.133045804Z [2026-05-21T23:32:49.132Z] [INFO ] GET / → 200 (1ms)
nutritrace | 2026-05-21T23:32:49.139061661Z [2026-05-21T23:32:49.138Z] [INFO ] GET /invites → 200 (1ms)
nutritrace | 2026-05-21T23:32:51.725879921Z [2026-05-21T23:32:51.725Z] [INFO ] DELETE /management → 200 (2ms)
nutritrace | 2026-05-21T23:32:51.730466159Z [2026-05-21T23:32:51.730Z] [INFO ] GET /me → 200 (1ms)
nutritrace | 2026-05-21T23:32:51.732385007Z [2026-05-21T23:32:51.732Z] [INFO ] GET /status → 200 (2ms)
nutritrace | 2026-05-21T23:32:51.738614431Z [2026-05-21T23:32:51.738Z] [WARN ] GET /users → 403 (1ms)
nutritrace | 2026-05-21T23:32:53.978121821Z [2026-05-21T23:32:53.977Z] [INFO ] GET /icons/logo.png → 304 (0ms)
nutritrace | 2026-05-21T23:32:57.529755236Z [2026-05-21T23:32:57.529Z] [INFO ] GET / → 304 (1ms)
nutritrace | 2026-05-21T23:32:57.546979201Z [2026-05-21T23:32:57.546Z] [INFO ] GET /registerSW.js → 304 (0ms)
nutritrace | 2026-05-21T23:32:57.652686737Z [2026-05-21T23:32:57.652Z] [ERROR] GET /ai/history → 503 (1ms)
nutritrace | 2026-05-21T23:32:57.654223145Z [2026-05-21T23:32:57.654Z] [INFO ] GET /status → 200 (2ms)
nutritrace | 2026-05-21T23:32:57.654635138Z [2026-05-21T23:32:57.654Z] [INFO ] GET /me → 200 (0ms)
nutritrace | 2026-05-21T23:32:57.655376994Z [2026-05-21T23:32:57.655Z] [ERROR] GET /diary/2026-05-22 → 503 (1ms)
nutritrace | 2026-05-21T23:32:57.657825123Z [2026-05-21T23:32:57.657Z] [ERROR] GET /app-config/env-locks → 503 (1ms)
nutritrace | 2026-05-21T23:32:59.279671355Z [2026-05-21T23:32:59.279Z] [INFO ] GET /sw.js → 304 (1ms)
nutritrace | 2026-05-21T23:32:59.286643594Z [2026-05-21T23:32:59.286Z] [INFO ] GET /workbox-10e0918b.js → 304 (0ms)
nutritrace | 2026-05-21T23:35:10.186783532Z [2026-05-21T23:35:10.186Z] [ERROR] GET /ai/history → 503 (1ms)onsole tab. Filter by [wellness], [sync], [diary], etc.

Android app:
Plug phone into USB → chrome://inspect/#devices in Chrome → "inspect" the
WebView → Console tab → reproduce → copy/screenshot.

⚠️ REDACT before posting:

  • HRV / RHR / sleep duration / weight / calorie counts (debug logs include these)
  • Email addresses
  • OAuth tokens (anything that looks like ya29.* or a long random string)
  • Personal server URLs / IPs
    -->
(paste logs here)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions