You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When the client starts with no sealed session, it tells the user to edit ~/.config/infinidream/settings.json and to re-run with --cached. Both are Linux-only: the path is wrong on Windows and macOS, and --cached isn't parsed at all on Windows.
Observed
Fresh install on Windows 10 (deleted %LOCALAPPDATA%\Infinidream\), build 0.1.0 / dd396ac7:
[2026-07-31 16:26:20.217383 - warning]: No sealed session found
[2026-07-31 16:26:20.217383 - warning]: No sealed session or API key found. Set
settings.generator.nickname in ~/.config/infinidream/settings.json and run
interactively, or run with --cached to play cached videos.
g_Log->Warning("No sealed session or API key found. ""Set settings.generator.nickname in ~/.config/infinidream/settings.json ""and run interactively, or run with --cached to play cached videos.");
The message is emitted on all platforms, but that path only exists on Linux. Actual locations:
#ifdef WIN32
int32_tAPIENTRYWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
bool cachedOnlyMode = false; // WIN32 does not support --cached flag parsing yet
#elseint32_tmain(int argc, char* argv[])
{
// Parse our flags before glutInit so GLUT doesn't interfere.bool cachedOnlyMode = false;
for (int i = 1; i < argc; ++i)
if (strcmp(argv[i], "--cached") == 0) { cachedOnlyMode = true; break; }
WinMain ignores lpCmdLine entirely, so a user who follows the advice gets no effect and no feedback.
The same --cached suggestion appears unguarded at client_generic/Client/client.h:890-895:
fprintf(stderr,
"\nNo sealed session or API key found.\n""Options:\n"" 1. Run interactively to be prompted for your email and log in\n"" 2. Set INFINIDREAM_API_KEY environment variable\n"" 3. Run with --cached to play locally cached videos\n");
(That one at least avoids a hardcoded path, but option 3 is still Linux/macOS-only, and on Windows the GUI app has no console to print it to.)
Suggested fix
Make the settings-path text platform-conditional, reusing whatever helper already resolves the settings directory rather than hardcoding a string.
Drop or #ifdef-guard the --cached suggestion on Windows until the flag is actually parsed there — or implement parsing in WinMain via GetCommandLineW() / CommandLineToArgvW().
Summary
When the client starts with no sealed session, it tells the user to edit
~/.config/infinidream/settings.jsonand to re-run with--cached. Both are Linux-only: the path is wrong on Windows and macOS, and--cachedisn't parsed at all on Windows.Observed
Fresh install on Windows 10 (deleted
%LOCALAPPDATA%\Infinidream\), build0.1.0/dd396ac7:Two separate problems
1. Hardcoded Linux settings path
client_generic/Networking/EDreamClient.cpp:740-742The message is emitted on all platforms, but that path only exists on Linux. Actual locations:
%LOCALAPPDATA%\Infinidream\settings.json(stage:Infinidream-stage)/Users/Shared/infinidream.ai/settings.json~/.config/infinidream/settings.json2.
--cachedis not parsed on Windowsclient_generic/Client/main.cpp:34-45WinMainignoreslpCmdLineentirely, so a user who follows the advice gets no effect and no feedback.The same
--cachedsuggestion appears unguarded atclient_generic/Client/client.h:890-895:(That one at least avoids a hardcoded path, but option 3 is still Linux/macOS-only, and on Windows the GUI app has no console to print it to.)
Suggested fix
#ifdef-guard the--cachedsuggestion on Windows until the flag is actually parsed there — or implement parsing inWinMainviaGetCommandLineW()/CommandLineToArgvW().Notes
aa6d73ff). Not a regression from any currently open PR — found while testing Fix #622: Linux client settings GUI #647 on Windows.