script cache fix
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.20] - 2026-02-20
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Added versioned card resource URL (`/openclaw/openclaw-chat-card.js?v=...`) to reduce stale frontend caching issues.
|
||||||
|
- Added runtime source diagnostics (`import.meta.url`) in card console output to verify which script file is actually loaded.
|
||||||
|
- Updated root loader shim to import versioned card bundle URL.
|
||||||
|
|
||||||
## [0.1.19] - 2026-02-20
|
## [0.1.19] - 2026-02-20
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|||||||
@@ -70,8 +70,10 @@ _MAX_CHAT_HISTORY = 200
|
|||||||
# Path to the chat card JS inside the integration package (custom_components/openclaw/www/)
|
# Path to the chat card JS inside the integration package (custom_components/openclaw/www/)
|
||||||
_CARD_FILENAME = "openclaw-chat-card.js"
|
_CARD_FILENAME = "openclaw-chat-card.js"
|
||||||
_CARD_PATH = Path(__file__).parent / "www" / _CARD_FILENAME
|
_CARD_PATH = Path(__file__).parent / "www" / _CARD_FILENAME
|
||||||
# URL at which the card JS will be served (registered via register_static_path)
|
# URL at which the card JS is served (registered via register_static_path)
|
||||||
_CARD_URL = f"/openclaw/{_CARD_FILENAME}"
|
_CARD_STATIC_URL = f"/openclaw/{_CARD_FILENAME}"
|
||||||
|
# Versioned URL used for Lovelace resource registration to avoid stale browser cache
|
||||||
|
_CARD_URL = f"{_CARD_STATIC_URL}?v=0.1.20"
|
||||||
|
|
||||||
type OpenClawConfigEntry = ConfigEntry
|
type OpenClawConfigEntry = ConfigEntry
|
||||||
|
|
||||||
@@ -259,13 +261,13 @@ async def _async_register_static_path(hass: HomeAssistant) -> str | None:
|
|||||||
from homeassistant.components.http import StaticPathConfig # noqa: PLC0415
|
from homeassistant.components.http import StaticPathConfig # noqa: PLC0415
|
||||||
|
|
||||||
await hass.http.async_register_static_paths(
|
await hass.http.async_register_static_paths(
|
||||||
[StaticPathConfig(_CARD_URL, str(_CARD_PATH), cache_headers=True)]
|
[StaticPathConfig(_CARD_STATIC_URL, str(_CARD_PATH), cache_headers=True)]
|
||||||
)
|
)
|
||||||
except (ImportError, AttributeError):
|
except (ImportError, AttributeError):
|
||||||
hass.http.register_static_path(_CARD_URL, str(_CARD_PATH), True)
|
hass.http.register_static_path(_CARD_STATIC_URL, str(_CARD_PATH), True)
|
||||||
|
|
||||||
hass.data[static_key] = True
|
hass.data[static_key] = True
|
||||||
_LOGGER.debug("Registered static path: %s", _CARD_URL)
|
_LOGGER.debug("Registered static path: %s", _CARD_STATIC_URL)
|
||||||
return _CARD_URL
|
return _CARD_URL
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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.19",
|
"version": "0.1.20",
|
||||||
"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.2.0";
|
const CARD_VERSION = "0.2.1";
|
||||||
|
|
||||||
// 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;
|
||||||
@@ -1055,3 +1055,5 @@ console.info(
|
|||||||
"color: white; background: #2563eb; font-weight: bold; padding: 2px 6px; border-radius: 4px 0 0 4px;",
|
"color: white; background: #2563eb; font-weight: bold; padding: 2px 6px; border-radius: 4px 0 0 4px;",
|
||||||
"color: #2563eb; background: #e5e7eb; font-weight: bold; padding: 2px 6px; border-radius: 0 4px 4px 0;"
|
"color: #2563eb; background: #e5e7eb; font-weight: bold; padding: 2px 6px; border-radius: 0 4px 4px 0;"
|
||||||
);
|
);
|
||||||
|
|
||||||
|
console.info("OPENCLAW-CHAT-CARD source", import.meta.url);
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
(async () => {
|
(async () => {
|
||||||
try {
|
try {
|
||||||
if (!customElements.get("openclaw-chat-card")) {
|
if (!customElements.get("openclaw-chat-card")) {
|
||||||
await import("/openclaw/openclaw-chat-card.js");
|
const src = "/openclaw/openclaw-chat-card.js?v=0.1.20";
|
||||||
|
console.info("OpenClaw loader importing", src);
|
||||||
|
await import(src);
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error("OpenClaw: failed to load chat card bundle from /openclaw/openclaw-chat-card.js", err);
|
console.error("OpenClaw: failed to load chat card bundle from /openclaw/openclaw-chat-card.js", err);
|
||||||
|
|||||||
Reference in New Issue
Block a user