Bug 354292 - Crash Reporting Assistant login button is always disabled
Summary: Crash Reporting Assistant login button is always disabled
Status: RESOLVED FIXED
Alias: None
Product: drkonqi
Classification: Applications
Component: general (show other bugs)
Version: 5.4.2
Platform: Kubuntu Linux
: NOR normal
Target Milestone: ---
Assignee: Unassigned bugs mailing-list
URL:
Keywords:
: 344002 (view as bug list)
Depends on:
Blocks:
 
Reported: 2015-10-24 05:30 UTC by Mark Raymond
Modified: 2022-09-04 10:23 UTC (History)
7 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.17.0


Attachments
Screenshot of disabled login button (54.54 KB, image/png)
2015-10-24 05:32 UTC, Mark Raymond
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Raymond 2015-10-24 05:30:51 UTC
I am using the Kubuntu 15.10 live USB. When changing display settings, Plasma crashed, and I started going through the Crash Reporting Assistant wizards. On the "Log into the KDE Bug Tracking System" screen, the Login button was disabled, and remained disabled whatever I typed into the Username and Password fields.

Reproducible: Didn't try

Steps to Reproduce:
1. Have something crash (in my case, Plasma), and go through the crash reporter
3. Try and log in to the KDE Bug Tracking System

Actual Results:  
Unable to log in due to the Login button being disabled

Expected Results:  
Able to log in and report bug
Comment 1 Mark Raymond 2015-10-24 05:32:15 UTC
Created attachment 95097 [details]
Screenshot of disabled login button
Comment 2 nazgul17@gmail.com 2015-11-07 23:06:37 UTC
I have the same exact issue. My krunner crashes, I would like to report the issue, but can't. Also, notice how there are two "Help" buttons: the first one does nothing when pressed.

I am using openSUSE Leap 42.1, installed yesterday and updated.
Comment 3 sedrubal 2015-12-26 20:31:15 UTC
The same here on fedora 23.
Comment 4 sedrubal 2016-01-16 11:27:35 UTC
Hey, please fix this! Otherwise we can't really make Bug Reports and there are many bugs!
Comment 5 . 2016-02-05 18:32:59 UTC
Duplicate of #344002
Comment 6 Alexander Potashev 2016-03-03 08:25:09 UTC
I have the same problem when trying to report a crash in plasmashell.

But when I make konsole crash and try to log into bugs.kde.org in drkonqi, the Login button is active and works as expected.

drkonqi 5.5.4 and KF 5.19.0 on Gentoo Linux.
Comment 7 Alexander Potashev 2016-03-03 08:26:48 UTC
*** Bug 344002 has been marked as a duplicate of this bug. ***
Comment 8 sedrubal 2016-10-07 12:34:20 UTC
Did you fix this? It didn't happen to me on fedora:24. If so: Thanks <3
Comment 9 Antonio Chirizzi 2017-07-16 15:41:32 UTC
Hello, I can confirm the problem is still there.
This is linux mint 18.1 with KDE. And I am in the middle of reporting a crash for plasmashell which crashed after coming back from a suspension. And I cannot login cause the button is disabled.
Comment 10 Szczepan Hołyszewski 2017-08-05 14:09:39 UTC
Allright, this is patently ridiculous. You can't just ignore a bug that makes reporting other bugs impossible for almost two years! Something VERY WRONG must be going on with KDE if this happens.
Comment 11 Christoph Feck 2017-08-22 11:12:16 UTC
If you watch incoming bug mails, you will see that we get lots of crash reports created from DrKonqi, so it works for many people.

