`Hook_BackToTitleSuppress.m` is in the tree but `InstallBackToTitleSuppressHook` is commented out in `Tweak.m` because the naive approach (replacing `BackToTitleSequence.RunAsync` with a no-op UniTask) was too broad — it also killed user-initiated back-to-title and `KEBNavigateToTitleScene` (Account Switch).
Goal
Suppress only the 04:00 JST daily-reset transition, leaving every other call to `BackToTitleSequence.RunAsync` intact.
Investigation steps
- Run the JB install across midnight and grep the in-sandbox log for `[BACK2TITLE]` lines (the observer hook on `BackToTitleSequence.d__0.MoveNext` is already installed).
- Walk back from the log timestamp in `dump.cs` to find the call site that fired `RunAsync` at 04:00 — likely something around `MenuScene.OnActivateAsync`'s date-change branch, `HomePage.OnEnterAsync`, or a notification stream handler.
- Replace the broad `RunAsync` site patch with a targeted hook at that caller (probably `CAVE_ENTRY` to skip the `RunAsync` call entirely, or an inline patch if the conditional itself is small).
Acceptance
- 04:00 boundary on JB no longer evicts the user to the title.
- Account Switch (`KEBNavigateToTitleScene`) and manual title-button taps still work.
- Once stable on JB, port the same patch shape to chinlan via the recipe.
Related
`Hook_BackToTitleSuppress.m` is in the tree but `InstallBackToTitleSuppressHook` is commented out in `Tweak.m` because the naive approach (replacing `BackToTitleSequence.RunAsync` with a no-op UniTask) was too broad — it also killed user-initiated back-to-title and `KEBNavigateToTitleScene` (Account Switch).
Goal
Suppress only the 04:00 JST daily-reset transition, leaving every other call to `BackToTitleSequence.RunAsync` intact.
Investigation steps
Acceptance
Related