flying-lobster 1.9.21 → 1.9.23
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.
- package/package.json +1 -1
- package/src/main/index.js +2 -3
- package/src/main/telemetry.js +7 -18
package/package.json
CHANGED
package/src/main/index.js
CHANGED
|
@@ -3,7 +3,7 @@ const path = require('path');
|
|
|
3
3
|
const store = require('./store');
|
|
4
4
|
const { randomUUID } = require('crypto');
|
|
5
5
|
const updater = require('./updater');
|
|
6
|
-
const
|
|
6
|
+
const { initTelemetry } = require('./telemetry');
|
|
7
7
|
|
|
8
8
|
// CSS to inject into OpenClaw webview to create chat-only view
|
|
9
9
|
const OPENCLAW_CSS = `
|
|
@@ -829,8 +829,7 @@ app.whenReady().then(() => {
|
|
|
829
829
|
registerHotkey();
|
|
830
830
|
|
|
831
831
|
// Initialize anonymous telemetry (first launch only)
|
|
832
|
-
|
|
833
|
-
telemetry.init(); // Fire-and-forget, never blocks startup
|
|
832
|
+
initTelemetry(); // Fire-and-forget, never blocks startup
|
|
834
833
|
|
|
835
834
|
// Initialize auto-updater
|
|
836
835
|
updater.registerIpcHandlers();
|
package/src/main/telemetry.js
CHANGED
|
@@ -3,8 +3,7 @@ const os = require('os');
|
|
|
3
3
|
const path = require('path');
|
|
4
4
|
|
|
5
5
|
// GoatCounter configuration
|
|
6
|
-
const GOAT_COUNTER_URL = 'https://cnijh.goatcounter.com/
|
|
7
|
-
const GOAT_COUNTER_TOKEN = process.env.GOATCOUNTER_TOKEN || '1ulvabyoz7ybu12ahf8gcm3zvh1dyicwtchtziw1wk01ynt2jy2w';
|
|
6
|
+
const GOAT_COUNTER_URL = 'https://cnijh.goatcounter.com/count';
|
|
8
7
|
|
|
9
8
|
// Telemetry flag file path (in user's home directory)
|
|
10
9
|
const TELEMETRY_FLAG_FILE = path.join(os.homedir(), '.flying-lobster-telemetry');
|
|
@@ -64,25 +63,15 @@ async function sendTelemetry() {
|
|
|
64
63
|
try {
|
|
65
64
|
const systemInfo = getSystemInfo();
|
|
66
65
|
|
|
67
|
-
const
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
path: "flying-lobster/install",
|
|
71
|
-
title: "Flying Lobster Install",
|
|
72
|
-
event: true,
|
|
73
|
-
query: `version=${systemInfo.version}&platform=${systemInfo.platform}&arch=${systemInfo.arch}`
|
|
74
|
-
}]
|
|
75
|
-
};
|
|
66
|
+
const eventPath = `flying-lobster/install`;
|
|
67
|
+
const query = `version=${systemInfo.version}&platform=${systemInfo.platform}&arch=${systemInfo.arch}`;
|
|
68
|
+
const url = `${GOAT_COUNTER_URL}?p=${encodeURIComponent(eventPath)}&t=${encodeURIComponent('Flying Lobster Install')}&e=true&q=${encodeURIComponent(query)}`;
|
|
76
69
|
|
|
77
70
|
console.log('[Telemetry] Sending install analytics...');
|
|
78
71
|
|
|
79
|
-
const response = await fetch(
|
|
80
|
-
method: '
|
|
81
|
-
headers: {
|
|
82
|
-
'Content-Type': 'application/json',
|
|
83
|
-
'Authorization': `Bearer ${GOAT_COUNTER_TOKEN}`
|
|
84
|
-
},
|
|
85
|
-
body: JSON.stringify(payload)
|
|
72
|
+
const response = await fetch(url, {
|
|
73
|
+
method: 'GET',
|
|
74
|
+
headers: { 'User-Agent': `FlyingLobster/${systemInfo.version}` }
|
|
86
75
|
});
|
|
87
76
|
|
|
88
77
|
if (response.ok) {
|