diff --git a/Classes/BWQuincyManager.m b/Classes/BWQuincyManager.m index 72ec64a2ac..c847871190 100644 --- a/Classes/BWQuincyManager.m +++ b/Classes/BWQuincyManager.m @@ -505,10 +505,11 @@ NSString *BWQuincyLocalize(NSString *stringToken) { [self _getDevicePlatform], [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"], report.applicationInfo.applicationVersion, - crashLogString, + [crashLogString stringByReplacingOccurrencesOfString:@"]]>" withString:@"]]" @"]]>" options:NSLiteralSearch range:NSMakeRange(0,crashLogString.length)], userid, contact, - description]; + [description stringByReplacingOccurrencesOfString:@"]]>" withString:@"]]" @"]]>" options:NSLiteralSearch range:NSMakeRange(0,description.length)]]; + // store this crash report as user approved, so if it fails it will retry automatically [approvedCrashReports setObject:[NSNumber numberWithBool:YES] forKey:[_crashFiles objectAtIndex:i]]; @@ -656,6 +657,7 @@ NSString *BWQuincyLocalize(NSString *stringToken) { if (_statusCode >= 200 && _statusCode < 400) { [self _cleanCrashReports]; + _feedbackRequestID = nil; if (self.appIdentifier) { // HockeyApp uses PList XML format NSMutableDictionary *response = [NSPropertyListSerialization propertyListFromData:_responseData @@ -663,10 +665,12 @@ NSString *BWQuincyLocalize(NSString *stringToken) { format:nil errorDescription:NULL]; _serverResult = (CrashReportStatus)[[response objectForKey:@"status"] intValue]; - _feedbackRequestID = [[NSString alloc] initWithString:[response objectForKey:@"id"]]; - _feedbackDelayInterval = [[response objectForKey:@"delay"] floatValue]; - if (_feedbackDelayInterval > 0) - _feedbackDelayInterval *= 0.01; + if ([response objectForKey:@"id"]) { + _feedbackRequestID = [[NSString alloc] initWithString:[response objectForKey:@"id"]]; + _feedbackDelayInterval = [[response objectForKey:@"delay"] floatValue]; + if (_feedbackDelayInterval > 0) + _feedbackDelayInterval *= 0.01; + } } else { NSXMLParser *parser = [[NSXMLParser alloc] initWithData:_responseData]; // Set self as the delegate of the parser so that it will receive the parser delegate methods callbacks. @@ -682,15 +686,12 @@ NSString *BWQuincyLocalize(NSString *stringToken) { } if ([self isFeedbackActivated]) { - if (self.appIdentifier) { - // only proceed if the server did not report any problem - if (_serverResult == CrashReportStatusQueued) { - // the report is still in the queue + // only proceed if the server did not report any problem + if ((self.appIdentifier) && (_serverResult == CrashReportStatusQueued)) { + // the report is still in the queue + if (_feedbackRequestID) { [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(_checkForFeedbackStatus) object:nil]; [self performSelector:@selector(_checkForFeedbackStatus) withObject:nil afterDelay:_feedbackDelayInterval]; - } else { - // we do have a status, show it if needed - [self showCrashStatusMessage]; } } else { [self showCrashStatusMessage]; diff --git a/Resources/Quincy.bundle/sv.lproj/Quincy.strings b/Resources/Quincy.bundle/sv.lproj/Quincy.strings new file mode 100755 index 0000000000..f36df14e20 Binary files /dev/null and b/Resources/Quincy.bundle/sv.lproj/Quincy.strings differ diff --git a/Resources/Quincy.bundle/sv.lproj/QuincyAlternate.strings b/Resources/Quincy.bundle/sv.lproj/QuincyAlternate.strings new file mode 100755 index 0000000000..d3cbe2a085 Binary files /dev/null and b/Resources/Quincy.bundle/sv.lproj/QuincyAlternate.strings differ diff --git a/Vendor/CrashReporter.framework/Versions/A/CrashReporter b/Vendor/CrashReporter.framework/Versions/A/CrashReporter index addf3e307f..4626ad53e0 100644 Binary files a/Vendor/CrashReporter.framework/Versions/A/CrashReporter and b/Vendor/CrashReporter.framework/Versions/A/CrashReporter differ diff --git a/Vendor/CrashReporter.framework/Versions/A/Resources/Info.plist b/Vendor/CrashReporter.framework/Versions/A/Resources/Info.plist index 04814d9d9f..089553fa93 100644 --- a/Vendor/CrashReporter.framework/Versions/A/Resources/Info.plist +++ b/Vendor/CrashReporter.framework/Versions/A/Resources/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 11C74 + 10K549 CFBundleDevelopmentRegion English CFBundleExecutable @@ -23,16 +23,16 @@ DTCompiler DTPlatformBuild - 4D199 + 4A2002a DTPlatformVersion GM DTSDKBuild - 11C63 + 4A2002a DTSDKName - macosx10.7 + macosx10.6 DTXcode - 0420 + 0402 DTXcodeBuild - 4D199 + 4A2002a