English mobile details
Added an English 404 and fixed language, Reading-menu, and navigation crowding at 320px and 390px. Article category changes no longer replay the whole title entrance, and English pages avoid horizontal overflow in both themes.
From the first Astro page to a bilingual publishing system with an editor, comments, subscriptions, reading statistics, and private articles.
121 milestones
Added an English 404 and fixed language, Reading-menu, and navigation crowding at 320px and 390px. Article category changes no longer replay the whole title entrance, and English pages avoid horizontal overflow in both themes.
Localized search, comments, subscriptions, private articles, Reading space, local history, public stats, and friend applications. Requests carry locale while continuing to use the existing data and service paths without migration or deletion.
Published English editions of all 14 public Chinese articles while preserving their dates, covers, categories, and permanent article numbers. Search indexes, feeds, social images, and hreflang were localized, with original authors and open-source/third-party credits retained.
Added an independent English public frontend under /en/ without changing Chinese URLs, with Home, Writing, Archive, Tags, Threads, Friends, Newsletter, Stats, Journal, and 404 pages. The language switch preserves the current destination; the admin remains Chinese for now.
Reconciled the latest commit and build attempt so old failure cannot replace later success; dismissing progress preserves the successful version marker.
Placed journal metrics in one full-width row, made methodology expandable, added magnetic tags, sped the email cue to 2.4 seconds, and centered button icons.
Added build-time line counts and methodology for maintained front-end, admin, services, scripts, and tests, excluding content and generated/dependency code.
Moved the subscription cue to the input border, keeping geometry still, starting in view, and stopping when used with reduced-motion support.
Added sliding category selection, linked text/cover response, subtle scroll-linked artwork, shared covers between pages, and a finite footer close.
Added bounded pointer tilt and lifted-only theme-aware shadows, magnetic controls, natural return, and touch-appropriate behavior.
Made non-home display titles rise in reading order without squashing or flipping, preserving words, punctuation, wrapping, copying, and accessible names.
Kept layout, palette, and covers while expanding the opening to about 3.4 seconds, with stable page geometry and a reduced-motion fallback.
Assigned numbers to articles rather than list positions, preserving them through filtering, paging, date changes, or deletion of other articles.
Limited recent writing to ten nonfeatured pieces and added filtered/paged browsing plus a Writing menu for browsing and archive, keeping Reading separate.
Kept the retrospective unchanged and organized credits by project, author, source, license, and purpose.
Published a nontechnical retrospective of the project’s beginning, experiments, and choices, with upstream and author acknowledgments.
Removed the once-per-session limit so direct visits and refreshes show the opening, while internal navigation and reduced-motion behavior remain distinct.
Reorganized just the distribution and ranking sections while preserving the hero, metrics, methodology, and aggregation rules.
Removed the translucent sticky behavior, improved labels and selection contrast, and added mobile wrapping and accessible selection states.
Introduced a gentle initial fade and finite cover/light response without moving the frame or replaying the full opening on internal return.
Recovered missing release, backup, security, scale, and interface work from actual commits while preserving old milestones and Beijing-time grouping.
Stopped CSS and newer entrance code from translating the same content twice and prevented delayed panels jumping back to their start.
Added entrances, menus, search, and contents feedback with cleanup and reduced-motion support, without an idle animated background.
Applied site-wide publication ordering and arranged mobile navigation as Home, Archive, About, Friends, and Journal, retaining top search.
Shipped locally reviewed refinements to featured text/cover balance, article contents, and newsletter typography and flow.
Consolidated settings into six sections with structured editing, separate saves, draft protection, and safer shortcuts.
Moved applied-filter notices to pagination and aligned the Reading label with neighboring navigation text.
Encrypted new attachments locally and required an unlocked reader action to fetch/decrypt, with relock cleanup and explicit limits for old public files.
Verified encrypted export, decryption, restore, expiration, and repeated restores in temporary storage, then cleaned it up without restoring to production.
Deferred embeds, avoided unrequested audio/video downloads, and released playback/decryption resources on departure.
Classified old comments by current article privacy and added explicit ownership/media review without automatic migrations or deletion.
Improved persistent cursors, incremental indexes, and merged directory paging without truncating results and claiming completeness.
Encrypted newly inserted private images locally with the body and used exact pagination cursors for larger management lists.
Gave verification/submission controls a full row and applied SQL filters and sorting before selecting a page.
Added submission-time verification and disposable D1 query projections, keeping original KV/Git authoritative with defined fallbacks.
Fixed form layouts and private-image cleanup; checked optional free services read-only without enabling paid resources when plan details were unknown.
Merged, filtered, and paginated friend records server-side; loaded public comment threads and replies in bounded pages.
Unified origin, size, timeout, and frequency checks; reused count/ranking snapshots and made counting read-only when a device marker cannot be saved.
Split the admin and two Workers into maintainable source sections and verified generated entrypoints against those sources.
Cleared editor/decryption state on departure or relock and added explicit historical-comment review instead of guessing ownership.
Unified status feedback, preserved mail-template drafts, and added local diagnosis without uploading private content or confusing diagnosis with publication.
Defaulted images to lazy loading, reserved known dimensions, and checked script/style/media/page sizes without blocking writing merely because the library grows.
Unified spacing, type, focus, and short feedback, reducing repeated frosted surfaces and clarifying writing, threads, Now, subscription, and metrics.
Reused bounded, complete read indexes to avoid rescanning on every page, with explicit expiration, failure, and limit feedback.
Aligned desktop/mobile navigation, searching, filters, pagination, bulk actions, export, and refresh feedback across management lists.
Rehearsed recovery without production access and tightened encrypted-body and unbound-comment access without changing original comments.
Separated public/admin CSS and loaded page-owned styles by route, with read-only build-history diagnosis.
Added multi-word search, composition-safe input, keyboard controls, fresh results on fast Enter, and revalidation of navigated HTML.
Separated public features into modules, unified lifecycle handling, canceled departed-page work, and preserved reading history.
Added scheduled/manual backups and distinguished rate limiting from exhausted daily allowance, including reset-aware scheduling and honest failure states.
Improved indexing, grouped search, bulk management, and cross-device publication history; hidden pages stop unnecessary queries.
Separated operational admin state while preserving comments and subscriptions, and added encrypted backups, integrity checks, and recovery preparation.
Bound tasks to exact commits and deployment results, distinguished saving from going live, and made notification delivery recoverable.
Fixed long-lived Service Worker navigation caches and established a basis for checking subsequent page updates.
Published an essay on judgment, verification, and responsibility as coding barriers fall, and refined the friend-page heading.
Separated saving from notifications to avoid blocking dialogs and added actual build states with cross-page recovery.
Connected editable application/review/offline templates and published approved directory data through GitHub JSON and Pages builds.
Added public search, categories, random discovery, applications, region records, and moderation, alongside direct admin management.
Replaced native dropdowns with custom selection dialogs and fixed the classification of older private comments.
Added editing, previews, and reset-to-default for all mail types; moved full allowances into settings and kept compact daily cards elsewhere.
Added privacy/category filters, ordering, pagination, and a dedicated searchable featured-article dialog.
Displayed the contact address beside its mail link and separated home, Now, and About locations.
Reserved the final daily send for a configurable warning address, then paused further ordinary consumption.
Allowed comments after unlocking, separated access credentials, and added a dedicated private-comment admin category.
Kept H2/H3 contents in body order and removed the article’s top progress bar, retaining the lower-left reading ring.
Added overview data, full-text search, status filters, ordering, pagination, CSV export, and a resubscription review queue.
Unsubscribed addresses must request restoration, receive author approval, and confirm again before receiving updates.
Added canonical URLs, share metadata, modified dates, structured data, noindex sitemap filtering, and deployment-time IndexNow notification.
Grouped Reading space and Reading stats into a top dropdown and shortened the development-journal navigation label.
Limited excerpts to 320 characters and forced safe wrapping so unbroken text could not stretch notification layouts.
Queued notification intent first and sent after successful deployment checks, with recent history and a manual verification entrance.
Added double opt-in, verification messages, unsubscribe links, subscriber management, region/source records, and optional article broadcasts.
Added the Python, Pillow, FFmpeg, Docker, Nginx, 1Panel, and Apple framework notices to the media-library article.
Recorded the abandoned iOS-style gallery and its influence on the media library’s local-first design.
Recorded the unfinished gateway and trade-offs between New API, protocol compatibility, CC Switch, Codex, and Xiaomi MiMo.
Organized the project history into a timeline, retained the complete commit archive, and added navigation.
Checked correct/incorrect passwords, admin unlocking, encrypted updates, and repository ciphertext, then removed the test article.
Excluded private articles from public discovery, related writing, reading statistics, and the locked discussion area.
Required unlocking before editing and re-encrypted updates while preserving the password.
Added per-article passwords and browser-side PBKDF2/AES-GCM encryption so locked pages contain ciphertext rather than plaintext bodies.
Fixed editor scrolling, expanding titles, obstructing drawers, and notices covering the toolbar.
Added desktop/mobile previews, search-summary previews, cover presets, live word/read-time counts, and local automatic backup recovery.
Rebuilt the editor into document navigation, a central writing canvas, and publication settings, with focus mode.
Removed the continuously running Canvas aurora in favor of a low-power paper texture and local lighting.
Added reading entrances, organized settings as a navigable workspace, and introduced reading composition and rankings.
Added local bookmarks, local history, public statistics, and device-deduplicated article counts.
Enabled editing Now, About, Threads & Trails, home-page text, locations, and the contact address from the admin.
Reworked mobile compositing and scrolling behavior to stop the article background flashing.
Added daily and monthly allowance details, remaining amounts, reset times, and usage indicators for the available service categories.
Connected Resend for branded moderation and reply email, including suppression of same-address reply notifications.
Added moderated comments, approval and rejection, deletion, province labels, random avatars, and threaded replies.
Added a featured-article setting, falling back to the latest article when the selection disappears or becomes a draft.
Fixed wrapping, type sizes, and geometry in the home feature and article header so long titles did not crowd covers or body text.
Published the development records of Henry Media Library and Henry Model Manager.
Published the macOS notch-app localization record and credited the original author and open-source source.
Added editable site settings, a local reading list, and JSON Feed, bringing configuration and reading entrances into a clearer structure.
Prevented repeated ranking and read-count requests and stopped page scripts from interfering with one another.
Moved toward more restrained typography and refined light-mode layers and the lower-power background.
Made the article list a true widescreen workspace with organized titles, summaries, filters, and row actions.
Split the admin into a wide desktop workspace and compact mobile interactions instead of one compromised shared layout.
Added the floating bottom navigation and search entrance, and refined admin toolbars, horizontal tools, and safe-area spacing.
Removed early test articles and fixed ranking initialization, zero values, and duplicate paths with trailing slashes.
Switched popular writing to real counts with invalid paths filtered out, and moved the mobile editing toolbar to the bottom.
Added a horizontal latest-writing area, collapsible archive years, dark-background fixes, a bottom-aligned footer, and floating admin controls.
Connected GitHub commit history so previous versions of each article could be inspected and restored.
Persisted active deployment state locally so page changes and refreshes could resume the actual build progress.
Placed build progress beneath the matching article row, with live-article links, building/success/failure states, and completion dismissal.
Replaced expensive blur and central hotspots with radial blending and transform animation to address scrolling performance.
Experimented with layered aurora effects, speeds, paths, and brightness, looking for breathing motion without scroll lag.
Reworked the hero line, single-line layout, metric colors, and count-up animation.
Added undo, redo, strikethrough, inline code, ordered lists, and clear formatting, then reorganized tool groups.
Added visual and Markdown editing with toolbars, paste and drag-in images, and synchronization between modes.
Refined home-page copy, publication confirmation, tag indexes, previous/next covers, and a new 404 page.
Used KV caching to reduce GitHub requests and optimistic updates to show newly published articles in the admin list.
Added autosave, shortcuts, pasted images, return-to-list after publishing, global errors, and local draft recovery.
Introduced cover artwork, statistics, scroll-aware navigation, reading links, and a fuller editorial home page.
Fixed the post-login overlay, cached admin scripts, editor view switching, and settings drawers.
Served Marked locally, added preview fallback, and consolidated the admin into a single entrance without an external CDN dependency.
Added the GitHub User-Agent, reliable article listing, and error handling for the earliest publishing failures.
Added article editing, drafts, GitHub writes, and automatic Cloudflare Pages deployment, making browser-only publication possible.
Established the first Astro version of Henry's Room, with home, article, archive, and about pages and an Apple-inspired visual foundation.
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