Skip to content

[docs] decision: emulation overrides are exposed through named convenience methods#17675

Open
AutomatedTester wants to merge 2 commits into
trunkfrom
adr-bidi-emulation-overrides
Open

[docs] decision: emulation overrides are exposed through named convenience methods#17675
AutomatedTester wants to merge 2 commits into
trunkfrom
adr-bidi-emulation-overrides

Conversation

@AutomatedTester

Copy link
Copy Markdown
Member

💥 What does this PR do?

Proposes a design decision record: emulation overrides are exposed through named convenience methods.

BiDi defines eleven emulation.set*Override commands (geolocation, locale, timezone, user agent, network conditions, forced colors, touch, …). The bindings already generate a method per command from CDDL, so all of it is reachable — but only in raw wire shape, which makes a simple "set location to Paris" more ceremony than it should be and leaves the emulation surface undiscoverable. This record proposes thin, consistent, named convenience methods (set_geolocation, set_locale, set_timezone, set_user_agent, set_network_conditions, set_forced_colors, set_touch) over the generated commands, preserving BiDi's dynamic mid-session application and keeping the raw methods as an escape hatch.

🔧 Implementation Notes

🤖 AI assistance

  • AI assisted (complete below)
    • Tool(s): Claude Code
    • What was generated: Initial draft of the decision record, derived from a CDDL-validated comparison of the Python BiDi surface against Playwright; revised through discussion and review
    • I reviewed all AI output and can explain the change

💡 Additional Considerations

One of a set of BiDi ergonomics decision records proposed together. The convenience set is deliberately scoped to high-use overrides; the remaining commands stay raw until there's demand. Cross-binding convergence is tracked in the binding-status table.

🔄 Types of changes

  • Documentation (design decision record)

@AutomatedTester AutomatedTester force-pushed the adr-bidi-emulation-overrides branch from 7964c17 to 454ef1e Compare June 11, 2026 18:33
@AutomatedTester AutomatedTester added the A-needs decision TLC needs to discuss and agree label Jun 15, 2026
Rename 0005 -> 17675 and point the user_contexts scope argument at the
user-context definition (17681).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-needs decision TLC needs to discuss and agree

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant