diff --git a/CHANGELOG.md b/CHANGELOG.md index 3b085b9..c65589c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,30 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.0.19] - 2026-07-27 + +### Fixed + +- Live Activity, Board, channel Threads, global Threads, Texts, Memory, and + channel-settings refreshes now keep the current surface visible until fresh + data arrives, ignore stale async paints, and restore focused controls, + cursor selection, unsaved values, scroll positions, and open or deliberately + closed disclosures by stable identity. +- Activity remembers the selected filter and expanded evidence across live + events, Board lane and Texts conversation scrollers retain their reading + position, and sidebar/header status updates no longer steal focus or reset + navigation state. +- Background skill-catalog changes no longer close and reopen Settings. The + open Skills page stays untouched and offers an explicit **Refresh when + ready** action so searches, drafts, focus, and scroll remain user-owned. + +### Tests + +- Browser regressions now trigger real WebSocket updates while a user owns a + Texts draft, Activity evidence, channel-settings cursor selection, Board + card, or global Threads position, and prove every state remains stable while + the incoming data and Markdown update in place. + ## [0.0.18] - 2026-07-27 ### Added @@ -532,7 +556,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 notarization, stapled tickets, Gatekeeper verification, persistent Application Support, and isolated Apple container machines. -[Unreleased]: https://github.com/gitcommit90/1Helm/compare/v0.0.18...HEAD +[Unreleased]: https://github.com/gitcommit90/1Helm/compare/v0.0.19...HEAD +[0.0.19]: https://github.com/gitcommit90/1Helm/releases/tag/v0.0.19 [0.0.18]: https://github.com/gitcommit90/1Helm/releases/tag/v0.0.18 [0.0.17]: https://github.com/gitcommit90/1Helm/releases/tag/v0.0.17 [0.0.16]: https://github.com/gitcommit90/1Helm/releases/tag/v0.0.16 diff --git a/README.md b/README.md index be8fd1b..9852cda 100644 --- a/README.md +++ b/README.md @@ -296,7 +296,7 @@ A fresh data directory opens first-run setup. The source runtime defaults to | `PORT` | `8123` | HTTP/WebSocket control-plane port. | | `CTRL_DATA_DIR` | `./data` | Databases, routing state, uploads, and narrow workspace mirrors. | | `HELM_CHANNEL_COMPUTER_BACKEND` | `apple` on macOS, `lxc` on Linux, `wsl` on Windows | Host isolation backend; `native` and `mock` are explicit development/test overrides. | -| `HELM_CHANNEL_MACHINE_IMAGE` | `local/1helm-channel-machine:0.0.18` | Versioned channel-machine image contract. | +| `HELM_CHANNEL_MACHINE_IMAGE` | `local/1helm-channel-machine:0.0.19` | Versioned channel-machine image contract. | ### Agent-first JSON CLI diff --git a/ios/App/App.xcodeproj/project.pbxproj b/ios/App/App.xcodeproj/project.pbxproj index 8b3c78b..5fc83d5 100644 --- a/ios/App/App.xcodeproj/project.pbxproj +++ b/ios/App/App.xcodeproj/project.pbxproj @@ -302,14 +302,14 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_ENTITLEMENTS = App/App.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 18; + CURRENT_PROJECT_VERSION = 19; INFOPLIST_FILE = App/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 15.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 0.0.18; + MARKETING_VERSION = 0.0.19; OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" \"-DDEBUG\""; PRODUCT_BUNDLE_IDENTIFIER = com.gitcommit90.onehelm.mobile; PRODUCT_NAME = 1Helm; @@ -326,14 +326,14 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_ENTITLEMENTS = App/App.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 18; + CURRENT_PROJECT_VERSION = 19; INFOPLIST_FILE = App/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 15.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 0.0.18; + MARKETING_VERSION = 0.0.19; PRODUCT_BUNDLE_IDENTIFIER = com.gitcommit90.onehelm.mobile; PRODUCT_NAME = 1Helm; SWIFT_ACTIVE_COMPILATION_CONDITIONS = ""; diff --git a/package-lock.json b/package-lock.json index 317d9ee..62be752 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "1helm", - "version": "0.0.18", + "version": "0.0.19", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "1helm", - "version": "0.0.18", + "version": "0.0.19", "hasInstallScript": true, "license": "AGPL-3.0-only", "dependencies": { diff --git a/package.json b/package.json index 802095d..a9f0fe7 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "1helm", "productName": "1Helm", - "version": "0.0.18", + "version": "0.0.19", "private": true, "type": "module", "license": "AGPL-3.0-only", diff --git a/public/index.html b/public/index.html index 3741997..2b59c1a 100644 --- a/public/index.html +++ b/public/index.html @@ -36,6 +36,6 @@
- +