# fix\(mobile\): respect Duo safe areas in overlays · PR \#22977 · pingdotgg/t3code

[View on GitCafe](https://git.cafe/pingdotgg/t3code/pull/22977)

Repository: [pingdotgg/t3code](https://git.cafe/pingdotgg/t3code)

Visibility: public

State: merged

Source repository: pingdotgg/t3code

Source branch: duo/safe-areas

Target branch: duo/toolbars

Head commit: e4779fd19c54c4368e54f87ac163673f92e3a214

[Discussion and reviews](https://git.cafe/pingdotgg/t3code/pull/22977)

[Commits](https://git.cafe/pingdotgg/t3code/pull/22977/commits?format=markdown)

[Files changed](https://git.cafe/pingdotgg/t3code/pull/22977/diffs?format=markdown)

## Description

---

Custom overlays used root insets or omitted side insets, allowing controls and content into the Duo reserved regions. Give the arrangement modal its own safe-area provider and sized surface, and apply existing reserved-region calculations to the command palette and preview handle.

Verified the arrangement modal folded and unfolded; its content stays clear of the rail. Focused reserved-region tests and mobile typecheck passed. Command palette and preview changes were inspected, but not exercised on device.

Before:
![Before: arrangement content extends under rail](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b44cd4f66e8266cc/arrange-folded-before.png)

After:
![After: arrangement content respects side inset](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2781fdf8e23a1d81/arrange-folded-fixed.png)

Implemented with Claude Opus 5.5 in Claude Code; integrated and reviewed with GPT-6.1 in Codex.

### Restack

Restacked onto main `a12d6ed942` on 2026-10-21. The commits are unchanged apart from lockfile peer strings. The recordings above show the pre-restack commits they name.

