Bug 442636 - konqueror-21.08.1 with kio-5.86.0: Opens every url in separate window
Summary: konqueror-21.08.1 with kio-5.86.0: Opens every url in separate window
Status: RESOLVED FIXED
Alias: None
Product: konqueror
Classification: Applications
Component: general (show other bugs)
Version: 21.08.1
Platform: Gentoo Packages Linux
: NOR normal
Target Milestone: ---
Assignee: Konqueror Developers
URL:
Keywords:
: 442867 442998 (view as bug list)
Depends on:
Blocks:
 
Reported: 2021-09-18 07:55 UTC by Markus
Modified: 2021-10-03 08:12 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Markus 2021-09-18 07:55:52 UTC
SUMMARY
Since the last update of kde frameworks, konqueror opens every entered url or selected bookmark in a new window.

STEPS TO REPRODUCE
1. Open konqueror (window A).
2a. Enter URL in the bar and hit enter.
2b. Select a bookmark.

OBSERVED RESULT
A new window (window B) is opened with the new website loading.
Window A is still open.

EXPECTED RESULT
Load the entered url or selected bookmark in the current window, as with kio-5.85.0.

Downgrading kio-5.85.0 is sufficient to make the problem disappear.

I am unsure if this is a problem in kio (that should be fixed there) or if its konquerors fault.
I observed it first in konqueror, so I filed it here.


SOFTWARE/OS VERSIONS
KDE Plasma Version: 5.22.5
KDE Frameworks Version: 5.86.0
KDE Apps Version: 21.08.1
Qt Version: 5.15.2
Comment 1 Markus 2021-09-18 09:51:40 UTC
Reload, upwards and home will also open a new window.
Back and forward will operate in the same window.
Comment 2 dpanter 2021-09-18 16:46:30 UTC
Confirm same issue on Siduction (Debian sid base) after updating system today.
URLs opened in Konqueror instead launch in system default browser, in my case Firefox.
Same behavior seen even if launching from terminal with specified URL.

SOFTWARE/OS VERSIONS (same as OP)
KDE Plasma Version: 5.22.5
KDE Frameworks Version: 5.86.0
KDE Apps Version: 21.08.1
Qt Version: 5.15.2

Using Norbert Preinings KDE/Plasma repo for Debian sid.
https://www.preining.info/blog/2021/08/obs-builds-of-kde-plasma-for-debian-bullseye-testing-unstable/

APT update log: https://pastebin.com/A8wSSzVB
Comment 3 Markus 2021-09-19 09:01:41 UTC
I could track it back to this commit:
https://invent.kde.org/frameworks/kio/-/commit/5fa55a2395cbfb6504e56bf71c869c8e49902e13

Reverting that patch ontop of kio 5.86, makes konqueror work again.
Comment 4 David Faure 2021-09-19 10:04:45 UTC
Git commit 6a46c0c8701fbde143a33e4be61f198e98f53c10 by David Faure.
Committed on 19/09/2021 at 10:03.
Pushed by dfaure into branch 'release/21.08'.

Don't open HTTP URLs in another browser than Konqueror, from Konqueror

M  +1    -0    src/konqrun.cpp

https://invent.kde.org/network/konqueror/commit/6a46c0c8701fbde143a33e4be61f198e98f53c10
Comment 5 Bug Janitor Service 2021-09-19 10:06:21 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kio/-/merge_requests/588
Comment 6 Markus 2021-09-19 13:11:24 UTC
@David Faure: Appling your two patches (kio and konqueror) also work for me.
Comment 7 Bug Janitor Service 2021-09-19 19:03:46 UTC
A possibly relevant merge request was started @ https://invent.kde.org/network/konqueror/-/merge_requests/88
Comment 8 Stefano Crocco 2021-09-19 22:52:41 UTC
Git commit ba1ea2b74f77832d2a26bb74fed18970eeadf301 by Stefano Crocco.
Committed on 19/09/2021 at 18:56.
Pushed by dfaure into branch 'master'.

Make Konqueror compatible with KIO 5.86.0

Due to a change in KIO::DesktopExecParser::hasSchemeHandler (commit
5fa55a2395cbfb6504e56bf71c869c8e49902e13Q) URLs entered in the
navigation bar either were always opened in a new tab or they were
opened in another program altogether (for example, man and info URLs).

To fix this issue, it has been necessary to copy the implementation of
KRun::init and KParts::BrowserRun::init in KonqRun::init, making the
necessary changes to restore the old behaviour.

M  +122  -7    src/konqrun.cpp
M  +11   -0    src/konqrun.h

https://invent.kde.org/network/konqueror/commit/ba1ea2b74f77832d2a26bb74fed18970eeadf301
Comment 9 Antonio Rojas 2021-09-24 07:04:16 UTC
*** Bug 442867 has been marked as a duplicate of this bug. ***
Comment 10 Antonio Rojas 2021-09-26 21:35:53 UTC
*** Bug 442998 has been marked as a duplicate of this bug. ***
Comment 11 Andreas Sturmlechner 2021-09-29 10:50:49 UTC
Is there a solution for 21.08 branch as well that does not break the string freeze? Or is 6a46c0c8 enough?
Comment 12 Stefano Crocco 2021-09-29 12:09:04 UTC
Unfortunately, 6a46c0c8 is not enough. You need 5c4b0456 to fix this issue. I think it can be backported to 21.018.1 without breaking string freeze by replacing the calls to handleInitError (which is where the new strings are) by calls to KParts::BrowserRun::init. This does mean that all the tests done by KonqRun::init will be done again, but since it would only happen in case of errors it shouldn't be a problem, expecially given the severity of this bug.
Comment 13 Andreas Sturmlechner 2021-10-02 12:16:48 UTC
Thanks Stefano, like [PATCH 5/5] in downstream attached diff[1]?

[1] https://815022.bugs.gentoo.org/attachment.cgi?id=742188
Comment 14 Stefano Crocco 2021-10-02 12:32:01 UTC
Yes, that should work. I think you can avoid replacing the call to handleInitError on line 215 because the error message is built dynamically, so there shouldn't be problems with string freezing. However, leaving it as it is shouldn't cause problems.
Comment 15 Andreas Sturmlechner 2021-10-02 13:13:52 UTC
Thanks; Worth submitting to 21.08 as backport?
Comment 16 Andreas Sturmlechner 2021-10-03 08:12:13 UTC
Git commit 8506c585594d9d0cfc0ebe8b869ca05ff7610fa7 by Andreas Sturmlechner, on behalf of Stefano Crocco.
Committed on 30/09/2021 at 11:50.
Pushed by stefanocrocco into branch 'release/21.08'.

Make Konqueror compatible with KIO 5.86.0

Due to a change in KIO::DesktopExecParser::hasSchemeHandler (commit
5fa55a2395cbfb6504e56bf71c869c8e49902e13Q) URLs entered in the
navigation bar either were always opened in a new tab or they were
opened in another program altogether (for example, man and info URLs).

To fix this issue, it has been necessary to copy the implementation of
KRun::init and KParts::BrowserRun::init in KonqRun::init, making the
necessary changes to restore the old behaviour.
(cherry picked from commit ba1ea2b74f77832d2a26bb74fed18970eeadf301)

M  +122  -7    src/konqrun.cpp
M  +11   -0    src/konqrun.h

https://invent.kde.org/network/konqueror/commit/8506c585594d9d0cfc0ebe8b869ca05ff7610fa7