Commit Graph

1243 Commits

Author SHA1 Message Date
Bart De Vries 9b97613898 Fix fallback when no image is available in id3 tag 2022-08-09 10:58:16 +02:00
Jose Flores 58032dd560 Doesn't add width to an html img without a width defined
This attempts to fix the issue described here: https://invent.kde.org/plasma-mobile/kasts/-/issues/20

There seemed to be a loop that occurs when setting an img width which causes the view to re-render which causes the window to grow which goes back to setting an img width causing an loop that keeps growing the img width and eventually crashing.

There are a few ways to fix this but I believe not setting a width on an img without a width both fixes it and behaves as expected (see context section). I'm not sure if this is a solution Kasts wants to go with but at the very least it adds more details to the issue. 

## Reproducing
The gist of that issue is that a crash occurs when you visit https://feed.zugfunk-podcast.de/podcastrss.xml, episode 53 and this is reproducible. 

I was able to get to the bottom of why that particular podcast episode crashes and can be reproduced with the following content

```html
<table style=\"width:30rem;\"><tbody><tr><td style=\"width:14rem;\">Some Text On Left </td><td><img src=\"https://invent.kde.org/plasma-mobile/kasts/-/raw/master/icons/128-apps-kasts.png\"></td></tr></tbody></table>
```

*(can repro by setting this string as a QStringLiteral in Entry.cpp, line 64 when the content is first set and then clicking on any episode)

## Context
The problem seems to be with `<img`s that don't have a width set. In those cases the code tries to set the image to the width of the component. The problem with this seems to be that this assumes that these images are on their own horizontal line and that they should take the whole width. So to repro (see content I used to repro above as an example):
* put an image tag next to some element that takes some width (like a table where there's a left column with some text and a right column in the right)
* img tag without a width

What ends up happening is that the `img width` gets updated to the size of the component width but because there's another element to the left of it, it will mean that the resulting view is bigger than the component width which causes `onWidthChanged`(`EntryPage.qml::88`) to be triggered and the `adjustedContent` function to be called again where this whole process happens again (img width is updated to component width -> rendered but it's larger than width -> causing onWidthChanged -> adjustedContent runs again -> rinse/repeat).

