Bug 449244

Summary: Icon display bug
Product: [Applications] tellico Reporter: louloutech <arkonanfr>
Component: generalAssignee: Robby Stephenson <robby>
Status: RESOLVED FIXED    
Severity: normal CC: arkonanfr, jess.jones.unitedkingdom
Priority: NOR    
Version: 3.4.3   
Target Milestone: ---   
Platform: Manjaro   
OS: Linux   
Latest Commit: Version Fixed In: 3.4.4
Sentry Crash Report:

Description louloutech 2022-01-27 12:21:32 UTC
SUMMARY

STEPS TO REPRODUCE

1.  First of all, you have to open Tellico (here version 3.4.3) with the tc file of the "Le bottin des jeux Linux" for example (here the link to download the .tc file of "le bottin des jeux Linux") : https://www.lebottindesjeuxlinux.tuxfamily.org/en/offline/download/

2. Open the .tc file, select a file (here I take the game Klotski for the example but the bug is on all the files unfortunately) and if you go for example in the "links" section of this page, you will see that there is absolutely no icons.

3. But the icons should exist because when you edit the file (right click on the file Klotski, then "edit entry" and go to links section) you will see icons appearing even though they do not exist on the file.


OBSERVED RESULT
The icons are not displayed in the tellicos files but when you edit the files they do appear!

EXPECTED RESULT
The icons should be displayed in the tellicos files and also in the telico editor.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Manjaro
(available in About System)
KDE Plasma Version: Unknow (because I'm on Gnome 41.3)
KDE Frameworks Version: 5.90.0
Qt Version: 5.15.2

ADDITIONAL INFORMATION
This bug doesn't look very important from this point of view, but for productivity it is and for aesthetics.

Thank you again for fixing the bug for the tellicos links, it now works perfectly!
Comment 1 louloutech 2022-01-27 12:24:30 UTC
This bug doesn't look very important from this point of view, but for productivity it is and for aesthetics.

Thank you again for fixing the bug for the tellicos links, it now works perfectly! 

Good luck and thank you again for your high quality work ;)
Comment 2 Robby Stephenson 2022-02-06 02:10:32 UTC
Git commit be5c588f9e4834550d16a7c0d9e0cf01b16cad20 by Robby Stephenson.
Committed on 06/02/2022 at 02:10.
Pushed by rstephenson into branch '3.4'.

Add unit test to support bug 449244

The paragraph widget supports emoji without problem. The XML export
seems to need to deal with it in a more robust manner.

M  +4    -0    src/tests/fieldwidgettest.cpp
M  +19   -0    src/tests/tellicoreadtest.cpp
M  +1    -0    src/tests/tellicoreadtest.h

https://invent.kde.org/office/tellico/commit/be5c588f9e4834550d16a7c0d9e0cf01b16cad20
Comment 3 Jessica 2022-02-11 22:21:35 UTC
On windows using the version from here https://binary-factory.kde.org/job/Tellico_Nightly_win64/
I still don't see icons in the "links" section.
I only see the icons when editing the entry.
Comment 4 Jessica 2022-02-11 22:23:30 UTC
If you select the game  Klotski  for example, I also can't play the videos in the "videos" section.
Should tellico play videos inside the window?
I have an error there: JavaScript can't be executed.
But clicking the video link opens a webbrowser and there the video plays correctly.
Comment 5 Robby Stephenson 2022-02-12 03:01:02 UTC
(In reply to Jessica from comment #4)
> If you select the game  Klotski  for example, I also can't play the videos
> in the "videos" section.
> Should tellico play videos inside the window?
> I have an error there: JavaScript can't be executed.
> But clicking the video link opens a webbrowser and there the video plays
> correctly.

Javascript and browser plugins (like video playback) are intentionally disabled within the Tellico window. I'm open to changing that, though I'm not sure about any security implication that might arise.
Comment 6 Robby Stephenson 2022-02-13 21:36:19 UTC
Git commit 2b25bb4fb8e61baca68c38717eab0b137396973f by Robby Stephenson.
Committed on 13/02/2022 at 21:03.
Pushed by rstephenson into branch '3.4'.

Fix bug with serializing some unicode code points

QDomDocument::createTextNode() ends up calling fixedCharData() which
uses QXmlUtils::isChar(). WHen serializing code points with surrogates,
the high surrogate character was getting dropped after Tellico 3.4.3
started using QDomImplementation::DropInvalidChars.

Saving a collection with these characters, like emojis, with Tellico
3.4.3 will silently lose data.
FIXED-IN: 3.4.4

M  +4    -0    ChangeLog
M  +14   -1    src/tests/tellicoreadtest.cpp
M  +12   -12   src/translators/tellicoxmlexporter.cpp
M  +27   -3    src/utils/string_utils.cpp

https://invent.kde.org/office/tellico/commit/2b25bb4fb8e61baca68c38717eab0b137396973f
Comment 7 Robby Stephenson 2022-02-15 02:19:07 UTC
Git commit 4c44b25b8dff64a4ca14c6263183bf7f65f60668 by Robby Stephenson.
Committed on 15/02/2022 at 02:18.
Pushed by rstephenson into branch 'master'.

Fix bug with serializing some unicode code points

QDomDocument::createTextNode() ends up calling fixedCharData() which
uses QXmlUtils::isChar(). WHen serializing code points with surrogates,
the high surrogate character was getting dropped after Tellico 3.4.3
started using QDomImplementation::DropInvalidChars.

Saving a collection with these characters, like emojis, with Tellico
3.4.3 will silently lose data.
FIXED-IN: 3.4.4

M  +4    -0    ChangeLog
M  +14   -1    src/tests/tellicoreadtest.cpp
M  +12   -12   src/translators/tellicoxmlexporter.cpp
M  +27   -3    src/utils/string_utils.cpp

https://invent.kde.org/office/tellico/commit/4c44b25b8dff64a4ca14c6263183bf7f65f60668
Comment 8 Robby Stephenson 2022-02-15 02:19:15 UTC
Git commit f4f3c08e80ff803119f435ae9228fcffae3163a9 by Robby Stephenson.
Committed on 15/02/2022 at 02:18.
Pushed by rstephenson into branch 'master'.

Add unit test to support bug 449244

The paragraph widget supports emoji without problem. The XML export
seems to need to deal with it in a more robust manner.

M  +4    -0    src/tests/fieldwidgettest.cpp
M  +19   -0    src/tests/tellicoreadtest.cpp
M  +1    -0    src/tests/tellicoreadtest.h

https://invent.kde.org/office/tellico/commit/f4f3c08e80ff803119f435ae9228fcffae3163a9