diff --git a/CHANGELOG.md b/CHANGELOG.md index f9a9c9616fc..40ddd54b1e2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## Unreleased + +### Features + +- Apps can now manually show and hide the included feedback widget button (#5236) + ## 8.50.2 ### Fixes diff --git a/Samples/SentrySampleShared/SentrySampleShared/SentrySDKOverrides.swift b/Samples/SentrySampleShared/SentrySampleShared/SentrySDKOverrides.swift index b4d33ffbe20..5083db6b464 100644 --- a/Samples/SentrySampleShared/SentrySampleShared/SentrySDKOverrides.swift +++ b/Samples/SentrySampleShared/SentrySampleShared/SentrySDKOverrides.swift @@ -58,10 +58,7 @@ public enum SentrySDKOverrides { public var boolValue: Bool { get { - switch self { - case .disableAutoInject: return getBoolOverride(for: rawValue) - default: return getBoolOverride(for: rawValue) - } + return getBoolOverride(for: rawValue) } set(newValue) { setBoolOverride(for: rawValue, value: newValue) diff --git a/Samples/iOS-Swift/iOS-Swift-UITests/UserFeedbackUITests.swift b/Samples/iOS-Swift/iOS-Swift-UITests/UserFeedbackUITests.swift index 6b4adcd1bbc..e99fd11959c 100644 --- a/Samples/iOS-Swift/iOS-Swift-UITests/UserFeedbackUITests.swift +++ b/Samples/iOS-Swift/iOS-Swift-UITests/UserFeedbackUITests.swift @@ -489,6 +489,8 @@ extension UserFeedbackUITests { XCTAssertEqual(try dictionaryFromSuccessHookFile(), ["name": testName, "message": "UITest user feedback", "email": testContactEmail]) } + // MARK: Alternative widget control + func testFormShowsAndDismissesProperlyWithCustomButton() { launchApp(args: ["--io.sentry.feedback.use-custom-feedback-button"]) @@ -512,6 +514,16 @@ extension UserFeedbackUITests { XCTAssert(customButton.isHittable) XCTAssertFalse(widgetButton.isHittable) } + + func testManuallyDisplayingWidget() { + launchApp(args: ["--io.sentry.feedback.no-auto-inject-widget"]) + XCTAssertFalse(widgetButton.isHittable) + extrasAreaTabBarButton.tap() + app.buttons["io.sentry.ui-test.button.show-widget"].tap() + XCTAssert(widgetButton.isHittable) + app.buttons["io.sentry.ui-test.button.hide-widget"].tap() + XCTAssertFalse(widgetButton.isHittable) + } } // MARK: UI Element access diff --git a/Samples/iOS-Swift/iOS-Swift/Base.lproj/Main.storyboard b/Samples/iOS-Swift/iOS-Swift/Base.lproj/Main.storyboard index 700f632c58a..decb6e51e2f 100644 --- a/Samples/iOS-Swift/iOS-Swift/Base.lproj/Main.storyboard +++ b/Samples/iOS-Swift/iOS-Swift/Base.lproj/Main.storyboard @@ -2,6 +2,7 @@ + @@ -513,7 +514,7 @@ - +