Skip to content

[Feature]: Disable signups environment variable does not hide the signup tab #946

Description

@jsaltzman

Important: Log Requirement for Troubleshooting

I ran a command to make sure that my environment variable was set correctly within the container:

$ for c in $(docker ps --format '{{.Names}}' | grep sparky); do echo "=== $c ==="; docker exec $c env | grep -i signup; done
=== sparkyfitness-sparkyfitness-frontend-1 ===
=== sparkyfitness-sparkyfitness-server-1 ===
SPARKY_FITNESS_DISABLE_SIGNUP=true
=== sparkyfitness-sparkyfitness-db-1 ===
$

Bug Description

I set "disable signup" to TRUE. The signup page shows, but when I try and signup I get an error

Steps to Reproduce

Steps to reproduce the behavior:

  1. Go to sparky fitness
  2. Click signup
  3. Enter info
  4. Hit submit

Expected Behavior

No option to try and signup

Actual Behavior

Signup option that fails

Environment

  • SparkyFitness Version: SparkyFitness v0.16.5.3
  • Running Env: Docker

Relevant Environment Variables (if applicable)

Please list any environment variables you have set that might be relevant to this issue (e.g., API keys, specific configuration flags). Do not share sensitive information like full API keys or passwords.

SPARKY_FITNESS_DISABLE_SIGNUP=true

Preference Settings

Screenshot of your preference settings

Browser Console Log

Please open your browser's developer tools (usually F12 or Ctrl+Shift+I), go to the "Console" tab, and copy-paste any relevant error messages or warnings that appear when the bug occurs.

Make sure you are cleaning the log before re-producing the steps to minimize the total log submitted.

# Paste console log here

Container Log for SparkyFitness

Please provide the container logs for the sparkyfitness service. You can usually obtain these logs using docker logs sparkyfitness or by checking your container orchestration platform's logging interface.

192.168.1.122 - - [18/Mar/2026:20:18:39 +0000] "GET /images/SparkyFitness.webp HTTP/1.1" 200 3212 "https://sparkyfitness.***.com/login" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"
192.168.1.122 - - [18/Mar/2026:20:18:39 +0000] "GET /api/version/current HTTP/1.1" 304 0 "https://sparkyfitness.***.com/login/login" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"
192.168.1.122 - - [18/Mar/2026:20:18:39 +0000] "GET /locales/en/translation.json HTTP/1.1" 200 30186 "https://sparkyfitness.***.com/login/login" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"
192.168.1.122 - - [18/Mar/2026:20:18:39 +0000] "GET /api/auth/get-session HTTP/1.1" 200 35 "https://sparkyfitness.***.com/login/login" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"
192.168.1.122 - - [18/Mar/2026:20:18:39 +0000] "GET /api/auth/settings HTTP/1.1" 304 0 "https://sparkyfitness.***.com/login/login" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"
192.168.1.122 - - [18/Mar/2026:20:18:40 +0000] "GET /uploads/oidc/oidc-logo-1770418295427-107303582.png HTTP/1.1" 304 0 "https://sparkyfitness.***.com/login/login" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"
192.168.1.122 - - [18/Mar/2026:20:18:40 +0000] "GET /api/auth/passkey/generate-authenticate-options HTTP/1.1" 200 161 "https://sparkyfitness.***.com/login/login" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"
192.168.1.122 - - [18/Mar/2026:20:18:40 +0000] "GET /sw.js HTTP/1.1" 200 2262 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"
192.168.1.122 - - [18/Mar/2026:20:18:40 +0000] "GET /workbox-1d3d89e3.js HTTP/1.1" 200 5901 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"
127.0.0.1 - - [18/Mar/2026:20:18:44 +0000] "GET / HTTP/1.1" 200 2666 "-" "curl/8.14.1"
127.0.0.1 - - [18/Mar/2026:20:18:49 +0000] "GET / HTTP/1.1" 200 2666 "-" "curl/8.14.1"
192.168.1.122 - - [18/Mar/2026:20:18:54 +0000] "POST /api/auth/sign-up/email HTTP/1.1" 400 77 "https://sparkyfitness.***.com/login/login" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"
127.0.0.1 - - [18/Mar/2026:20:18:54 +0000] "GET / HTTP/1.1" 200 2666 "-" "curl/8.14.1"

Container Log for SparkyFitness_Server

Please provide the container logs for the sparkyfitness_server service. You can usually obtain these logs using docker logs sparkyfitness_server or by checking your container orchestration platform's logging interface.

docker logs -f sparkyfitness-sparkyfitness-server-1
[dotenv@17.3.1] injecting env (0) from ../.env -- tip: ⚡️ secrets for agents: https://dotenvx.com/as2
[Secrets] Checking for secret files to load...
[Secrets] No secrets loaded from files.
WARNING: BETTER_AUTH_SECRET is not set!
A temporary secret has been generated to allow the server to start.
IMPORTANT: Please set BETTER_AUTH_SECRET in your .env file to ensure user sessions remain valid across server restarts.
------------------------------------------------------------------

DEBUG: SPARKY_FITNESS_FRONTEND_URL is:##########
SparkyFitnessServer UPLOADS_BASE_DIR: /app/SparkyFitnessServer/uploads
[AUTH] Starting Better Auth mounting phase...
[AUTH] auth.js module is being loaded...
[AUTH] Better Auth handler successfully mounted.
[AUTH] Synced trusted SSO providers for auto-linking: [ 'PocketID' ]
DEBUG: Server started and listening on port 3010
View API documentation at: /api/api-docs/swagger
[AUTH DEBUG] Better Auth is checking trustedProviders. Current list: [ 'PocketID' ]
[AUTH HANDLER] Intercepted request: GET /api/auth/get-session
[AUTH DEBUG] Better Auth is checking trustedProviders. Current list: [ 'PocketID' ]
[AUTH HANDLER] Intercepted request: GET /api/auth/passkey/generate-authenticate-options
[AUTH DEBUG] Better Auth is checking trustedProviders. Current list: [ 'PocketID' ]
[AUTH HANDLER] Intercepted request: POST /api/auth/sign-up/email
[AUTH DEBUG] Better Auth is checking trustedProviders. Current list: [ 'PocketID' ]
[AUTH DEBUG] user.create.before hook triggered. Path: /sign-up/email
[AUTH] Blocking signup: SPARKY_FITNESS_DISABLE_SIGNUP is true
[AUTH HANDLER] Intercepted request: GET /api/auth/get-session
[AUTH DEBUG] Better Auth is checking trustedProviders. Current list: [ 'PocketID' ]
[AUTH HANDLER] Intercepted request: GET /api/auth/passkey/generate-authenticate-options
[AUTH DEBUG] Better Auth is checking trustedProviders. Current list: [ 'PocketID' ]
[AUTH HANDLER] Intercepted request: POST /api/auth/sign-in/sso
[AUTH DEBUG] Better Auth is checking trustedProviders. Current list: [ 'PocketID' ]
[AUTH HANDLER] Intercepted request: GET /api/auth/sso/callback/PocketID?code=e6ZK4ePtaj71aQnH09oZOjqX03STia9e&state=sNNHwx7PX3Yqix304CmRqeQfRxRYR1GI&iss=https%3A%2F%2Fpocketid.***.com
[AUTH DEBUG] Better Auth is checking trustedProviders. Current list: [ 'PocketID' ]
[AUTH] Hook: Session created for user 29dea67e-c1a8-4969-9304-a86cac731870. Checking group sync.
[AUTH HANDLER] Intercepted request: GET /api/auth/get-session
[AUTH DEBUG] Better Auth is checking trustedProviders. Current list: [ 'PocketID' ]
[AUTH HANDLER] Intercepted request: GET /api/auth/get-session
[AUTH DEBUG] Better Auth is checking trustedProviders. Current list: [ 'PocketID' ]
[AUTH HANDLER] Intercepted request: GET /api/auth/get-session
[AUTH DEBUG] Better Auth is checking trustedProviders. Current list: [ 'PocketID' ]
[AUTH HANDLER] Intercepted request: GET /api/auth/get-session
[AUTH DEBUG] Better Auth is checking trustedProviders. Current list: [ 'PocketID' ]
[AUTH HANDLER] Intercepted request: GET /api/auth/get-session
[AUTH DEBUG] Better Auth is checking trustedProviders. Current list: [ 'PocketID' ]
[AUTH HANDLER] Intercepted request: GET /api/auth/get-session
[AUTH DEBUG] Better Auth is checking trustedProviders. Current list: [ 'PocketID' ]
[AUTH HANDLER] Intercepted request: GET /api/auth/passkey/generate-authenticate-options
[AUTH DEBUG] Better Auth is checking trustedProviders. Current list: [ 'PocketID' ]
[AUTH HANDLER] Intercepted request: POST /api/auth/sign-up/email
[AUTH DEBUG] Better Auth is checking trustedProviders. Current list: [ 'PocketID' ]
[AUTH DEBUG] user.create.before hook triggered. Path: /sign-up/email
[AUTH] Blocking signup: SPARKY_FITNESS_DISABLE_SIGNUP is true

Screenshots/Videos (Optional)

If applicable, add screenshots or a short video to help explain your problem.

Additional Context

Add any other context about the problem here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    Status
    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions