feat: add run-sample tooling and SDK health dashboard QA#124
Open
ethanpschoen wants to merge 8 commits into
Open
feat: add run-sample tooling and SDK health dashboard QA#124ethanpschoen wants to merge 8 commits into
ethanpschoen wants to merge 8 commits into
Conversation
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 3 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit b9ad60f. Configure here.
b9ad60f to
2991afc
Compare
3558d5d to
994189a
Compare
Expose headless bootstrap/config/profile/consent endpoints via HeadlessApiClient, wire Ketch/KetchSdk surface APIs, refresh index HTML init, and add unit plus integration test coverage.
Remove tap-outside dismiss plumbing and index HTML touch handlers from this branch; those belong in run-sample-skills. Branch is off main only (no native storage commits).
Drop Index.kt, KetchWebView.kt, Events.kt, and WebView flow changes from the headless branch. Keep HeadlessApiClient, models, KetchSdk/Ketch REST methods, data center wiring, and integration tests.
…run-sample-skills
Add Cursor run-sample skill/scripts, dev URL overrides for local tag testing, ConfigDebug summaries, sample-app health dashboards, and README workflow docs.
- Implement missing WebViewListener.onTapOutside() override on Ketch's anonymous listener (abstract method added by beta's cross-activity work, unimplemented after merging headless-sdk/native-storage on top). - Restore Ketch import dropped in both sample apps' MainActivity.kt during conflict resolution.
4b84c33 to
0acf2a6
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Description of this change
Adds local dev/testing tooling: Cursor
ketch-android-run-sampleskill + scripts, sample-app SDK Health Dashboard (compose + standard),DevUrlOverridesfor local tag URL redirection,ConfigDebugsummaries,WebResourceOverrideHandler, README workflow docs, and foojay resolver plugin.Why is this change being made?
How was this tested? How can the reviewer verify your testing?
.cursor/skills/ketch-android-run-sample/SKILL.md).bash .cursor/skills/ketch-android-run-sample/scripts/run-sample-app.sh compose localand exercise SDK Health Dashboard (Load, Show Consent, Fetch Bootstrap).Related issues
#122 #123
Checklist
Note
High Risk
Large SDK surface area: new consent/headless HTTP paths and WebView dismiss/show-consent behavior affect production integrations; sample
DevUrlOverridesenables cleartext localhost when turned on.Overview
Adds a native headless HTTP layer (
HeadlessApiClient,KetchDataCenter, models) and wires it throughKetch/KetchSdkfor location, bootstrap/full config, consent get/set, profile, rights, subscriptions, QR, and telemetry—plus OkHttp/coroutines, unit tests (MockWebServer), and liveKetchHeadlessIntegrationTestagainst the CDN.WebView path gets
dataCenter-derived base URLs, optionalwebResourceUrlOverrides(native intercept + JS in index HTML), a rebuilt index bootstrap (event bindings, auto-show consent), config debug summaries (onConfigDebugInfo), and experience fixes (reuse WebView forshowConsent, centralized dismiss with realHideExperienceStatus, tap-outside delegation + timeout, banner backdrop fix).Compose and standard samples gain an on-screen SDK Health Dashboard (connection, load/visibility, privacy frameworks, headless buttons, event log), shared org/property defaults,
DevUrlOverrides, and cleartextlocalhostfor local tag scripts. Cursor addsketch-android-run-sample(dependency toggle script, emulator-awarerun-sample-app.sh) anddevelopment-workflow.mdc;.cursor/is no longer gitignored.README documents headless cold-start usage; integration-tests README splits headless vs WebView run instructions.
Reviewed by Cursor Bugbot for commit b9ad60f. Configure here.