Skip to content

Browse: ordering rules API surface and e2e suites - #4011

Open
alex-aprm wants to merge 1 commit into
masterfrom
claude/spaces-ordering
Open

Browse: ordering rules API surface and e2e suites#4011
alex-aprm wants to merge 1 commit into
masterfrom
claude/spaces-ordering

Conversation

@alex-aprm

Copy link
Copy Markdown
Collaborator

Companion to the Bitbucket PR on claude/spaces-ordering (reddata), which carries the feature itself.

What's here

  • js-api/src/api/xamgle.api.g.ts — regenerated for the new Settings.orderRules property backing the Browse ordering rules. Generated file; do not edit by hand.
  • Three Playwright suites (playwright-public/) driving a live dev stack:
Suite Covers
order-e2e.js Browse tree ordering, per-space overrides, ordering by id
settings-e2e.js rules editor — layout, priorities, move/remove, typeahead, deferred apply, persistence
group-e2e.js group / All-Users defaults, including a second session inheriting them

40 checks total, all passing against a local stack.

Why the suites are worth keeping

They caught defects static analysis cannot see, including a Dart 1.x ?. chain that threw on exactly the null path it was added for, and a torn-off method used as a getter (cell.valueString without the call). Both compiled clean and failed only at runtime.

Running them

Needs a dev stack on DG_BASE (default http://localhost:61006) with an admin/admin account:

cd playwright-public && node order-e2e.js

Notes

  • grok_api.g.ts and grok_shared.api.g.ts are also regenerated locally, but that drift is unrelated to this change (committed Dart whose generated TS was stale) and is deliberately left out.
  • playwright-public/ already contained other untracked scratch files; only these three are added.

🤖 Generated with Claude Code

Regenerated SettingsInterface for the new Settings.orderRules property that
backs the Browse ordering rules.

Adds three Playwright suites driving a live dev stack:
- order-e2e.js: Browse tree ordering, per-space overrides, ordering by id
- settings-e2e.js: the rules editor - layout, priorities, move/remove,
  typeahead, deferred apply, persistence
- group-e2e.js: group / All-Users defaults, including a second session
  inheriting them

Between them they caught several defects the analyzer cannot see, including a
Dart 1.x `?.` chain that threw on the null path and a torn-off method used as a
getter.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@alex-aprm
alex-aprm force-pushed the claude/spaces-ordering branch from 9cf76fe to 8eb8002 Compare August 28, 2026 18:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant