Based on legacy app (web/app/assets/javascripts/wizard/gear_utils.js):
When canPlayWithOthers() fails (single-player profile detected):
- Legacy app shows dialog with options:
* Create private session → redirects to new session
* Go to audio settings → redirects to /account/audio
* Cancel → redirects to home
Current implementation (without dialog):
- Reject with error.controlled_location = false
- Redirect to home (/client) when profile check fails
- Prevents user from joining with inadequate audio profile
This matches legacy behavior of kicking user back to home, but
WITHOUT the dialog that explains why or offers alternatives.
TODO: Add JKSessionProfileDialog component with same options as
legacy 'single-player-profile-dialog' for better UX.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>