New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Updated Crash reporter #848
Conversation
* Adds a crash reporter .xib window * Adds HTML files for displaying custom text depending on the crash type (plugin load or overall crash) * Detects a crash by checking the files in ~/Library/Logs/CrashReporter/Quicksilver-xxxx.crash * Reduces dependency on ~/Library/Caches/Quicksilver/QuicksilverState.plist, improving start up time
* send the filename and the contents * encode it (using a new method) - see http://deusty.blogspot.co.uk/2006/11/sending-http-get-and-post-from-cocoa.html
Ensures that if the user deletes the plugin, the info.dict can still be obtained for sending to the server Also - minor adjustments to the crash reporter window
Some pictures: |
Also - add the deletePlugin method to the header file
I'd love to see some more comments/documentation. But I'll look it over more thoroughly tomorrow. |
I have added comments and improved the robustness of the PHP script. QS now also sends a useful User-Agent string to the server To view the changes to the script, please either see the file at qs0/crashreports/reporter.php on the server (if you have access) or direct message me on IRC: irc.freenote.net#quicksilver (user pjrobertson) |
Stops repetition of the word in the crash reporter dialogue
I seem to be getting a false positive here. If you install a new plug-in, the next time you launch QS, it claims that plug-in caused a crash. Also, maybe “Delete Plugin” should be a checkbox, and the delete will take place when you click one of the Send/Don’t Send buttons. It seems weird to me that I have to click two buttons (or close the panel manually). But I can see why you don’t want the button to dismiss the window. What if the user wants to delete the plug-in and send a report? |
Also, release the Window controller once the window is closed
* Make the `deletePlugin` option a checkbox * Add a progress indicator * Don't delete a plugin if the user explicitly closes the window * Fix a memory leak - release the crashReportPath when the window closes
- (void)deletePlugin; | ||
- (IBAction)openCrashReportsWikiPage:(id)sender; | ||
|
||
@end |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If (only if) we find something else that needs to be changed, maybe add a newline here?
There's no need, since the plugin will only be deleted just before the window is closed Also plugIns not plugins. Stupid!
OK, I’m happy. |
This crash reporter reports crashes based on:
It's much improved over the last one and shouldn't give any false positives. It also has the following features:
I suggest that reviewers of the code don't look through the commits of the QSCrashReporterWindowController files, since they're completely new. Just see the end products.
To simulate a crash, alter the
lastKnownCrashDate
in the com.blacktree.Quicksivler.plist prefs file to be some time in the past. E.g. to be21 Apr 2008 00:28:24
To simulate a plugin crash, alter
~/Library/Caches/Quicksilver/QuicksilverState.plist
to include the name of a plugin and a path such as (for the Cyberduck Module):The server side code used to receive the file is as follows (please check there are no security loop holes in this)