Particularly once the daemon is in the mix, letting you move forward in dagit with an in-memory DagsterInstance is just asking for trouble. Warn until you set the DAGSTER_HOME environment variable.
For a user who just wants to run dagit, it seems confusing to throw an error (or even a warning) for "dagster-daemon" (ie "dagster-daemon can't run using an in-memory instance..."). I think an alternative is to supplement the message ‘the scheduler daemon is not running’ (<- can't find this in the code, but the user sent this over slack) with 'DAGSTER_HOME is not set. Make sure that DAGSTER_HOME is set to the same location for Dagit and Daemon" (iff DAGSTER_HOME is actually not set)
when i see a warning, my reaction is "i guess i did something vaguely bad". in this case, i'm not sure that running dagit without setting DAGSTER_HOME is vaguely bad? defer to you though
nit: we use the phrase "ephemeral instance" in the rest of the DAGSTER_HOME warnings
ah, the daemon messages use the phrase "in-memory instance" but non-daemon messages use the phrase "ephemeral instance"
dagit wont work at all if you use a truly ephemeral instance, thats basically for tests only. The storage_fallback scheme is to ensure its a temporary directory backed one is the fallback behavior