• v0.1.18
    Community checks / verify (push) Skipped
    Verify Frame Flow / verify (push) Successful in 5m25s
    Stable

    way released this 2026-10-18 17:52:06 +08:00 | 50 commits to main since this release

    v0.1.18

    • Synology Photos 列表显式请求照片方向信息;按 EXIF 旋转后的宽高筛选横向、竖向和自动方向,避免存储像素为横向的竖拍照片误入横图来源。
    • 渲染前复核实际取得图片的 EXIF 方向;若元数据或缓存预览与来源方向不符,则跳过该候选。显式选择方向不符的照片时返回明确错误。
    • 保持既有水印和铺满布局,不修改 NAS 原照片、来源设置或现有图库;修复不自动重新生成、上传或切换已显示图片。
    • 源码及镜像保留 LICENSE、NOTICE;公开验证只使用合成照片和通用示例,私有部署参数与回执保存在仓库之外。

    验证:585 项测试通过;Ruff、格式、mypy、依赖漏洞审计,以及隔离 Docker 构建、冒烟、重启和清理均通过。

    Downloads
  • way released this 2026-10-18 15:51:43 +08:00 | 53 commits to main since this release

    v0.1.17

    • 总览预览改用原图,避免放大低分辨率缩略图。
    • 云端图库缩略图升级为最大 860×860,等比缩放、JPEG 质量 88;原位替换旧缓存,仍只保留一档。点击放大继续读取原图。
    • 照片源新增最小短边、最小长边参数,同时检查源照片和实际取得的预览尺寸,默认 0 不限制。
    • 本地图库显示 NAS 原照片完整路径并支持换行,保留原文件名大小写和后缀;历史四张图片已按照片 ID 核实并补齐来源。
    • 自动化新增“目标相框”列;历史记录的状态、结果、调用方及操作按钮垂直居中。
    • 左上角统一显示 PIGWay Frame Flow,移除图标和重复品牌前缀。
    • 设置与鉴权保持左右并排、卡片等高,鉴权内部单列。图片预览弹窗保留原有布局。

    不修改 NAS 原照片,不主动切换真实画框。清理仅针对项目临时构建物及过期镜像,保留持久数据和近期回滚资源。

    验证:本地 572 项测试、Ruff、格式检查和 mypy 通过;CI #122 的测试、依赖漏洞审计、隔离 Docker 构建、启动和重启检查通过。

    Ubuntu Server 已部署本提交,健康、就绪、源文件哈希、860×645 缩略图、四条 NAS 来源路径及弹窗布局复查通过。已清理 23 个中间镜像和约 9.3 GB 项目构建缓存,本地释放约 175 MB;运行版本、正式发布镜像、近期回滚版本与持久数据保留。

    Downloads
  • way released this 2026-10-18 14:15:46 +08:00 | 66 commits to main since this release

    v0.1.16

    统一 PIGWay 品牌写法,优化图库、自动化、历史记录、设置、连接中心和拼图页面布局。

    • 图库直接点击图片查看,移除重复的查看按钮;缩略图底框为正方形,卡片宽度适配单行操作按钮。
    • 全站共用更宽的内容区域,宽屏图库可一行显示三张卡片;搜索、排序、来源和任务筛选合并排列。
    • 自动化与历史记录状态改为仅保留颜色的文字,优化列宽与操作对齐。
    • 设置与鉴权信息保持左右并排,鉴权卡片内部信息改为单列;相关设置控件紧凑排列。
    • 连接中心和自动拼图短字段合并排列,按钮按内容宽度显示,空结果提示不再占据额外空间。
    • 窄屏自动换行,保留图片预览、长文本和表格所需空间。

    本轮界面检查覆盖 11 个主页面、本地图库及弹窗,中英文、明暗主题和四种屏幕宽度共 289 项布局检查通过;隔离环境拼图流程 8 项检查通过。生产部署后的界面复查使用隔离数据,没有执行真实画框写入。

    发布验证:本地 564 项测试、Ruff、格式检查及 mypy 通过。Ubuntu Server 已部署 v0.1.16,健康、就绪、部署文件哈希与设置布局线上检查通过。

    远端 CI #109 当前排队,尚无通过结果;本次不将其依赖漏洞审计及隔离完整构建标为已通过。

    Downloads
  • way released this 2026-10-18 08:49:56 +08:00 | 80 commits to main since this release

    v0.1.15

    自动照片、拼版、模板及数据模板任务在上传失败后,持久保存同一张暂存图片,并在下一次计划之前安排最多 5 次额外重试。间隔按 1、2、4、8、16 权重递增,随剩余窗口缩放,计划时间集中在窗口前半段,为上传与设备同步留出时间。重试不移动原定计划,也不复用旧操作 ID;每次独立记录操作及事件。成功后取消剩余重试,重启后沿用已有计数与截止时间;停用任务不再追加重试,删除任务取消其重试计划。

    若额外重试均失败,下一次计划仍先上传同一张图;若这一次仍失败,只删除该任务未入库、未星标的生成缓存,再按照片源生成并上传新图。NAS 原照片、用户上传文件和成功图库图片不由此流程删除。新图仍失败时,进入它自己的下一轮恢复窗口。

    上传结果未知不再阻塞后续独立上传。每次重试前先只读核对设备及云图库,精确确认已成功的上传不再重传;需继续尝试时关闭旧尝试并保留错误和核对审计。删除、恢复及自动清理仍保留各自的保护条件。重试窗口到期后不再启动额外上传,待同步尝试经核对结束后交给原计划执行。

    任务生成图片先保存在缓存,确认任务成功后才进入本地图库;失败不会产生看似成功的本地图库记录。额外重试仍归属原任务的云端保留规则,任务列表显示最近尝试结果。

    验证:564 项测试、Ruff、mypy、完整依赖漏洞审计及隔离 Docker 构建/启动/重启检查通过。Ubuntu Server 已部署,线上健康、就绪与源码哈希检查通过。

    Downloads
  • way released this 2026-10-18 08:26:04 +08:00 | 81 commits to main since this release

    v0.1.14

    底部文字仅显示日期、已命名人物(使用 & 连接)、文件夹主题及地点,不显示原始文件名。原始文件名仍用于图库和诊断记录。

    上传传输区分明确的 DNS/连接建立失败与已建立连接中断:前者尚未发送 HTTP 写入,最多重试三次,失败后结束该次操作,不进入阻塞后续写入的 UNKNOWN;读超时或连接中断等不确定结果继续保留核对保护,不盲目重放上传。既有未知操作通过只读设备/图库核验后使用原有 acknowledge 流程关闭,保留原始错误和审计记录。

    验证:560 项测试、Ruff、mypy、完整依赖漏洞审计及隔离 Docker 构建/启动/重启检查通过。Ubuntu Server 已部署,线上健康、就绪与源码哈希检查通过。

    Downloads
  • way released this 2026-10-18 00:19:15 +08:00 | 82 commits to main since this release

    v0.1.13

    照片底部同时显示所有已识别且已命名的人物,人物之间使用 &;日期、人物、主题、地点及文件名之间继续使用 ·。例如 2026-10-18 · Alice & Bob · Family · one.jpg。人物仍来自 Photos 实际相册归属,未命名人物不显示;历史生成图片不自动重绘。

    验证:559 项测试、Ruff、mypy、完整依赖漏洞审计及隔离 Docker 构建/启动/重启检查通过。Ubuntu Server 已部署,线上健康、就绪与源码哈希检查通过。

    Downloads
  • way released this 2026-10-17 23:52:14 +08:00 | 83 commits to main since this release

    v0.1.12

    修复临时展示到期或手动恢复后,“上一张图片”仍指向当前图片,导致已确认删除仍被恢复保护拦截的问题。只有设备已确认同步到受管理的当前图片、且没有基础恢复目标、临时展示或待确认写入时,才清除这条自身引用;不同图片的有效恢复引用继续受保护。既有残留引用在读取设备状态或删除校验时自动修正,不需要强制删除图片或重置数据库。

    有效恢复引用仍拒绝删除,并通过结构化原因显示中英文提示。保留当前图片删除确认,不主动删除照片或切换画框。

    验证:559 项测试、Ruff、mypy、完整依赖漏洞审计及隔离 Docker 构建/启动/重启检查通过。Ubuntu Server 已部署,线上健康、就绪与源码哈希检查通过。

    Downloads
  • way released this 2026-10-17 23:36:46 +08:00 | 84 commits to main since this release

    v0.1.11

    照片底部单行按“日期 · 已命名人物 · 主题 · 地点 · 文件名”排列,空项省略,人物之间也使用 ·。主题、日期和地点沿用最近的日期文件夹解析;没有结构化日期目录时仍保留文件名。人物来自 Synology Photos 已命名人物相册的实际图片归属,按账号会话和空间缓存 15 分钟,不显示未命名人物编号。人物查询失败时保留图片及其他描述。

    新建照片源默认开启底部文字,既有来源保留明确设置。横向来源继续同时约束选图和生成画布,不拉伸图片。更新来源表单说明与浏览描述顺序。

    使用既有 Ubuntu Server 发布流程,备份配置、数据库与 Compose,从提交源码构建并核验部署哈希;失败恢复旧 Compose。发布过程不主动切换真实画框,不重绘历史图库图片。

    验证:549 项测试、Ruff、mypy、完整依赖漏洞审计及隔离 Docker 构建/启动/重启检查通过。Ubuntu Server 已部署,线上健康、就绪与源码哈希检查通过。

    Downloads
  • way released this 2026-10-17 13:41:29 +08:00 | 85 commits to main since this release

    u751fu4ea7u955cu50cfu6784u5efau89c4u5219u540cu6b65uff0cu57fau4e8eu63d0u4ea4 bda52291832c29290e405fddc73649e67f241facu3002

    • u6784u5efau4e0au4e0bu6587u6392u9664u6240u6709u5c42u7ea7u7684 .DS_Storeu3002
    • u5b8cu6574u6784u5efau4e0eu589eu91cfu66f4u65b0u5747u5728u51c6u5907u9636u6bb5u79fbu9664 pipu3001ensurepip u548c pip u5165u53e3uff0cu6700u7ec8u9636u6bb5u4ec5u590du5236u6e05u7406u540eu7684u6587u4ef6u7cfbu7edfuff0cu907fu514du4fddu7559u65e7u955cu50cfu5c42u4e2du7684u5de5u5177u6587u4ef6u3002
    • u4fddu7559u9501u5b9au4f9du8d56u3001Pythonu3001u7cfbu7edfu5e93u3001u4e2du6587u5b57u4f53u3001u8fd0u884cu7528u6237u3001u542fu52a8u547du4ee4u3001u5065u5eb7u68c0u67e5u3001u7aefu53e3u548cu6570u636eu6302u8f7duff1bu589eu91cfu66f4u65b0u7ee7u7eedu6821u9a8cu4f9du8d56u9501u4e00u81f4u6027u3002
    • u672cu6b21u4ec5u53d1u5e03u6784u5efau89c4u5219uff0cu5e94u7528u5185u7248u672cu53f7u4ecdu4e3a 0.1.9uff1bu4e0du5305u542b Console u4feeu6539u3002

    u9a8cu8bc1uff1au672cu5730 545 u9879u6d4bu8bd5u901au8fc7uff0cu5173u952eu4f9du8d56u5bfcu5165u3001u5e94u7528u542fu52a8u53ca /healthu3001/ready u8fd4u56de 200u3002u672cu5730 Docker Hub u8fdeu63a5u8d85u65f6uff0cu672au5b8cu6210u672cu5730u5b8cu6574/u589eu91cfu955cu50cfu6784u5efau3001u6700u7ec8u6587u4ef6u7f3au5931u548cu5bb9u5668u8fd0u884cu9a8cu8bc1u3002

    TEA CI #89 u9a8cu8bc1u7ed3u679cu5c06u5728u6b63u5f0fu53d1u5e03u65f6u8865u5145u3002u672cu8f6eu4e0du90e8u7f72u3001u4e0du91cdu542fu751fu4ea7u670du52a1u3001u4e0du6e05u7406u670du52a1u5668u6570u636eu3002

    Downloads
  • v0.1.9 b95b8e98cd

    way released this 2026-10-17 06:14:00 +08:00 | 86 commits to main since this release

    v0.1.9

    照片来源通过 Synology Photos API 按账号权限读取,共享/个人空间、人物 any/all 筛选和有界 XL 预览缓存可用。生产拒绝文件系统照片来源及 /photos 挂载;本地上传、生成图片和 Server 本地图库继续保留。NAS 原图下载接口曾被拒绝,本版不宣称支持原图下载。

    自动化新增 1~10080 分钟的真实间隔,跨整点与跨天不按 Cron 字段重置,既有 Cron 任务保持原样。显示时长明确为到期恢复期限。统一来源快捷创建任务编辑器,改善登录及来源表单响应式布局、设备显示名与历史记录中英文;诊断详情保留原始标识。

    生产部署

    生产已迁至 Ubuntu Server,由 systemd 管理 Docker;业务、Docker 数据和恢复资料位于 T7,并有 UUID 与挂载依赖保护。NAS 旧 Frame 专属资源已清理且独立复核 PASS。CI 保留隔离验证,移除 NAS 自动生产部署任务,不再向 NAS 发布。

    正式发布使用 scripts/server-release.py:仅在既有 Ubuntu Server 环境运行,从已提交源码包构建,校验依赖锁、源码哈希、T7 UUID、容器安全约束和真实写入设置;备份 SQLite、配置及 Compose 后切换镜像,失败恢复旧 Compose,不自动回写旧数据库。它不执行上传、显示、删除或恢复图片等设备操作。成功后记录正式提交号、保存源码包及审计回执,删除本次暂存目录;白名单内的 Frame 旧迁移输入归档到本次 recovery,清除无恢复引用的临时镜像别名,共享 Console 资料不动。旧镜像及历史恢复资料保留供回滚,不执行全局 prune。

    脚本要求由 git archive 生成的源码放在 /srv/pigway/migration-inbox 的独立子目录;目录内同时提供 RELEASE_COMMIT、RELEASE_HASHES.json 和原始 source.tar.gz。哈希清单涵盖源码与源码包,不含自身。执行 sudo python3 <暂存目录>/scripts/server-release.py;成功后读取 /srv/pigway/apps/pigway-frame-flow/release-verification.json 并独立检查线上接口。

    验收范围

    完整后端测试、静态检查与桌面/平板/手机的中英文浏览器回归纳入发布检查。线上历史补丁已核验,真实写入保持开启;本轮正式发布不重复真实设备写入测试。隔离浏览器验证与真实设备写入证据分别记录于 docs/verification/2026-10-17-final-audit.md。

    局域网 HTTPS、独立加密备份及恢复演练仍是后续工作;T7 recovery 不属于独立备份。没有执行 USB 断连、服务器重启或压力测试。

    正式发布验收

    • 已部署提交:b95b8e98cd9d1997aad38bbd9272b8efbf4b73a0,线上 version 与部署回执一致。
    • systemd active、health/ready 通过,mock=false、write_enabled=true;六个线上静态文件逐字核对通过,生产登录页桌面/平板/手机中英文 6 组检查通过。
    • 最终提交 CI #88 全部通过,包括完整测试、静态检查、依赖审计、隔离 Docker 构建、冒烟、重启和清理。
    • 正式发布暂存目录及无用临时镜像标签已清理,旧 Frame 迁移输入归档到 T7 recovery;共享服务、业务数据、回滚与审计资料保留。NAS 旧 Frame 专属资源此前已独立复核清理完成。
    • 初次部署检查地址错误已修正;初次提交保留在历史,正式标签指向最终已验证提交。
    Downloads