I cannot reproduce either, so first we need a developer who can reproduce this.
Comment 12 Antonio Chirizzi 2017-08-25 16:16:47 UTC
(In reply to Christoph Feck from comment #11)
> If you watch incoming bug mails, you will see that we get lots of crash
> reports created from DrKonqi, so it works for many people.
> 
> I cannot reproduce either, so first we need a developer who can reproduce
> this.

Well, in the mean time would that be possible to release an update so that the assistant avoids to disable the login button, and gives some other alert if the 2 fields don't look correctly filled? This way many other bugs could be reported.
Comment 13 Harald Sitter 2019-07-10 15:15:30 UTC
Git commit e6a81b2d466b4961c50aa3e2f3bde96964f4fb5e by Harald Sitter.
Committed on 10/07/2019 at 15:15.
Pushed by sitter into branch 'master'.

fix API availability/version detection to not be terribly racey

Summary:
previously at a random point in time there'd be a call to get the bugzilla
version, that call would (hopefully) reach the login page and cause it
allow login. this is essentially a blocking safe guard to not talk to
unsupported or unreachable bugzillas. because this was entirely
synchronized there was great potential for signal and state racing
where the login page could randomly end up with a disabled login
button when the api communication failed for whatever reason.

this was further complicated by the fact that there was zero UI backing
for the entire check resulting in the login button getting disabled but
the user not having any indication as to why or any means to retry.

to resolve this problem a bunch of changes are necessary:

- bugzillalib now has an error signal when the version check fails
  (previously not having received a finished signal meant error, when in
   fact that may also mean not-yet-done)
- buzillalib also no longer automatically issues a version lookup as it
  itself has no use of knowing the version right now
- the login page logic has had all awareness of bugzilla availability
  stripped. the assumption now is that when login is reached bugzilla
  could be contacted.
- there is a new 'version' page now sorted before the login page. the
  version page's only use is to provide a UI for the version check or
  more generally if bugzilla is reachable. it has a busy state and an
  error stage, once the version check completed once the page is marked
  inappropriate and would automatically skip ahead as necessary.
  the `appropriate` value specifically allows kassistantdialog to ignore
  the page when skipping forward/backward effectively hiding the page from
  the user.
- for purposes of controlling its own appropriateness the KPageWidgetItem
  of this new page is controlled by the page itself, a design which
  IMO should be also adopted for the other pages
- for visual consistency with plasma a qml busyindicator is used on the
  page. also looks nicer than the ksquencepixmap thingy

The result of this is that upon startup of the dialog, the version page
is created (albeit not visible) and issues a version check. When that
returns the page turns itself inappropriate (and skips ahead if necessary).
Ideally this means the user never sees the page, unless there is an error
in which case the page will block progressing to actually submit the
error to bugzilla. At the same time the user can choose to go back to the
backtrace page to manually grab it and file a bug in the event that
drkonqi cannot get beyond the version page.
Related: bug 373099
FIXED-IN: 5.17.0
CHANGELOG: Contact to drkonqi is now more reliably verified and the login button enabled when possible

Test Plan:
- slow internet results in page to show up
- errors result in page to go into error state
- fast internet lets the page not show up
- retry button retries when there was an error on first try
- page switches between states correctly

Reviewers: #plasma, apol

Reviewed By: apol

Subscribers: broulik, plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D22326

M  +2    -0    src/CMakeLists.txt
A  +81   -0    src/bugzillaintegration/assistantpage_bugzilla_version.cpp     [License: GPL (v2+)]
A  +46   -0    src/bugzillaintegration/assistantpage_bugzilla_version.h     [License: GPL (v2+)]
M  +1    -6    src/bugzillaintegration/bugzillalib.cpp
M  +1    -2    src/bugzillaintegration/bugzillalib.h
M  +18   -1    src/bugzillaintegration/reportassistantdialog.cpp
M  +4    -3    src/bugzillaintegration/reportassistantdialog.h
M  +6    -14   src/bugzillaintegration/reportassistantpages_bugzilla.cpp
M  +0    -1    src/bugzillaintegration/reportassistantpages_bugzilla.h
A  +158  -0    src/bugzillaintegration/ui/assistantpage_bugzilla_version.ui
M  +1    -0    src/drkonqi_globals.h

https://commits.kde.org/drkonqi/e6a81b2d466b4961c50aa3e2f3bde96964f4fb5e