<p><strong>PROBLEM:</strong></p>
<p>Upon opening a Geany project, if some of the files cannot be found:</p>
<ol>
<li>No error message is generated, the status tab shows message not listing what was not opened</li>
<li>Upon Geany exit (or project close, then geany exit), the actual project file is updated and the files which are not found get deleted from the project file files list<br>
This way, both the user is not aware what went wrong AND the user loses files from the project.</li>
</ol>
<p><strong>PROPOSED SOLUTION -- Geany must NOT automatically decide what to do:</strong></p>
<ol>
<li>The status tab should show message exactly which files were not opened</li>
<li>There must be a pop-up dialog:<br>
2.1. Displayed message saying like "Some files cannot be opened" (maybe show list of the files, along with paths, preferably in a text area, so these could be copied in the clipboard, for troubleshooting purpose)<br>
2.2. Button: "Retry"<br>
In case files are on a remote filesystem and the partition was unmounted for some reason, user could mount the partition again and given the option to retry opening all missing files.<br>
2.3. Button: "Cancel"<br>
If "Cancel" is selected, nothing is re-opened, but also -- the project file must NOT be updated<br>
2.4. Button: "Skip files and save project"<br>
If this is selected, then the user chooses clearly both to lose the files from the project and have the project updated that way.</li>
</ol>
<p><strong>DETAILS:</strong></p>
<p>I observed this issue with few previous Geany versions, but let's test with 1.35 (currently the last one).</p>
<p>My case is that the project files were on a locally mounted remote filesystem and then at some point the partition was not mounted, when this was observed. However I suspect, the same will happen if files are local, just missing.</p>
<p>Environment:</p>
<ol>
<li>Debian 9</li>
<li>Lxde</li>
<li>sshfs installed</li>
<li>remote filesystem mounted on /mnt/abc</li>
</ol>
<p><strong>Steps to reproduce:</strong><br>
0. Mount a remote filesystem with sshfs:<br>
sudo sshfs -o allow_other myuser@somehost:/abc/bcd/abc /mnt/abc</p>
<ol>
<li>Open Geany</li>
<li>Open some files from the mounted partition</li>
<li>Open few files from a local partition too</li>
<li>Create new project with the currently opened files and make sure the project file is saved in the default geany project directory</li>
<li>Close the project</li>
<li>Close Geany<br>
<strong>OBSERVE:<br>
The project file exists in the default geany directory /home/myuser/projects, open the file with (cat/vi/whatever) and see all files from the project are listed in the file</strong></li>
<li>Unmount the mounted partition from Step 0.</li>
<li>Open Geany</li>
<li>Open the project created in Step 4. (use either Main Menu > Project > Open OR open it from the recent projects list)<br>
<strong>OBSERVE:<br>
Only the files from the local partitions are opened. Status tab shows message "Failed to load one or more session files."</strong></li>
<li>Close the project (or directly close Geany)</li>
<li>Close Geany<br>
<strong>OBSERVE:<br>
While the project file still exists in /home/myuser/projects, it does not contain anymore the files from the remote partition from Step 2.</strong></li>
</ol>
<p>$ geany -V<br>
geany 1.35 (built on 2019-04-29 with GTK 2.24.31, GLib 2.50.3)<br>
$ geany -v<br>
Geany-INFO: Geany 1.35, en_CA.UTF-8<br>
Geany-INFO: GTK 2.24.31, GLib 2.50.3<br>
Geany-INFO: System data dir: /usr/local/share/geany<br>
Geany-INFO: User config dir: /home/eantonov/.config/geany<br>
Geany-INFO: System plugin path: /usr/local/lib/geany<br>
Geany-INFO: Added filetype Cython (61).<br>
Geany-INFO: Added filetype JSON (62).<br>
Geany-INFO: Added filetype Arduino (63).<br>
Geany-INFO: Added filetype Clojure (64).<br>
Geany-INFO: Added filetype Genie (65).<br>
Geany-INFO: Added filetype Scala (66).<br>
Geany-INFO: Added filetype Graphviz (67).<br>
Geany-INFO: Added filetype CUDA (68).<br>
Geany-INFO: Loaded libvte from libvte.so.9<br>
Geany-INFO: Loaded:   /usr/local/lib/geany/addons.so (Addons)<br>
Geany-INFO: Loaded:   /usr/local/lib/geany/htmlchars.so (HTML Characters)<br>
Geany-INFO: Loaded:   /usr/local/lib/geany/lipsum.so (Lipsum)<br>
Geany-INFO: Loaded:   /usr/local/lib/geany/pairtaghighlighter.so (Pair Tag Highlighter)<br>
Geany-INFO: unknown : None (UTF-8)<br>
Geany-INFO: Quitting...</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/geany/geany/issues/2155?email_source=notifications&email_token=AAIOWJ74XOGWN6YQH37BJMDPVLUNZA5CNFSM4HM3ZQCKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4GTXGVBA">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AAIOWJ6WVHNXXME3DDJ3EXTPVLUNZANCNFSM4HM3ZQCA">mute the thread</a>.<img src="https://github.com/notifications/beacon/AAIOWJ5VUNVSOCX6RHACE7DPVLUNZA5CNFSM4HM3ZQCKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4GTXGVBA.gif" height="1" width="1" alt="" /></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/geany/geany/issues/2155?email_source=notifications\u0026email_token=AAIOWJ74XOGWN6YQH37BJMDPVLUNZA5CNFSM4HM3ZQCKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4GTXGVBA",
"url": "https://github.com/geany/geany/issues/2155?email_source=notifications\u0026email_token=AAIOWJ74XOGWN6YQH37BJMDPVLUNZA5CNFSM4HM3ZQCKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4GTXGVBA",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>