Prevent disabled configured vote sites from being auto-enabled - #1546
Prevent disabled configured vote sites from being auto-enabled#1546BenCodez wants to merge 22 commits into
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0ae6645c76
ℹ️ 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".
|
@codex address the unresolved P2 review feedback. Fix the disabled-configured vote-site path so offline queued votes for a site disabled after queueing are skipped safely without passing null into playerVote(), while preserving the intended prevention of auto-creation/re-enabling. Add or update regression coverage for player-login/offline-vote processing and run the relevant checks. |
Summary
Testing
|
|
Implemented the Codex finding directly: offline queued votes now resolve the enabled site once, skip disabled sites safely, and never pass null into playerVote(). @codex review the new commit. |
|
Codex Review: Didn't find any major issues. Can't wait for the next one! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2ef79399cf
ℹ️ 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".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c2865c2467
ℹ️ 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".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1637784fbb
ℹ️ 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".
|
@codex review the current head after the added disabled-site regression tests. Please verify the offline queued-vote null guard, raw configured-site lookup, malformed configuration handling, normalized-key matching, and whether this PR is ready. |
|
Codex Review: Didn't find any major issues. You're on a roll. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
|
@codex review the current head after merging current |
|
Codex Review: Didn't find any major issues. Bravo. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
|
@codex clean up the unintended whole-file line-ending churn in |
Summary
Testing
|
|
@codex Do not modify or attempt to push the PR. Recreate the verified CRLF cleanup from current branch head for only these two files, preserving all semantic changes:
Then post the following machine-readable values in one comment, with no truncation and no Markdown wrapping around the base64 values:
Also state the byte length of each uncompressed file. The compressed payload is needed because your isolated checkout cannot push. |
|
CONFIG_GZIP_BASE64=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 |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3e92dd65af
ℹ️ 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".
| run(repository, "git", "fetch", "origin", BRANCH); | ||
| run(repository, "git", "checkout", "-B", BRANCH, "origin/" + BRANCH); |
There was a problem hiding this comment.
Serialize the two branch-cleanup writers
When this push workflow finishes before the pull-request Maven build reaches this test, it has already converted both source files and removed .github/workflows/pr1546-line-ending-cleanup.yml; this fetch/reset therefore picks up that cleanup commit, leaving only this test's deletion staged. The assertion below still requires all four paths, so the Java CI build fails and the self-removing test remains on the PR branch. Use a single cleanup mechanism or coordinate the workflow and test rather than letting both mutate the same branch concurrently.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d72e62f203
ℹ️ 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".
| with: | ||
| ref: ${{ github.head_ref || github.ref_name }} | ||
| fetch-depth: 0 |
There was a problem hiding this comment.
Keep fork pull requests on a fetchable checkout ref
For a pull request from a fork, github.head_ref contains only the fork's branch name, while actions/checkout still fetches from the base github.repository because no repository input is supplied. Unless the base repository happens to have an identically named branch, checkout fails before Maven runs, blocking CI for external contributors. Keep the default pull-request checkout for ordinary builds, or provide both the head repository and an appropriate ref.
Useful? React with 👍 / 👎.
Motivation
A refactor made
VoteSiteManagerresolve names only from the in-memoryvoteSiteslist, which contains enabled/loadable sites. Disabled-but-configured sites could therefore appear missing during vote ingestion and be auto-created into the same section withEnabled: true.Changes
VoteSitesconfiguration sections.VoteSiteManager.getVoteSiteName(false, ...)to recognize disabled configured sites by:example.com→example_com);ServiceSite;hasVoteSite(...)null-safe and aware of configured-but-disabled sites so auto-creation cannot overwrite and re-enable them.nullto reward processing.tryGenerateVoteSite(...)calls.Verification
masterinto the PR branch and resolved the branch conflict without replacing newer proxy or build changes frommaster.AI disclosure
This pull request was created with assistance from OpenAI Codex and reviewed by BenCodez.