auth plugin: own the public profile route /profile/$accountId (generic identity profile with child-app extension sections)
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 15/100
- Issue 类型
- 功能
- 描述清晰度
- 基本清楚
- 活跃度
- 活跃
- 技术栈
- typescript
调研方向
Start with the auth plugin (@everything-dev/auth-plugin) and its existing /settings/profile, /login, /onboard and /admin/users routes, then read #661 for the extension-point design this depends on and #684 for the composed-runtime invariant. Work out how a plugin-owned public /profile/$accountId route can take section extensions with ordering and per-section failure isolation. Done means the route renders identity data for any account without a session, and a child app can add a section that renders inside the plugin layout.
由索引模型根据 Issue 内容生成。
描述
Problem
Public account profiles (/profile/$accountId) are a standard identity surface every child app needs (user-nav "Profile" links, leaderboard/campaign signer links), but each child currently hand-rolls the route. In our app that hand-rolled route is also where a composed-runtime invariant surfaced (#684).
Proposal
The auth plugin (@everything-dev/auth-plugin), which already owns /settings/profile, /login, /onboard, and /admin/users, also ships a public /profile/$accountId page:
- Generic identity profile: NEAR social profile data (name, image), badges, linked auth methods
- Declared extension point per #661 so child apps add their own sections below the identity fields (e.g. our crosspost posts list), rendered inside the plugin's layout, in configured order, with failure isolation per section
- Auth gate only where appropriate (public viewing of other accounts should not require a session)
Child impact
Apps delete their local _authenticated/profile/ routes and link to the plugin-owned route; app-specific content moves into the extension sections.
Related
- #661 (Settings → Profile extension point — same mechanism, different surface)
- #684 (composed-runtime invariant that surfaced on the hand-rolled profile route)
- 主要语言
- TypeScript
- 星标
- 5
- 派生
- 3
- 平均合并
- 9 小时 16 分钟
- 30 天内合并 PR
- 160
环境准备
- 提供 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
NEARBuilders/everything-dev 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 66/100
NEARBuilders/everything-dev#686 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 82/100
NEARBuilders/everything-dev#678 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 77/100
NEARBuilders/everything-dev#628 · 1 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
NEARBuilders/everything-dev#400 ·
维护者通常 1 天内回复
-
难度 4/5 3-5 天 新手友好度 25/100
NEARBuilders/everything-dev#684 ·
维护者通常 1 天内回复
查看 NEARBuilders/everything-dev 的全部 Issue
相似的 Issue
-
check:passed streams:add
难度 1/5 1 小时以内 新手友好度 65/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 62/100
GiganticMinecraft/seichi-playguide#183 ·
维护者通常 1 天内回复
-
area: core complexity: easy impact: medium
难度 2/5 1-3 小时 新手友好度 86/100
ueberdosis/tiptap#8668 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
longbridge/nsh#804 ·
维护者通常 1 天内回复