wakatime / wakatime-mode

Emacs plugin for automatic time tracking and metrics generated from your programming activity.
https://wakatime.com/emacs
267 stars 41 forks source link

Wakatime-mode outputs error on heartbeat update cmd `(error "WakaTime Error (9) Make sure this command runs in a Terminal:`... #74

Closed anoduck closed 5 months ago

anoduck commented 5 months ago

error "WakaTime Error (9) Make sure this command runs in a Terminal:...

I have tried to ignore and work around this error for over a month, because I like the folks at Wakatime, good people. Unfortunately, it does not appear the error will go away.

Preliminaries:

Preliminary system information.

Versioning

OS=OpenBSD Current Snapshot (7.4+) Emacs=29.1 Wakatime-mode=5483d91 Shell=Zsh 5.9.0.1-dev wakatime-cli=1.88.7 wakatime-zsh=e0d1dfc

Emacs Error Message

cond: WakaTime Error (9) Make sure this command runs in a Terminal: ~/.wakatime/wakatime-cli --entity /home/user/.emacs.d/init.d/lsp.el --plugin "emacs-wakatime/1.0.2" --time 1706218686.95Invalid face attribute :foreground nil

You can ignore the error Invalid face attribute :foreground nil that got pasted to the end there.

Emacs Debugger Output

Debugger entered--Lisp error: (error "WakaTime Error (9) Make sure this command runs in ...")
  signal(error ("WakaTime Error (9) Make sure this command runs in ..."))
  error("WakaTime Error (%s) Make sure this command runs in..." 9 "~/.wakatime/wakatime-cli --entity /home/user/...")
  (cond ((= exit-status 103) (error "WakaTime Error (%s) Config file parse error. Check..." exit-status)) ((= exit-status 104) (error "WakaTime Error (%s) Invalid API Key. Set your api ..." exit-status)) ((= exit-status 105) (error "WakaTime Error (%s) Unknown wakatime-cli error. Pl..." exit-status)) ((= exit-status 106) (error "WakaTime Error (%s) Malformed heartbeat error. Ple..." exit-status)) (t (error "WakaTime Error (%s) Make sure this command runs in..." exit-status (wakatime-client-command nil))))
  (progn (when wakatime-disable-on-error (wakatime-mode -1) (global-wakatime-mode -1)) (cond ((= exit-status 103) (error "WakaTime Error (%s) Config file parse error. Check..." exit-status)) ((= exit-status 104) (error "WakaTime Error (%s) Invalid API Key. Set your api ..." exit-status)) ((= exit-status 105) (error "WakaTime Error (%s) Unknown wakatime-cli error. Pl..." exit-status)) ((= exit-status 106) (error "WakaTime Error (%s) Malformed heartbeat error. Ple..." exit-status)) (t (error "WakaTime Error (%s) Make sure this command runs in..." exit-status (wakatime-client-command nil)))))
  (if (and (not (= 0 exit-status)) (not (= 102 exit-status)) (not (= 112 exit-status))) (progn (when wakatime-disable-on-error (wakatime-mode -1) (global-wakatime-mode -1)) (cond ((= exit-status 103) (error "WakaTime Error (%s) Config file parse error. Check..." exit-status)) ((= exit-status 104) (error "WakaTime Error (%s) Invalid API Key. Set your api ..." exit-status)) ((= exit-status 105) (error "WakaTime Error (%s) Unknown wakatime-cli error. Pl..." exit-status)) ((= exit-status 106) (error "WakaTime Error (%s) Malformed heartbeat error. Ple..." exit-status)) (t (error "WakaTime Error (%s) Make sure this command runs in..." exit-status (wakatime-client-command nil))))))
  (when (and (not (= 0 exit-status)) (not (= 102 exit-status)) (not (= 112 exit-status))) (when wakatime-disable-on-error (wakatime-mode -1) (global-wakatime-mode -1)) (cond ((= exit-status 103) (error "WakaTime Error (%s) Config file parse error. Check..." exit-status)) ((= exit-status 104) (error "WakaTime Error (%s) Invalid API Key. Set your api ..." exit-status)) ((= exit-status 105) (error "WakaTime Error (%s) Unknown wakatime-cli error. Pl..." exit-status)) ((= exit-status 106) (error "WakaTime Error (%s) Malformed heartbeat error. Ple..." exit-status)) (t (error "WakaTime Error (%s) Make sure this command runs in..." exit-status (wakatime-client-command nil)))))
  (let ((exit-status (process-exit-status process))) (when (and (not (= 0 exit-status)) (not (= 102 exit-status)) (not (= 112 exit-status))) (when wakatime-disable-on-error (wakatime-mode -1) (global-wakatime-mode -1)) (cond ((= exit-status 103) (error "WakaTime Error (%s) Config file parse error. Check..." exit-status)) ((= exit-status 104) (error "WakaTime Error (%s) Invalid API Key. Set your api ..." exit-status)) ((= exit-status 105) (error "WakaTime Error (%s) Unknown wakatime-cli error. Pl..." exit-status)) ((= exit-status 106) (error "WakaTime Error (%s) Malformed heartbeat error. Ple..." exit-status)) (t (error "WakaTime Error (%s) Make sure this command runs in..." exit-status (wakatime-client-command nil))))))
  (progn (kill-buffer (process-buffer process)) (let ((exit-status (process-exit-status process))) (when (and (not (= 0 exit-status)) (not (= 102 exit-status)) (not (= 112 exit-status))) (when wakatime-disable-on-error (wakatime-mode -1) (global-wakatime-mode -1)) (cond ((= exit-status 103) (error "WakaTime Error (%s) Config file parse error. Check..." exit-status)) ((= exit-status 104) (error "WakaTime Error (%s) Invalid API Key. Set your api ..." exit-status)) ((= exit-status 105) (error "WakaTime Error (%s) Unknown wakatime-cli error. Pl..." exit-status)) ((= exit-status 106) (error "WakaTime Error (%s) Malformed heartbeat error. Ple..." exit-status)) (t (error "WakaTime Error (%s) Make sure this command runs in..." exit-status (wakatime-client-command nil)))))))
  (if (memq (process-status process) '(exit signal)) (progn (kill-buffer (process-buffer process)) (let ((exit-status (process-exit-status process))) (when (and (not (= 0 exit-status)) (not (= 102 exit-status)) (not (= 112 exit-status))) (when wakatime-disable-on-error (wakatime-mode -1) (global-wakatime-mode -1)) (cond ((= exit-status 103) (error "WakaTime Error (%s) Config file parse error. Check..." exit-status)) ((= exit-status 104) (error "WakaTime Error (%s) Invalid API Key. Set your api ..." exit-status)) ((= exit-status 105) (error "WakaTime Error (%s) Unknown wakatime-cli error. Pl..." exit-status)) ((= exit-status 106) (error "WakaTime Error (%s) Malformed heartbeat error. Ple..." exit-status)) (t (error "WakaTime Error (%s) Make sure this command runs in..." exit-status (wakatime-client-command nil))))))))
  (when (memq (process-status process) '(exit signal)) (kill-buffer (process-buffer process)) (let ((exit-status (process-exit-status process))) (when (and (not (= 0 exit-status)) (not (= 102 exit-status)) (not (= 112 exit-status))) (when wakatime-disable-on-error (wakatime-mode -1) (global-wakatime-mode -1)) (cond ((= exit-status 103) (error "WakaTime Error (%s) Config file parse error. Check..." exit-status)) ((= exit-status 104) (error "WakaTime Error (%s) Invalid API Key. Set your api ..." exit-status)) ((= exit-status 105) (error "WakaTime Error (%s) Unknown wakatime-cli error. Pl..." exit-status)) ((= exit-status 106) (error "WakaTime Error (%s) Malformed heartbeat error. Ple..." exit-status)) (t (error "WakaTime Error (%s) Make sure this command runs in..." exit-status (wakatime-client-command nil)))))))
  (lambda (process signal) (when (memq (process-status process) '(exit signal)) (kill-buffer (process-buffer process)) (let ((exit-status (process-exit-status process))) (when (and (not (= 0 exit-status)) (not (= 102 exit-status)) (not (= 112 exit-status))) (when wakatime-disable-on-error (wakatime-mode -1) (global-wakatime-mode -1)) (cond ((= exit-status 103) (error "WakaTime Error (%s) Config file parse error. Check..." exit-status)) ((= exit-status 104) (error "WakaTime Error (%s) Invalid API Key. Set your api ..." exit-status)) ((= exit-status 105) (error "WakaTime Error (%s) Unknown wakatime-cli error. Pl..." exit-status)) ((= exit-status 106) (error "WakaTime Error (%s) Malformed heartbeat error. Ple..." exit-status)) (t (error "WakaTime Error (%s) Make sure this command runs in..." exit-status ...)))))))(#<process Shell> "killed\n")

Emacs Configuration

(use-package wakatime-mode
  :straight
  (wakatime
   :type git
   :host github
   :repo "wakatime/wakatime-mode")
  :config
  (setq wakatime-disable-on-error +1)
  (setq wakatime-api-key "waka_xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx")
  (setq wakatime-cli-path "~/.wakatime/wakatime-cli")
  (global-wakatime-mode +1))

Troubleshooting efforts

anoduck commented 5 months ago

Correction

It is a client issue, and not an emacs package issue. Therefore, I am closing this issue report, and creating a new one in wakatime-cli.