[Sessions: create / edit / cancel] Create with stable session ID across uncertain retry
还没有人认领这个 Issue。
评估
调研方向
Start in lib/sessions/session_repository.dart and the schema in supabase/schemas/dogpack/tables/sessions.sql to see which fields define a matching meeting and how the ID is set. The prerequisites #86 (createSessionMap) and #30 must land first, so check whether they are merged. Done means createSession keeps draft.id across retries, returns the existing row on a 23505 duplicate only when its fields match, and passes other errors on. Verify with flutter test test/sessions/session_repository_dp_s04_2_test.dart and flutter analyze.
由索引模型根据 Issue 内容生成。
描述
What to build
Save a new study meeting without creating duplicates when a request is retried. Keep the same meeting ID after an uncertain network response and recognize an already-created matching meeting.
Files
lib/sessions/session_repository.dart(extend the prerequisite’s file)- Starting example: supabase/schemas/dogpack/tables/sessions.sql
Code to add or extend:Future<SessionRecord> createSession(client,hostId,draft).
Steps
- Insert createSessionMap(draft, hostId) using the current student’s client. Keep
draft.idunchanged for the entire attempt and any retries. - If PostgreSQL returns 23505, read the existing row with that ID and own hostId. Return it only if its allowed creation fields match this draft; otherwise pass on the error.
- After an uncertain network failure, keep the draft and retry with the same ID. Never generate a new ID inside createSession; the screen creates it once when starting the draft.
Example
Retry after dropped response addresses same id and creates at most one session.
Check it works
In test/sessions/session_repository_dp_s04_2_test.dart, check the example above and the failure or limit described in the steps. Run flutter test test/sessions/session_repository_dp_s04_2_test.dart and flutter analyze.
Before starting
References
Assign yourself before starting, or comment to claim the issue. Project setup.
- 主要语言
- PLpgSQL
- 星标
- 0
- 派生
- 0
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
DevDogsUGA/DogPack 的其他 Issue
-
polish
难度 2/5 1-3 小时 新手友好度 72/100
DevDogsUGA/DogPack#131 ·
-
polish
难度 2/5 1-3 小时 新手友好度 65/100
DevDogsUGA/DogPack#130 ·
-
moderation
难度 2/5 1-3 小时 新手友好度 75/100
DevDogsUGA/DogPack#119 ·
-
moderation
难度 2/5 1-3 小时 新手友好度 85/100
DevDogsUGA/DogPack#113 ·
-
discover
难度 2/5 1-3 小时 新手友好度 74/100
DevDogsUGA/DogPack#106 ·
查看 DevDogsUGA/DogPack 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 82/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 70/100
onyx-dot-app/onyx#16016 ·
维护者通常 1 天内回复
-
reproduced
难度 2/5 1-3 小时 新手友好度 72/100
anomalyco/opencode#55369 · 1 条评论 ·
维护者通常 1 天内回复
-
feature
难度 2/5 1-3 小时 新手友好度 60/100
manyfold3d/manyfold#7346 · 1 条评论 ·
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 62/100
chaitin/agent-compose#770 ·
维护者通常 1 天内回复