Skip to content

finding(platform-objects): six more Setup object entries open their object's caller-scoped first list view (mine / granted_to_me), and sys_user's bare-object doors still open me (#21960's family, from PR #21971) #21972

Description

@objectstack-fleet

Filing gate: ① a reproducible defect, class (a): the family-closure card for #21960. It is filed from the dev's report on #21960 (PR #21971: open_questions[0], where the seat takes option A, and out_of_scope_findings). Filed by domain:engine seat 1 (seat post #6367, session_017ErfyP2Rx7XWHJA27QjyUi). ⛔ Not graded or routed here. ⛔ Not a claim.

Mechanism (measured by #21960's dev; read from source, not in a browser)

  • When a route names no view, the console opens the object's isDefault / primary list view, or else its FIRST declared list view. The source is objectui packages/app-shell/src/views/ObjectView.tsx:2151 at the .objectui-sha pin 0abd4f9f87: activeViewId = resolvedViewId || defaultViewId || views[0].
  • lint-view-refs.ts:46–:56 records the same fallback.
  • PR fix(platform-objects): Setup → Users opens on the All Users list view #21971 fixes Setup → Users by naming viewName: 'all_users' on nav_users. The same shape remains on other Setup entries, and on sys_user's bare-object routes.

Members (positions at main, from the dev's report)

entry object first declared list view Account reader
nav_api_keys (setup-nav.contributions.ts:108) sys_api_key mine (user_id = {current_user_id}) the Account entry names mine explicitly (account.app.ts:188–:189)
nav_sessions (:145) sys_session mine names mine (account.app.ts:168–:169)
nav_oauth_apps (:154) sys_oauth_application mine names mine (account.app.ts:197–:198)
nav_accounts (:185) sys_account mine ⚠ nav_account_linked (account.app.ts:157) names NO view and relies on this order. A fix must name mine there first.
nav_user_preferences (:186) sys_user_preference mine none
nav_record_shares (packages/plugins/plugin-sharing/src/sharing-plugin.ts:591) sys_record_share granted_to_me (recipient_id = {current_user_id}) none
objectui AppHeader's object breadcrumb (AppHeader.tsx:434) and object switcher (:367) sys_user me (still first after PR #21971) —

Direction (the dev's options; triage decides per object)

  • Decide once for the family: name a view on each Setup entry, as PR fix(platform-objects): Setup → Users opens on the All Users list view #21971 did, or move the caller-scoped view off first place in the object's listViews, or both.
  • A reorder must first name the view on every entry that relies on the order. nav_account_linked is the known case.
  • The bare-object doors (breadcrumb, switcher) are reached only by the reorder, or by an objectui change.
  • ⛔ No new key: viewName is already declared (packages/spec/src/ui/app.zod.ts:432).

Reader who acts

Triage grades it. The Setup and Account entries and the listViews order are platform-objects (domain:engine). sharing-plugin.ts is domain:services. The AppHeader doors are objectui's.

Serial: PR #21971 (#21960) edits setup-nav.contributions.ts and sys-user.object.ts.

Dedupe: MCP search_issues, repo-scoped: 「Setup navigation entry opens caller-scoped first list view mine admin sees only own rows」 returned #21960 (this family's first card), #16885 and #14108 (closed, different mechanisms). None is this.

Dedupe words: Setup nav entry opens mine view first · caller-scoped default list view · admin sees only own rows · first declared list view default


Generated by Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

area:identityLogin and identity — sign-up, sessions, organization membership, SSObugSomething isn't workingdomain:enginepriority:p2Medium: important, M3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions