# feat\(web\): configurable browser defaults in Settings → Integrations · pingdotgg/t3code

[View on GitCafe](https://git.cafe/pingdotgg/t3code/commit/de4c1ee1e1edf8a97fc6c2d39c1d23703f722df3)

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

Visibility: public

Requested revision: de4c1ee1e1edf8a97fc6c2d39c1d23703f722df3

Requested commit: de4c1ee1e1edf8a97fc6c2d39c1d23703f722df3

Commit: de4c1ee1e1edf8a97fc6c2d39c1d23703f722df3

Tree: c90da480befa88953bcc0739371cc3f4b2374754

Author: Julius Marminge

Committer: Julius Marminge

## Message

```
feat(web): configurable browser defaults in Settings → Integrations

The preview browser always opened in fill mode, at 100% zoom, following the
system appearance. That is rarely what you want if you work in responsive mode
against a handful of known viewports, and there was no way to say otherwise.

Adds a Settings → Integrations page whose first section is Browser, holding the
defaults a preview tab opens at: viewport (fill, responsive, or a device
preset), zoom, and appearance. They apply to every entry point that opens a tab
without stating its own size — a hand-opened browser panel and an agent calling
`preview_open` alike.

The viewport travels with `preview.open` and zoom/appearance with `createTab`,
so a tab is born configured rather than reflowing a frame later.

Agents keep their 1280x800 fallback, but only when no default is configured:
a fill-mode tab would otherwise be sized by whatever the panel happens to be,
and agents assert against what they open.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

```

## Parents

- [ad117235b544e23545fe39143812db2ddd41af1f](https://git.cafe/pingdotgg/t3code/commit/ad117235b544e23545fe39143812db2ddd41af1f?format=markdown)

[Source at this commit](https://git.cafe/pingdotgg/t3code/tree/de4c1ee1e1edf8a97fc6c2d39c1d23703f722df3?format=markdown)
