Update version to 0.1.43 and enhance conversation continuity with stable fallback session IDs
This commit is contained in:
+18
@@ -0,0 +1,18 @@
|
|||||||
|
# Python bytecode and cache
|
||||||
|
__pycache__/
|
||||||
|
*.py[cod]
|
||||||
|
*$py.class
|
||||||
|
|
||||||
|
# Common virtual environments
|
||||||
|
.venv/
|
||||||
|
venv/
|
||||||
|
env/
|
||||||
|
|
||||||
|
# Tool caches
|
||||||
|
.pytest_cache/
|
||||||
|
.mypy_cache/
|
||||||
|
.ruff_cache/
|
||||||
|
|
||||||
|
# OS/editor noise
|
||||||
|
.DS_Store
|
||||||
|
Thumbs.db
|
||||||
@@ -2,6 +2,12 @@
|
|||||||
|
|
||||||
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.43] - 2026-02-21
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Improved Home Assistant Assist conversation continuity by using stable fallback session IDs when `conversation_id` is missing.
|
||||||
|
- Assist now falls back to per-user (`assist_user_*`) or per-device (`assist_device_*`) session keys instead of a single generic default.
|
||||||
|
|
||||||
## [0.1.42] - 2026-02-21
|
## [0.1.42] - 2026-02-21
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|||||||
@@ -92,7 +92,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.42"
|
_CARD_URL = f"{_CARD_STATIC_URL}?v=0.1.43"
|
||||||
|
|
||||||
OpenClawConfigEntry = ConfigEntry
|
OpenClawConfigEntry = ConfigEntry
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -107,7 +107,7 @@ class OpenClawConversationAgent(conversation.AbstractConversationAgent):
|
|||||||
coordinator: OpenClawCoordinator = entry_data["coordinator"]
|
coordinator: OpenClawCoordinator = entry_data["coordinator"]
|
||||||
|
|
||||||
message = user_input.text
|
message = user_input.text
|
||||||
conversation_id = user_input.conversation_id or "default"
|
conversation_id = self._resolve_conversation_id(user_input)
|
||||||
assistant_id = "conversation"
|
assistant_id = "conversation"
|
||||||
options = self.entry.options
|
options = self.entry.options
|
||||||
include_context = options.get(
|
include_context = options.get(
|
||||||
@@ -189,6 +189,22 @@ class OpenClawConversationAgent(conversation.AbstractConversationAgent):
|
|||||||
conversation_id=conversation_id,
|
conversation_id=conversation_id,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def _resolve_conversation_id(self, user_input: conversation.ConversationInput) -> str:
|
||||||
|
"""Return conversation id from HA or a stable Assist fallback session key."""
|
||||||
|
if user_input.conversation_id:
|
||||||
|
return user_input.conversation_id
|
||||||
|
|
||||||
|
context = getattr(user_input, "context", None)
|
||||||
|
user_id = getattr(context, "user_id", None)
|
||||||
|
if user_id:
|
||||||
|
return f"assist_user_{user_id}"
|
||||||
|
|
||||||
|
device_id = getattr(user_input, "device_id", None)
|
||||||
|
if device_id:
|
||||||
|
return f"assist_device_{device_id}"
|
||||||
|
|
||||||
|
return "assist_default"
|
||||||
|
|
||||||
async def _get_response(
|
async def _get_response(
|
||||||
self,
|
self,
|
||||||
client: OpenClawApiClient,
|
client: OpenClawApiClient,
|
||||||
|
|||||||
@@ -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.42",
|
"version": "0.1.43",
|
||||||
"dependencies": ["conversation"],
|
"dependencies": ["conversation"],
|
||||||
"after_dependencies": ["hassio", "lovelace"]
|
"after_dependencies": ["hassio", "lovelace"]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
(async () => {
|
(async () => {
|
||||||
try {
|
try {
|
||||||
if (!customElements.get("openclaw-chat-card")) {
|
if (!customElements.get("openclaw-chat-card")) {
|
||||||
const src = "/openclaw/openclaw-chat-card.js?v=0.1.42";
|
const src = "/openclaw/openclaw-chat-card.js?v=0.1.43";
|
||||||
console.info("OpenClaw loader importing", src);
|
console.info("OpenClaw loader importing", src);
|
||||||
await import(src);
|
await import(src);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user