Community configs: fork CI build - #3
Open
maxjivi05 wants to merge 17 commits into
Open
Conversation
Resolve conflicts in .gitignore, app/build.gradle, GameSettings.kt and ShortcutSettingsComposeDialog.kt by keeping both sides: main's controller nav, artwork scraper and ReShade catalog alongside the community config sharing UI, preview mode and HMAC build config.
Add CommunitySettings as the single source of truth for which shortcut settings are portable, with per-key validators, container defaults and the runtime's own resolution order. ConfigSerializer and ConfigApplier now derive from it, so they cannot drift apart, and a Gradle check fails the build when a newly persisted shortcut setting is neither shared nor explicitly excluded. Share the seven settings that were being dropped: zinkMode, useUnixLibs, screenTouchMode and the four ReShade keys. Resolve refreshRate through the container the way the runtime does, clear portable keys a config omits so an applied config is the uploader's config rather than a merge, and check downloaded values against the same rules the server enforces. Restyle the community dialogs onto the shared palette and wire controller navigation through the config browser, report dialog, missing-component dialog and the Download/Upload header buttons. Share one OkHttpClient, cap response reads, guard an unconfigured build instead of failing at signing time, and replace the per-apply executor with the shared IO dispatcher.
Wrap the Download and Upload entry points so a setup or runtime failure names the exception instead of taking the process down. Move the Download/Upload buttons into the scrolling sidebar list so they scroll away with the sections while the game name stays pinned, and bring them back into view when the controller cursor lands on them. Resolve the hardware block once per process instead of forking getprop on the UI thread every time the browser opens.
The deployed API only accepts schemaVersion 1 and rejects any key it does not know, so an app that sends version 2 fails the whole upload. Retry once against the older contract with the keys that version accepted, and report the settings that were left behind rather than failing outright. Uploads now work against either server; once the API is updated the first attempt succeeds and nothing is dropped.
ContentDialog inherited the default cutout mode while the host activity theme uses shortEdges, so on a device with a camera cutout the dialog window was letterboxed into the safe area and its centre gravity landed off-centre. Give ContentDialog the activity's cutout mode on API 27+ via a shared base style, and size the community browser against the navigation-bar and cutout insets the way the shortcut settings dialog already does, so the panel spans the real centre without sitting under the camera.
An absent GitHub secret still exports the variable, as an empty string, so COMMUNITY_API_BASE overrode its own default with "" and disabled community sharing even when the HMAC secret was present. Treat blank as unset for both, and warn during configuration when the secret is missing so the build log says why sharing is off instead of leaving it to be discovered on device.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Build.SOC_MODEL reports "unknown" on many devices, which is not blank, so it was used verbatim as the chipset and bucketed unrelated hardware together. Reject placeholder values, widen the property fallbacks, and send the board platform alongside the SoC model instead of collapsing them, so the read path keys the same way the upload path already did - a device could previously upload a config and then fail to find it. The sign-in prompt fired whenever the cached Play Games id had not resolved yet, so it appeared and was then contradicted by a successful upload moments later. Only prompt once an interactive sign-in is actually required. Deleting a config now asks first; it removes the config for everyone.
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.
Build-only PR so CI runs inside this fork, where COMMUNITY_HMAC_SECRET is available. Fork PRs against upstream do not receive secrets.