@yahaha-studio/kichi-forwarder 0.1.2-beta.27 → 0.1.2-beta.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -222,7 +222,12 @@ export class KichiForwarderService {
222
222
  authKey: identity.authKey,
223
223
  };
224
224
  const result = await this.sendRequest(payload, "query_status_result");
225
- this.updateSmsLastActiveAt();
225
+ // Only mark the owner as active when they are actually present in Kichi.
226
+ // A plain status query (e.g. the hourly recall cron) must NOT refresh
227
+ // lastActiveAt, otherwise the offline check can never age past the window.
228
+ if (result.ownerState != null) {
229
+ this.updateSmsLastActiveAt();
230
+ }
226
231
  if (result.RoomContext && typeof result.RoomContext === "object") {
227
232
  this.cachedRoomContext = result.RoomContext;
228
233
  }
@@ -2,7 +2,7 @@
2
2
  "id": "kichi-forwarder",
3
3
  "name": "Kichi Forwarder",
4
4
  "description": "Native OpenClaw plugin for Kichi World with direct avatar control, status sync, timers, notes, and music tools",
5
- "version": "0.1.2-beta.27",
5
+ "version": "0.1.2-beta.28",
6
6
  "author": "OpenClaw",
7
7
  "skills": ["./skills/kichi-forwarder"],
8
8
  "contracts": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yahaha-studio/kichi-forwarder",
3
- "version": "0.1.2-beta.27",
3
+ "version": "0.1.2-beta.28",
4
4
  "description": "Native OpenClaw plugin for Kichi World with direct avatar control, status sync, timers, notes, and music tools",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
package/src/service.ts CHANGED
@@ -345,7 +345,12 @@ export class KichiForwarderService {
345
345
  authKey: identity.authKey,
346
346
  };
347
347
  const result = await this.sendRequest<QueryStatusResultPayload>(payload, "query_status_result");
348
- this.updateSmsLastActiveAt();
348
+ // Only mark the owner as active when they are actually present in Kichi.
349
+ // A plain status query (e.g. the hourly recall cron) must NOT refresh
350
+ // lastActiveAt, otherwise the offline check can never age past the window.
351
+ if (result.ownerState != null) {
352
+ this.updateSmsLastActiveAt();
353
+ }
349
354
  if (result.RoomContext && typeof result.RoomContext === "object") {
350
355
  this.cachedRoomContext = result.RoomContext as Record<string, unknown>;
351
356
  }