diff options
author | rowanbeentje <rowan@beent.je> | 2010-03-06 02:10:35 +0000 |
---|---|---|
committer | rowanbeentje <rowan@beent.je> | 2010-03-06 02:10:35 +0000 |
commit | 37b41c535f442aa85750679dccc7885655cb3429 (patch) | |
tree | f2961fb4141f329ae0e17e111260993caf2cf0cb | |
parent | 0075403979eff53d16f928733247837d72d37a0b (diff) | |
download | sequelpro-37b41c535f442aa85750679dccc7885655cb3429.tar.gz sequelpro-37b41c535f442aa85750679dccc7885655cb3429.tar.bz2 sequelpro-37b41c535f442aa85750679dccc7885655cb3429.zip |
Improve Feedback reporter privacy and functionality:
- Update to a development version of the feedback reporter, which improves logging and allows functionality like exception reporting from non-main threads (together with many other improvements).
- Use the new preference privacy delegate methods to remove query history and favorite settings, together with other hostname/user path type settings, to anonymise the preferences submitted
- Limit the console log submitted to 10k
- Move the framework into the Frameworks folder
21 files changed, 49 insertions, 37 deletions
diff --git a/FeedbackReporter.framework/Versions/A/FeedbackReporter b/FeedbackReporter.framework/Versions/A/FeedbackReporter Binary files differdeleted file mode 100755 index 1c819683..00000000 --- a/FeedbackReporter.framework/Versions/A/FeedbackReporter +++ /dev/null diff --git a/FeedbackReporter.framework/Versions/A/Resources/FeedbackReporter.nib b/FeedbackReporter.framework/Versions/A/Resources/FeedbackReporter.nib Binary files differdeleted file mode 100644 index d6fc807e..00000000 --- a/FeedbackReporter.framework/Versions/A/Resources/FeedbackReporter.nib +++ /dev/null diff --git a/FeedbackReporter.framework/Versions/A/Resources/FeedbackReporter.pch b/FeedbackReporter.framework/Versions/A/Resources/FeedbackReporter.pch deleted file mode 100644 index 4b180bde..00000000 --- a/FeedbackReporter.framework/Versions/A/Resources/FeedbackReporter.pch +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright 2008, Torsten Curdt - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifdef __OBJC__ - #import <Cocoa/Cocoa.h> -#endif - -#define FRLocalizedString(key,comment) NSLocalizedStringFromTableInBundle(key, @"FeedbackReporter", [NSBundle bundleWithIdentifier:@"org.vafer.FeedbackReporter"], comment) diff --git a/FeedbackReporter.framework/FeedbackReporter b/Frameworks/FeedbackReporter.framework/FeedbackReporter index 141078a4..141078a4 120000 --- a/FeedbackReporter.framework/FeedbackReporter +++ b/Frameworks/FeedbackReporter.framework/FeedbackReporter diff --git a/FeedbackReporter.framework/Headers b/Frameworks/FeedbackReporter.framework/Headers index a177d2a6..a177d2a6 120000 --- a/FeedbackReporter.framework/Headers +++ b/Frameworks/FeedbackReporter.framework/Headers diff --git a/FeedbackReporter.framework/Resources b/Frameworks/FeedbackReporter.framework/Resources index 953ee36f..953ee36f 120000 --- a/FeedbackReporter.framework/Resources +++ b/Frameworks/FeedbackReporter.framework/Resources diff --git a/Frameworks/FeedbackReporter.framework/Versions/A/FeedbackReporter b/Frameworks/FeedbackReporter.framework/Versions/A/FeedbackReporter Binary files differnew file mode 100755 index 00000000..ea6fdf2c --- /dev/null +++ b/Frameworks/FeedbackReporter.framework/Versions/A/FeedbackReporter diff --git a/FeedbackReporter.framework/Versions/A/Headers/FRExceptionReportingApplication.h b/Frameworks/FeedbackReporter.framework/Versions/A/Headers/FRExceptionReportingApplication.h index a0fc992d..a0fc992d 100644 --- a/FeedbackReporter.framework/Versions/A/Headers/FRExceptionReportingApplication.h +++ b/Frameworks/FeedbackReporter.framework/Versions/A/Headers/FRExceptionReportingApplication.h diff --git a/FeedbackReporter.framework/Versions/A/Headers/FRFeedbackReporter.h b/Frameworks/FeedbackReporter.framework/Versions/A/Headers/FRFeedbackReporter.h index b9dfa310..e1ffe927 100644 --- a/FeedbackReporter.framework/Versions/A/Headers/FRFeedbackReporter.h +++ b/Frameworks/FeedbackReporter.framework/Versions/A/Headers/FRFeedbackReporter.h @@ -16,18 +16,23 @@ #import <Cocoa/Cocoa.h> +@protocol FRFeedbackReporterDelegate +@optional +- (NSDictionary*) customParametersForFeedbackReport; +- (NSMutableDictionary*) anonymizePreferencesForFeedbackReport:(NSMutableDictionary *)preferences; +@end + @interface FRFeedbackReporter : NSObject { @private - NSLock *modalLock; id feedbackController; - id delegate; + id<FRFeedbackReporterDelegate> delegate; } + (FRFeedbackReporter *)sharedReporter; -- (id) delegate; -- (void) setDelegate:(id) delegate; +- (id<FRFeedbackReporterDelegate>) delegate; +- (void) setDelegate:(id<FRFeedbackReporterDelegate>) delegate; - (BOOL) reportFeedback; - (BOOL) reportIfCrash; @@ -35,6 +40,3 @@ @end -@interface NSObject (FRFeedbackReporterDelegate) -- (NSDictionary*) customParametersForFeedbackReport; -@end diff --git a/Frameworks/FeedbackReporter.framework/Versions/A/Resources/Armenian.lproj/FeedbackReporter.strings b/Frameworks/FeedbackReporter.framework/Versions/A/Resources/Armenian.lproj/FeedbackReporter.strings Binary files differnew file mode 100644 index 00000000..f48cf8b3 --- /dev/null +++ b/Frameworks/FeedbackReporter.framework/Versions/A/Resources/Armenian.lproj/FeedbackReporter.strings diff --git a/FeedbackReporter.framework/Versions/A/Resources/English.lproj/FeedbackReporter.strings b/Frameworks/FeedbackReporter.framework/Versions/A/Resources/English.lproj/FeedbackReporter.strings Binary files differindex 92cad530..d52f8111 100644 --- a/FeedbackReporter.framework/Versions/A/Resources/English.lproj/FeedbackReporter.strings +++ b/Frameworks/FeedbackReporter.framework/Versions/A/Resources/English.lproj/FeedbackReporter.strings diff --git a/Frameworks/FeedbackReporter.framework/Versions/A/Resources/FeedbackReporter.nib b/Frameworks/FeedbackReporter.framework/Versions/A/Resources/FeedbackReporter.nib Binary files differnew file mode 100644 index 00000000..27bb1077 --- /dev/null +++ b/Frameworks/FeedbackReporter.framework/Versions/A/Resources/FeedbackReporter.nib diff --git a/FeedbackReporter.framework/Versions/A/Resources/German.lproj/FeedbackReporter.strings b/Frameworks/FeedbackReporter.framework/Versions/A/Resources/German.lproj/FeedbackReporter.strings Binary files differindex 3d90053c..2c55a954 100644 --- a/FeedbackReporter.framework/Versions/A/Resources/German.lproj/FeedbackReporter.strings +++ b/Frameworks/FeedbackReporter.framework/Versions/A/Resources/German.lproj/FeedbackReporter.strings diff --git a/FeedbackReporter.framework/Versions/A/Resources/Info.plist b/Frameworks/FeedbackReporter.framework/Versions/A/Resources/Info.plist index 9a61e529..5400f5f5 100644 --- a/FeedbackReporter.framework/Versions/A/Resources/Info.plist +++ b/Frameworks/FeedbackReporter.framework/Versions/A/Resources/Info.plist @@ -14,9 +14,9 @@ <string>FeedbackReporter</string> <key>CFBundlePackageType</key> <string>FMWK</string> - <key>CFBundleSignature</key> - <string>????</string> + <key>CFBundleShortVersionString</key> + <string>1.3</string> <key>CFBundleVersion</key> - <string>1.0</string> + <string>1</string> </dict> </plist> diff --git a/Frameworks/FeedbackReporter.framework/Versions/A/Resources/Italian.lproj/FeedbackReporter.strings b/Frameworks/FeedbackReporter.framework/Versions/A/Resources/Italian.lproj/FeedbackReporter.strings Binary files differnew file mode 100644 index 00000000..504ad6c2 --- /dev/null +++ b/Frameworks/FeedbackReporter.framework/Versions/A/Resources/Italian.lproj/FeedbackReporter.strings diff --git a/FeedbackReporter.framework/Versions/A/Resources/Russian.lproj/FeedbackReporter.strings b/Frameworks/FeedbackReporter.framework/Versions/A/Resources/Russian.lproj/FeedbackReporter.strings Binary files differindex 971d0dde..176a0824 100644 --- a/FeedbackReporter.framework/Versions/A/Resources/Russian.lproj/FeedbackReporter.strings +++ b/Frameworks/FeedbackReporter.framework/Versions/A/Resources/Russian.lproj/FeedbackReporter.strings diff --git a/FeedbackReporter.framework/Versions/Current b/Frameworks/FeedbackReporter.framework/Versions/Current index 8c7e5a66..8c7e5a66 120000 --- a/FeedbackReporter.framework/Versions/Current +++ b/Frameworks/FeedbackReporter.framework/Versions/Current diff --git a/Resources/Info.plist b/Resources/Info.plist index ac080f29..a4c48217 100644 --- a/Resources/Info.plist +++ b/Resources/Info.plist @@ -65,6 +65,8 @@ <string></string> <key>FRFeedbackReporter.targetURL</key> <string>http://log.sequelpro.com/submit</string> + <key>FRFeedbackReporter.maxConsoleLogSize</key> + <integer>10000</integer> <key>LSMinimumSystemVersion</key> <string>10.5.0</string> <key>LSMinimumSystemVersionByArchitecture</key> diff --git a/Source/SPAppController.h b/Source/SPAppController.h index 68ba179a..5b5c5554 100644 --- a/Source/SPAppController.h +++ b/Source/SPAppController.h @@ -55,6 +55,9 @@ // Getters - (SPPreferenceController *)preferenceController; +// Feedback controller delegate methods +- (NSMutableDictionary*) anonymizePreferencesForFeedbackReport:(NSMutableDictionary *)preferences; + // Others - (NSString *)contentOfFile:(NSString *)aPath; diff --git a/Source/SPAppController.m b/Source/SPAppController.m index 6ba6175d..9feea4e9 100644 --- a/Source/SPAppController.m +++ b/Source/SPAppController.m @@ -82,6 +82,10 @@ */ - (void)applicationDidFinishLaunching:(NSNotification *)notification { + // Set ourselves as the crash reporter delegate + [[FRFeedbackReporter sharedReporter] setDelegate:self]; + + // Report any crashes [[FRFeedbackReporter sharedReporter] reportIfCrash]; } @@ -411,6 +415,28 @@ } #pragma mark - +#pragma mark Feedback reporter delegate methods + +/** + * Anonymises the preferences dictionary before feedback submission + */ +- (NSMutableDictionary*) anonymizePreferencesForFeedbackReport:(NSMutableDictionary *)preferences +{ + [preferences removeObjectsForKeys:[NSArray arrayWithObjects:@"ContentFilters", + @"favorites", + @"lastSqlFileName", + @"NSNavLastRootDirectory", + @"openPath", + @"queryFavorites", + @"queryHistory", + @"tableColumnWidths", + @"savePath", + nil]]; + + return preferences; +} + +#pragma mark - #pragma mark Other methods /** diff --git a/sequel-pro.xcodeproj/project.pbxproj b/sequel-pro.xcodeproj/project.pbxproj index dad74652..6c517bf3 100644 --- a/sequel-pro.xcodeproj/project.pbxproj +++ b/sequel-pro.xcodeproj/project.pbxproj @@ -138,6 +138,8 @@ 5841423F0F97E11000A34B47 /* NoodleLineNumberView.m in Sources */ = {isa = PBXBuildFile; fileRef = 5841423E0F97E11000A34B47 /* NoodleLineNumberView.m */; }; 584192A1101E57BB0089807F /* NSMutableArray-MultipleSort.m in Sources */ = {isa = PBXBuildFile; fileRef = 584192A0101E57BB0089807F /* NSMutableArray-MultipleSort.m */; }; 584F5F8F0F50ACD800036517 /* table-view-small.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 584F5F8E0F50ACD800036517 /* table-view-small.tiff */; }; + 586EBD2411418D7C00B3DE45 /* FeedbackReporter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 586EBD2311418D7C00B3DE45 /* FeedbackReporter.framework */; }; + 586EBD5D11418D9400B3DE45 /* FeedbackReporter.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 586EBD2311418D7C00B3DE45 /* FeedbackReporter.framework */; }; 586F457B0FDB269E00B428D7 /* RegexKitLite.m in Sources */ = {isa = PBXBuildFile; fileRef = 296DC8AB0F909194002A3258 /* RegexKitLite.m */; }; 586F457E0FDB280100B428D7 /* libicucore.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 296DC8BE0F9091DF002A3258 /* libicucore.dylib */; }; 5870868410FA3E9C00D58E1C /* SPDataStorage.m in Sources */ = {isa = PBXBuildFile; fileRef = 5870868310FA3E9C00D58E1C /* SPDataStorage.m */; }; @@ -148,8 +150,6 @@ 589235321020C1230011DE00 /* SPHistoryController.m in Sources */ = {isa = PBXBuildFile; fileRef = 589235301020C1230011DE00 /* SPHistoryController.m */; }; 58BC5E56103898140058C2E6 /* MCPStreamingResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 583B779710386B0200B21F7E /* MCPStreamingResult.h */; settings = {ATTRIBUTES = (Public, ); }; }; 58BC5E571038983E0058C2E6 /* MCPResultPlus.h in Headers */ = {isa = PBXBuildFile; fileRef = 17B7B5D1101603B200F057DE /* MCPResultPlus.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 58BD9E8711320987008B3958 /* FeedbackReporter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 58BD9E8611320987008B3958 /* FeedbackReporter.framework */; }; - 58BD9E8F113209AB008B3958 /* FeedbackReporter.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 58BD9E8611320987008B3958 /* FeedbackReporter.framework */; }; 58C34F5310B86CAE00D37E14 /* NSNotificationAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 58C34F5210B86CAE00D37E14 /* NSNotificationAdditions.m */; }; 58C3506510B9A56C00D37E14 /* button_left.png in Resources */ = {isa = PBXBuildFile; fileRef = 58C3506410B9A56C00D37E14 /* button_left.png */; }; 58C3506710B9A57300D37E14 /* button_right.png in Resources */ = {isa = PBXBuildFile; fileRef = 58C3506610B9A57300D37E14 /* button_right.png */; }; @@ -283,8 +283,8 @@ 17B7B61D101605E300F057DE /* MCPKit.framework in CopyFiles */, 4DECC4910EC2B436008D359E /* Growl.framework in CopyFiles */, 4DECC48F0EC2B436008D359E /* Sparkle.framework in CopyFiles */, - 58BD9E8F113209AB008B3958 /* FeedbackReporter.framework in CopyFiles */, B52ECE1410DDAD01009DC3E8 /* BWToolkitFramework.framework in CopyFiles */, + 586EBD5D11418D9400B3DE45 /* FeedbackReporter.framework in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -531,6 +531,7 @@ 5841929F101E57BB0089807F /* NSMutableArray-MultipleSort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSMutableArray-MultipleSort.h"; sourceTree = "<group>"; }; 584192A0101E57BB0089807F /* NSMutableArray-MultipleSort.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSMutableArray-MultipleSort.m"; sourceTree = "<group>"; }; 584F5F8E0F50ACD800036517 /* table-view-small.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = "table-view-small.tiff"; sourceTree = "<group>"; }; + 586EBD2311418D7C00B3DE45 /* FeedbackReporter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = FeedbackReporter.framework; path = Frameworks/FeedbackReporter.framework; sourceTree = "<group>"; }; 586F432A0FD74CFC00B428D7 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/SSHQuestionDialog.xib; sourceTree = "<group>"; }; 5870868210FA3E9C00D58E1C /* SPDataStorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPDataStorage.h; sourceTree = "<group>"; }; 5870868310FA3E9C00D58E1C /* SPDataStorage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPDataStorage.m; sourceTree = "<group>"; }; @@ -541,7 +542,6 @@ 588B2CC70FE5641E00EC5FC0 /* ssh-disconnected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ssh-disconnected.png"; sourceTree = "<group>"; }; 589235301020C1230011DE00 /* SPHistoryController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPHistoryController.m; sourceTree = "<group>"; }; 589235311020C1230011DE00 /* SPHistoryController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPHistoryController.h; sourceTree = "<group>"; }; - 58BD9E8611320987008B3958 /* FeedbackReporter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = FeedbackReporter.framework; sourceTree = "<group>"; }; 58C34F5110B86CAE00D37E14 /* NSNotificationAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSNotificationAdditions.h; sourceTree = "<group>"; }; 58C34F5210B86CAE00D37E14 /* NSNotificationAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSNotificationAdditions.m; sourceTree = "<group>"; }; 58C3506410B9A56C00D37E14 /* button_left.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = button_left.png; sourceTree = "<group>"; }; @@ -702,7 +702,7 @@ BCC5CC3C103EEE49007CE557 /* libz.dylib in Frameworks */, 58C458DF10CF188F00E6E13E /* libcrypto.dylib in Frameworks */, B52ECDDC10DDACE9009DC3E8 /* BWToolkitFramework.framework in Frameworks */, - 58BD9E8711320987008B3958 /* FeedbackReporter.framework in Frameworks */, + 586EBD2411418D7C00B3DE45 /* FeedbackReporter.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -717,7 +717,7 @@ B52ECDDB10DDACE9009DC3E8 /* BWToolkitFramework.framework */, 4DECC3320EC2A170008D359E /* Sparkle.framework */, 296DC89E0F8FD336002A3258 /* WebKit.framework */, - 58BD9E8611320987008B3958 /* FeedbackReporter.framework */, + 586EBD2311418D7C00B3DE45 /* FeedbackReporter.framework */, 296DC8BE0F9091DF002A3258 /* libicucore.dylib */, 17B7B58F1016028F00F057DE /* libcrypto.dylib */, 17B7B591101602AE00F057DE /* libssl.dylib */, |