Repository navigation
Validate portable config schemas and report ignored import fields - #66
Merged
Merged
Conversation
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.
Android imports silently discarded browser settings and undocumented fields, and exports had no automated checks against the shared MegaProxyConfig contract. The existing import result now reports ignored browser settings and undocumented fields once each, without exposing keys or values; discarded fields stay out of storage and later exports.
Vendor the exact upstream v8 schemas, examples and LICENSE at commit
9427cf235d6c112cd97ae82dc34d5d9b02aa42b7with SHA-256 checksums. Addbundle exec fastlane android renew_config_schema [ref:FULL_SHA]to update them explicitly through gh; CI uses committed copies. JVM tests validate real ConfigStore exports for all four transports and secret inclusion choices against both schemas, and check examples, enum parity, checksums, malformed canonical input and nested ignored fields. The schema validator is test-only; runtime recognition uses org.json. Legacy versions 1–8 retain permissive import behavior.The audit in
docs/reviews/config-schema.mdfinds the Android v8 field contract current. It records existing IPv6/unfinished-profile limits, upstream browser overrides, and the deliberate difference from upstream’s generic warning wording: Android names the browser platform as requested.Validation:
android_checks(191 JVM/UI tests, lint, debug and unsigned release APKs);python_checks(50 tests); renewal lane against the pinned commit; schemas present in both APK variants. EN/RU strings and Fastlane references updated.Emulator startup now retries once only before the test runner starts. A runner-started marker prevents retrying test or fixture failures; an explicit final gate fails the required check if neither launch succeeds. Both attempts remain visible in the job log. This addresses the observed API 26 failure during
adb shell input keyevent 82, before any app test ran. Workflow syntax checked with actionlint.SDK installation also retries once for transient download errors; two failures still fail CI. The document-provider test dismisses visible Gboard overlays before filename entry, so the API 26 first-run tutorial cannot hide the field from UIAutomator. SDK retry shell behavior was checked for immediate success, failure then success, and two failures.
APK artifacts
Built from commit
22ec1f9aby CI run #225.Artifacts expire after 14 days. Neither APK uses the MegaProxy release key.