FreeShow icon indicating copy to clipboard operation
FreeShow copied to clipboard

Imported shows resulting in "Could not find show"

Open cpaschen opened this issue 6 months ago • 4 comments

Describe the bug After importing several song files (as txt), and exiting, and re-entering, the song is no longer able to be found. Happens only on certain files important not all.

Reproducing

  1. Import songs from text files (see samples attached)
  2. Assign Groups to slides as appropriate
  3. Exit FreeShow
  4. Restart FreeShow (on same or other synchronized computer)
  5. Click on one of the songs imported

GET:

  • "Gould not find show" in the main slide area
  • The song entry in the Shows/Songs list is highlighted (red)

Version (Optional)

  • OS: Windows 10 /Linux (Kubuntu)
  • FreeShow Version: [e.g. 1.4.7

Additional context This was also happening on 1.4.6 (possibly even 1.4.5), but I just was able to isolate the process when the songs were having issues.

See attached txt files for files that are causing problems on import.

Hymn 026--A Mighty Fortress Is Our God.txt Hymn 046--God Leads Us Along.txt Hymn 058--This Is My Father's World.txt Hymn 064--All Creatures of Our God and King.txt

cpaschen avatar Jun 29 '25 01:06 cpaschen

As an aside (potential other 'bug', but not critical) ...

When these import, the slides marked with [TITLE] and [ENDSLIDE] get those names added to the associated slide; however, the group associated with those labels are not getting applied, so I have to manually go in and set the group for those two slides. Not sure if this is related or if this should be a different issue report.

cpaschen avatar Jun 29 '25 01:06 cpaschen

Also ...

After seeing the not found notice, I then tried to import file again, individually. That results in a new entry being created with a "2" appended. That new show is fully populated. However, the original entry is then populated with slides again as well.

I then tried deleting both of the entries and tried re-importing from scratch (after restarting FreeShow), and run into the same problem after restarting again.

cpaschen avatar Jun 29 '25 01:06 cpaschen

Thank you for the explanation and example files. I'll look into this.

vassbo avatar Jun 29 '25 06:06 vassbo

@cpaschen - I'm attempting to reproduce the problem, but it appears to be working ok. Is there a step I'm missing? If not, could you try the process on another computer to see if it's something with this specific machine/install?

https://github.com/user-attachments/assets/301eaaea-5f5b-4e31-85a6-008014c41ba1

jzongker avatar Jul 01 '25 17:07 jzongker

I'll run a test on our projection computer tonight and report back here the results.

I've been attempting this process, and getting the problem, on home/office computers that are synchronized. So maybe we've got an issue with synchronization. But I'll do some more tests to try to help identify where the problem is.

cpaschen avatar Jul 02 '25 21:07 cpaschen

I ran a test on our projection computer (Win10, FreeShow upgraded to 1.4.7) and had same results. The song loads fine and is accessible, but after shutdown of FreeShow (with synchronization) and then restart of FreeShow, the song is no longer found.

I completely deleted the show from FreeShow, exited (allowing it to Sync), then restarted FreeShow, then re-imported, then exited FreeShow (with sync), then restarted FreeShow and same thing happens.

It is strange that it is happening on just selected file imports.

I'm not sure what to test again. If you have some ideas what I should test, let me know.

In the mean time, I'm just going to have to import these from their source PPTX files instead and manually set all the groups and metadata fields so that we can get going with FreeShow beyond our Wednesday night testing.

But I'll keep testing if you think it is worth the effort. (If not, I'm fine closing this ticket)

cpaschen avatar Jul 03 '25 00:07 cpaschen

Wait ... a follow-up thing I noticed.

On the projection computer tonight I couldn't import from the test file for "His Glory and My Good" (attached). So I went back and imported from the PPTx file (also attached) (so we would have it for singing). It loaded fine and we were able to use it live for singing.

However, when I got back home and opened FreeShow here (on Kubuntu), the song 'could not find show', just like with the text file import. So the problem is not isolated to the text file itself but somewhere else. (doing some more testing ...)

cpaschen avatar Jul 03 '25 00:07 cpaschen

Here are copies of both of those files:

His Glory and My Good.pptx

His Glory and My Good.txt

cpaschen avatar Jul 03 '25 00:07 cpaschen

Maybe not related (but maybe it is) ...

One of the PPTx files that got imported and went into the Presentations area, I just moved (drag and drop) into the Songs category. And when I did that the FreeShow app (on Kubuntu) froze up.

This happened once before (since upgrading to 1.4.7).

Could this have somehow caused a corruption in the FreeShow database and then been sync'd to the other computers and causing this problem?

(If you want some system info that I saved at the point where it locked up, I can post that here also).

BTW ... It looks like we definitely need to pursue trying to resolve this issue because we really can't rely on this instance of FreeShow as it's not stable (this instance, not implying FreeShow itself isn't stable). Let me know what I could do to help debug this problem more.

cpaschen avatar Jul 03 '25 00:07 cpaschen

Is there some what to 'test' the integrity of the FreeShow database?

cpaschen avatar Jul 03 '25 14:07 cpaschen

I did some more testing and watched what was happening in /home/USER/Documents/FreeShow/Shows (data directory on linux) and noticed some things.

  1. Shows are not saved there when they are created within FreeShow, only when you exit out of the program (not sure if that expected or not, but that might be part of the problem - if a problem happens in the UI after a file is imported and before it is saved, it would make sense that it couldn't be found later).
  2. The problem appears when syncing. I tested importing the file and exiting while the system's Internet connection was disabled, and there were no problems. The file was saved in the data directory and it could be found. As soon as it has Internet connection and the program is started up, the local file in the data directory is deleted, so then it can't be found.
  3. Even if I try manually adding a new song (and just pasting in the text of the song after first deleting the old 'could not find' entry), the same problem happens. (If I use the same song name as before) HOWEVER...
  4. If I change the song name when I manually add the new song (by just adding something like a "-" at the end, it saves without a problem.

So, it appears to me that when you delete a song, there is some issue with the sync process that doesn't get rid of the song title reference and keeps 'holding on' to that old title, and then deletes it when the program is opened. Effectively, the DELETE option doesn't really appear to completely delete the original song reference. At least that's what it appears to be at this point. And multiple synchronizing rounds doesn't appear to 'clean out' something related to the original song title.

I couldn't find how that title info is stored, other than within the .show file, so I'm not sure where to look from here.

cpaschen avatar Jul 08 '25 15:07 cpaschen

OK ... I definitely don't understand the process that is happening with data here. If I directly take a look at the SHOWS_CONTENT.json file that is stored on the google drive sync folder, I see the following entries:

"98456abd676": { "deleted": true, "name": "All Sufficient Merit 2" }, "1fd4da8950b": { "deleted": true, "name": "All Sufficient Merit 2" }, "3d955e3f393": { "deleted": true, "name": "All Sufficient Merit 2" }, "5d707bf3f69": { "deleted": true, "name": "All Sufficient Merit" }, "45d8f04ce91": { "deleted": true, "name": "All Sufficient Merit" }, "08ac7f6b5df": { "deleted": true, "name": "All Sufficient Merit" }, "b0ff0cfe594": { "deleted": true, "name": "All Sufficient Merit" }, "446132f23a6": { "deleted": true, "name": "All Sufficient Merit" }, "46b319136a7": { "deleted": true, "name": "All Sufficient Merit" }, "7078932e8d2": { "deleted": true, "name": "All Sufficient Merit" },

This is one of the songs that I had problems after importing and then tried re-importing, and it keeps getting deleted.

However, if I now re-import the same song file, but rename the file adding a "--" (or anything else) to the file name, the song imports properly and doesn't seem to have any problems.

When the synchronization process runs when FreeShow is first loaded, does it just match songs by name and deletes them if found? If so, that would explain the problem, and why renaming the song solves the problem.

cpaschen avatar Jul 12 '25 20:07 cpaschen

There is definitely something going on with our set-up. This week I just tried importing an existing PPT file as text. It imported fine and we used it in the service. Shut-down FreeShow and open it back up and that song is no longer found.

This is now at the point where we can't move ahead with switching to FreeShow because we can't trust that new songs that are added will be there the next time we need them.

I saw one other post (in the facebook group) that someone had some issues similar after upgrading to 1.4.7. However, we've been having this issue since 1.4.5 (and I don't know if their issue included synchrnoizing).

Any ideas would be welcome to try to resolve this issue.

cpaschen avatar Jul 12 '25 20:07 cpaschen

OK ... more testing results.

When I disable the automatic sync then all of the songs are available on each machine, and restarting FreeShow doesn't result in any songs getting 'lost' (like it does if the auto sync is on).

The odd thing is that I had about 6-8 songs that were showing that could not be found prior to the sync change. Once I disabled the auto sync, then restarted FreeShow, they all were able to be found. Same results on both Windows and Linux.

Because they work fine independently, I'm guessing that it is something in the Sync function (or other related processes).

[BTW ... the Export with resources option is a WONDERFUL feature and works great. I used that at first to save a project when all the songs were working, then when some songs came up not found, I would just re-import the entire project and everything was there again .... before I disabled the sync. This might allow us to continue our testing of FS in preparation to using it regularly, until we can get the sync issue resolved. We can just create a project remotely, then share it via our onedrive - until sync is working]

cpaschen avatar Jul 14 '25 02:07 cpaschen

One other thing I could test ... just deleting everything from the sync drive manually (via logging in to the Google account). However, I want to make sure that IF I do that, then re-enable the sync, that it won't wipe out all the local data.

cpaschen avatar Jul 14 '25 02:07 cpaschen

Okay thanks for the testing. It's definetly related to the cloud sync. You can try to reset the data in the cloud, it should be fine but take backups just in case. But I think I know the problem, it probably works if you remove the deleted keys from the cloud.

The program checks by ID in the cloud and not by name, but locally created files are stored by name, so I think it repeatedly deleted the file you were trying to create after you deleted it once, as the cloud downloaded the status again.

The deleted key in the cloud is required to know the difference between a deleted show and a newly created show. But my thought is that the names and the IDs are "downloaded" from your SHOWS_CONTENT file, and then the program is trying to delete the local file with that name which results in a file with a different ID, but same name being deleted.

So the fix is to read the local file and match the ID as well.

vassbo avatar Jul 14 '25 14:07 vassbo

https://github.com/ChurchApps/FreeShow/releases/tag/v1.4.8-beta.1

vassbo avatar Jul 17 '25 08:07 vassbo

Just to confirm ... I was able to (after disabling auto sync in FS) completely delete the files within the google sync drive, then re-enable the auto-sync function and this problem seems to be resolved.

NOTE: When I deleted the files and then re-sync'd, FS lost a bunch of media folder connections, so I had to re-add those folders. But once those were re-added, things worked fine (no problems with song files ... just media files).

cpaschen avatar Jul 19 '25 16:07 cpaschen