Skip to content

feat: Community Settings Sharing#564

Draft
maxjivi05 wants to merge 10 commits into
WinNative-Emu:mainfrom
maxjivi05:community-configs
Draft

feat: Community Settings Sharing#564
maxjivi05 wants to merge 10 commits into
WinNative-Emu:mainfrom
maxjivi05:community-configs

Conversation

@maxjivi05

Copy link
Copy Markdown
Contributor

No description provided.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e4bee40978

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

// WineInfo resolves bundled/main versions; only flag if clearly a
// managed profile name that isn't installed.
val resolved = runCatching {
WineInfo.fromIdentifier(context, contentsManager, wineVer)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Check Wine profile presence without fallback

When a config requests a Wine/Proton identifier that is not installed, this check treats it as present because WineInfo.fromIdentifier() is not an existence check: it falls back to the bundled MAIN_WINE_VERSION instead of returning null for unrecognized or missing identifiers. As a result, the missing-component dialog is skipped and the config is applied with the wrong Wine runtime for games that require a custom Wine/Proton build; please check the installed profile names directly before considering it resolved.

Useful? React with 👍 / 👎.

val s = JSONObject()

fun put(key: String, value: String?) {
if (!value.isNullOrBlank()) s.put(key, value)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Serialize disabled shortcut-only settings

This drops settings whose disabled state is represented by an absent or blank extra, such as sgsrEnabled, fpsLimit, and refreshRate. Since ConfigApplier.apply() only writes keys that are present and never clears existing allowed extras, applying a config where those options are off to a shortcut that currently has them on leaves the old values enabled, so the applied result is not the shared config; please encode explicit disabled values or clear absent allowed keys during apply.

Useful? React with 👍 / 👎.

@Xnick417x

Copy link
Copy Markdown
Collaborator

Needs proper ui. See Workshop and Achievements in latest pr. Background should be (WsBg)
Needs to ensure proper PANE_NAV (aka controller navigation)
Needs to ensure all strings are translated to all locales

@Xnick417x Xnick417x marked this pull request as draft July 1, 2026 04:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants