Bug 451165 - Error message when clicking "Get new icons..." in system settings when using a non-English language
Summary: Error message when clicking "Get new icons..." in system settings when using ...
Status: RESOLVED FIXED
Alias: None
Product: frameworks-knewstuff
Classification: Unclassified
Component: general (show other bugs)
Version: 5.91.0
Platform: Other Linux
: VHI major
Target Milestone: ---
Assignee: Alexander Lohnau
URL:
Keywords:
: 451087 451088 451364 451611 452157 453066 453954 (view as bug list)
Depends on:
Blocks:
 
Reported: 2022-03-05 17:18 UTC by makosol
Modified: 2022-05-18 15:41 UTC (History)
13 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.93


Attachments
error message (63.17 KB, image/png)
2022-03-05 17:18 UTC, makosol
Details
attachment-12149-0.html (968 bytes, text/html)
2022-03-23 23:41 UTC, Justin Zobel
Details
attachment-12570-0.html (1.12 KB, text/html)
2022-03-23 23:45 UTC, Justin Zobel
Details

Note You need to log in before you can comment on or make changes to this bug.
Description makosol 2022-03-05 17:18:41 UTC
Created attachment 147295 [details]
error message

SUMMARY
Error message when clicking "Get new icons..." in system settings


STEPS TO REPRODUCE
1.Go to System settings / Appearence / Icons
2. Click the "Get new icons..." button

OBSERVED RESULT
Error message (cf screenshot)

EXPECTED RESULT
Display available Icons from servers

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: KDE Neon 5.24
(available in About System)
KDE Plasma Version: 5.24.2
KDE Frameworks Version: 5.91
Qt Version: 5.15.3

ADDITIONAL INFORMATION
Comment 1 Francis 2022-03-06 22:33:38 UTC
Can't confirm this behavior. Everything works great for me. 

