英文页面窄屏与切换细节
补齐英文404,并处理320与390像素宽度下的语言入口、阅读菜单和导航挤压;文章分类局部切换不重播整页标题入场,英文页面在浅深色主题下均无横向溢出。
从第一版 Astro 博客,到现在拥有写作工作台、评论、阅读统计、私密文章与双语公共前台的 Henry 的空间。
121 个里程碑
补齐英文404,并处理320与390像素宽度下的语言入口、阅读菜单和导航挤压;文章分类局部切换不重播整页标题入场,英文页面在浅深色主题下均无横向溢出。
搜索、评论、订阅、私密文章、阅读空间、本地历史、阅读统计与友链申请按当前语言显示;评论、订阅和友链请求携带语言信息,但继续使用原数据与服务路径,不迁移或清空既有记录。
为现有14篇公开中文文章补齐英文版本,保留发布日期、封面、分类与稳定文章编号;同步生成英文搜索索引、Feed、分享图和 hreflang,并在项目文章中保留原作者、开源项目与第三方组件声明。
在不改变中文网址的前提下新增 /en/ 英文公共前台,提供首页、文章、归档、标签、专题、友链、订阅、统计、日记与404;顶部语言切换可以沿当前页面往返,后台暂保持中文操作界面。
文章列表按同一篇文章的最新提交与构建尝试合并状态;失败任务可以重新核实,后续成功不会再被旧失败覆盖。打开文章后只隐藏进度提示,保留成功版本标记,发布历史和文章内容不变。
日记页把项目统计整理为通栏,统计口径按需展开;标签按钮加入指针吸附,邮箱输入框呼吸灯加快到每轮2.4秒,并统一图标按钮的垂直居中,修复返回箭头偏上。
开发日记新增每次构建自动更新的源码行数与统计口径,包含维护的前后台、服务、脚本和测试,排除文章、第三方依赖与重复生成产物。
订阅区改为沿邮箱输入框边缘出现有限呼吸灯,标题与字段保持静止;进入视野后开始,填写时停止,兼容减少动态效果,不改变订阅验证与邮件流程。
首页分类选中底色平滑跟随,文章文字与封面联动;精选图案随滚动产生轻层次,文章封面跨页保持连续,页脚自然收束,不增加持续背景循环。
文章封面和友链名片随鼠标位置产生有界倾斜,并在浮起时显示适配浅深色主题的分层投影;按钮和页脚轻吸附,移出与离页及时复位,手机保留适合触摸的操作。
首页主标题以外的前台大标题按阅读顺序从基线下方逐字升起,不压扁、不翻转;保留英文词、标点、长标题换行、复制与完整无障碍名称。
沿用现有排版、配色与封面,把首页开场扩展为更缓慢的空间展开;标题与封面一次入场约3.4秒,页面框架不移动,减少动态效果时直接显示完整内容。
封面编号不再取列表位置,按发布时间建立固定编号,新文章接续递增;分类、分页、精选、修改日期或删除其他文章都不再改变已有编号,同一篇文章在各处保持一致。
首页近期写作排除精选后仅显示最新十篇;新增全部文章的分类与分页浏览,桌面顶部和手机底栏原归档位置改为文章菜单,依次提供浏览文章、文章归档;手机菜单向上展开,原阅读空间与阅读统计入口保持不变。
保持第一章复盘正文不变,将出处致谢整理为逐个项目的标题、作者、来源、许可证与简短用途,沿用其他项目文章的排版。
发布从最初建站到当前阶段的第一章纯复盘,记录真实经历、设计试错与取舍;技术分析及实现分享留待第二章,文末保留开源出处、原作者和第三方致谢。
取消同一会话只播放一次的限制,每次直接打开或刷新首页都播放原位渐入;主标题淡入更清晰,站内软跳转仍不重播,保留减少动态效果、离页清理和无位移设计。
只重排阅读统计中的构成和排行区域:分类展示阅读数与占比,热门文章采用统一的序号、标题和阅读量布局;保留页头、概览指标、统计说明和原数据计算规则。
取消分类栏的透明吸顶,回归正常文档流;提高分类文字、计数和选中状态的可读性,手机端完整换行,并补充键盘与辅助技术选中提示。
首页首次打开采用原位轻渐显,精选封面与分隔线只作一次轻光感变化;导航和排版位置不动,刷新、站内返回及减少动态效果时不重播完整入场。
按实际提交补齐发布可靠性、备份、安全、规模管理及前后台整理等遗漏进度;保留旧里程碑和完整提交档案,统一按北京时间归档。
去掉旧 CSS 与新入场动画对同一内容的双重位移,首屏保持固定位置;下方内容仅作小幅滚动反馈,延迟面板不再先显示终点再跳回起点。
加入滚动入场、菜单、搜索和目录展开等有限动效,离页及时清理;尊重系统减少动态效果,不增加持续空转背景或永久图层。
封面左上角按全站发布时间统一编号;手机底栏调整为首页、归档、关于、友链、日记,手机顶部移除重复日记入口并保留搜索。
在本地预览确认后上线首页、文章与公共页面整理:精选文字更突出、封面收敛,目录与正文更协调,订阅页统一版心、字号和流程。
设置整合为六个清晰分区,去重并重排入口,支持结构化编辑、独立保存与草稿保护;修复设置快捷键误触发文章发布的风险。
已应用筛选移至分页区域,不再挤压其他内容;统一阅读入口与相邻导航文字的字号和视觉基线。
文件、音视频等新私密附件先在本机加密,访客解锁后点击才下载解密;重新锁定或离页释放资源,旧公开附件仍需作者另行检查。
使用临时独立存储验证加密导出、解密、恢复、到期与重复恢复行为,核验后清理临时资源;没有向生产恢复写回。
外部嵌入延迟加载,未明确选择的音视频不预下载;离页暂停播放并释放解密资源,减少不必要请求和后台占用。
后台按当前文章隐私属性分类历史评论,新增逐条归属确认与旧公开媒体检查;原评论和素材不自动迁移、删除或改写。
完善持久查询游标、分段索引和友链合并分页,保持原有筛选、排序与合并规则;超限明确提示,不截断后假装结果完整。
新插入私密图片在本机处理后随正文加密,不上传公开图片地址;较大管理列表保存精确排序游标,避免切页重复扫描。
安全验证和提交入口改成完整一行,避免按钮挤压内容;管理查询在 SQL 中先筛选、排序,再取当前页。
公开写入接入按需安全验证;后台使用可丢弃、可重建的 D1 派生索引,原始 KV 与 Git 内容继续作为权威来源,保留故障回退。
修正手机表单排版和私密图片预览的离页清理;免费服务先做隔离只读预检,不因缺少套餐信息就擅自启用付费资源。
友链目录在服务端合并、筛选与分页,不再要求浏览器整包下载;公开评论按讨论串分页,回复可以逐步展开。
评论、订阅和友链统一请求来源、正文大小、超时及频率保护;排行榜和阅读计数复用快照,无法保存设备标记时只读计数。
后台和两个 Worker 按功能分区维护,由构建统一生成兼容入口;持续核对生成结果,避免修改源码却发布旧运行文件。
退出、切页和重新锁定时清理编辑与解密状态,防止迟到响应恢复正文;增加历史评论归属核对工具,未确认记录不自动绑定。
统一后台状态和反馈,补充可保留的邮件模板草稿及本地诊断;不上传私密内容,也不把诊断动作当成发布成功。
文章图片默认延迟加载,能可靠识别时补齐尺寸;构建检查脚本、样式、媒体与单页体积,媒体总库增长只作提醒,不阻止正常写作。
统一间距、文字层级、焦点和短交互,减少内容区重复磨砂与投影;首页突出文章,把专题、近况、订阅和统计分清层次。
后台列表复用完整的有界只读索引与共享快照,避免翻页时反复扫描全部数据;过期、失败与超限均有明确反馈。
重整桌面与手机后台导航,统一文章、评论、订阅、友链等列表的检索、筛选、分页、批量操作、导出和刷新反馈。
建立不接触生产数据的离线恢复演练;收紧私密正文和未绑定历史评论的读取边界,原评论保持不变。
前台和后台样式隔离,页面专属样式按路由加载;部署诊断可只读查询构建历史,减少重复构建和不必要资源。
搜索加入多词匹配、中文输入与键盘操作,修复快速输入后回车使用旧结果;软导航重新校验页面,避免返回过期 HTML。
搜索、评论、阅读空间、统计、订阅和私密解锁拆成按需模块;统一页面生命周期,离页取消旧请求和观察器,保留原阅读历史。
接入定时和手动加密备份,明确区分限流与当日额度耗尽,支持在额度重置后重新调度;备份失败不会显示为成功。
完善文章索引、分组检索和批量管理,发布记录可以跨页面、跨设备查看;隐藏页面暂停无必要查询。
后台运行状态使用独立存储,保留原评论与订阅数据;加入加密备份、完整性核验和恢复准备工具,不自动向生产写回。
发布任务绑定精确提交与部署结果,区分保存、构建和真正上线;通知进入可恢复的投递队列,避免尚未部署就发出文章通知。
修复 Service Worker 把旧导航页面长期留在本地的问题,为后续页面更新与缓存验证建立基础。
发布关于 AI 编程时代的文章,讨论开发门槛降低后的判断、验证与责任;友情链接页标题同步调整。
拆分友链写入和邮件通知流程,避免邮件服务拖住保存弹窗;新增真实的 Cloudflare Pages 构建进度、成功、失败与跨页面恢复提示。
友链申请、收到申请、审核通过、未通过和下线均接入可编辑邮件模板;上线数据写入 GitHub JSON,由 Cloudflare Pages 自动构建。
新增公开友链页、分类搜索、随机访问、申请表单、地区记录和后台审核;管理员也可以直接添加、编辑、上线、隐藏、置顶、排序和删除友链。
后台所有原生下拉框替换为统一的自定义弹窗选择器,并修正旧私密文章评论在后台独立分类中的显示。
新增覆盖全部邮件类型的模板编辑页、实时预览和恢复默认能力;完整额度设置移入站点设置,评论和订阅页只保留当日额度摘要。
后台文章列表加入私密分类、分类筛选、排序和分页;首页精选文章改为支持搜索的独立选择弹窗。
Now 与关于页直接显示联系邮箱并保留邮件跳转;首页状态行、Now 页和关于页所在地改为独立设置。
系统每天预留最后一封邮件额度,在额度耗尽时向可配置的提醒邮箱发送一次通知,并暂停继续消耗额度。
私密文章解锁后可以查看和提交评论,评论接口使用独立密钥隔离,后台新增隐私文章评论分类。
文章目录按照正文顺序展示 H2 与 H3,移除文章页顶部滑动进度条,仅保留左下角阅读圆环。
为评论和订阅者管理加入数据概览、全文搜索、状态筛选、排序、分页和 CSV 导出,并新增重新订阅申请的审核队列。
已退订邮箱不能直接重新订阅,必须提交恢复申请;管理员通过后,系统重新发送确认邮件,邮箱再次确认后才恢复接收通知。
加入 canonical、完整分享元数据、文章更新时间与站点结构化数据,自动从站点地图移除 noindex 页面,并在部署后通过 IndexNow 通知搜索引擎。
把阅读空间和阅读统计收进顶部「阅读」下拉菜单,并将开发日记入口简化为「日记」。
审核通过与回复通知中的长评论最多展示 320 个字符,并强制换行,避免连续无空格文字把邮件布局挤成狭长一条。
发布文章时先把通知任务加入队列,由定时任务确认 Cloudflare Pages 构建成功后再发送,并提供最近通知记录与手动检查入口。
加入双重确认订阅、验证邮件、退订链接、订阅者后台、地区与来源信息,以及发布文章时可选群发通知。
为 Henry 媒体库文章补充 Python、Pillow、FFmpeg、Docker、Nginx、1Panel 与 Apple 系统框架的完整声明。
记录已停止维护的 iOS 风格图片视频画廊,以及它如何影响后来 Henry 媒体库的本地优先设计。
发布自建 AI API 聚合网关的开发记录,梳理 New API、协议兼容、CC Switch、Codex 与小米 MiMo 之间的取舍。
把项目从第一版到现在的全部开发记录整理成时间线,同时保留完整提交档案,并加入顶部导航。
完成错误密码、正确密码、后台解锁、更新加密和仓库密文检查,随后删除测试文章。
私密文章自动从首页、归档、标签、搜索、RSS、相关阅读、阅读统计和评论区中排除。
后台打开私密文章需要先输入密码,更新时自动重新加密,并保持密码不变。
支持单篇文章设置密码,正文在浏览器中用 PBKDF2 + AES-GCM 加密,未解锁时页面只包含密文。
修复编辑器回到顶部、标题自动伸展、移动端抽屉遮挡、提示消息覆盖工具栏等问题。
加入桌面/手机文章预览、搜索摘要预览、封面预设、实时字数和阅读时间、本地自动备份恢复。
重做三栏写作台:左侧目录与文档状态、中间编辑画布、右侧发布设置,并加入专注模式。
移除持续运行的 Canvas 极光,改为低功耗纸张纹理与局部柔光,保留克制的空间感。
顶部加入阅读空间和阅读统计入口,站点设置改为目录式工作区,阅读统计改为环形图与排行布局。
加入本地稍后阅读、本地阅读历史、公开阅读统计页,并让阅读计数按设备去重。
后台可以编辑现在页、关于页、专题与线索、首页文案、所在地和联系邮箱。
重做移动端背景合成和滚动策略,解决文章页上下滑动时的背景闪烁。
展示今日、月度、联系人、域名、AI、自动化和广播额度,以及剩余量、重置时间和使用进度。
接入 Resend,审核通过、拒绝和收到回复时发送完整的品牌邮件通知,并处理同邮箱回复去重。
加入匿名评论、后台审核、通过/拒绝/删除、省份展示、随机头像和微博式回复。
在站点设置中选择首页大图推荐文章,文章失效或转为草稿时自动回退到最新文章。
修正首页精选与文章页超长标题的断行、字号和布局问题,避免标题挤压封面与正文。
连续发布 Henry 媒体库、Henry 模型管家等项目的完整开发记录。
发布 macOS 刘海应用 Sapphire 的本地化改造记录,并补齐原作者与开源项目出处。
加入可编辑站点设置、阅读清单和 JSON Feed,开始把站点配置与个人阅读入口搬进后台。
避免热门阅读和阅读计数重复请求,修复部分页面脚本互相影响的问题。
博客整体切换到更克制的编辑排版风格,并重做低功耗动态背景和浅色模式层次。
后台文章列表升级为真正的宽屏工作区,重新组织标题、概览、筛选和文章行操作。
后台正式拆分桌面宽屏双栏工作区和手机紧凑操作逻辑,不再共用一套折中布局。
加入毛玻璃底部 Tab 与搜索入口,优化后台顶部栏、工具栏单行滚动和安全区间距。
清理早期测试文章,修复热门阅读初始化、零值和路径斜杠重复等问题。
热门阅读改为真实阅读计数,过滤无效路径;移动端编辑器工具栏固定在底部。
增加横向最新文章带、归档年份折叠、暗色背景修正、页脚贴底和后台悬浮按钮。
接入 GitHub 提交历史,可以查看每篇文章的历史版本并一键恢复。
把进行中的部署状态写入本地存储,切换页面或刷新后仍能继续显示真实的构建进度。
把构建进度放到对应文章行下方,支持打开线上文章、显示构建中/成功/失败,并在发布后自动消失。
改用径向渐变、柔和混合和纯 transform 动画,去掉高成本模糊与中心热点,解决滚动性能问题。
从多层极光背景开始试验,持续调整层数、速度、轨迹和亮度,寻找更有呼吸感但不卡顿的效果。
调整 Hero 文案和单行布局,重做统计数字、渐变配色和数字增长动画。
增加撤销、重做、删除线、行内代码、有序列表、清除格式等能力,并重新整理工具栏分组。
加入所见即所得书写模式与 Markdown 模式,支持工具栏、粘贴和拖拽插图,两种模式双向同步。
完善首页文案、发布确认弹窗、标签索引、上一篇/下一篇封面和新的 404 页面。
用 KV 缓存降低 GitHub 请求,并用乐观更新让刚发布的文章立即出现在后台列表。
加入自动保存、快捷键、粘贴图片、发布后返回列表、全局错误提示和本地草稿恢复。
引入封面插画、统计条、导航滚动收起、阅读全文提示和更完整的杂志式首页结构。
修复登录后遮罩不消失、后台脚本缓存、编辑器视图切换和设置抽屉等基础问题。
把 Marked 放到本地并补上预览回退,后台不再依赖外部 CDN,同时清理为单一 /admin 入口。
补齐 GitHub User-Agent、文章列表读取和异常处理,解决后台发布链路最早的一批稳定性问题。
加入文章编辑、草稿、GitHub 写入和 Cloudflare Pages 自动部署,博客第一次可以完全在网页里发布。
建立 Henry 的空间的最初 Astro 版本,完成首页、文章页、归档、关于页和苹果风格视觉系统。
ac28f3ffix: isolate article number overridec068f29post: set goodbye article number to 520c7cf940post: correct final goodbye2a3c9f2post: 合肥的最后一面912d325docs: record bilingual launch in development journal22ab284feat: add bilingual public frontende01f5b3fix: fit homepage date and settle toc landing fade666fe74friends: update 测试网站11b2380fix: restore cover motion on category changesb001106friends: update 测试网站be0e384fix: make article category switches continuousb6fd91frelease: refine friend notices and reading motion35c403eMerge remote-tracking branch 'origin/main' into codex/motion-friend-release-20261027f9818cbfriends: update Yuimi-Lab41fa83cfriends: update Yuimi-Labde53508friends: add 测试网站4f60e85friends: update Yuimi-Labec99fc1Separate friend visibility from optional lifecycle email notificationsd2139a7friends: update Yuimi-Lab801f29bRecord verified logo, theme and diary production release [skip ci]6132755Release magnetic logo, dark navigation and diary countersce67a32Match diary overview counters to homepage motion and gradients [skip ci]2527ce5Add magnetic nav logo and preserve themes before page swaps [skip ci]1360266Record verified outline and subscription release [skip ci]2a2c2a8Fix input breathing lifecycle and animated article outline following3bd0e00Record verified chapter three production release844be8cPublish Henry's Room chapter three with its chapter two continuationd3c66f3Draft Henry's Room chapter three and chapter two continuation [skip ci]04b73faDocument verified production rollout and recovery evidence0502985Polish diary and tag interactions and reconcile retried publication states01593b1Verify release backup and preserve diary milestone regression coverageae483d3Refine public motion and publish transparent project source statisticsce73a96Add magnetic controls and a finite newsletter invitationc0c7333Refine local reading motion and interaction continuity729088dBring the public site to life with optical entrance and shared cover depth49056f7Make original-site motion clearly visible with finite local choreographye4acac5Restore original visual identity and refine bounded interactions locallyc3d397bfeat: build local editorial reading preview without publishingb4a0d9ddocs: record design tooling installation and local-only scopec8a08f3docs: record verified contact email display release031c67apost: 发布文章 henrys-room-chapter-onef70c272post: 发布文章 henrys-room-chapter-two7aaf049post: 发布文章 henrys-room-chapter-one92e997adocs: preserve concurrent author publication in email fixac3ef3aMerge remote-tracking branch 'origin/main' into codex/email-display-2026102439326d0fix: keep public contact emails readable across navigation54c655bpost: 发布文章 henrys-room-chapter-two676163aRecord verified article tag and outline release30f10eafix: separate article tags and improve outline readabilityfe37e1cRecord deployed subscription feedback and 404 verificationd8586ceMerge remote-tracking branch 'origin/main' into codex/subscribe-feedback-404-20261024ec956b1fix: clarify subscription status and redesign not-found page142b2ecpost: 发布文章 henrys-room-chapter-one32017f8chore: 保存草稿 henrys-room-chapter-one5f90b8fchore: 保存草稿 henrys-room-chapter-two282c296Record verified draft-only article saveac2be7bdocs: save unpublished article draft [skip ci]9adb501Record verified GitHub README refresh and documentation checksb8faa45docs: refresh project README and editorial identity [skip ci]e574ce8Record verified fixed article numbers and preservation checks77121feAssign stable article issue numbers independent of page position2d581a6Merge remote-tracking branch 'origin/main' into codex/article-browser-navigation-20261024fbd291dsettings: update site configf000e95Record verified settings heading consistency fixc59e962Restore site settings eyebrow to match admin section headingscc0eda8Document verified article navigation release and data preservation8112c9eAdd article browsing and separate desktop and mobile article menus7fc1c7adocs: record published retrospective-only chapter one verification818d22cpost: revise chapter one as a personal project retrospective459a06epost: Henry 的空间第一章:从一个念头到一个真正的网站19b91bcMerge remote-tracking branch 'origin/main' into codex/project-chapter-one-20261024467841ffriends: update Yuimi-Lab05ead60friends: update Yuimi-Lab7e63da8docs: record homepage refresh release verification68c6495fix: replay visible homepage entrance on full refresh2ff08e5Record verified intro, diary filter and stats dashboard release65c5548Refine homepage entrance, diary filters and reading dashboard0bf4107Record verified refresh fix release and complete public diary audit105f41eFix homepage refresh motion and reconcile public development diary4cfeaf0Record verified frontend release and preserved-data evidencee2c5de5Refine mobile Dock and release editorial frontend motion11293bbPolish local editorial preview with newsletter layout and finite motiond7dafdbRefine frontend editorial layout for local preview only1d119aaRecord verified settings release and rollback evidence3d7c41fPrevent settings keyboard shortcuts from publishing unrelated draftscfaf420Reorganize admin settings into focused sections with safe independent saves4b0740aRecord filter and navigation layout release verification2ae5075Move filter status into pagination and align reading navigation typographyaa80ad0Record exact release, isolated recovery and remaining author privacy reviewd94918bFinish bounded large admin views and encrypted private attachment toolsb8c246cAdd isolated encrypted cloud recovery rehearsal and record user prioritiesc825e53Record batch release verification and preserved production dataed9c1acImprove joined admin queries, private comment ownership and media lifecycle9f5b479Merge remote-tracking branch 'origin/main' into codex/batch-friends-private-media-20261024b7f21cbdelete: test123e9801d1post: 发布文章 test123eb372caphoto: mvlbb8a8-.png463c21ddocs: record verified private-image and exact-order release5eff9dbfeat: encrypt new private images and persist exact admin page ordering6af650ddocs: record verified form and SQL pagination release104e96afix: align public verification forms and page admin queries in SQL750dafcRecord verified optional-service release and rollback boundaries5dc7e0dStage D1 projections within bounded free-plan query batches5c739afBound post-deploy service readiness checks without weakening verificationf8260faIsolate live service verification from production deployments403fe96Integrate on-demand Turnstile and rebuildable D1 admin projectionsb5dd600Allow explicit Free attestation without overriding paid evidence4e6118dtest(cloudflare): harden free-plan gate and document missing account permissionsbe33364chore(cloudflare): add isolated read-only free services preflight9458892docs: record batched reader release and scheduled backup verificationea36f9bfix(reader): finish mobile forms and private image preview lifecycleae218f0docs: record shared snapshot release and backup verificationd7218ffperf(admin): reuse bounded shared query snapshots across workersbccbd00Record verified comment pagination release and audited production state changes3c56c53Paginate public discussion threads and progressively load bounded reply pagescb87e35Record verified private lifecycle release and unchanged production business dataa55e59bGuard private article lifecycle and add ownership review with local performance detail5e39b4aRecord exact friend pagination release and verified production dataf4a18c0Record verified friend pagination candidate and preserved artifacts9c9720dPaginate the merged friend directory on the server without full browser downloadsb7049f8Record verified public read release and preserved production data7bb4a76Bound public reads and reuse complete ranking and comment snapshots8e7258bRecord verified security and runtime partition release evidenceaa33441Harden public submissions and partition legacy runtimes by feature99db9faRecord verified friend query release and data preservation evidence641aad7perf: batch friend application reads and isolate directory presentationefce3f5Record verified backup and private editor release evidenced752416Separate backup verification and isolate private editor lifecycle733e4abRecord verified admin design release and remaining optimization gates14ed8b1Unify admin presentation and add bounded local diagnosticsa855eadRecord verified batch visual release and reconcile the 21-item checklist6935e55Keep library growth advisory without weakening per-page resource budgetsf861d1cUnify reading surfaces, refine home hierarchy and enforce resource budgets8c99a81Record verified indexed admin release and pre/post deployment data checksfa65fe7Bound admin comment and subscriber indexing with reusable read-only snapshots1d3e9a8Record remaining admin lists release and verified optimization progress63f3bd8Unify remaining admin collection controls and safe refresha77aa8dRecord admin workspace production verification and optimization ledger7892155Verify resumed admin workspace preview and prepare rollout4ae95ecBuild responsive admin navigation and shared collection feedbackb475c42Record private-boundary rollout verification and remaining gates5956ba5Guard private article bodies and preserve unbound comment records9d051a3Add offline recovery rehearsal and original optimization ledgerf8f6f2fdocs: record verified route styles and cache releaseb7c256ffix: revalidate Astro page fetches instead of serving stale offline HTML9b8f1feperf: load public styles by route without changing visual design25ff160Grant deployment job read-only Actions history accessa56ee62Record verified style release and pending read-only CI permission1d66cdaIsolate public styles and add safe deployment diagnostics0a81db9Record verified frontend release and remaining backup checksd2d8ab0Split frontend features and improve search and page lifecycled111a29Record final release, verified backups and remaining daily-quota blockere65091fHandle exhausted KV quotas safely and schedule backups after resetd8a45dbHarden backup rate-limit diagnostics and bypass admin module cachesd8b4a25Improve admin scale, cloud publication history and encrypted backups3c182faRecord verified production release and preserved data evidencecfc1860Record verified bindings, data snapshot and release readiness2f25e20Record approved storage setup and data preservation boundariesddf475dRecord verified production backup and remaining admin KV blocker6d22896Record production preflight blockers and preserve release state52601f7Improve publishing reliability, durable notifications and recovery tools92c1893fix: refresh stale navigation pages from service worker cache66a0a04friends: add Yuimi-Lab47483dacopy: rename friends page headinge27f79ffriends: delete friend-mvj1cqdz-aebb185d8693f81post: publish reflections on the vibe coding era4339cabchore: bust admin script cache for friend fixes6e78a77docs: record friend publishing reliability fixba91b79fix: avoid false friend notification toastbfc2ffcfriends: update 测试网站6c58896fix: make friend publishing resilient with deploy progress112b455friends: add 测试网站3217a04fix: route friend applications through deployed workera40d4ebfeat: add managed friend links directory37d6c5ffeat: add editable email templates and custom admin selects607f32bchore: deploy admin worker with site updatese0968e9fix: finalize resubscribe status and quota alerts752137afeat: expand private comments and admin controls2f0e620fix: harden admin CSV exports1d2f818feat: add resubscribe approval and scalable admin lists0d1b5a9chore: add Bing site verification51f4bc2feat: strengthen search engine discoverabilitydf4b796settings: update site config488358fdelete: post-20261020-230561672c6feat: add reading dropdown to top navigation3f41a9efix: gate newsletters on deploy success and clip long comment emails9951430post: 发布文章 post-20261020-2305e030fc2style: refine newsletter page copy02beee4feat: add double opt-in email subscriptions and newsletter broadcast8ee7a74post: 发布文章 m98ffadfpost: 发布文章 henry-media-library8c2210esettings: update site config0825e52post: 发布文章 henry-media-librarye37b72bdocs: add open-source attribution to Henry media library article4af13a8post: iOS gallery retrospective and media library predecessor48071c6settings: update site config59549cfsettings: update site config9ac9138post: AI API gateway retrospectived9fcba2settings: update site config8a5c020fix: reverse changelog order and align timeline markers1d2a69cfix: update changelog day counts when filtering5adcb78feat: add complete development diary timeline3918cf2post: 发布文章 m385eb56delete: private-testaeb5114post: 发布文章 private-test8705cd2post: 发布文章 private-test7a2f027feat: add encrypted private articles with per-post passwords74896eafix: reset editor viewport and finalize writing studio polishbb2f756style: polish mobile editor drawers and toast placement1cba9c1fix: keep long editor titles fully visible3f147a8style: polish writing studio focus and mobile panelsf851c53feat: rebuild writing studio with outline, publish rail, preview, and autosavedcc6131feat: refine navigation, settings, stats, and reading background947f24bfix: brighten metrics and dedupe public stats721485asettings: update site config7a2b78dfeat: site settings, reading history, stats, and polish0624a82delete: test640364esettings: update site configf50cf38fix(mobile): prevent aurora background flicker on scrollf253104style(comments): premium Resend usage panel8e500b1fix(comments): skip self-email reply notifications5c0c952fix(comments): notify self-email replies and show Resend usage01364aestyle(comments): simplify form layout99ea05bfix(admin): show email service status without noisy alertsf902c47feat(comments): required email and transactional notificationsb6d745cfix(comments): inline replies and better province mapping17ebb27fix(comments): bust comment list cachea3e9a0afeat(comments): province, avatars, and threaded repliesa5fb09dfix(comments): bypass service worker cache1ac3257fix(comments): restore KV binding and admin auth45d73dcfeat: add moderated Cloudflare comments989fd88post: 发布文章 m4fba0cfsettings: update site config50737c0post: 发布文章 m5db84f8post: 发布文章 m50585c1settings: update site config9a13171settings: update site config0d36f1ffeat(settings): choose homepage featured post138feffdelete: henry-model-managerc8fabb2post: 发布文章 henry-model42a7ef5delete: sapphire-macos-localization355f22bdraft: Henry model manager article1aef379post: 发布文章 henry-media-libraryac87afdfix(article): scale long hero titles568763ffix(home): handle long featured titles gracefully39d5a5cpost: 发布文章 henry-media-libraryf192c38draft: Henry media library articlefcf4e5fchore: 保存草稿 desk-setupd6ba552post: 发布文章 sapphiree7aefd8post: 发布文章 sapphire3bd22aedraft: credit Sapphire source and author49d29e0draft: Sapphire macOS localization articlefd6ef28style: refine light mode typography and covers7034290fix: never cache admin API responsesf8d85fcfix(admin): check settings deploy immediately1599951settings: update site config3764fe8feat: editable site settings, reading list, and JSON feed9523960perf: prevent duplicate hot-read and counter initialization4d85df4feat: editorial redesign and low-power ambient backgroundfaadcc4feat(admin): true wide desktop workspace with table layout1d5745dpost: 发布文章 test353bb18post: 发布文章 test5b9bdf8feat(admin): separate desktop wide dual-pane layout from compact mobile1aca2defix(mobile admin): single-row scrollable top/toolbar bars, safe-area padding72b5f4dfeat(mobile): glass bottom tab w/ search; admin & home mobile polishae96bc8fix(hot): actually invoke fetchHot + safe wrappers59807f6fix(hot): isolate init calls with try/catch so hot list always runs04c1edecleanup test posts; sw no-cache /top; cache-bust hot fetchf0f11bbdelete: test106fe73delete: 345b31d6bfdelete: 123testd4c273bfix(hot): filter zero/junk, merge slashes, map titles from search index8db0cc9feat: mobile pinned editor toolbar; homepage hot reading from real counts6c6e907fix(style): single-layer dark bg; flex layout pins footer on short pagesd436985feat: archive year collapse; admin editor floating buttons (remove block bg)dc0d732feat(home): magazine latest-updates horizontal row with cover overlaysae4d785feat(admin): version history + one-click rollback per postddcda96post: 发布文章 345f9651dadelete: 32a2641b6fix(admin): keep in-flight deploy state across navigation until real success3e8c5b5post: 发布文章 327934e82delete: 21347a7a918fix(admin): persist in-flight deploy; resume progress & 构建中 label across reloads9b4df0cfix(admin): persist in-flight deploy so progress resumes across page switches; label 构建中 until really live694b9e2post: 发布文章 213450026eadelete: 12345ac387cefix(css): remove stray brace97e0d9dfix(admin): row-level deploy progress tracked by GitHub Actions; clear on open89a2b4cpost: 发布文章 123458ef1616feat(admin): publish deploy-progress panel + open-online linkab0c1b5fix(aurora): separate blob origins (blue/purple/teal zones), balance alpha260cedbfix: invoke canvas aurora (was tree-shaken)1dbe669style: monotonic smooth radial falloff (no ring, no center dot)2509290style: plateau radial gradients remove hot center dot in aurora0f1038estyle: soft-light blend aurora so blobs feel like ambient wash, not circles7a603eeperf(style): replace blur-filter aurora with soft radial gradients (transform-only, GPU cheap)f63fe2aperf(style): 3 aurora layers with randomized per-load drift pathsdd652eaperf: reduce reveal stagger/latency; lighten aurora layers for smooth scrolling207e682feat(style): 5-layer multi-color aurora with varied looping pathsf4165ccfix: hero eyebrow/dots restored; gradient numbers; stronger aurora; scroll-to-top on load; working back-to-top105d9b6style(home): single-line hero without punctuation; clean stat cards (remove color bar)fe3eb06fix(home): restore init() so content not hidden; hero copy; svg stat icons9292a4dfeat: stats count-up animation98c2e92feat: richer editor toolbar (undo/redo/strike/code/ol/clear) + premium stats band with count-up3fbbb40post: 发布文章 123test9e0e11bphoto: mtq3h3k8-.pngac8e5f1feat(admin): WYSIWYG block editor (rich+md dual mode) with execCommand toolbar, paste/drop images77bd4a7feat: refined hero copy; publish confirm modal; tags index; prev/next thumbs; nicer 404f386a4ddelete: uicheck-draft32dc0d94perf+fix(admin): KV list cache in worker; optimistic save so post shows immediately898e1a4chore: 保存草稿 uicheck-draft379ba0a1fix(admin): close drawer before save buttons37602a2fix(admin): silent draft restore + global error toasta5ae6a8fix(admin): silent draft restore + global error toasteae9c41delete: uicheck-draftda45827chore: 保存草稿 uicheck-draft60f382bfeat: premium homepage (cover art, stats band, nav hide, read-more) + admin UX (publish->list, toast, autosave, shortcuts, paste image, view link)b2b4b6dpost: 发布文章 test3587797fix(admin): bust SW/http cache for admin scripts; no-store admin3eacf9cfeat(admin): redesign editor — list/editor views, settings drawer, preview, word count02c932dfix(admin): [hidden] now overrides display so login page hides after success13d239dchore: keep single admin entry at /admin23677d2feat(admin): add /console alias + inline login bootstrap7728076fix(admin): ensure marked preview fallback injection144befcfix(admin): vendor marked locally so login/editor not blocked by CDNa14f4dffix(admin): ensure User-Agent & robust listing for publish API worker346da17delete: flow-testea84b37post: 发布文章 flow-testc344e9afeat: admin editor + publish API + draft support + Actions auto deploy56db6b6chore: snapshot current blog before GitHub integration