There are other ways to try to solve this but the three I looked at are: 
1. After `adjustedContent` is run, it should update the actual `m_content` so that the following runs can work off the last text update (this will mean that the problematic `else` wouldn't be run constantly).
    * You can do this by setting the content at the end of the function (`setContent(ret);`)
2. Checking for some reasonable width limit (if width > 10000 then width = 10000)
3. Not resizing an image without a width because we're not sure about the intention of the author 
    * in this case these were small icons for social media that shouldn't be scaled up
    * I think we shouldn't scale any images because of the same reason but the PR is conservative and just stops it in the case of a img without a width

For the PR I went with # 3 because the others led to the icons being scaled but it messed up the look of the page.

Closes #20
2022-08-08 11:10:51 +00:00
l10n daemon script 21b9766ffa GIT_SILENT Sync po/docbooks with svn 2022-08-08 01:57:38 +00:00
l10n daemon script 292358ae6c GIT_SILENT Sync po/docbooks with svn 2022-08-04 01:52:22 +00:00
l10n daemon script c908870282 GIT_SILENT made messages (after extraction) 2022-08-04 00:48:06 +00:00
l10n daemon script 8844d94641 GIT_SILENT Sync po/docbooks with svn 2022-07-31 01:57:31 +00:00
l10n daemon script e0ca77da92 GIT_SILENT Sync po/docbooks with svn 2022-07-23 01:54:44 +00:00
l10n daemon script 8027f5cc64 GIT_SILENT made messages (after extraction) 2022-07-23 00:47:34 +00:00
l10n daemon script 91de33f5e8 GIT_SILENT Sync po/docbooks with svn 2022-07-17 01:53:10 +00:00
l10n daemon script 1f19f602dd GIT_SILENT made messages (after extraction) 2022-07-17 00:47:44 +00:00
Bart De Vries ce45074c79 Fix minor typos 2022-07-14 16:46:52 +02:00
Bart De Vries c3df8d8714 Fix "database is locked" errors caused by concurrent writes 2022-07-14 15:32:58 +02:00
l10n daemon script 338e73a8ab GIT_SILENT Sync po/docbooks with svn 2022-07-14 01:58:22 +00:00
l10n daemon script f429a223dd GIT_SILENT made messages (after extraction) 2022-07-14 00:47:49 +00:00
l10n daemon script a2096c054b GIT_SILENT Sync po/docbooks with svn 2022-07-11 01:55:55 +00:00
l10n daemon script 581f34488d GIT_SILENT Sync po/docbooks with svn 2022-07-10 01:57:35 +00:00
l10n daemon script 59f8f64230 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-07-10 01:52:32 +00:00
l10n daemon script c8bf67abca GIT_SILENT Sync po/docbooks with svn 2022-07-09 01:56:37 +00:00
l10n daemon script 2489e56914 GIT_SILENT Sync po/docbooks with svn 2022-07-07 01:48:06 +00:00
l10n daemon script fa2d552cd5 GIT_SILENT Sync po/docbooks with svn 2022-07-05 01:46:26 +00:00
l10n daemon script 0d9db722fb GIT_SILENT made messages (after extraction) 2022-07-05 00:47:05 +00:00
l10n daemon script 9684c55c3c GIT_SILENT Sync po/docbooks with svn 2022-07-04 01:53:16 +00:00
l10n daemon script 6ab2925e85 GIT_SILENT made messages (after extraction) 2022-07-04 00:48:12 +00:00
l10n daemon script 8cc4d3f918 GIT_SILENT Sync po/docbooks with svn 2022-07-03 02:05:24 +00:00
l10n daemon script 0b69cb1789 GIT_SILENT made messages (after extraction) 2022-07-03 00:49:34 +00:00
l10n daemon script fbe745d139 GIT_SILENT Sync po/docbooks with svn 2022-07-02 02:10:48 +00:00
l10n daemon script ce7e7774a1 GIT_SILENT made messages (after extraction) 2022-07-02 00:51:23 +00:00
Bart De Vries 01cb685d54 Add option to mark custom amount of episodes as unplayed when adding new feed
FEATURE: 454553
2022-07-01 20:03:27 +00:00
Bart De Vries 67c96fdfbc [Sync] Enable pushing all local episode states to server
CCBUG: 454553
2022-07-01 20:03:27 +00:00
Bart De Vries 721170f312 Update description in appdata 2022-07-01 09:09:51 +02:00
l10n daemon script 7c445eb5ea GIT_SILENT Sync po/docbooks with svn 2022-07-01 02:00:55 +00:00
Bart De Vries 1043f4a63e Add app icons for windows build
Closes #26
2022-06-30 20:23:34 +00:00
Bart De Vries 5f94b4a357 Add sleep timer
FEATURE: 443400
2022-06-30 08:21:09 +00:00
l10n daemon script ac58ad0a1a GIT_SILENT Sync po/docbooks with svn 2022-06-28 01:49:17 +00:00
l10n daemon script cefea2f98e GIT_SILENT Sync po/docbooks with svn 2022-06-26 01:47:32 +00:00
l10n daemon script 5128e673c3 GIT_SILENT Sync po/docbooks with svn 2022-06-25 02:07:09 +00:00
l10n daemon script 0535a0bc19 GIT_SILENT made messages (after extraction) 2022-06-25 00:53:03 +00:00
Tobias Fella 4719f13bf0 Add matrix room to appstream 2022-06-23 20:27:00 +02:00
Bhushan Shah 2411829546 GIT_SILENT: bump version to 22.06 2022-06-23 21:11:20 +05:30
l10n daemon script d97a52f5e3 GIT_SILENT Sync po/docbooks with svn 2022-06-23 01:48:20 +00:00
l10n daemon script ae5cad241a GIT_SILENT Sync po/docbooks with svn 2022-06-21 01:49:06 +00:00
Bart De Vries c5dab8131d Fix padding and icon of sync password dialog 2022-06-20 20:59:58 +02:00
Bart De Vries a239bc922f Re-enable images in sync password dialog 2022-06-20 09:56:09 +02:00
l10n daemon script 5a8437c06f GIT_SILENT Sync po/docbooks with svn 2022-06-20 02:02:52 +00:00
Bart De Vries 5d8c81c6e1 Make width of error list a bit wider to better see contents 2022-06-19 21:36:24 +02:00
Bart De Vries e5cf95c8d7 Change default new podcast URL into placeholderText 2022-06-18 16:27:37 +02:00
l10n daemon script 06d694124f GIT_SILENT Sync po/docbooks with svn 2022-06-18 01:47:29 +00:00
l10n daemon script 5fd96b64fe GIT_SILENT Sync po/docbooks with svn 2022-06-16 02:01:25 +00:00
l10n daemon script fc6a40773a GIT_SILENT Sync po/docbooks with svn 2022-06-14 01:58:27 +00:00
Bart De Vries 3383b6dfad [Sync] Handle multiple entries having the same enclosure url 2022-06-13 21:37:18 +02:00