Warning, /plasma/drkonqi/ToDo is written in an unsupported language. File is not indexed.

0001 ##Main Tasks
0002 -------------
0003 
0004 ##For KDE4.5+:
0005 --------------
0006 
0007 - Offer option to "subscribe" (addToCC) to a bug report
0008 
0009 #P1:
0010 
0011 - Check the wording of the new introduced texts (common crashes warnings and notes)
0012 
0013 - Implement inline help (tooltip/whatsthis) for Bugzilla Duplicate Confirmation dialog
0014 
0015 #P2
0016 
0017 #- Have a "canceled " page (instead of directly exiting the assistant) ?????
0018 
0019 - If the report was "dismissed" because it was not really useful, and the backtrace was not generated;
0020   allow the advanced users to generate it later (on the "Show report's content" button or in the backtrace tab)
0021 
0022 #P3
0023 
0024 - Merge the two main dialogs (?)
0025 
0026 #Other
0027 
0028 - If attaching, include in the attach'description, a condensed string with the app/kdesc version
0029 
0030 - Check for plugins / Read memory-maps (/proc/PID/maps) and upload as attachment
0031     (example, if plasma crashes, which libs were loaded, which lib caused the crash)
0032     This is useful to determine if some external plugin is involved
0033     (I don't know if this is technically possible)
0034 
0035 - Implement TerminalDebuggerLauncher (the idea is to use the same trick as the one used in the installdbgsymbols.sh examples)
0036 
0037 - BacktraceGenerator should not be allowed to start if another debugger is running.
0038   Add some check and possibly some signal indicating this state. As a consequence,
0039   remove the call to DrKonqi::debuggerManager()->debuggerIsRunning() from BacktraceWidget
0040   to make it trully independent from drkonqi.
0041 
0042 - Make a docs dir and add documentation for:
0043   1) the format of the debugger files
0044   2) The dbus interface
0045   + move README.packagers in there with a proper name.
0046   
0047 - Register dynamic debug area (see dfaure's mail on k-c-d).
0048 
0049 - Use external .desktop files to provide examples of "useful crash details" for external applications
0050   (ex. Amarok installs a amarokdrkonqiexamples.desktop file with a content like "Type of music you were listening to..."
0051   - It can contain translations too.
0052   
0053 ## FUTURE
0054 ---------------
0055 
0056 - Update DrKonqi to use the remote product mapping implementation (being done by Mattr)
0057     [[ currently bugzillalib detects unexistent products to later use the "kde" product ]]
0058     ##Update: local mappings file support already implemented.
0059     ##Sample PHP script sent
0060     Waiting for remote implementation to be complete.
0061 
0062 - Implement a bugzilla field "Fixed at" X version, to show to the user... (mattr)
0063 
0064 - Detect app versions and encourage the user to test new version?
0065   (detect stable or devel)
0066 
0067 - Custom usefulness values needed by application
0068     (ex. Amarok wants only perfect backtraces...)
0069 
0070 ##Brainstorming
0071 --------------
0072 
0073 - Try to also provide full backtraces ("bt full")
0074     The simple backtrace is going to be pasted inline as always
0075     The complete backtrace could be added as an attachment
0076     (how to retrieve both versions at the same time?, fetch only the full and "manually strip it" to get the simple one ?)
0077 
0078 - Implement bugtracking-system-agnostic interface on KDE servers and adapt DrKonqi to interact with it
0079     (this will also remove the HTML parsing code from DrKonqi itself, to put it on a remote script)
0080 
0081 - Display the time of the crash
0082     ("I came back to the computer some time later and drkonqi was there..
0083     when the application crashed? during the night?") (by sreich)
0084 
0085 - Usability review and suggestions:
0086     http://blogs.msdn.com/oldnewthing/archive/2003/09/01/54734.aspx (by Maciej)
0087 
0088 - Hide backtrace from user (only show progress and backtrace status)??
0089 
0090 - Search in backtrace (esp. for [KCrash Handler])
0091 
0092 - Backtrace syntax highlighting (xml parser+ some qt/kde class ?)
0093 
0094 - Option to "don't show DrKonqi for this(X) app"
0095     (Do we want this?)
0096 
0097 - Option to avoid drkonqi at all (setting KDE_DEBUG=1), and GUI to renable it
0098     (Do we want this?)
0099 
0100 #Later
0101 ---------
0102 
0103 - Implement a proper DBus interface.
0104 - Include help in the details page, near the "Details:" label (ex. "What should I write this?" link with help)
0105 
0106 #DONE
0107 -------
0108 
0109 - Improve the "Enter manual bug ID" option in the Duplicates page to be more discoverable
0110 
0111 - Improve the help about the information the user needs to provide
0112 
0113 - Show the minimum text require length / or a "progress bar"(or capacitybar)
0114 
0115 - If we are going to attach the bug report to an existent one, and that one has too much duplicates, warn the user that his/her attachment is only going to be useful if s/he provides good info
0116 
0117 - In the "Details page" (user enters description) write the headers like
0118 "What I was doing when app crashed: \n\n Other useful config details:" (depending on the options checked before)
0119 
0120 - Exclude some backtrace functions to improve the search feature (like Qt base stuff at the top of the bt)
0121 
0122 - Replace the progressbar of the StatusWidget with a throbber....
0123 
0124 - The reporting dialog should check (on start) if the backtrace was already generated by the main dialog
0125 (to use it when saving the report to a file, even when the backtrace page is not shown)
0126 
0127 - If reproducibility is Always or Sometimes, set a minimum required char ammount in the details page
0128 
0129 - Title is not needed when attaching the report to an existant one
0130 
0131 - Remove the "Are you ready to submit this bug report" in the Preview page
0132 
0133 - Application detection: ask for or detect specific things depending on application
0134    ie konqueror: url, plasma: plasmoids in use, kopete: protocol, etc.
0135 
0136 - REVIEW criteria of minimum chars/words to use in the Title and Details fields
0137 "- If a possible duplicate is marked as FIXED, show a better (banner) message so the user will notice....
0138 
0139 !!IMPORTANT: (to be done before 2009Nov25 / String Freeze)
0140 - Update "AboutBugReporting" guide to reflect the new workflow
0141 - Review the confirmation dialog in the Bug Report Information page:
0142 if the text is not long enough, we dismiss the whole report saying something like "a report without a good description
0143 will only waste bug triagers and developers time"...
0144 
0145 ##- Use https://bugs.kde.org/enter_bug.cgi?product=X to fetch product versions... (it will reduce server load)
0146 
0147 ##Bugzilla DrKonqi reports cleanup:
0148 Wontfix: 143243, 185547
0149 
0150 ---------
0151 ---------
0152 
0153 * Crashes on Shutdown:
0154 
0155 https://bugs.kde.org/show_bug.cgi?id=126073 ->
0156 **** Restore block shutdown/logout while DrKonqi window is up
0157 (to catch crashes on shutdown)
0158 - Config option to:
0159   - (default) Show a feedback indicator for a "automatically closing window" timer (and continue with shutdown)
0160   - non-default Block shutdown/logout completely, do not use a closing timer.
0161 
0162 - Ask Seli for Session Management stuff (we need to ask from code if we are in the middle of a shutdown process)
0163 - Use " unsetenv("SESSION_MANAGER");" again on main.cpp  (http://websvn.kde.org/trunk/kdebase/drkonqi/main.cpp?r1=408177&r2=408176&pathrev=408177)
0164 
0165 - Startkde waiting for drkonqi to exit->
0166      # wait if there's any crashhandler shown
0167 318          while dcop | grep -q ^drkonqi- ; do
0168 319              sleep 5
0169 320          done
0170 
0171 "   while qdbus | grep "^[^w]*org.kde.drkonqi" > /dev/null ; do sleep 5; done  "
0172 http://websvn.kde.org/trunk/kdebase/startkde?r1=408177&r2=408176&pathrev=408177
0173 
0174 http://websvn.kde.org/?view=rev&revision=408177
0175 
0176 bool KSessionManager::saveState     (   QSessionManager &        sm      )       [virtual]
0177 void QApplication::saveState ( QSessionManager & manager ) 
0178 
0179 ---------------------
0180 ---------------------
0181 Improving symbol loading speed using GDB
0182 ---
0183 
0184 - Create a temp file "init"
0185 
0186 "init" contents:
0187 set auto-solib-add off
0188 
0189 (this will disable the symbols autoload)
0190 
0191 Start gdb with .. "-x init" (init includes the fullpath)
0192 
0193 "bt full" will show an empty backtrace, but with the libraries path.
0194 
0195 Use "shar path" to load the debug symbols for that file
0196 
0197 "bt full" will now be more complete (but it may need more symbols to be loaded)
0198 
0199 
0200 --
0201 
0202 The current gdb commands could be adapted to...
0203 - Do not include the PID on the command line
0204 - "set auto-solib-add off" could be the first command of the BatchCommands (passed tempfile with -x)
0205 - "attach PID" could be the second command