SOFTWARE/OS VERSIONS
Distro: Manjaro
KDE Plasma Version: 5.24.2
KDE Frameworks Version: 5.91
Qt Version: 5.15.2
Comment 2 makosol 2022-03-07 18:48:29 UTC
Happens also in Fedora 35. Maybe it is linked to french language ?
Comment 3 Justin Zobel 2022-03-08 00:03:19 UTC
Are you able to try in another language please, that way we can confirm if that's the issue. I've also not been able to replicate this issue on Fedora 36 with "American English" Language and en_AU (Australia) keyboard layout.
Comment 4 makosol 2022-03-08 19:22:59 UTC
My system is in french, but in System settings / Language, only American English is present...
I don't know why and I don't know how to make the changes necessary to test the issue.
Comment 5 Alexander Lohnau 2022-03-08 20:13:34 UTC
(In reply to makosol from comment #2)
> Happens also in Fedora 35. Maybe it is linked to french language ?

Can reproduce when setting the language to french. With my default en_US it works fine.  In attica one gets a QNetworkReply::RemoteHostClosedError, @leinir any ideas?
Comment 6 Dan Leinir Turthra Jensen 2022-03-09 09:37:50 UTC
i mean, apart from the remote host refusing to serve us seeming like it has to be a service side issue, i'm really not sure... Especially given how this code just hasn't changed on our side for ages, and it's suddenly broken... Maybe something with the new caching setup causes it to fail if there's a language set in the request header? (which we don't do ourselves, but i expect it gets sent along by qnam, not really sure). A quick test just trying to manually set the accept-language header to fr seems to just result in a correctly returned list of categories, though, so i'm really not sure what's going on here.
Comment 7 Driglu4it 2022-03-17 08:29:18 UTC
According to KNS, I found out an interesting thing: if the dialog opens in a category that is not translated (or has Latin characters), everything is displayed without problems. Those. sections konsole, yakuake, etc. open, but which contain non-English characters not. Tested with renaming the translation of /usr/share/knsrcfiles/*
Comment 8 Yaroslav Sidlovsky 2022-03-20 12:14:18 UTC
This error was caused by this line in KF5 Attica code:
https://invent.kde.org/frameworks/attica/-/blob/dde032d415e26a87f900eb6f0131f5114f0e72f9/src/provider.cpp#L1724

User-Agent header was set to UTF-8 value, "knewstuff-dialog/1.0 (+Вход в систему)" in my case.
It's not valid according to HTTP standard (as I know), so HTTP server breaks connection.

(See also: https://stackoverflow.com/questions/10384741/is-a-unicode-user-agent-legal-inside-an-http-header)

Commenting this line solves issue for me.
Comment 9 Yaroslav Sidlovsky 2022-03-20 12:56:56 UTC
Maybe it's worth to encode m_additionalAgentInformation with QUrl::toPercentEncoding(...) before setting it to header.
Comment 10 Alexander Lohnau 2022-03-20 19:29:40 UTC
I think it is worth rethinking if we even want the user-visible name inside the user agent. Instead I would propose to use the knsrc file basename. This is an identifier we use when creating the engine.
Comment 11 Bug Janitor Service 2022-03-20 19:34:31 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/knewstuff/-/merge_requests/173
Comment 12 Alexander Lohnau 2022-03-20 19:35:16 UTC
@Yaroslav Sidlovsky Thanks for the valuable investigation!
Comment 13 Justin Zobel 2022-03-20 23:46:55 UTC
Thank you so much Yaroslav! Amazing work!
Comment 14 Nate Graham 2022-03-22 01:51:31 UTC
*** Bug 451087 has been marked as a duplicate of this bug. ***
Comment 15 Nate Graham 2022-03-23 23:00:01 UTC
Git commit 693a2ea3926400b1482888a2df2c532852b8f971 by Nate Graham, on behalf of Alexander Lohnau.
Committed on 23/03/2022 at 22:58.
Pushed by ngraham into branch 'master'.

Do not set user-visible name as additional agent information

Instead we want the filename, which is more useful as an identifier anyways, because
we would otherwise have to check which user-visible names originate from which knsrc file.

M  +4    -1    src/core/engine.cpp

https://invent.kde.org/frameworks/knewstuff/commit/693a2ea3926400b1482888a2df2c532852b8f971
Comment 16 Justin Zobel 2022-03-23 23:41:13 UTC
Created attachment 147691 [details]
attachment-12149-0.html

No bugfix release?

On Thu, Mar 24, 2022, 9:32 AM Nate Graham <bugzilla_noreply@kde.org> wrote:

> https://bugs.kde.org/show_bug.cgi?id=451165
>
> Nate Graham <nate@kde.org> changed:
>
>            What    |Removed                     |Added
>
> ----------------------------------------------------------------------------
>    Version Fixed In|                            |5.93
>
> --
> You are receiving this mail because:
> You are on the CC list for the bug.
Comment 17 Nate Graham 2022-03-23 23:43:02 UTC
That would be up to distro packagers or the Frameworks folks. Frameworks doesn't get automatic bugfix releases, just the normal monthly releases. So someone would need to request one. Would you be interested in doing so?
Comment 18 Justin Zobel 2022-03-23 23:45:36 UTC
Created attachment 147692 [details]
attachment-12570-0.html

If this patch cleanly applies to the current frameworks release I guess
there's no need for a separate release. I've already proposed the use of
the patch for Fedora KDE.

On Thu, Mar 24, 2022, 10:13 AM Nate Graham <bugzilla_noreply@kde.org> wrote:

> https://bugs.kde.org/show_bug.cgi?id=451165
>
> --- Comment #17 from Nate Graham <nate@kde.org> ---
> That would be up to distro packagers or the Frameworks folks. Frameworks
> doesn't get automatic bugfix releases, just the normal monthly releases. So
> someone would need to request one. Would you be interested in doing so?
>
> --
> You are receiving this mail because:
> You are on the CC list for the bug.
Comment 19 Bug Janitor Service 2022-03-24 06:07:20 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/knewstuff/-/merge_requests/175
Comment 20 Alexander Lohnau 2022-03-24 06:10:18 UTC
There is another place where I am not sure how relevant it even is. Once that is figured out I will reach out to distros and make a backport request.
Comment 21 Alexander Lohnau 2022-03-24 16:41:05 UTC
Git commit 3ec15eaac29d6b73b078ffe1665fc68fc2beeeac by Alexander Lohnau.
Committed on 24/03/2022 at 06:02.
Pushed by alex into branch 'master'.

Do not set user-visible name as additional agent information when copying provider

Instead we want the filename, which is more useful as an identifier anyways, because
we would otherwise have to check which user-visible names originate from which knsrc file.

M  +1    -1    src/core/engine.cpp

https://invent.kde.org/frameworks/knewstuff/commit/3ec15eaac29d6b73b078ffe1665fc68fc2beeeac
Comment 22 Nate Graham 2022-03-27 04:03:59 UTC
*** Bug 451088 has been marked as a duplicate of this bug. ***
Comment 23 Nate Graham 2022-03-27 04:04:08 UTC
*** Bug 451611 has been marked as a duplicate of this bug. ***
Comment 24 Nate Graham 2022-03-27 04:04:12 UTC
*** Bug 451364 has been marked as a duplicate of this bug. ***
Comment 25 Nate Graham 2022-04-01 19:32:16 UTC
*** Bug 452157 has been marked as a duplicate of this bug. ***
Comment 26 Nate Graham 2022-05-02 18:40:09 UTC
*** Bug 453066 has been marked as a duplicate of this bug. ***
Comment 27 Nate Graham 2022-05-18 15:41:35 UTC
*** Bug 453954 has been marked as a duplicate of this bug. ***