From 367541044c65e02d1803a428aa2307dcd96e13f0 Mon Sep 17 00:00:00 2001 From: techartdev Date: Fri, 20 Feb 2026 23:10:32 +0200 Subject: [PATCH] Update version to 0.1.39 and align chat requests with OpenClaw session behavior --- CHANGELOG.md | 8 ++++++++ custom_components/openclaw/__init__.py | 3 ++- .../__pycache__/__init__.cpython-312.pyc | Bin 11025 -> 28898 bytes .../openclaw/__pycache__/api.cpython-312.pyc | Bin 17354 -> 17463 bytes custom_components/openclaw/api.py | 4 ++++ custom_components/openclaw/manifest.json | 2 +- www/openclaw-chat-card.js | 2 +- 7 files changed, 16 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5dbe60a..dfacc7a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,14 @@ All notable changes to the OpenClaw Home Assistant Integration will be documented in this file. +## [0.1.39] - 2026-02-20 + +### Fixed +- Aligned gateway chat requests with OpenClaw session behavior by sending OpenAI `user` with the stable session ID. +- Added `x-openclaw-session-key` request header for explicit session routing on OpenClaw gateways. +- Improves multi-turn continuity where `/v1/chat/completions` would otherwise default to stateless per-request sessions. +- Removed per-request chat-history replay to avoid unnecessary prompt growth when gateway session memory is active. + ## [0.1.37] - 2026-02-20 ### Fixed diff --git a/custom_components/openclaw/__init__.py b/custom_components/openclaw/__init__.py index 26a6f7e..5b0a610 100644 --- a/custom_components/openclaw/__init__.py +++ b/custom_components/openclaw/__init__.py @@ -78,7 +78,7 @@ _CARD_PATH = Path(__file__).parent / "www" / _CARD_FILENAME # URL at which the card JS is served (registered via register_static_path) _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.37" +_CARD_URL = f"{_CARD_STATIC_URL}?v=0.1.39" OpenClawConfigEntry = ConfigEntry @@ -386,6 +386,7 @@ def _async_register_services(hass: HomeAssistant) -> None: system_prompt = apply_context_policy(raw_context, max_chars, strategy) _append_chat_history(hass, session_id, "user", message) + response = await client.async_send_message( message=message, session_id=session_id, diff --git a/custom_components/openclaw/__pycache__/__init__.cpython-312.pyc b/custom_components/openclaw/__pycache__/__init__.cpython-312.pyc index b77594995eb3b901e8f7c66ea382bf3847cc81ae..69d0de4ce187ed350a85888fafef6dd4edb5890d 100644 GIT binary patch literal 28898 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 delta 4337 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 diff --git a/custom_components/openclaw/__pycache__/api.cpython-312.pyc b/custom_components/openclaw/__pycache__/api.cpython-312.pyc index 1e25152537b512ad1e4f841739a964302f7fa35c..8aff5c385a963c77aaeda3126ad93d0e9408466d 100644 GIT binary patch delta 1801 zcmZ9KZD>BPekchZf~ z8r4*d)~J$B#y3E4r;QB{V7C+bj6G!df7V~&j(LR1T=o(9=^ z;s}fHEXv27Rfk(1H?={*Qzu;`s=a7dWpxYu>DksGf5H*+Ie&$lF&atMz~bz=Vc0M{ z$Hvg^ZDCuu-R5O_);k_|6qRe_OT!JikyBL8vaBiPj50wd$SLj+nV>hh2^z001%1C! z*R#4)ts^IMh3wGaMC)j7bTmIwXg!geEIs#MrSv{r2@IOnUTd07&-cykhkpZ&^4ja| zv*{me6F-?-OM&1nI^9eA+UNpDQzE~>yO90|sZtU}qqBMS!RQ#Mg#nX;U+qN`Pp*o9PBEZ5VN$6R)$L>vTg znQ{oXQV#1J+uoPpmR;7qMsB&$h@9ZqY}UAW8|-ajf6hSY`mf*#74+*DRH1s&g37_A zP_o(-HPxu7n&3ew3O~3l@H}(?{2m_+g0(ev#6-Gs^lS4mZC*Qq$$T4$19!UFFlEUMSa=_Y>ff!7*nkq#a3MUu-=H z1e;3HmPd4YM}LCe-AU6H{_ZXp;{}^P6DA9-G;J3awsOeZx-u4SaVt&N3X5%9887+y zjKnWB&~#nRQiwy2_7FBvj`h@~UHozc>@cr3KUu7kHK=oVdw-m}=d|`m zxO)*Ja-8c=lpeQc1bPfwc08uTU`Z~~Wa;PRoYAMBwybsFu@zBbC^IPiusa!oFFFp> z;nF`H69zg1g*~U}MR>BOw|yQnE;5PpTJt7rdh{|z4LYB;sQK*J;n6WI5oGcXh9TP> zlCe^IORt0Z?&fJMeD*?ePhnC|#*ELH#QA}Nfxfs|)4M>g##VSHG1p)*I51MkZL|eo zh29%F9mU}#6n$&D700aN(o0VLEJ4rLTk91MtUSG?XLPcV?H|i&gJUBae$oH?L;LFY zYM0^c-mZv#d3X+9Lu5~L?#y~=`HD7Qo(o~W6)2bIj)lA0?Hytqp^W w@08~Z+tx42zM*`sF!pwSI5#prw$TR#c-q@ZuS4^`%hs%sHvLUdH7Cpe4|ZF$ga7~l delta 1682 zcmZ9MU2GIp6vywGnVsqEce`x&vv%3f?v@f;snyb@EU^7}==u?3QdFAS0c?O4r%TGm zE>$Xsk;um}f@#p0_=YB$P4r1)+ue4-m>6Hg_#pCXj2jytB${~7Y$29;_|Na&d(Qu! zJLhJ;JP)_t1pBu(o0;*)d+XZdyFH)VzxF~7zw@3~Oa-B!XbK+ibsOBEsrZR624?)h zH-;Zaf;i&$s@6kojOmuV3xAEcao*pI)@TEMe^ z{$}$6)0_pXX4V?S%KgL4%VxR?Ii^uW9z~T0$f^C6a7j8h^q+mNEXy&5r zv~3n<*>Q1{&BCYREF@jydoi8xltzLTD5V~`2Ji(gw~k{+C{Y><^}t-FXCMZPPr{zG zwAkzAyyR-h2HDc1u%};M>J*8$rL&5-+zDBbm%F+-mlKc`<#L-y+-~JDEP`qM;^ZMv=2VrDB7u(^|1-6&ko{n~E2BTE%B@uxlVJuGk#|E#gXx zi8w6s)d^GmyoRb=MS;Ou759dxjIPLWfSBjJGKp8FQF#NcGHZY##Vr zDH3y8)|=IM-&3>VZ;{PlLt8WvP&YKpl6OCdvg2aJXqcm5(NxWe)6sTNaUmLmMqG?$ z@SCXGGy@m<3O3E9seV?p7wp<5Y>ADy-3QqXq3%?47MyxV!KpRlT+9a^d_NWeFMbsZ zY*x9gdOvPn(CW2_^~(e7go=O1Min1-RW(13#uI$|*W&@M*W<^Mfr4wp-Ei@{p%z`I zT@T%jU}<~e1MuYZ1H2%;pX4CPE|OR9ueM3cB*$bxKg3`7*&~}2{V=T^!8ei@{ZoV! zBpS&y$vDYT>`0~MJmE1snwpgFa-2DazoeeU-u4)dh1yD2+V8+zYB&swTVPO<7CXG0 zm*kcqA6tsRpdv3tMdCzyND`N$Fld&SV_P|wUD6Pf${rZBHk7?0aUjF^LM51K9<)m< zUBCw`k6C#3$_^M3q?LY&^QtKD9aa?}HdD;%J}dC_Rr{8~w6fYO&{Q7~rzOr+fkLa2 zJk+dId4kPawJ5|*R9Mvw+^*Veu&-;lRlI3&4Ex2KeiL!4I2TRgHPJE$%*_6GkJYWh|5bfjokYp`8AjI)dYOjrkQk*IRwB1bnm0HN^8h2> zxHJ!WQ0B>|%*=_YiQ)WyeLO#{(}^C`NA~OI)i2>6JJZp#wBhq4qa?4A%#)lWIZyI7 zKArh}E^YGMY1~vZ@pnyT?$(+@)WDqnno4A5-f+!AWMz%+nvKZL%-%Hz(H?Yn%)vFqM!dEUmv { try { if (!customElements.get("openclaw-chat-card")) { - const src = "/openclaw/openclaw-chat-card.js?v=0.1.37"; + const src = "/openclaw/openclaw-chat-card.js?v=0.1.39"; console.info("OpenClaw loader importing", src); await import(src); }