diff --git a/src/lib/WebVM.svelte b/src/lib/WebVM.svelte
index a11610c..8225df5 100644
--- a/src/lib/WebVM.svelte
+++ b/src/lib/WebVM.svelte
@@ -10,6 +10,7 @@
import { cpuActivity, diskActivity, cpuPercentage, diskLatency } from '$lib/activities.js'
import { introMessage, errorMessage, unexpectedErrorMessage } from '$lib/messages.js'
import { displayConfig } from '$lib/anthropic.js'
+ import { tryPlausible } from '$lib/plausible.js'
export let configObj = null;
export let processCallback = null;
@@ -237,7 +238,7 @@
// Raise the display to the foreground
const display = document.getElementById("display");
display.parentElement.style.zIndex = 5;
- plausible("Display activated");
+ tryPlausible("Display activated");
}
function handleProcessCreated()
{
@@ -263,7 +264,7 @@
if(configObj.diskImageUrl.startsWith(wssProtocol))
{
// WebSocket protocol failed, try agin using plain HTTP
- plausible("WS Disk failure");
+ tryPlausible("WS Disk failure");
blockDevice = await CheerpX.CloudDevice.create("https:" + configObj.diskImageUrl.substr(wssProtocol.length));
}
else
diff --git a/src/lib/anthropic.js b/src/lib/anthropic.js
index 7939701..d5a25aa 100644
--- a/src/lib/anthropic.js
+++ b/src/lib/anthropic.js
@@ -1,6 +1,7 @@
import { get, writable } from 'svelte/store';
import { browser } from '$app/environment'
import { aiActivity } from '$lib/activities.js'
+import { tryPlausible } from '$lib/plausible.js';
import Anthropic from '@anthropic-ai/sdk';
@@ -16,7 +17,7 @@ export function setApiKey(key)
messageList.set(messages);
localStorage.setItem("anthropic-api-key", key);
apiState.set("READY");
- plausible("ClaudeAI Key");
+ tryPlausible("ClaudeAI Key");
}
function clearApiKey()
@@ -131,7 +132,7 @@ export function addMessage(text, handleTool)
{
addMessageInternal('user', text);
sendMessages(handleTool);
- plausible("ClaudeAI Use");
+ tryPlausible("ClaudeAI Use");
}
export function clearMessageHistory() {
diff --git a/src/lib/plausible.js b/src/lib/plausible.js
new file mode 100644
index 0000000..bbdd724
--- /dev/null
+++ b/src/lib/plausible.js
@@ -0,0 +1,6 @@
+// Some ad-blockers block the plausible script from loading. Check if `plausible`
+// is defined before calling it.
+export function tryPlausible(msg) {
+ if (plausible)
+ plausible(msg)
+}
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
index bf07d92..fba3948 100644
--- a/src/routes/+page.svelte
+++ b/src/routes/+page.svelte
@@ -1,12 +1,13 @@
diff --git a/src/routes/alpine/+page.svelte b/src/routes/alpine/+page.svelte
index 6b3d090..29b8974 100644
--- a/src/routes/alpine/+page.svelte
+++ b/src/routes/alpine/+page.svelte
@@ -1,12 +1,13 @@