You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor: remove view-level tabs (schema.tabs); userFilters is sole page filter (ADR-0053)
Validated against Airtable's Interface Designer: "User filters" (None/Tabs/
Dropdown) is the end-user filter control; a tab is just {name, filter} and never
switches the view form (that's "Visualizations", a separate axis). ObjectUI's
schema.tabs carried a "view" switch, conflating filter and form, so it is removed:
- types: drop ListViewSchema.tabs
- plugin-list ListView: remove activeTab state, mount tab-filter effect,
handleTabChange, the TabBar/TabBarSelect render row; simplify the
mutually-exclusive guard to filterElements = userFilters
- plugin-view ObjectView: stop passing tabs through
- app-shell ObjectView: drop the tabs:undefined suppression
- react spec-bridge: stop mapping spec.tabs (clean-build; check rule flags it)
- TabBar component kept (still used by plugin-view's view switcher)
- tests: remove schema.tabs "tabs rendering" suite; userFilters tabs tests stay
Full monorepo type-check 58/58; affected tests 197 pass. Browser: object list
shows one switcher row, no legacy tab row, list loads.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
0 commit comments