Thumbnails don't display

Hi, colleagues work on a tropy project from some computers and they synchronize their data over owncloud. Suddenly, the thumbnails have disappeared on one laptop, We can still view the real photos but no more the thumbnails, we’ve got a question mark instead, a consolidation of the images has not improved the situation. Thank you for any ideas, Patrick.

Just to make sure I got this right: can you view the full photos in Tropy, or outside of Tropy? If you can view the photos outside of Tropy, but not in Tropy then there’s either an issue with the paths or file permissions. So first, I’d make sure that the path to the photos are correct and, if that’s the case, check the log if there are any permission denied or similar issues. If you let us know which operating system this is, we can try to help further with this.

If the full photos display fine in Tropy, but no thumnails show up then there must be some other issue. The first thing that would come to mind if is for some reason Tropy can’t write to the image cache or something like this. In this case, please post a log file from a session where you try to consolidate one of the photos as this might help shed light on the issue.

Hi, we can view the full photo in the detailed view of tropy if we doubleclick on it. Only the thumbnail is not displayed. The laptop runs under windows 10 pro. I’ve just launched tropy and tried to consolidate one image. The logfile is attached. If I understand well, the cache is under \DHI-FS1\Profile\Userprofile\tmaissen\Anwendungsdaten\Tropy\cache. I’ve tried to add some files here from the user tmaissen and it works well, he is allowed to write here. Thank you for your help, Patrick

The logfile:
{“level”:30,“time”:1611669463576,“type”:“browser”,“name”:“main”,“args”:[],“opts”:{“version”:“1.8.2”,“data”:"\\DHI-FS1\Profile\Userprofile\tmaissen\Anwendungsdaten\Tropy",“cache”:"\\DHI-FS1\Profile\Userprofile\tmaissen\Anwendungsdaten\Tropy\cache",“logs”:"\\DHI-FS1\Profile\Userprofile\tmaissen\Anwendungsdaten\Tropy\log",“env”:“production”,“autoUpdates”:true,“webgl”:false,“debug”:false,“trace”:false},“version”:“1.8.2”,“msg”:“main.init 1.8.2 Windows_NT 10.0.18363 (x64)”}
{“level”:30,“time”:1611669463806,“type”:“browser”,“name”:“main”,“msg”:“plugins scanned: 0”}
{“level”:30,“time”:1611669463816,“type”:“browser”,“name”:“main”,“msg”:“app state restored”}
{“level”:30,“time”:1611669463822,“type”:“browser”,“name”:“main”,“file”:“C:\Users\tmaissen\ownCloud\Bilddatenbank Staatspersonifikationen V7_Neu.tpy”,“msg”:“open new project window”}
{“level”:30,“time”:1611669464178,“type”:“browser”,“name”:“main”,“msg”:“ready after 4761.87890625ms”}
{“level”:30,“time”:1611669474288,“type”:“renderer”,“name”:“project”,“dpx”:1,“opts”:{“aqua”:false,“contrast”:false,“dark”:false,“env”:“production”,“documents”:"\\DHI-FS1\Benutzer\tmaissen\Eigene Dateien",“maximizable”:true,“minimizable”:true,“pictures”:"\\DHI-FS1\Benutzer\tmaissen\Eigene Dateien\My Pictures",“scrollbars”:true,“theme”:“light”,“file”:“C:\Users\tmaissen\ownCloud\Bilddatenbank Staatspersonifikationen V7_Neu.tpy”,“recent”:[“C:\Users\tmaissen\ownCloud\Bilddatenbank Staatspersonifikationen V7_Neu.tpy”,“C:\Users\tmaissen\ownCloud\Bilddatenbank Staatspersonifikationen V7_Neu (conflicted copy 2020-11-04 143737).tpy”,“C:\Owncloud Tropy Bilddatenbank\Bilddatenbank Staatspersonifikationen V7_Neu.tpy”,“C:\Owncloud Tropy Bilddatenbank\Bilddatenbank Staatspersonifikationen V6_Neu.tpy”,“C:\sauveFichiersTpy\owncloud.tropy.bilddatenbank\Bilddatenbank Staatspersonifikationen V7_Neu.tpy”,“C:\sauveFichiersTpy\owncloud.tropy.bilddatenbank\Bilddatenbank Staatspersonifikationen V5.tpy”,“C:\sauveFichiersTpy\owncloud.tropy.bilddatenbank\Bilddatenbank Staatspersonifikationen V6_alt.tpy”,“C:\sauveFichiersTpy\owncloud.tropy.bilddatenbank\Bilddatenbank Staatspersonifikationen V6_Neu.tpy”,“C:\Owncloud Tropy Bilddatenbank\Bilddatenbank Staatspersonifikationen V6_alt.tpy”,“C:\Owncloud Tropy Bilddatenbank\Bilddatenbank Staatspersonifikationen V5.tpy”],“data”:"\\DHI-FS1\Profile\Userprofile\tmaissen\Anwendungsdaten\Tropy",“debug”:false,“dev”:false,“cache”:"\\DHI-FS1\Profile\Userprofile\tmaissen\Anwendungsdaten\Tropy\cache",“plugins”:"\\DHI-FS1\Profile\Userprofile\tmaissen\Anwendungsdaten\Tropy\plugins",“fontSize”:“13px”,“frameless”:false,“level”:“info”,“locale”:“de”,“log”:"\\DHI-FS1\Profile\Userprofile\tmaissen\Anwendungsdaten\Tropy\log\tropy.log",“uuid”:“cc6b1440-feb7-11e8-b2c6-29d33f936289”,“update”:{},“version”:“1.8.2”,“webgl”:true,“zoom”:1},“msg”:“project.init”}
{“level”:30,“time”:1611669474436,“type”:“renderer”,“name”:“project”,“msg”:“plugins scanned: 0”}
{“level”:30,“time”:1611669474436,“type”:“renderer”,“name”:“project”,“msg”:“plugins loaded: 0”}
{“level”:30,“time”:1611669475172,“type”:“renderer”,“name”:“project”,“msg”:“restoring recent@tropy”}
{“level”:30,“time”:1611669475175,“type”:“renderer”,“name”:“project”,“msg”:“restoring settings@tropy”}
{“level”:30,“time”:1611669475176,“type”:“renderer”,“name”:“project”,“msg”:“restoring ui@tropy”}
{“level”:30,“time”:1611669475184,“type”:“renderer”,“name”:“project”,“mode”:“w+”,“msg”:“open db \\DHI-FS1\Profile\Userprofile\tmaissen\Anwendungsdaten\Tropy\ontology.db”}
{“level”:30,“time”:1611669475823,“type”:“renderer”,“name”:“project”,“msg”:“Esper.instance created using webgl renderer”}
{“level”:30,“time”:1611669475953,“type”:“renderer”,“name”:“project”,“mode”:“w”,“msg”:“open db C:\Users\tmaissen\ownCloud\Bilddatenbank Staatspersonifikationen V7_Neu.tpy”}
{“level”:30,“time”:1611669476008,“type”:“renderer”,“name”:“project”,“mode”:“w”,“msg”:“open db C:\Users\tmaissen\ownCloud\Bilddatenbank Staatspersonifikationen V7_Neu.tpy”}
{“level”:30,“time”:1611669476158,“type”:“renderer”,“name”:“project”,“msg”:“project ready 12140ms [dom:10292ms win:127ms req:729ms]”}
{“level”:40,“time”:1611669477533,“type”:“renderer”,“name”:“project”,“query”:“PRAGMA integrity_check(10)”,“ms”:1501,“msg”:“SLOW: db query took 1501ms”}
{“level”:30,“time”:1611669477651,“type”:“renderer”,“name”:“project”,“msg”:“db query took 117ms”,“query”:“PRAGMA foreign_key_check”,“ms”:117}
{“level”:30,“time”:1611669477673,“type”:“renderer”,“name”:“project”,“msg”:“restoring nav@64c463ab-80e5-4aef-9b03-018d844a2996”}
{“level”:30,“time”:1611669477674,“type”:“renderer”,“name”:“project”,“msg”:“restoring notepad@64c463ab-80e5-4aef-9b03-018d844a2996”}
{“level”:30,“time”:1611669477676,“type”:“renderer”,“name”:“project”,“msg”:“restoring esper@64c463ab-80e5-4aef-9b03-018d844a2996”}
{“level”:30,“time”:1611669477677,“type”:“renderer”,“name”:“project”,“msg”:“restoring imports@64c463ab-80e5-4aef-9b03-018d844a2996”}
{“level”:30,“time”:1611669477679,“type”:“renderer”,“name”:“project”,“msg”:“restoring sidebar@64c463ab-80e5-4aef-9b03-018d844a2996”}
{“level”:30,“time”:1611669477680,“type”:“renderer”,“name”:“project”,“msg”:“restoring panel@64c463ab-80e5-4aef-9b03-018d844a2996”}
{“level”:30,“time”:1611669477762,“type”:“renderer”,“name”:“project”,“mode”:“w”,“msg”:“open db C:\Users\tmaissen\ownCloud\Bilddatenbank Staatspersonifikationen V7_Neu.tpy”}
{“level”:30,“time”:1611669478359,“type”:“renderer”,“name”:“project”,“msg”:“db query took 101ms”,“query”:"\n SELECT id AS photo, item_id AS id\n FROM photos\n LEFT OUTER JOIN trash USING (id)\n WHERE \n deleted IS NULL\n ORDER BY item_id, position",“ms”:101}
{“level”:30,“time”:1611669478360,“type”:“renderer”,“name”:“project”,“msg”:“db query took 114ms”,“query”:"\n SELECT\n id,\n template,\n datetime(created, “localtime”) AS created,\n datetime(modified, “localtime”) AS modified,\n deleted\n FROM subjects\n JOIN items USING (id)\n LEFT OUTER JOIN trash USING (id)",“ms”:114}
{“level”:40,“time”:1611669479610,“type”:“renderer”,“name”:“project”,“query”:"\n SELECT\n id,\n item_id AS item,\n template,\n datetime(created, “localtime”) AS created,\n datetime(modified, “localtime”) AS modified,\n angle,\n color,\n density,\n mirror,\n negative,\n brightness,\n contrast,\n hue,\n saturation,\n sharpen,\n width,\n height,\n path,\n page,\n size,\n protocol,\n mimetype,\n checksum,\n orientation\n FROM subjects\n JOIN images USING (id)\n JOIN photos USING (id)",“ms”:340,“msg”:“SLOW: db query took 340ms”}
{“level”:40,“time”:1611669479640,“type”:“renderer”,“name”:“project”,“msg”:“SLOW: photo.load#19”}
{“level”:40,“time”:1611669480355,“type”:“renderer”,“name”:“project”,“query”:"\n SELECT id, property, text, datatype AS type\n FROM subjects\n JOIN metadata USING (id)\n JOIN metadata_values USING (value_id) ORDER BY id, metadata.created ASC",“ms”:560,“msg”:“SLOW: db query took 560ms”}
{“level”:40,“time”:1611669480383,“type”:“renderer”,“name”:“project”,“msg”:“SLOW: metadata.load#20”}
{“level”:40,“time”:1611669480442,“type”:“renderer”,“name”:“project”,“msg”:“SLOW: selection.load#21”}
{“level”:40,“time”:1611669480821,“type”:“renderer”,“name”:“project”,“msg”:“SLOW: note.load#22”}
{“level”:30,“time”:1611669480920,“type”:“renderer”,“name”:“project”,“msg”:“db query took 157ms”,“query”:"\n SELECT\n note_id AS note,\n photos.id AS photo,\n selections.id AS selection,\n state,\n text,\n language,\n datetime(modified, “localtime”) AS modified\n FROM notes\n LEFT OUTER JOIN photos USING (id)\n LEFT OUTER JOIN selections USING (id)\n WHERE deleted IS NULL\n ORDER BY created ASC",“ms”:157}
{“level”:30,“time”:1611669480939,“type”:“renderer”,“name”:“project”,“msg”:“db query took 154ms”,“query”:"\n \n WITH sort(id, text) AS (\n SELECT id, text\n FROM metadata JOIN metadata_values USING (value_id)\n WHERE property = $sort)\n SELECT DISTINCT id\n FROM items\n \n LEFT OUTER JOIN sort USING (id)\n LEFT OUTER JOIN trash USING (id)\n WHERE\n \n \n deleted IS NULL\n \n ORDER BY sort.text ASC, id ASC",“ms”:154}
{“level”:40,“time”:1611669480942,“type”:“renderer”,“name”:“project”,“ms”:3165,“list”:false,“query”:"",“tags”:false,“trash”:null,“msg”:“SLOW: *search query “” took 3165ms”}
{“level”:40,“time”:1611669507912,“type”:“renderer”,“name”:“project”,“msg”:“SLOW: photo.consolidate#71”}

Odd! Can you check if there are any files being created in the cache folder when you consolidate images? Or, for that matter, if there are any files there. Each project should have it’s own cache folder based on it’s internal id and the thumbnails should be created in that folder during consolidation. There are no errors in the log, so I would assume that the pictures are being created there.

If the pictures are in the cache, can you enable developer mode in Tropy’s preferences and check the console? My assumption is that there should be permission denied errors there, because of the security policy. If that’s the case, could you post one of the error messages? Thanks!

Is the \DHI-FS1 drive a network drive? Are other laptops where the thumbnails show up using the same network share or is it just this one?

HI, in the cache folder there are only index, data_0, data_1, data_2, data_3 files, they were not updated for a while but there is a folder 64c463ab-80e5-4aef-9b03-018d844a2996 where I can see a lot of .webp files, some of them were updated today, yesterday,… DHI-FS1 is a network drive with the roaming profile of the user. Other users work direct on their laptop, locally at the moment. The user has a full control on these folders.
IN developper mode, if I click on the image, I got this error
/DHI-FS1/Profile/Userprofile/tmaissen/Anwendungsdaten/Tropy/cache/64c463ab-80e5-4aef-9b03-018d844a2996/12136_512.webp?c=1611743854637:1 GET file:///DHI-FS1/Profile/Userprofile/tmaissen/Anwendungsdaten/Tropy/cache/64c463ab-80e5-4aef-9b03-018d844a2996/12136_512.webp?c=1611743854637 net::ERR_FILE_NOT_FOUND
If I check in \DHI\FS1\Profile… over the windows explorer in the session of the user, I can find this file 12136_512.webp.
Before doing that, I’ve found a lot of such errors for many webp files in the console.
Thank you, Patrick

OK thanks! This looks like it’s something that we need to fix – some error in the way the URL to the cache is generated (presumably because of the wrong assumption that the image cache would always be a local drive).

The only way you can fix this right away, is by starting Tropy with the --cache command line parameter pointing to a folder on the local disk (e.g. by creating a custom shortcut on the Windows desktop).

Yes, it’s running well with the --cache and the local profile. Thank you! Patrick

We are already using a system library to create those URLs so it is curious that they are not compatible. Out of curiosity, could you try the URL that fails in your local browser:

The invalid part here are most likely the three forward slashes at the beginning. If the link does not work in the browser, it would be much appreciated if you check if it works with two or five (!) slashes instead of the three? Many thanks!

Nevermind, I found the issue in Node.js:

It’s already fixed so this should be addressed by the upcoming Tropy release.