Skip to content

feat(namespace): add single-use invitation links - #948

Closed
XiaoSeS wants to merge 12 commits into
mainfrom
feat/issue-911-namespace-invitation
Closed

XiaoSeS wants to merge 12 commits into
mainfrom
feat/issue-911-namespace-invitation

Conversation

@XiaoSeS

@XiaoSeS XiaoSeS commented Oct 12, 2026 •

Copy link
Copy Markdown
Collaborator

问题与范围

Closes #911

Namespace 管理员目前只能直接添加现有用户。本 PR 增加短期、单次邀请链接,由接收者登录后确认加入。

已确定方案

  • ACTIVE TEAM 的 OWNER/ADMIN 可以生成 24 小时、仅一名非成员可兑换一次的链接。
  • 替换仍有效的链接须先确认;另提供单独作废按钮。
  • 邀请只授予 MEMBER,不绕过现有注册、登录和账号准入。
  • Token 仅保存哈希;分享地址放在 fragment,登录回跳不携带 Token。
  • 兑换与成员、Namespace 生命周期和账号合并操作保持事务一致。

正式需求见 openspec/changes/add-namespace-invite-links/。与原 Issue 相比,本方案增加单独作废入口。

当前进度

Draft:后端、前端与 OpenSpec 已提交。定向后端测试(含真实 PostgreSQL 并发兑换)、前端 typecheck/lint/单测/构建及 OpenSpec 严格校验通过。独立 Review 的首轮意见已修复,并从本分支临时后端生成 OpenAPI 类型。Java 21 容器化预览、浏览器验收、复审和 CI 门禁仍待完成;此 PR 暂不可合并。

合并与发布顺序

本 PR 使用 Flyway V70__namespace_invitation.sql,#910 使用 V69。必须先合并并部署 #910,或将两者放在同一批迁移中发布,再部署本 PR;若先执行 V70,默认 Flyway 配置下后续 V69 不会补跑。

Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
@XiaoSeS

XiaoSeS commented Oct 12, 2026

Copy link
Copy Markdown
Collaborator Author

已按维护者要求合并交付范围:#911 的完整实现和测试现由 #947(同一固定提交 5f2d479)承载。后续评审、验收和合并都在 #947 继续,此处关闭重复 Draft PR。

@XiaoSeS XiaoSeS closed this Oct 12, 2026
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.

[Feature] Namespace 支持 24 小时单次邀请链接

1 participant