Repository navigation
Fix review findings: privacy, crashes, UI, build and CI - #14
Merged
Merged
Conversation
- Breadcrumbs never record text of EditText, editable or password fields - ScreenCapture: catch PixelCopy/IO failures, add a scope exception handler, millisecond + uniqueness suffix on capture file names - Network redaction: normalise key names (case, _ and -), mask any JSON scalar, redact X-Auth-Token / X-Access-Token / X-CSRF-Token / X-XSRF-Token by default - NetworkLogger.maxTotalBodyChars caps retained bodies, dropping the oldest first - OkHttp interceptor no longer peeks untyped or chunked non-document bodies - ConsoleBuffer drops batches taken before clear() - Screen recording ignores a duplicate START instead of stopping - Logcat parser computes the year per line (Dec/Jan rollover), thread-safe formatter - LogsPlugin registers lifecycle callbacks once across install/updateConfig - Guard display settings intent and UpdateChecker.signOut failures - Clear cache runs on Dispatchers.IO (new AppActions.clearCacheInBackground) - EndpointPlugin only commits synchronously when it restarts the app
- Gallery: count row with share all and confirmed delete all, InfoGroup rows, icon buttons with labels, confirmed per-item delete, Open click label, placeholder glyph hidden from TalkBack, file listing off the main thread - Shared two-tap ConfirmDeleteButton used by every list's clear action and the SharedPreferences clear-all; feature flag reset now asks to confirm - Dark-aware category colors (breadcrumbs, console levels, network status) via a shared palette; pill and filter text picks black or white by fill - Pill rows wrap with FlowRow; network detail actions use ActionPillRow - 48dp touch targets for filter pills, action pills, clickable bullets and code block toolbar icons - Logs and network lists gain a share button; console counts pluralize and ellipsize; expandable rows announce Expand/Collapse and their state - Overridden subtitle and per-flag reset for every flag type; text, number and JSON input items take an optional subtitle - Crash list, SharedPreferences, bug report and console share do disk work on Dispatchers.IO; exported logs go to cacheDir/devdeck-reports, pruned to the newest 20 - Wording: Kill when backgrounded chip, Bulk edit, capitalized categories
- Record each library's public API in <module>/api/*.api and check it (apiCheck / apiDump, binary-compatibility-validator wired to AGP's built-in Kotlin; Compose singletons ignored). Runs in CI, release and check. - Pin the Gradle daemon to JDK 17 like CI and JitPack. - Enable the build cache and configuration cache; give ktlintCheck inputs and a report output so it can be up to date. - Ship consumer R8 rules (-dontwarn for the compileOnly OkHttp, Timber and Firebase deps) and add a minified sample `qa` build type that CI builds. - CI and release run lintRelease; release only runs from main and checks out without persisted credentials. - Dependabot skips AGP major/minor updates, matching the 1.0.0 policy. - Unit tests for devdeck-timber and devdeck-appdistribution. - README: DevDeck stays out of release builds only with debugImplementation; JitPack versions keep the v of the tag. CONTRIBUTING: API dump workflow.
…e, keep endpoint writes synchronous, fix README
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.
What changed
Fixes the findings from a full review of the library, drawer UI and build setup. Everything stays source- and binary-compatible with 1.0.0, so this is a minor release.
Privacy and crashes
_or-, masks non-string JSON values, and hides more auth/CSRF headers by default.NetworkLogger.maxTotalBodyCharscaps retained bodies (oldest dropped first).UI and accessibility
ConfirmDeleteButton), capture gallery uses the shared list layout.cacheDir/devdeck-reportsand are pruned.subtitleadded to the input items, with hidden overloads keeping the old signatures).Build, CI and docs
apiCheck/apiDump) for the four libraries, run in CI and release.ktlintCheck.main, doesn't persist credentials, and runs ktlint,lintReleaseandapiCheck; CI addslintRelease,apiCheckand a minified sampleqabuild.debugImplementation, and documents redaction, memory limits and storage locations.How it was tested
./gradlew ktlintFormat ktlintCheck lintDebug lintRelease testDebugUnitTest assembleDebug assembleRelease publishToMavenLocal apiCheck :sample:assembleQapasses locally..apidiff against the 1.0.0 dump only adds declarations; the four changed input items keep their old JVM signatures as synthetic methods.Checklist
CHANGELOG.md(or theskip-changeloglabel is set)./gradlew ktlintFormat ktlintCheck lintDebug testDebugUnitTestpasses