lixi
|
694543647f
|
新增:首页问候语真实化 + 刻意保留的 demo 占位显式登记(T3.5-10,ADR-022)
CI / flutter-gates (push) Failing after 1s
- 「下午好,豆豆」改真实展示名(`nickname ?? username`,与资料页共用同一个
ProfileController:一次 /me 供两个消费点,改昵称后两处一起变)。资料未到手
时退化为不称名的「下午好 👋」,不编造假名。
- 按 ADR-022 决策 D3.5-1 钉死范围,**其余首页 demo 一律不动**,并在代码里逐项
标注为「刻意保留的 demo 占位」:天气/位置(需接外部服务)、圈子=话题
(ADR-018 剪出)、促销卡(M5 服务域)、搜索与本地服务段。
widget 测试同时钉住「保留项仍在」,避免后续以「顺手清理」越出拍板范围。
- 新增 compose 真链路桌面实测脚本 `integration_test/profile_avatar_live_test.dart`
(默认跳过,`PATBOND_PROFILE_LIVE=1 ... -d linux` 开启):UI 注册 → 登录 →
资料真实化 → 设昵称 → 传用户头像 → Feed 作者名同步 → 宠物头像,逐步截图。
只有选图与压缩两层是桌面替身,createUpload / 预签名 PUT / confirm / PATCH
全为生产实现。两处实测坑写进注释:Feed 作者名有服务端 60s 缓存滞后;
1×1 的极小图能上传能下载但 Flutter 解码器拒绝,会被误判成「没传上」。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-09-11 15:37:48 +08:00 |
|
lixi
|
9892b65a19
|
新增:发布页真实化——媒体九宫格编辑态 + 建草稿/迁移发布两步 + 发布漏斗与媒体三段埋点,create 页 demo 发布流退役(T3-17)
CI / flutter-gates (push) Successful in 3m9s
- 新增 PostComposePage(P3 发布页,push 路由 post_form):正文/类目
(general·help)/九宫格选图(组装 MediaUploader + UploadProgressOverlay,
删格按列表序重发 position)/发布 gating(正文非空 + 在场媒体全 ready)
- 发布走「createPost(draft) → PATCH status=published」两步:迁移失败时草稿
已在服务端,UI 明确提示「草稿已保存」;40905 重置幂等键、42203 提示等图、
网络失败同键重放不重复建帖;40902 自动取新 version 重提一次
- 草稿:「存草稿」(manual) 与「取消 → 保留」(on_exit) 两路径 + 进页恢复最新
一条草稿(提示条/清空);「不保留」软删服务端草稿(post_deleted 触点)
- 埋点:新增 post_analytics.dart(发布漏斗五事件 + 媒体三段,键集对齐字典
v3);MediaUploader 挂接 started/succeeded/failed(含 cancelled) 与 attemptSeq;
pageName 枚举补 post_form
- PostMediaEditGrid(同文件编辑态):3 列九宫格 + 虚线「+」格 + 删除角标 +
进度覆盖层 + 失败整格重试;页级上传汇总条
- create 页只余 AI 生成模拟(M4 原样保留),demo 发布流与 AppState.posts /
publishPost / updatePost 及其持久化一并退役;首页 story「发布」与 Feed 空态
CTA 改为 push 真实发布页
- 测试 458 → 502(+44):发布页 widget 22、发布埋点 11、媒体三段 7、编辑态
九宫格 4、主壳发布闭环 1;另加桌面真链路 integration_test(env 门控)
- flutter analyze 0 问题、dart format 无 diff;compose 六容器真链路实测通过
(选图上传 → 发布 → Feed 置顶 → 第二客户端可见)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-09-10 14:42:13 +08:00 |
|
lixi
|
f873acf9a3
|
新增:帖子详情页真实数据整页替换——四态/真九宫格大图/评论区/关注双态,Feed 导航与互动全接线,demo 详情退役(T3-15/16)
CI / flutter-gates (push) Failing after 20s
- post_detail_page 整页重写:内存副本先渲染 + getPost 拉新、四态
(loading/error+重试/ready/40403 提示后返回 Feed 并刷新);媒体全量
——单图原比例(高度钳制 [0.75w,1.33w])、多图真九宫格(D11 轮播
弃用,本单裁定)+ InteractiveViewer 全屏大图(03 号拍板 E)
- 评论区:游标列表触底补页 + 底部输入条创建(幂等键在数据层)+
仅本人评论渲染删除入口(40301/40404 服务端兜底);成败埋点对
(durationMs 取输入会话起点、attemptSeq 会话内递增);CommentTile
升共享组件(@ 回复前缀呈现、降级作者「宠友」占位)
- 关注双态钮(tonal +关注 / Outlined 已关注 + 取关确认)乐观翻转、
回滚零动画 + SnackBar,user_followed/unfollowed(post_detail) 挂接;
本人帖不渲染
- Feed 接通:整卡与评论钮导航详情(T3-14 占位提示移除)、点赞/收藏
接共享 ToggleSync(详情与卡片同一实例跨页一致)、toggleError
一次性 SnackBar 消费
- 主壳/装配:openPost 按 postId push;create demo 流不再导航已退役的
demo 详情(发布页真实化留 T3-17);AppState 在 post_detail/Feed 面
消费清零
- compose 冒烟(env 门控默认跳过):真链路发帖/点赞幂等/收藏/评论/
删评一轮 + 断网点赞回滚(生产 ApiClient 异常链)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-09-09 13:39:10 +08:00 |
|
lixi
|
8aac8c52cc
|
新增:首页 Feed 接入真实数据——四态/尾部三态/聚合曝光埋点,社区 demo 消亡第一页(T3-14)
CI / flutter-gates (push) Successful in 2m41s
- home_page Feed segment 改接 CommunityController:骨架屏首载、空态 CTA、
错误横幅重试、下拉刷新(失败保留旧列表 + SnackBar)、触底游标翻页
(失败态只走显式重试,不随滚动风暴自动重打)
- PostCard 三形态(单图通栏 4:3 / 多图折叠封面 +N 角标 / 纯文字 6 行)+
PostMediaGrid(列数规则 + ink 80% scrim 精算)+ LikeButton(error 族修订
Colors.red,T3-14 纯展示禁用态,ToggleSync 接线留 T3-15/16)+ FeedSkeleton
(呼吸动效尊重减弱动态设置);降级作者统一「宠友」占位
- SignedNetworkImage:预签名 URL 缓存 key 剥离 X-Amz-* 签名参数,
RemoteImage 全仓换用(同图不同签名命中同一缓存条目)
- feed 域埋点:feed_viewed 聚合曝光(浏览段开/结算于切 Tab、切分段、
退后台、销毁;≥50% 可见 ≥500ms 段内按帖去重,postId 不上报)+
feed_load_failed(refresh/load_more 双路,会话失效不报)
- integration_test/feed_live_test.dart:compose 六容器 Linux 桌面真链路
实测入口(PATBOND_FEED_LIVE=1 门控,默认跳过)
- 测试 379 → 421(+42):四态/尾部三态/翻页不丢不重/降级作者/曝光结算
时机/缓存 key/事件属性全覆盖;analyze 0,format 无 diff
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-09-09 13:01:43 +08:00 |
|
lixi
|
8d890c0424
|
feat: 落地登录纵切——网络层、认证会话与登录/注册/Splash 三页(ADR-003/ADR-004)
- 新增 lib/core/network/:ApiClient(dio 封装,错误信封→类型化异常,base URL 经 --dart-define=PATBOND_API_BASE_URL 注入)、AuthInterceptor(Bearer + 设备标识)、TokenRefresher(单飞刷新,401/40101 重放一次,仅 40102/再 401 清会话)
- 新增 lib/features/auth/:SessionManager(token 只进 flutter_secure_storage)、AuthRepository(login/register/refresh/logout/me,注册带 Idempotency-Key)、Splash(500ms 最短停留/5s 超时/错误态重试+改用账号登录)、登录页与注册页(照 12 号组装稿,错误三层映射,预留区不渲染)
- App 根组件改为认证状态机驱动(Splash↔登录↔主壳 300ms fade);个人中心退出登录接入真实 logout
- 顺带修复:FIX-1 促销卡渐变改 [primaryStrong, primary]、FIX-2 补 helperStyle: muted、README dart format 命令补 --output=none
- 新增依赖:dio ^5.11.1、flutter_secure_storage ^11.0.0、uuid ^4.6.0
- 门禁:dart format(0 changed)/ flutter analyze(No issues)/ flutter test(30 passed,其中新增 23:TokenRefresher 5 + AuthRepository 10 + 登录页 4 + 注册页 4)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-09-04 11:52:51 +08:00 |
|
lixi
|
af002edde3
|
feat: 迁移珊瑚橙主题体系并新增认证基础组件(ADR-005)
- app_theme.dart 重写为语义 token(AppColors/AppRadius),落地 primaryStrong/error 等 AA 对比度色
- 五个页面与公共组件的旧靛蓝硬编码色值全部替换为 token,仅换色不动布局
- 新增 BrandMark/AppTextField/PrimaryButton/InlineErrorBanner/AuthScaffold 及 6 个 widget 测试
- 门禁:dart format(0 changed)/ flutter analyze(0 issues)/ flutter test(7 passed)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-09-04 10:34:18 +08:00 |
|
lixi
|
b9d7c9f2ee
|
新增静态演示界面
|
2026-07-21 17:41:01 +08:00 |
|
nmbh1122@126.com
|
120525741d
|
Initial Flutter project structure、
|
2026-07-15 12:01:04 +08:00 |
|