Skip to content

feat(defaults): every device on the Devices page ships OFF -- pure opt-in - #238

Merged
NathanNeurotic merged 2 commits into
masterfrom
claude/devices-default-off
Jul 20, 2026
Merged

feat(defaults): every device on the Devices page ships OFF -- pure opt-in#238
NathanNeurotic merged 2 commits into
masterfrom
claude/devices-default-off

Conversation

@NathanNeurotic

@NathanNeurotic NathanNeurotic commented Jul 20, 2026

Copy link
Copy Markdown
Owner

Directive

Set all devices to off as default on devices page.

All start modes (BDM, APA HDD, Network, Apps, MMCE, Favourites) and all block-device toggles (USB, iLink, MX4SIO, exFAT HDD, UDPBD) now default OFF. HDD, network, and the non-USB toggles already were; this flips BDM/Apps/MMCE/Favourites (were Manual) and USB (was on).

Safety checked

  • Fresh install with zero tabs is a handled state: deferredInit's boot select explicitly covers nothing-registered ("the start menu stays") — the user lands on the start menu and opts in via Settings. No NULL-tab crash path.
  • Existing installs untouched: every one of these is only a reset default; saved config keys override on load.
  • GUI-less autolaunch untouched: miniInit's BDM force-enables stay — an external argv launch has no Settings screen to opt in with.

Note this supersedes the defaults commit in #236 (which wanted Manual + Network=SMB — contradicting the shipped Network-OFF default). This PR is the maintainer's actual doctrine: everything off, pure opt-in.

Builds clean (make opl.elf, exit 0).

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Defaults
    • Device start modes now default to Off for all supported devices.
    • USB block-device support is now disabled by default.
    • Saved configuration settings continue to override these defaults when loaded.

…t-in (NathanNeurotic directive)

All start modes (BDM, APA HDD, Network, Apps, MMCE, Favourites) and all block-device toggles (USB,
iLink, MX4SIO, exFAT HDD, UDPBD) now default to OFF/disabled. HDD, network, and the non-USB toggles
already were; this flips BDM/Apps/MMCE/Favourites (were Manual) and USB (was on). A fresh install
boots to the start menu with no tabs -- deferredInit's boot select handles the nothing-registered
case explicitly ("the start menu stays") -- and the user enables exactly what their rig has in
Settings. Saved configs override every one of these on load, so existing installs are untouched.

The GUI-less autolaunch path (miniInit BDM force-enables) is deliberately untouched -- an external
argv launch has no Settings screen to opt in with.

Builds clean (make opl.elf, exit 0).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jul 20, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: db7665c1-a7ba-47e3-95ea-c55c53b51ee0

📥 Commits

Reviewing files that changed from the base of the PR and between 5f3dbb0 and 61036e7.

📒 Files selected for processing (1)
  • src/opl.c
📜 Recent review details
⏰ Context from checks skipped due to timeout. (5)
  • GitHub Check: build-debug (ingame_ppctty_debug, :v20250725-2)
  • GitHub Check: build-variants-ps2dev-latest (EXTRA_FEATURES=1, PADEMU=0)
  • GitHub Check: build-variants (EXTRA_FEATURES=0, PADEMU=1)
  • GitHub Check: build-variants (EXTRA_FEATURES=0, PADEMU=0)
  • GitHub Check: build-lang
🔇 Additional comments (2)
src/opl.c (2)

2886-2891: LGTM!


2906-2906: LGTM!


📝 Walkthrough

Walkthrough

setDefaults() now initializes all device pages and USB block-device toggles as disabled by default.

Changes

Default startup settings

Layer / File(s) Summary
Disable device and USB defaults
src/opl.c
All BDM, HDD, ETH, APP, MMCE, and FAV start modes default to START_MODE_DISABLED, and gEnableUSB defaults to 0.

Estimated code review effort: 1 (Trivial) | ~5 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: device defaults now ship OFF by default, making the Devices page opt-in.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/devices-default-off

Comment @coderabbitai help to get the list of available commands.

@gemini-code-assist gemini-code-assist 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.

Code Review

This pull request updates the default configuration in src/opl.c to disable all device start modes (gBDMStartMode, gAPPStartMode, gMMCEStartMode, gFAVStartMode) and the USB block-device toggle (gEnableUSB) by default, adhering to the opt-in doctrine. There are no review comments, and I have no feedback to provide.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

…ying the runner's exact diff)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@NathanNeurotic
NathanNeurotic merged commit 4d9ccf4 into master Jul 20, 2026
61 checks passed
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.

1 participant