Skip to content

Feat/3.0.0 beta1 - #2333

Merged
zgqgit merged 4 commits into
releasefrom
feat/3.0.0-beta1
Aug 19, 2026
Merged

Feat/3.0.0 beta1#2333
zgqgit merged 4 commits into
releasefrom
feat/3.0.0-beta1

Conversation

@zgqgit

@zgqgit zgqgit commented Aug 19, 2026

Copy link
Copy Markdown
Collaborator

What

简要描述做了什么改动。

Why

为什么需要这个改动?

How

实现方式、设计决策(如有)。

Test

  • 本地测试通过
  • 114 测试服务器验证通过

Related

  • Issue/ticket:

zgqgit added 4 commits August 19, 2026 16:58
停用某个权限动作后,仍在使用该动作的自定义权限模型会导致发布被阻断。
此前弹窗直接罗列后端原始英文阻断串(含 model key 哈希与动作码),
用户无从下手。现将其解析为本地化提示,映射出模型显示名与动作名,
并明确指引先在对应自定义权限中移除该动作再发布。无法识别的阻断串
原样保留,避免吞掉新类型。三语文案同步补齐。
The offset scan (_scan_visible_apps_page) re-scanned and re-permission-checked
pages 1..N to serve page N, so deep pages degraded linearly under ReBAC
filtering. Replace it with a keyset cursor scan (_scan_visible_apps_cursor,
page_size+1 probe) so per-page permission cost is bounded regardless of depth.

Backend:
- /app/uncategorized -> get_uncategorized_flows_envelope (cursor key update_time,id)
- /chat/online default ranked path -> get_online_flows_cursor
  (cursor key _used_rank,_sort_time,id); update_time path -> get_all_flows_envelope
- both endpoints return PageInfiniteCursorData {data,page_size,has_more,next_cursor};
  page dropped, cursor added. /app/used unchanged (per-user bounded).

Frontend (client + platform): consumers switched to cursor infinite scroll;
API clients normalized to {list,hasMore,nextCursor}.

Tests: updated F040 static guards + added cursor behaviour tests
(resume-after-cursor, no overlap/gaps, ranked column stripping).
/{space_id}/info 不再返回调用者的有效动作,此前设置页依赖 space.actions
判断 edit/manage_permission,导致 actions 恒为空、所有人都被拒于门外。
改为并发调用 F048 my-permissions 汇总接口获取有效动作,恢复有 edit 或
manage_permission 的用户正常进入设置页。
前端 permission.ts 与相关测试都以 page_size=200 拉授权列表,
后端把上限压在 100,导致 /grants?page_size=200 被 FastAPI 422 拒绝。
邻居端点 grant-subjects 早就允许到 2000,这里放到 200 已经能覆盖
前端全部实际调用,同时避免把资源级授权查询变得太重。
@zgqgit
zgqgit merged commit 240bf17 into release Aug 19, 2026
1 of 2 checks passed
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.

1 participant