No description
Find a file
Jeremy Soller 5bdfffa494
fix: infinite dialogs with network mount failure (#1956)
Selecting a broken network mount triggers an infinite loop of dialogs
that requires killing the app:

1. Click invalid network mount
2. Try to mount network path
3. Show failure dialog
4. Trigger `NetworkDriveOpenEntityAfterMount`
* BUG: This fires even if the mount failed or the user canceled the
dialog!
6. Goto 2

Fix by having `network_drive(...)` return a Boolean indicating whether
the mount actually happened and using that to break the infinite error
loop.

Fixes #1629 

Sample broken network path that triggers the infinite dialog when
selected:

**~/.config/cosmic/com.system76.CosmicFiles/v1/favorites**

```ron
[
    Home,
    Documents,
    Downloads,
    Network(
        uri: "sftp://myserver/shared",
        name: "",
        path: "/tmp/fake-network/sftp-host=myserver/mnt",
    ),
]
```

- [x] I have disclosed use of any AI generated code in my commit
messages.
- [x] I understand these changes in full and will be able to respond to
review comments.
- [x] My change is accurately described in the commit message.
- [x] My contribution is tested and working as described.
- [x] I have read the [Developer Certificate of
Origin](https://developercertificate.org/) and certify my contribution
under its conditions.
2026-08-11 07:46:35 -06:00
.github Add pull request template 2026-02-13 12:35:27 -07:00
.zed chore: add rustfmt config 2026-04-29 00:53:57 +02:00
cosmic-files-applet Epoch 1.5.0 version update 2026-07-28 09:14:14 -06:00
debian Epoch 1.5.0 version update 2026-07-28 09:14:14 -06:00
examples chore: add rustfmt config 2026-04-29 00:53:57 +02:00
i18n i18n: translation updates from weblate 2026-07-28 07:02:19 +02:00
res Generate translated desktop and metainfo files with xdgen 2026-02-12 14:46:38 -07:00
samples Add mode samples 2025-02-12 10:44:53 -07:00
scripts Remove fs_extra (#655) 2024-11-13 14:36:11 -07:00
src fix infinite dialog on network mount failure 2026-08-04 23:09:19 -07:00
.gitignore Add just flamegraph target 2024-11-14 09:28:28 -07:00
build.rs chore: add rustfmt config 2026-04-29 00:53:57 +02:00
Cargo.lock Epoch 1.5.0 version update 2026-07-28 09:14:14 -06:00
Cargo.toml Epoch 1.5.0 version update 2026-07-28 09:14:14 -06:00
i18n.toml Basic implementation 2024-01-03 15:27:32 -07:00
justfile build: use cargo vendor --locked 2026-06-02 09:52:14 -04:00
LICENSE Initial commit 2024-01-03 13:34:32 -07:00
README.md Remove WIP note from readme 2026-01-13 10:07:50 -07:00
rust-toolchain.toml chore: add rust-toolchain to enforce 1.93 2026-05-01 19:10:23 +02:00
rustfmt.toml chore: add rustfmt config 2026-04-29 00:53:57 +02:00
TESTING.md docs (QA): Add file drag-and-drop to regression testing checklist 2025-12-19 13:36:31 -07:00

cosmic-files

File manager for the COSMIC desktop environment

Build the project from source

# Clone the project using `git`
git clone https://github.com/pop-os/cosmic-files
# Change to the directory that was created by `git`
cd cosmic-files
# Build an optimized version using `cargo`, this may take a while
cargo build --release
# Run the optimized version using `cargo`
cargo run --release

Community and Contributing

The COSMIC desktop environment is maintained by System76 for use in Pop!_OS. A list of all COSMIC projects can be found in the cosmic-epoch project's README. If you would like to discuss COSMIC and Pop!_OS, please consider joining the Pop!_OS Chat. More information and links can be found on the Pop!_OS Website.

License

This project is licensed under GPLv3