Skip to content

GUI exits even when the final project save fails #375

Closed

Description

@faelsete

Summary

The window-close handlers quit unconditionally even when Studio::close_project() fails to save and deliberately keeps the session open. This can silently discard unsaved edits on disk-full, permission errors, or a disconnected project volume.

Versions inspected

Source evidence on main

  • src/crates/concat/src/studio.rs:7236-7240: final save failure triggers a notification and returns without closing the session.
  • src/crates/concat/src/lib.rs:465-482: titlebar and system close handlers ignore this outcome, hide the window and/or quit the event loop.
  • File > Close Window has the same pattern.
  • src/crates/concat/src/panes/settings.rs:844-849: version-switch quit also ignores the failure.

Suggested reproduction (not yet executed)

  1. Create a disposable project and make edits.
  2. Make project manifest writes fail, for example using an isolated full test volume.
  3. Close the window before obtaining a successful save.
  4. The handlers currently quit even though saving failed; the error toast cannot remain visible.

Expected: keep the window/session open on save failure, show the error, and let the user retry. Do not quit or perform the version switch until saving succeeds (or explicit discard is offered).

Validation and contribution

This report is based on source analysis, not a reproduced runtime session. No claim is made that the Rust build or GUI test suite has passed. An AI-assisted, narrowly scoped fix is being prepared; all reported findings require human/maintainer review. The possible loss window is not necessarily limited to the autosave debounce if previous saves were also failing.

Activity

  1. jub0t commented on Oct 17, 2026

    @jub0t
    Owner

    Fixed on main and coming in 0.2.8: #377 (thanks @faelsete) keeps the window open when the final save fails and makes concurrent saves safe, and 9197340 adds a "Quit without saving?" choice, so a disk that's gone can't trap the window either. Leaving this open until 0.2.8 ships.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions