Skip to content

A corrupt storage-override file must not 500 the whole app #229

Description

@juancobo

StorageOverrideError (introduced in backend PR #36) raises uncaught through the settings.projects_dir property (app/core/config.py:38-43). Since nearly every request touches that property, one corrupt or truncated override file turns the entire API into 500s — the app is down until someone SSHes in and deletes the file.

The atomic-write change in the same PR makes corruption unlikely, but the blast radius is wrong. Catch the error at the property (or at startup), log it loudly, and fall back to internal storage — the same behavior the unmount path already has, where removing the active external drive auto-reverts the override. A visible warning in the UI ("external storage override was invalid; using internal storage") beats a dead appliance.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions