浅念
07761b1b26
fix(app): camera preview distortion — swap sensor W/H for portrait
...
previewSize 报横向(W>H),竖屏直用会把画面拉扁。交换宽高转纵向比例再
FittedBox cover 铺满(裁切不变形)。397/397 全绿。
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-24 16:07:44 +08:00
浅念
32eb4ceb8e
docs: 观众链接统一境外源定稿(后台分享/嵌入/App二维码均 ov 域名)
...
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-24 14:46:54 +08:00
浅念
76380477a0
docs: 验收记录补嵌入组件 EMBED_ORIGIN 修正(cn 后台嵌入代码改指 ov 域名)
...
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-24 14:01:12 +08:00
浅念
e5302e3929
docs: 正式环境双地域部署计划与验收记录
...
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-24 13:41:47 +08:00
浅念
222c44c1f7
fix(deploy): disable gzip on /v1/ API paths — Flutter release AOT gzip decompression failure
...
服务端 200+数据正常、debug/JIT 正常;release/AOT 的 Dart HttpClient 对
Content-Encoding: gzip 解压异常 → JSON 解析失败 → 显示 INTERNAL_ERROR。
nginx /v1/ 路径 gzip off(静态资源 gzip 不受影响);proguard keep 规则
一并保留(dio/flutter_secure_storage/全项目模型)。
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-23 18:36:11 +08:00
浅念
65581b7920
fix(android): usesCleartextTraffic=true — release APK blocked HTTP APIs (Android 9+ default)
...
release 构建默认禁明文 HTTP(debug 由 Flutter 自动放行)——服务暂时不可用
即此因。当前测试服务器 API/观众页均为 http://,需显式允许;上 https 后移除。
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-23 18:10:46 +08:00
浅念
2332d24591
docs(g4): clipboard HTTP-context fix record
...
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-23 17:04:45 +08:00
浅念
b6daa6fa0e
docs(embed): live title+modal verification — '2026届-广交会' overlay, coordinate click opens in-host detail modal with deep link, closes via button
...
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-23 16:47:27 +08:00
浅念
a5dcfffd37
docs(embed): refreshed evidence artifacts (modal screenshot, screenshots/recordings regenerated)
...
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-23 16:37:17 +08:00
浅念
985829fee8
fix(app): poster title truly left-aligned — Column crossAxisAlignment start (QR re-centered)
...
Text 的 textAlign 被 Column 默认 center 吞掉(文本行收缩包裹时对齐不生效);
文字区 Column 改 CrossAxisAlignment.start,二维码+扫码说明显式 Center 回居中。
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-23 16:30:14 +08:00
浅念
a16fa738f6
fix(app): poster — date-only text, left-aligned title/time/venue (QR stays centered)
...
用户反馈:海报日期仍带时间(表单已日期粒度,海报 formatAlbumDateTime 同步改
posterDate 只显 y/M/d);宣传图下标题/时间/地址居左;二维码保持居中。
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-23 16:26:32 +08:00
浅念
8834b1bbb9
feat(embed): album title overlay + in-host photo detail modal (replaces new-tab open)
...
- viewer: EmbedStream shows album title overlay top-left (ellipsis, avoids collapse zone); photo click posts open-photo {url} to host instead of window.open (direct-open still new tab)
- loader v2: open-photo message (origin+source whitelisted, URL must match widget origin) opens host overlay modal with embedded viewer deep-link iframe, close button/Esc/scrim dismiss, single instance, cleaned on destroy
- tests: click case asserts modal iframe deep link + no popup + close button dismiss; viewer 244 + loader 36 green
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-23 16:20:10 +08:00
浅念
5a207b395e
feat(app,viewer): WeChat card share + 'Share to...' label + site og tags
...
- 按钮文字「分享到微信/其他应用」→「分享到...」(用户需求)
- 微信卡片分享(fluwx 6):WECHAT_APPID 经 --dart-define 注入;已配置且
装微信 → WXWebpage 卡片(标题=相册名、描述=日期·地点、缩略图=封面压缩
240px PNG ≤32KB、点击进观众链接);未配置/未装 → 回退系统分享面板
- viewer index.html 加站点级 og 标签(微信/QQ 抓取链接预览用;每相册动态
og 需服务端注入,登记后续增强)
- 397/397 全绿、analyze 0
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-23 16:05:53 +08:00
浅念
77b1519209
docs(viewer): like-hidden live verification — feed badges/sort tabs gone, lightbox bar is share+download only
...
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-23 14:31:21 +08:00
浅念
d7ac9420be
docs(viewer): lightbox close button restored on server (transparent bg, white X, 44px circle)
...
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-23 13:51:59 +08:00
浅念
f2cd26e523
docs: register embed-slot soft-delete acceptance
...
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-23 13:41:27 +08:00
浅念
aa366c4268
docs(embed): ambient hearts restored on server (7 on screen) after parallel-session image rollback
...
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-23 13:35:23 +08:00
浅念
7adc1b0858
docs(embed): denser/lower ambient hearts verification (6 on screen, origin band 140-244px)
...
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-23 11:41:11 +08:00
浅念
c8a9727993
docs(embed): ambient hearts live verification — bubbles float with zero likes (steady ~3 on screen)
...
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-23 11:33:25 +08:00
浅念
8768a04a75
docs(embed): collapsed handle right-dock verification on server (right=16px, x=1324 @ 1440 viewport)
...
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-23 11:26:56 +08:00
浅念
257643934a
docs(viewer): share sheet live verification — album header & photo lightbox entries, QR 188px, on-button copy feedback, Esc close
...
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-23 11:15:55 +08:00
浅念
c2143e1f94
feat(app): album banner picker in edit form — show current banner, pick & upload on save
...
- api_client:uploadAlbumAssetFromFile 泛化(cover 为薄壳)+ fetchAlbumAssetUrl
(GET /albums/{id}/assets → 指定 kind 全局行 URL)
- 编辑页 Details:封面下方新增「宣传图」3:1 选择器——编辑模式异步加载现有
banner 预览(失败静默);保存成功后上传(同封面:失败不阻塞表单结果)
- 未保存变更判断纳入 banner;l10n zh/en
- 测试适配:编辑用例 pumpForm 后清空 banner 现状预检请求(397/397 全绿)
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-23 11:07:54 +08:00
浅念
e3f40c696d
docs(ui06): dedupe task table rows
...
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-23 10:56:33 +08:00
浅念
63b3e539fd
docs: register asset status acceptance — admin branding tab shows current banner/cover/logo
...
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-23 10:56:14 +08:00
浅念
2618ad3163
feat(assets): album asset status — show current banner/cover/logo in admin branding tab
...
- 契约 listAlbumAssetStatus(GET /albums/{albumId}/assets):每 (kind,locale)
最新 effective 行 + 现签 URL;权限同详情(可见即读);deleted → 404
- 服务端 AssetsService.status(createdAt,id DESC 组内取首;presignGet 现签)
- Admin 品牌资产页签改造:进入即加载现状——三种 kind 卡片(预览图/未设置
空态/设置时间),banner 分全局/zh/en 槽位;上传成功自动刷新(替换语义)
- API 56/56、admin 87/87 + build 全绿
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-23 10:51:53 +08:00
浅念
3cd9dafd1b
docs(viewer): server verification — topbar locale-only (settings menu removed)
...
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-23 10:40:28 +08:00
浅念
2409beb7c2
docs: register album soft-delete acceptance — full-chain verified on test server
...
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-23 10:20:57 +08:00
浅念
2b2ae7a083
docs: banner/cover fallback live verification — cover-only album renders banner atop viewer (server 8e674a9 images, migration applied)
...
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-23 10:19:36 +08:00
浅念
9cb960c27a
docs(viewer): banner live verification — uploaded via admin asset API, renders atop album page
...
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-23 09:41:51 +08:00
浅念
c481aeeeb7
docs(viewer): server verification screenshot — tap-more hint removed on live lightbox
...
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-23 09:35:25 +08:00
浅念
5982e13996
docs(ui06): register sidebar nav regression fix — click-verified all 5 menu items
...
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-23 09:17:30 +08:00
浅念
6074fc8ed3
feat(ui06): App line A0-A7 — nav pill removal, light segments, bare summary, token alignment to app-preview
...
- tokens:次文字 #69778E、soft/card-border/seg 色组、输入圆角 10(kRadiusField)
- theme:导航 indicatorColor 透明+显式选中蓝;卡片去阴影改 1px #EDF0F5 边框;输入边框同步
- 新组件 SegmentTabs(#EDF1F6 轨道/选中实蓝/light 浅蓝变体/null 无高亮)替换 M3 SegmentedButton
- 上传中心:摘要去白卡直排+主数字 32/40;completed 次级筛选无高亮语义保留
- 相册卡 scrim 30% 起 #0C1728E8;导航角标红底白字白边;登录主标题 27/700
- theme_test 三处旧规格断言随 UI06 值更新;397/397 全绿、analyze 0 issues
- 真机证据:MuMu + 测试服务器 API,登录/相册/详情/上传 4 页截图确认达标
- 登记偏差:语义色保持对比度合规深色版;视口矩阵随 G2;详见验收记录 §6
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-23 08:09:20 +08:00
浅念
8dc0073597
docs(ui06): B4 acceptance — full record for B3b-e batches, README index, final 20-page evidence
...
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-23 07:07:15 +08:00
浅念
f76fd9c55d
chore(ui06): remove intermediate batch screenshots (keep before/ + after-final/ evidence)
...
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-23 07:06:40 +08:00
浅念
9471562f67
feat(ui06): B3d governance + B3e closing — page headings, stat cards, info strip, embed slots
...
- 治理页通用层(ui06.scss):.ui06-page 工作区 / .ui06-page-heading 27px 页头 / .ui06-stats
三列统计卡 / .ui06-info-strip 提示条 / .ui06-card-title 17px 卡头
- 10 账号:页头(查看同步入口)+ 来源提示条;分页/同步档案列/G4 功能零改动
- 11 同步:页头(手动补拉上移);状态卡/历史/失败明细抽屉保留
- 12 用量:页头(阈值设置上移)+ 统计卡对齐示例(数字 27px + 注脚 10px)
- 13 展示位:页头 + 卡片标题(配置对话框沿用 UI-04 真实组件)
- 17-19 异常页:沿用 ArtException(大数字+文案+回退,语义等同示例;登记偏差)
- i18n zh/en;typecheck/lint/vitest/build 全绿
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-23 07:04:18 +08:00
浅念
352d7405c2
feat(ui06): B3c form batch — full-page create/edit form + assets tab
...
- 新增 /albums/form/create 与 /albums/form/:albumId 整页表单路由(隐藏路由,父菜单高亮)
- 编辑模式资料/访问页签(访问=开关行卡:标题+说明+开关);创建模式契约约束下载开关+解释提示
- 校验/提交逻辑与原对话框一致(契约镜像校验;translations 全量替换;创建仅 download 开关)
- 保存成功跳相册详情;manage/detail 两处入口改路由跳转,删除 AlbumFormDialog
- banner 上传收进详情「品牌资产」独立页签(15)
- e2e 适配:整页表单流程(form-page/goback/访问页签)、详情锚点改 summary、banner 页签
- typecheck/lint/vitest/build 全绿
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-23 06:58:01 +08:00
浅念
f2002e1d21
docs(ui06): B2+B3a acceptance — card grid, photo grid w/ signed thumbs, viewer, summary header deployed
...
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-22 23:27:53 +08:00
浅念
cebe3d1e2e
docs(ui06): B1 acceptance — deploy ui06-fb3743d web image + after-b1 screenshots
...
- 服务器端构建(UI04 双补丁先例),cn web 滚动 healthy,server 栈未动
- 侧栏分组 DOM 实测:工作空间(相册管理/展示位管理)+组织与治理(账号管理/用户同步/用量统计)
- 登录页/布局壳对照通过;业务页内部留待 B2/B3
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-22 23:06:47 +08:00
浅念
e27a602328
feat(ui06): B0 baseline — before screenshots (20 pages) + contract checks + acceptance skeleton
...
- capture-before.cjs: Playwright 脚本(env 注入凭据),对测试服务器 32005 后台 1440×1000 全页截图
- 契约核对四项全为纯前端工作:cover/preview 服务端已实现(签名 URL 900s),
CreatePayload 仅下载开关,embed v2 字段 E06 已落地
- 主题链路确认:systemMainColor[0] → 运行时 --el-color-primary 派生
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-22 22:48:47 +08:00
浅念
37d88da4bc
docs(ui05,ui06): admin analysis+HTML preview, app-preview evidence, UI06 unified visual plan
...
- admin-preview-2026-09-22/ 20页新版后台HTML原型+截图+validation(UI05 交付)
- app-preview-2026-09-22/ 截图/validation/check 脚本入库及小改
- admin-redesign-concept 概念图
- UI05 管理后台分析与新版设计说明、用户列表分页计划文档
- UI06 全端视觉统一实施方案(以两个 HTML 预览为唯一视觉基准)
- services/api g4-sync-once 手动同步脚本
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-22 22:42:00 +08:00
浅念
dbf958613f
docs(ui04): deployment section in acceptance record (amends fe2428e evidence)
...
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-22 19:45:01 +08:00
浅念
fe2428e290
docs(ui04): test-server deployment and live verification — both stacks on 1cf12be images, 5/5 real-environment checks incl. WS-via-OpenResty hearts
...
- server image 1cf12be-20260922 + web ui04-1cf12be-20260922 (server-side builds, entrypoint/syntax adaptations), cn+ov rolled, webs restarted
- v2 slot created via real admin API (vertical-stream/16px/s/reactions), bound to album with real photos (live-album OSS)
- live e2e 5/5: entries, 195x280 + real OSS rendering + auto scroll, collapse/expand, deep-link popup, real like -> WS through 32006 proxy -> heart
- screenshots + reusable server-verify spec archived; acceptance record section added
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-22 19:44:18 +08:00
浅念
1cf12be904
docs(g4): build-env incidents (Hub outage → server-side build; nginx:alpine entrypoint hang patch)
...
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-22 19:10:27 +08:00
浅念
8c4906c2f2
feat(embed,ui04): E07 acceptance — matrix completion, hostile-CSS hardening, measurements and record closure
...
- E07 e2e (7 cases): 4-viewport fixed size, narrow shrink + dual-slot 12px stack, single/static + empty state + two-photo loop copies, broken-thumb drop, reducedMotion stop with manual arrows, forged postMessage rejected, hostile CSS (!important box-sizing/border) with inline-important countermeasures + duplicate script dedup
- loader v2: geometry-critical properties upgraded to inline !important (beats host stylesheet !important)
- pre-existing fixes: likes.spec view-count assertion vs concurrent session's AlbumHeader unicode icons (toContainText); embed-v2 host port moved to 3998 (3999 collides with embed-crossorigin under parallel full runs); prettier formatting of two concurrent-session files (formatting-only)
- evidence: matrix EMB-A01..A16 closed in acceptance record (mechanism-level items honestly marked), measurements (loader v2 9885B/gzip 3959B, first-load 1 GET + 1 WS, DOM<=16), refreshed screenshots/recordings, master plan UI-04 note
- regression: root lint/typecheck/test 12 packages green; embed suites 43/43; admin embed-slots 5/5; journey pre-existing env failure reproduced at clean HEAD (registered)
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-22 18:56:38 +08:00
浅念
40ec6aad40
docs(g4): pagination+profile iteration & 12h sync interval record
...
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-22 18:31:44 +08:00
浅念
3bba8d1dc5
feat(admin,viewer,ui04): E06 management preview and v2 integration — real-component preview page, form mode fields, README
...
- viewer /embed-preview route: real EmbedStream with sample photography (picsum seeds), zero requests/WS (preview mode), postMessage config + simulated bursts through the real validation pipeline
- EmbedStream: preview prop (disables real WS subscription per §8.2 isolation) + exposed simulateBurst
- admin form: displayMode radio (new default), fixed 195x280 readonly, speed slider, reactions switch; v1 layout fields hidden in v2 (not silently effective)
- admin preview: v2 branch embeds the real preview iframe, white v2 handle, simulate-like tool button with sample-data note
- README-embed: v2 section (integration, hard sizing/docking, interactions/limits, artifact/version caching)
- tests: admin vitest 83 (+1 v2 placement), admin e2e 5 (v1 pinned carousel regression + full v2 chain incl. preview WYSIWYG heart and ov settings projection), viewer 244, v2 e2e 16
Note: part of the admin-side E06 changes (form/preview/utils/locales, mid-state of e2e spec) was swept into parallel commit eebf3b3 by a concurrent session's git add; this commit carries the final state of the remaining files and completes the set.
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-22 18:20:50 +08:00
浅念
91c85e196a
feat(viewer,ui04): E05 realtime hearts + effect-demo alignment (initial offset, heart params, decode gate, bidirectional manual scroll)
...
- reactions.ts pure fns: delta->hearts sampling, burstId dedupe (TTL/capacity), pending-visible cache (5s/50), 250ms emission throttle with merge
- useEmbedReactions: read-only RealtimeClient subscription on album.publicToken (no viewer-page side effects, A15), rebind teardown, 10s grace disconnect, no fake bubbles on WS failure
- ReactionLayer: demo-frozen heart effect (12/16/20 sizes, two colors, 110px rise, 1.6s ease-out, 300ms stagger, max 8, drop-shadow) in unscoped block (created elements lack scoped hash)
- demo alignment: initial offset 32px, decode+500ms startup gate, 1:1 drag, arrows +-40, focus-tip, bidirectional manual scroll (manualScroll), loader handle 100x44 exact styles, <=599px offset default 12
- tests: +8 reactions unit (244 viewer), e2e E05: real cross-context like -> heart on correct photo (EMB-A09), zero likes/visits submission (EMB-A15), 16s hearts recording
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-22 17:38:02 +08:00
浅念
ccf0c29659
docs(g4): test-server deployment evidence (230 users synced, ops notes)
...
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-22 17:14:31 +08:00
浅念
3a8a1cf69e
docs(g4): real-key live sync evidence (230 users, idempotent, V1.1 credentials verified)
...
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-22 16:58:09 +08:00
浅念
e583575702
docs(g4): acceptance record for uniservice user source integration
...
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-22 16:51:58 +08:00