diff --git a/CHANGELOG.md b/CHANGELOG.md index f342737d994..c161981e1e7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - Removed SentryExecutorService limit for delayed scheduled tasks ([#4846](https://github.com/getsentry/sentry-java/pull/4846)) - Fix visual artifacts for the Canvas strategy on some devices ([#4861](https://github.com/getsentry/sentry-java/pull/4861)) +- [Config] Trim whitespace on properties path ([#4880](https://github.com/getsentry/sentry-java/pull/4880)) - Only set `DefaultReplayBreadcrumbConverter` if replay is available ([#4888](https://github.com/getsentry/sentry-java/pull/4888)) ### Improvements diff --git a/sentry/src/main/java/io/sentry/config/FilesystemPropertiesLoader.java b/sentry/src/main/java/io/sentry/config/FilesystemPropertiesLoader.java index 25b1b267038..dcb1ea91009 100644 --- a/sentry/src/main/java/io/sentry/config/FilesystemPropertiesLoader.java +++ b/sentry/src/main/java/io/sentry/config/FilesystemPropertiesLoader.java @@ -5,7 +5,6 @@ import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; -import java.io.IOException; import java.io.InputStream; import java.util.Properties; import org.jetbrains.annotations.NotNull; @@ -24,7 +23,7 @@ public FilesystemPropertiesLoader(@NotNull String filePath, @NotNull ILogger log @Override public @Nullable Properties load() { try { - final File f = new File(filePath); + final File f = new File(filePath.trim()); if (f.isFile() && f.canRead()) { try (InputStream is = new BufferedInputStream(new FileInputStream(f))) { final Properties properties = new Properties(); @@ -42,7 +41,7 @@ public FilesystemPropertiesLoader(@NotNull String filePath, @NotNull ILogger log "Failed to load Sentry configuration since it is not readable: %s", filePath); } - } catch (IOException e) { + } catch (Throwable e) { logger.log( SentryLevel.ERROR, e, "Failed to load Sentry configuration from file: %s", filePath); return null; diff --git a/sentry/src/test/java/io/sentry/config/FilesystemPropertiesLoaderTest.kt b/sentry/src/test/java/io/sentry/config/FilesystemPropertiesLoaderTest.kt index 11e3a3a3fbc..1addfb449bc 100644 --- a/sentry/src/test/java/io/sentry/config/FilesystemPropertiesLoaderTest.kt +++ b/sentry/src/test/java/io/sentry/config/FilesystemPropertiesLoaderTest.kt @@ -22,6 +22,17 @@ class FilesystemPropertiesLoaderTest { assertEquals("some-dsn", properties["dsn"]) } + @Test + fun `returns properties when file has whitespace`() { + val file = folder.newFile("sentry.properties") + file.writeText("dsn=some-dsn", Charset.defaultCharset()) + val loader = + FilesystemPropertiesLoader(" " + file.absolutePath + " ", NoOpLogger.getInstance()) + val properties = loader.load() + assertNotNull(properties) + assertEquals("some-dsn", properties["dsn"]) + } + @Test fun `returns null when property file not found`() { val loader =