Update version to 0.1.53, fix chat scrolling issues, and prevent scroll anchoring artifacts
This commit is contained in:
@@ -2,6 +2,13 @@
|
|||||||
|
|
||||||
All notable changes to the OpenClaw Home Assistant Integration will be documented in this file.
|
All notable changes to the OpenClaw Home Assistant Integration will be documented in this file.
|
||||||
|
|
||||||
|
## [0.1.53] - 2026-02-23
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Fixed chat scrolling UP to an older message instead of staying at the bottom when a bot reply arrives.
|
||||||
|
- Eliminated requestAnimationFrame race condition in `_scrollToBottom()` that caused `_autoScrollPinned` to be incorrectly set to false when rapid re-renders overlapped.
|
||||||
|
- Added `overflow-anchor: none` to the messages container to prevent browser scroll anchoring artifacts after innerHTML replacement.
|
||||||
|
|
||||||
## [0.1.52] - 2026-02-23
|
## [0.1.52] - 2026-02-23
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ _CARD_PATH = Path(__file__).parent / "www" / _CARD_FILENAME
|
|||||||
# URL at which the card JS is served (registered via register_static_path)
|
# URL at which the card JS is served (registered via register_static_path)
|
||||||
_CARD_STATIC_URL = f"/openclaw/{_CARD_FILENAME}"
|
_CARD_STATIC_URL = f"/openclaw/{_CARD_FILENAME}"
|
||||||
# Versioned URL used for Lovelace resource registration to avoid stale browser cache
|
# Versioned URL used for Lovelace resource registration to avoid stale browser cache
|
||||||
_CARD_URL = f"{_CARD_STATIC_URL}?v=0.1.52"
|
_CARD_URL = f"{_CARD_STATIC_URL}?v=0.1.53"
|
||||||
|
|
||||||
OpenClawConfigEntry = ConfigEntry
|
OpenClawConfigEntry = ConfigEntry
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
"iot_class": "local_polling",
|
"iot_class": "local_polling",
|
||||||
"issue_tracker": "https://github.com/techartdev/OpenClawHomeAssistant/issues",
|
"issue_tracker": "https://github.com/techartdev/OpenClawHomeAssistant/issues",
|
||||||
"requirements": [],
|
"requirements": [],
|
||||||
"version": "0.1.52",
|
"version": "0.1.53",
|
||||||
"dependencies": ["conversation"],
|
"dependencies": ["conversation"],
|
||||||
"after_dependencies": ["hassio", "lovelace"]
|
"after_dependencies": ["hassio", "lovelace"]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
* + subscribes to openclaw_message_received events.
|
* + subscribes to openclaw_message_received events.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const CARD_VERSION = "0.3.10";
|
const CARD_VERSION = "0.3.11";
|
||||||
|
|
||||||
// Max time (ms) to show the thinking indicator before falling back to an error
|
// Max time (ms) to show the thinking indicator before falling back to an error
|
||||||
const THINKING_TIMEOUT_MS = 120_000;
|
const THINKING_TIMEOUT_MS = 120_000;
|
||||||
@@ -1782,12 +1782,10 @@ class OpenClawChatCard extends HTMLElement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_scrollToBottom(force = false) {
|
_scrollToBottom(force = false) {
|
||||||
requestAnimationFrame(() => {
|
const container = this.shadowRoot?.querySelector(".messages");
|
||||||
const container = this.shadowRoot?.querySelector(".messages");
|
if (container && (force || this._autoScrollPinned)) {
|
||||||
if (container && (force || this._autoScrollPinned)) {
|
container.scrollTop = container.scrollHeight;
|
||||||
container.scrollTop = container.scrollHeight;
|
}
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_formatTime(isoString) {
|
_formatTime(isoString) {
|
||||||
@@ -1909,6 +1907,7 @@ class OpenClawChatCard extends HTMLElement {
|
|||||||
.messages {
|
.messages {
|
||||||
height: ${config.height || "500px"};
|
height: ${config.height || "500px"};
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
|
overflow-anchor: none;
|
||||||
padding: 12px 16px;
|
padding: 12px 16px;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|||||||
Reference in New Issue
Block a user