From cfa8fa3cef4a90d14f3ab61557aa2b2ee413cdf1 Mon Sep 17 00:00:00 2001 From: BoatingCloud <1759888028@qq.com> Date: Sun, 30 Aug 2026 22:32:00 +0800 Subject: [PATCH] docs: record Emby credential validation --- memory/2026-08-30.md | 6 ++++++ memory/MEMORY.md | 2 +- memory/projects.md | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/memory/2026-08-30.md b/memory/2026-08-30.md index 59ebf1103b..194b6e3006 100644 --- a/memory/2026-08-30.md +++ b/memory/2026-08-30.md @@ -99,3 +99,9 @@ 文件变更: ../Velix/entry/src/main/ets/domain/emby/*, ../Velix/entry/src/main/ets/domain/home/HomeRepository.ets, ../Velix/entry/src/main/ets/pages/HomePage.ets, ../Velix/entry/src/main/ets/ui/components/SourceSheet.ets, ../Velix/entry/src/main/module.json5, ../docs/emby/EMBY_RUNTIME_VALIDATION.md 教训: OpenHarmony API 24 SDK 中 `STORE_PERSISTENT_DATA` 的 permission definition 为 `provisionEnable=false`;不能用明文 Preferences 兜底,必须在目标签名/真机确认 Asset 持久化能力;未拿到真实 Emby 时不能声称 4.9.x 或 PlaybackInfo 运行时通过。 标签: #emby #phase8.1 #secure-storage #runtime-probe #emulator + +[PROJECT:Velix Phase8.1] Emby 真实连接复核 +结论: 模拟器表单与主机 curl 使用同一地址/认证头复核;公共信息通过并识别为 SaturDay.Lite 4.8.11.0,AuthenticateByName 返回 HTTP 401“无效用户名或密码”,未保存密码/token。 +文件变更: ../Velix/entry/src/main/ets/domain/emby/EmbyApiClient.ets, ../docs/emby/EMBY_RUNTIME_VALIDATION.md +教训: 401 需区分服务器认证拒绝与客户端请求错误;先用无敏感输出的公共信息和认证复核确认,不能把 4.8.11.0 当作用户要求的 4.9.x。 +标签: #emby #runtime #http401 #security diff --git a/memory/MEMORY.md b/memory/MEMORY.md index 9dc263b3a3..a92bd7cf4b 100644 --- a/memory/MEMORY.md +++ b/memory/MEMORY.md @@ -12,4 +12,4 @@ - VUI1:主 App 完成沉浸式全屏 Hero、Ambient Palette、4 级材质、官方 HDS 沉浸导航、响应式详情页与自动隐藏播放器控制层;手机/平板/深色已回归,Core 未修改。 - 部署约定:服务器只按 `deploy.sh`、`deploy.sh status/logs/clean/clean-all` 执行。 - 详细状态:`memory/projects.md`;基础设施:`memory/infra.md`;教训:`memory/lessons.md`。 -- Emby Phase 8.1:主 App 已接入服务器地址规范化、设备身份、Asset 安全 Token、Source Capsule 添加/切换、Emby 运行时探针与脱敏报告;真实 Emby 4.9.x 验证待用户提供运行时服务器。 +- Emby Phase 8.1:主 App 已接入服务器地址规范化、设备身份、Asset 安全 Token、Source Capsule 添加/切换、Emby 运行时探针与脱敏报告;已实测用户服务器公共信息(4.8.11.0),登录因服务器返回 401 无效账号/密码而停止,未保存凭据。 diff --git a/memory/projects.md b/memory/projects.md index ed60bdc823..5498b878e9 100644 --- a/memory/projects.md +++ b/memory/projects.md @@ -24,6 +24,7 @@ - VUI1 HTTP/打包验证:emulator 已播放公开 HTTP MP4;`111.cer` 已导入匹配 `.p12`,Release HAP 已构建,但正式签名包还缺 AGC 对应 `.p7b Profile`。 - Emby 阶段:已完整解析项目根 `embyapi.json`(OpenAPI 3.0.1、356 paths、447 operations),生成 `../docs/emby/` 五份清单/模型/播放链路/风险文档;主 App 提交 `2d3c255`/`ff28ae1` 加入 EmbyApiClient、EmbyRequestContext、EmbyAuthProvider 与 DTO 基础骨架,未实现具体业务 endpoint;debug HAP 构建通过。 - Emby Phase 8.1:主 App 提交 `1cd396d`。Source Capsule 已可打开添加 Emby 表单;`EmbyServerUrlNormalizer` 支持 host/host:port、http(s) 与单一 `/emby` 后缀;`VelixDeviceIdentity` 持久化安装级 DeviceId;`EmbySecureTokenStore` 使用 Asset persistent/accessibility tags(API 24 SDK 需目标签名确认 `STORE_PERSISTENT_DATA`);`EmbyServerManager` 支持多服务器、活动源、登出/移除与 Token 失效;`EmbyRuntimeProbe` 执行 PublicSystemInfo、AuthenticateByName、User、System、Views、MediaFolders、Items 和条件 PlaybackInfo,输出脱敏 `EMBY_RUNTIME_VALIDATION.md`。模拟器已安装并启动 debug HAP,表单必填错误态可见、无新增崩溃;真实 Emby 4.9.x 网络/ProviderIds/ticks/PlaybackInfo 仍待运行时验证。 +- Emby 连接实测:使用用户提供的地址与账号在模拟器及主机复核;`/System/Info/Public` 返回 `SaturDay.Lite`、Emby `4.8.11.0`,`/Users/AuthenticateByName` 返回 HTTP 401 且服务器明确提示账号或密码无效。应用已将 401 文案改为“用户名或密码不正确”,未写入密码/token;真实库、ProviderIds、PlaybackInfo 与 Asset 持久化仍待有效账号。 - Phase 6 产物:`benchmark/runner/run_emulator.py` 与场景 manifest;启动 P50/P95 506/1150ms,seek recovery P50/P95 277/631ms;100 load/stop、200 play/pause 无错误,PSS/精确 heap/CPU permille unavailable。 - Phase 6 文档:`DOCS/PHASE6_STATUS.md`、`PERFORMANCE_METRICS.md`、`PERFORMANCE_CHANGES.md`、`BENCHMARK_METHODOLOGY.md`、`STARTUP_PIPELINE.md`、`SEEK_PIPELINE.md`、`BUFFERING_MODEL.md`。