Repository navigation
feat(desktop): expand active profile identity - #94450
SmelterLabs wants to merge 4 commits into
Conversation
|
Follow-up from independent review: fixed two owner-identity edge cases before maintainer handoff. The rail now recognizes machine owners from backend is_default metadata instead of assuming the root key is literally default, and it suppresses stale owner identity while a newly selected gateway's profile roster loads. Added regressions for root-keyed owners and cross-gateway stale-name flashes. Revalidated: 68 focused tests, Desktop TypeScript checks, targeted ESLint, and production build all pass. |
|
Second independent-review follow-up: fixed the remaining three rail defects. Sortable IDs now use stable profile keys even when display names differ; remote-profile hover and accessible labels stay name-only; and active/owner colors resolve from profile keys so named overrides remain stable while the default owner stays neutral. Added regressions for all three. Revalidated: 71 focused tests, Desktop TypeScript checks, targeted ESLint, production build, diff check, and secret/injection scan pass. |
Strong PR overall — the
Minor: |
|
@Enough1122 Thanks for the careful review. I checked each point against the current behavior and made the changes that improve the rail without weakening its identity rules. Changes made
Points intentionally left unchanged
Revalidated after the follow-up: 74 focused tests, Desktop TypeScript, targeted ESLint, production build, |
|
Verified - the changes improve the rail without weakening identity rules: returning to |
Summary
Verification
npm test -- --run src/app/chat/sidebar/profile-rail-connect.test.tsx src/store/gateway-profile-request.test.ts src/store/profile-agent-activation.test.ts src/plugin-socket-scope.test.ts src/store/connections.test.ts— 50 passednpm run typecheck— passednpm run build— passedNotes
Profile portraits remain profile-owned assets served by
profiles.get_asset; this change does not bundle any user-specific avatar artwork.