From 35d1d2dde8402a257d9c648ba2fefefd7f7ce776 Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Mon, 4 Oct 2021 15:01:36 +1100 Subject: [PATCH 1/4] chore: sentry.io dsn --- .../kMAPro/src/main/AndroidManifest.xml | 2 +- .../web/tools/sentry-manager/src/index.ts | 2 +- .../Classes/Errors/SentryManager.swift | 2 +- linux/keyman-config/keyman_config/__init__.py | 4 ++-- .../Keyman4MacIM/KMInputMethodAppDelegate.m | 20 +++++++++---------- .../android/app/src/main/AndroidManifest.xml | 2 +- .../windows/src/xml/sentry.init.js.in | 2 +- .../src/desktop/kmshell/xml/sentry.init.js.in | 2 +- .../TIKE/xml/app/lib/sentry/init.js.in | 2 +- ...entry.Client.Test.SentryClientTestMain.pas | 2 +- .../Keyman.System.KeymanSentryClient.pas | 4 ++-- windows/src/global/vc/keymansentry.cpp | 4 ++-- 12 files changed, 24 insertions(+), 24 deletions(-) diff --git a/android/KMAPro/kMAPro/src/main/AndroidManifest.xml b/android/KMAPro/kMAPro/src/main/AndroidManifest.xml index bf328d040d..3ea65fcb41 100644 --- a/android/KMAPro/kMAPro/src/main/AndroidManifest.xml +++ b/android/KMAPro/kMAPro/src/main/AndroidManifest.xml @@ -24,7 +24,7 @@ + android:name="io.sentry.dsn" android:value="https://2f067e5571a74974b9e210ca76ca9607@o1005580.ingest.sentry.io/5983520" /> diff --git a/common/core/web/tools/sentry-manager/src/index.ts b/common/core/web/tools/sentry-manager/src/index.ts index fd622b0d67..ade45953e4 100644 --- a/common/core/web/tools/sentry-manager/src/index.ts +++ b/common/core/web/tools/sentry-manager/src/index.ts @@ -173,7 +173,7 @@ namespace com.keyman { beforeSend: this.prepareEventDebugWrapper.bind(this), // Not using beforeBreadcrumb because that caused breadcrumbs to get lost in Sentry debug: DEBUG, - dsn: 'https://cf96f32d107c4286ab2fd82af49c4d3b@sentry.keyman.com/11', // keyman-web DSN + dsn: 'https://cf96f32d107c4286ab2fd82af49c4d3b@o1005580.ingest.sentry.io/5983524', // keyman-web DSN release: com.keyman.environment.SENTRY_RELEASE, environment: com.keyman.environment.ENVIRONMENT }); diff --git a/ios/engine/KMEI/KeymanEngine/Classes/Errors/SentryManager.swift b/ios/engine/KMEI/KeymanEngine/Classes/Errors/SentryManager.swift index f17f5d95e1..c1bc95fea1 100644 --- a/ios/engine/KMEI/KeymanEngine/Classes/Errors/SentryManager.swift +++ b/ios/engine/KMEI/KeymanEngine/Classes/Errors/SentryManager.swift @@ -36,7 +36,7 @@ public class SentryManager { let release = "release-\(versionWithTag)" let options: [String: Any] = [ - "dsn": "https://d14d2efb594e4345b8367dbb61ebceaf@sentry.keyman.com/8", + "dsn": "https://d14d2efb594e4345b8367dbb61ebceaf@o1005580.ingest.sentry.io/5983521", "enabled": allowEnabled && sendingEnabled, "environment": environment, "release": release diff --git a/linux/keyman-config/keyman_config/__init__.py b/linux/keyman-config/keyman_config/__init__.py index 71d44308d5..7749205e2f 100644 --- a/linux/keyman-config/keyman_config/__init__.py +++ b/linux/keyman-config/keyman_config/__init__.py @@ -57,7 +57,7 @@ else: level=logging.INFO, # Capture info and above as breadcrumbs event_level=logging.CRITICAL # Send critical errors as events ) - SentryUrl = "https://1d0edbf2d0dc411b87119b6e92e2c357@sentry.keyman.com/12" + SentryUrl = "https://1d0edbf2d0dc411b87119b6e92e2c357@o1005580.ingest.sentry.io/5983525" sentry_sdk.init( dsn=SentryUrl, environment=__environment__, @@ -78,7 +78,7 @@ else: from raven import Client HaveSentryNewSdk = False - SentryUrl = "https://1d0edbf2d0dc411b87119b6e92e2c357:e6d5a81ee6944fc79bd9f0cbb1f2c2a4@sentry.keyman.com/12" + SentryUrl = "https://1d0edbf2d0dc411b87119b6e92e2c357@o1005580.ingest.sentry.io/5983525" client = Client(SentryUrl, environment=__environment__, release=__version__) client.user_context({'id': hash(getpass.getuser())}) client.tags_context({ diff --git a/mac/Keyman4MacIM/Keyman4MacIM/KMInputMethodAppDelegate.m b/mac/Keyman4MacIM/Keyman4MacIM/KMInputMethodAppDelegate.m index 120eef5658..c01f2286c7 100644 --- a/mac/Keyman4MacIM/Keyman4MacIM/KMInputMethodAppDelegate.m +++ b/mac/Keyman4MacIM/Keyman4MacIM/KMInputMethodAppDelegate.m @@ -116,7 +116,7 @@ NSString* _keymanDataPath = nil; - (KeymanVersionInfo)versionInfo { KeymanVersionInfo result; - // Get version information from Info.plist, which is filled in + // Get version information from Info.plist, which is filled in // by build.sh. NSDictionary *keymanInfo =[[[NSBundle mainBundle] infoDictionary] objectForKey:@"Keyman"]; result.sentryEnvironment = [keymanInfo objectForKey:@"SentryEnvironment"]; @@ -127,7 +127,7 @@ NSString* _keymanDataPath = nil; result.keymanCom = @"keyman.com"; result.helpKeymanCom = @"help.keyman.com"; result.apiKeymanCom = @"api.keyman.com"; - } + } else { result.keymanCom = @"keyman-staging.com"; result.helpKeymanCom = @"help.keyman-staging.com"; @@ -141,14 +141,14 @@ NSString* _keymanDataPath = nil; KeymanVersionInfo keymanVersionInfo = [self versionInfo]; NSString *releaseName = [NSString stringWithFormat:@"release-%@", keymanVersionInfo.versionWithTag]; - + [SentrySDK startWithConfigureOptions:^(SentryOptions *options) { - options.dsn = @"https://960f8b8e574c46e3be385d60ce8e1fea@sentry.keyman.com/9"; + options.dsn = @"https://960f8b8e574c46e3be385d60ce8e1fea@o1005580.ingest.sentry.io/5983522"; options.releaseName = releaseName; options.environment = keymanVersionInfo.sentryEnvironment; - // options.debug = @YES; + // options.debug = @YES; }]; - + // [SentrySDK captureMessage:@"Starting Keyman [test message]"]; } @@ -483,7 +483,7 @@ CGEventRef eventTapFunction(CGEventTapProxy proxy, CGEventType type, CGEventRef /** * Returns the list of user-default legacy apps */ -- (NSArray *)legacyAppsUserDefaults { +- (NSArray *)legacyAppsUserDefaults { NSUserDefaults *userData = [NSUserDefaults standardUserDefaults]; return [userData arrayForKey:kKMLegacyApps]; } @@ -857,7 +857,7 @@ CGEventRef eventTapFunction(CGEventTapProxy proxy, CGEventType type, CGEventRef [self.activeKeyboards removeObjectAtIndex:n]; found = TRUE; } else { - i++; + i++; } } @@ -1113,12 +1113,12 @@ CGEventRef eventTapFunction(CGEventTapProxy proxy, CGEventType type, CGEventRef return _downloadKBWindow; } -/* +/* * Release windows after closing -- no need to keep them hanging about */ - (void)observeCloseFor:(NSWindow *)window { - [[NSNotificationCenter defaultCenter] addObserver:self + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(windowWillClose:) name:NSWindowWillCloseNotification object:window]; diff --git a/oem/firstvoices/android/app/src/main/AndroidManifest.xml b/oem/firstvoices/android/app/src/main/AndroidManifest.xml index d494284b76..61ce2926d7 100644 --- a/oem/firstvoices/android/app/src/main/AndroidManifest.xml +++ b/oem/firstvoices/android/app/src/main/AndroidManifest.xml @@ -13,7 +13,7 @@ + android:name="io.sentry.dsn" android:value="https://8236f0bffdce42a69b81821a5ba41117@o1005580.ingest.sentry.io/5983532"/> diff --git a/oem/firstvoices/windows/src/xml/sentry.init.js.in b/oem/firstvoices/windows/src/xml/sentry.init.js.in index 14584a19be..66bdef75b1 100644 --- a/oem/firstvoices/windows/src/xml/sentry.init.js.in +++ b/oem/firstvoices/windows/src/xml/sentry.init.js.in @@ -8,7 +8,7 @@ // Sentry.init({ - dsn: 'https://92eb58e6005d47daa33c9c9e39458eb7@sentry.keyman.com/5', // Keyman for Windows + dsn: 'https://92eb58e6005d47daa33c9c9e39458eb7@o1005580.ingest.sentry.io/5983518', // Keyman for Windows environment: '$Environment', release: 'release-$VersionWithTag' }); diff --git a/windows/src/desktop/kmshell/xml/sentry.init.js.in b/windows/src/desktop/kmshell/xml/sentry.init.js.in index 14584a19be..66bdef75b1 100644 --- a/windows/src/desktop/kmshell/xml/sentry.init.js.in +++ b/windows/src/desktop/kmshell/xml/sentry.init.js.in @@ -8,7 +8,7 @@ // Sentry.init({ - dsn: 'https://92eb58e6005d47daa33c9c9e39458eb7@sentry.keyman.com/5', // Keyman for Windows + dsn: 'https://92eb58e6005d47daa33c9c9e39458eb7@o1005580.ingest.sentry.io/5983518', // Keyman for Windows environment: '$Environment', release: 'release-$VersionWithTag' }); diff --git a/windows/src/developer/TIKE/xml/app/lib/sentry/init.js.in b/windows/src/developer/TIKE/xml/app/lib/sentry/init.js.in index 46b778e11c..0069ee017d 100644 --- a/windows/src/developer/TIKE/xml/app/lib/sentry/init.js.in +++ b/windows/src/developer/TIKE/xml/app/lib/sentry/init.js.in @@ -8,7 +8,7 @@ // Sentry.init({ - dsn: 'https://39b25a09410349a58fe12aaf721565af@sentry.keyman.com/6', // Keyman Developer + dsn: 'https://39b25a09410349a58fe12aaf721565af@o1005580.ingest.sentry.io/5983519', // Keyman Developer environment: '$Environment', release: 'release-$VersionWithTag' }); diff --git a/windows/src/ext/sentry/test/Sentry.Client.Test.SentryClientTestMain.pas b/windows/src/ext/sentry/test/Sentry.Client.Test.SentryClientTestMain.pas index f141b914b3..7d57a9e9d8 100644 --- a/windows/src/ext/sentry/test/Sentry.Client.Test.SentryClientTestMain.pas +++ b/windows/src/ext/sentry/test/Sentry.Client.Test.SentryClientTestMain.pas @@ -25,7 +25,7 @@ var o: TSentryClientOptions; begin o.Debug := False; - o.DSN := 'https://92eb58e6005d47daa33c9c9e39458eb7@sentry.keyman.com/5'; + o.DSN := 'https://92eb58e6005d47daa33c9c9e39458eb7@o1005580.ingest.sentry.io/5983518'; //o.DSN := 'https://7b1ff1dae2c8495b84f90dadcf512b84@sentry.io/4853461'; o.Release := 'keyman-14.0.22-alpha-local'; o.HandlerPath := 'c:\Projects\keyman\app\windows\src\ext\sentry\test\Win32\Release\crashpad_handler.exe'; diff --git a/windows/src/global/delphi/general/Keyman.System.KeymanSentryClient.pas b/windows/src/global/delphi/general/Keyman.System.KeymanSentryClient.pas index ef9c767f30..15a52ea82a 100644 --- a/windows/src/global/delphi/general/Keyman.System.KeymanSentryClient.pas +++ b/windows/src/global/delphi/general/Keyman.System.KeymanSentryClient.pas @@ -76,8 +76,8 @@ uses utilexecute; const - SENTRY_DSN_DESKTOP = 'https://92eb58e6005d47daa33c9c9e39458eb7@sentry.keyman.com/5'; - SENTRY_DSN_DEVELOPER = 'https://39b25a09410349a58fe12aaf721565af@sentry.keyman.com/6'; + SENTRY_DSN_DESKTOP = 'https://92eb58e6005d47daa33c9c9e39458eb7@o1005580.ingest.sentry.io/5983518'; + SENTRY_DSN_DEVELOPER = 'https://39b25a09410349a58fe12aaf721565af@o1005580.ingest.sentry.io/5983519'; SENTRY_PROJECT_NAME_DESKTOP = 'keyman-windows'; SENTRY_PROJECT_NAME_DEVELOPER = 'keyman-developer'; diff --git a/windows/src/global/vc/keymansentry.cpp b/windows/src/global/vc/keymansentry.cpp index 16f2503e83..a8f69cbbbe 100644 --- a/windows/src/global/vc/keymansentry.cpp +++ b/windows/src/global/vc/keymansentry.cpp @@ -8,8 +8,8 @@ #include #include -#define SENTRY_DSN_DESKTOP "https://92eb58e6005d47daa33c9c9e39458eb7@sentry.keyman.com/5" -#define SENTRY_DSN_DEVELOPER "https://39b25a09410349a58fe12aaf721565af@sentry.keyman.com/6" +#define SENTRY_DSN_DESKTOP "https://92eb58e6005d47daa33c9c9e39458eb7@o1005580.ingest.sentry.io/5983518" +#define SENTRY_DSN_DEVELOPER "https://39b25a09410349a58fe12aaf721565af@o1005580.ingest.sentry.io/5983519" //#define SENTRY_DSN_DEVELOPER "https://7b1ff1dae2c8495b84f90dadcf512b84@sentry.io/4853461" // testing only bool g_report_exceptions, g_report_messages; From 2e75ed02709824fb77186f3137ecfbc5c8a80c45 Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Mon, 4 Oct 2021 15:08:28 +1100 Subject: [PATCH 2/4] chore: additional sentry.io links --- web/source/build.sh | 2 +- .../global/delphi/general/Keyman.System.KeymanSentryClient.pas | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/web/source/build.sh b/web/source/build.sh index 9c1992ea4f..d73bdcd785 100755 --- a/web/source/build.sh +++ b/web/source/build.sh @@ -211,7 +211,7 @@ NODE_SOURCE="source" SENTRY_RELEASE_VERSION="release-$VERSION_WITH_TAG" -export SENTRY_URL="https://sentry.keyman.com" +export SENTRY_URL="https://sentry.io" export SENTRY_ORG=keyman export SENTRY_PROJECT=keyman-web export SENTRY_LOG_LEVEL=info diff --git a/windows/src/global/delphi/general/Keyman.System.KeymanSentryClient.pas b/windows/src/global/delphi/general/Keyman.System.KeymanSentryClient.pas index 15a52ea82a..ac760529a7 100644 --- a/windows/src/global/delphi/general/Keyman.System.KeymanSentryClient.pas +++ b/windows/src/global/delphi/general/Keyman.System.KeymanSentryClient.pas @@ -48,7 +48,7 @@ type const LOGGER_DEVELOPER_TOOLS = 'KeymanDeveloper.Tools'; const LOGGER_DESKTOP = 'KeymanWindows'; const LOGGER_DESKTOP_ENGINE = 'KeymanWindows.Engine'; - const S_Sentry_ViewEvent_URL = 'https://sentry.keyman.com/organizations/keyman/projects/%0:s/events/%1:s/'; // Do not localize + const S_Sentry_ViewEvent_URL = 'https://sentry.io/organizations/keyman/projects/%0:s/events/%1:s/'; // Do not localize end; From d5b337ec1cbc7518d7a3b1963c531c537f65e7d9 Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Tue, 5 Oct 2021 09:26:52 +1100 Subject: [PATCH 3/4] chore: remove sentry exported variables (rely on build configuration) --- web/source/build.sh | 5 ----- 1 file changed, 5 deletions(-) diff --git a/web/source/build.sh b/web/source/build.sh index d73bdcd785..e2603c1844 100755 --- a/web/source/build.sh +++ b/web/source/build.sh @@ -211,11 +211,6 @@ NODE_SOURCE="source" SENTRY_RELEASE_VERSION="release-$VERSION_WITH_TAG" -export SENTRY_URL="https://sentry.io" -export SENTRY_ORG=keyman -export SENTRY_PROJECT=keyman-web -export SENTRY_LOG_LEVEL=info - readonly WEB_OUTPUT readonly EMBED_OUTPUT readonly SOURCE From f916a2cea1d5ed11272a770b61ef864f9cea7920 Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Tue, 5 Oct 2021 09:30:17 +1100 Subject: [PATCH 4/4] chore(linux): use secret in legacy sentry setup --- linux/keyman-config/keyman_config/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/linux/keyman-config/keyman_config/__init__.py b/linux/keyman-config/keyman_config/__init__.py index 7749205e2f..592a727d10 100644 --- a/linux/keyman-config/keyman_config/__init__.py +++ b/linux/keyman-config/keyman_config/__init__.py @@ -78,7 +78,8 @@ else: from raven import Client HaveSentryNewSdk = False - SentryUrl = "https://1d0edbf2d0dc411b87119b6e92e2c357@o1005580.ingest.sentry.io/5983525" + # Note, legacy raven API requires secret (https://github.com/keymanapp/keyman/pull/5787#discussion_r721457909) + SentryUrl = "https://1d0edbf2d0dc411b87119b6e92e2c357:e6d5a81ee6944fc79bd9f0cbb1f2c2a4@o1005580.ingest.sentry.io/5983525" client = Client(SentryUrl, environment=__environment__, release=__version__) client.user_context({'id': hash(getpass.getuser())}) client.tags_context({