KB: Kända problem
Aktuella kända problem och deras lösningar. Den här sidan uppdateras när problem identifieras och löses.
E-post: Ingen IMAP-återanslutning
Status: Öppen
E-postkanaladaptern pollar efter nya meddelanden var 30:e sekund via IMAP. Om IMAP-anslutningen bryts (nätverksavbrott, serveromstart, inaktiv timeout) misslyckas pollingslingan tyst och försöker inte återansluta.
Symptom:
- E-postkanalen slutar ta emot nya meddelanden
IMAP unseen email poll failedvisas i loggar- Ingen automatisk återhämtning
Lösning: Starta om daemonen:
bash
triggerfish stop && triggerfish startGrundorsak: IMAP-pollingslingan saknar återanslutningslogik. setInterval fortsätter att utlösas men varje poll misslyckas eftersom anslutningen är bruten.
Slack/Discord SDK: Asynkrona operationsläckor
Status: Känt uppströmsproblem
Slack-SDK:t (@slack/bolt) och Discord-SDK:t (discord.js) läcker asynkrona operationer vid import. Det påverkar tester (kräver sanitizeOps: false) men påverkar inte produktionsanvändning.
Symptom:
- Testfel med "leaking async ops" vid testning av kanaladaptrar
- Ingen produktionspåverkan
Lösning: Testfiler som importerar Slack- eller Discord-adaptrar måste ange:
typescript
Deno.test({
name: "test name",
sanitizeOps: false,
sanitizeResources: false,
fn: async () => { ... }
});Slack: Meddelandetrunkering istället för uppdelning
Status: Avsiktlig design
Slack-meddelanden trunkeras vid 40 000 tecken istället för att delas upp i flera meddelanden (som Telegram och Discord gör). Mycket långa agentsvar förlorar innehåll i slutet.
Lösning: Be agenten producera kortare svar, eller använd en annan kanal för uppgifter som genererar stor utdata.
WhatsApp: Alla användare behandlas som ägare när ownerPhone saknas
Status: Avsiktlig design (med varning)
Om fältet ownerPhone inte är konfigurerat för WhatsApp-kanalen behandlas alla meddelandesändare som ägaren, vilket ger dem full verktygstillgång.
Symptom:
WhatsApp ownerPhone not configured, defaulting to non-owner(loggvarning är faktiskt vilseledande; beteendet ger ägaråtkomst)- Vilken WhatsApp-användare som helst kan komma åt alla verktyg
Lösning: Ange alltid ownerPhone:
yaml
channels:
whatsapp:
ownerPhone: "+1234567890"systemd: PATH uppdateras inte efter verktygsinstallation
Status: Avsiktlig design
Systemd-enheten fångar din skal-PATH vid daemoninstallationstillfället. Om du installerar nya verktyg (MCP-serverbinärer, npx osv.) efter att ha installerat daemonen hittar daemonen dem inte.
Symptom:
- MCP-servrar misslyckas med att starta
- Verktygsbinärer "hittades ej" även om de fungerar i din terminal
Lösning: Ominstallera daemonen för att uppdatera den fångade PATH:
bash
triggerfish stop
triggerfish dive --install-daemonDet gäller även launchd (macOS).
Webbläsare: Flatpak Chrome CDP-begränsningar
Status: Plattformsbegränsning
Vissa Flatpak-byggen av Chrome eller Chromium begränsar flaggan --remote-debugging-port, vilket förhindrar Triggerfish från att ansluta via Chrome DevTools Protocol.
Symptom:
CDP endpoint on port X not ready after Yms- Webbläsaren startar men Triggerfish kan inte kontrollera den
Lösning: Installera Chrome eller Chromium som ett inbyggt paket istället för Flatpak:
bash
# Fedora
sudo dnf install chromium
# Ubuntu/Debian
sudo apt install chromium-browserDocker: Volymrättigheter med Podman
Status: Plattformsspecifikt
När Podman används med rootless-containrar kan UID-mappningen förhindra containern (som körs som UID 65534) från att skriva till datavolymen.
Symptom:
Permission denied-fel vid uppstart- Kan inte skapa konfigurationsfil, databas eller loggar
Lösning: Använd monteringsflaggan :Z för SELinux-ometikettering och se till att volumkatalogen är skrivbar:
bash
podman run -v triggerfish-data:/data:Z ...Eller skapa volymen med korrekt ägarskap. Hitta först volymmonteringssökvägen och ändra sedan ägarskap:
bash
podman volume create triggerfish-data
podman volume inspect triggerfish-data # Notera "Mountpoint"-sökvägen
podman unshare chown 65534:65534 /sökväg/från/ovanWindows: .NET Framework csc.exe hittades ej
Status: Plattformsspecifikt
Windows-installationsverktyget kompilerar ett C#-tjänsteomskript vid installeringstillfället. Om csc.exe inte hittas (saknat .NET Framework eller icke-standardinstallationssökväg) misslyckas tjänsteinstallationen.
Symptom:
- Installationsverktyget är klart men tjänsten är inte registrerad
triggerfish statusvisar att tjänsten inte finns
Lösning: Installera .NET Framework 4.x, eller kör Triggerfish i förgrundsläge:
powershell
triggerfish runHåll terminalen öppen. Daemonen körs tills du stänger den.
CalDAV: ETag-konflikter med samtidiga klienter
Status: Avsiktlig design (CalDAV-specifikation)
Vid uppdatering eller borttagning av kalenderhändelser använder CalDAV ETags för optimistisk concurrencykontroll. Om en annan klient (telefonapp, webbgränssnitt) ändrade händelsen mellan din läsning och din skrivning misslyckas operationen:
ETag mismatch — the event was modified by another client. Fetch the latest version and retry.Lösning: Agenten bör automatiskt försöka igen genom att hämta den senaste händelseversionen. Om den inte gör det, be den "hämta den senaste versionen av händelsen och försök igen."
Minnesfallback: Hemligheter förlorade vid omstart
Status: Avsiktlig design
När TRIGGERFISH_SECRETS_MEMORY_FALLBACK=true används lagras hemligheter enbart i minnet och förloras när daemonen startar om. Det här läget är bara avsett för testning.
Symptom:
- Hemligheter fungerar tills daemonens omstart
- Efter omstart:
Secret not found-fel
Lösning: Konfigurera en riktig hemlighetsbakänd. På headless Linux, installera gnome-keyring:
bash
sudo apt install gnome-keyring libsecret-tools
eval $(gnome-keyring-daemon --start --components=secrets)Google OAuth: Refresh-token utfärdas inte vid omauktorisering
Status: Google API-beteende
Google utfärdar bara en refresh-token vid den första auktoriseringen. Om du tidigare har auktoriserat appen och kör triggerfish connect google igen får du en access-token men ingen refresh-token.
Symptom:
- Google API fungerar initialt men misslyckas efter att access-token löper ut (1 timme)
No refresh token-fel
Lösning: Återkalla appens åtkomst först och auktorisera sedan om:
- Gå till Google-kontobehörigheter
- Hitta Triggerfish och klicka på "Remove Access"
- Kör
triggerfish connect googleigen - Google utfärdar nu en ny refresh-token
Rapportera nya problem
Om du stöter på ett problem som inte listas här, kontrollera sidan GitHub Issues. Om det inte redan är rapporterat, rapportera ett nytt ärende enligt rapporteringsguiden.
