yuya373 / emacs-slack

slack client for emacs
1.1k stars 117 forks source link

Can't open direct message from Slack User Profile buffer #573

Open jumper047 opened 1 year ago

jumper047 commented 1 year ago

Describe the bug I'm trying to write a message to the account I don't have conversations before - I opened profile via slack-user-select, and pressed button "[Open Direct Message]". Instead of conversation buffer I got an error - (wrong-type-argument (or eieio-object class) nil obj). If I repeat these steps with account I wrote earlier (and it can be selected with function slack-im-select), everything works as expected.

To Reproduce Steps to reproduce the behavior:

  1. Select user you never chatted with function slack-user-select
  2. In User Profile buffer, activate button [Open Direct Messages]
  3. See the error

Backtrace

Debugger entered--Lisp error: (wrong-type-argument (or eieio-object class) nil obj)
  #<subr eieio-oref>(nil id)
  eieio-oref--closql-oref(#<subr eieio-oref> nil id)
  apply(eieio-oref--closql-oref #<subr eieio-oref> (nil id))
  eieio-oref(nil id)
  #f(compiled-function (class room) #<bytecode 0x18055c9a7cc12e24>)(slack-message-buffer nil)
  apply(#f(compiled-function (class room) #<bytecode 0x18055c9a7cc12e24>) slack-message-buffer nil)
  slack-buffer-key(slack-message-buffer nil)
  apply(slack-buffer-key slack-message-buffer nil)
  #f(compiled-function (class team &rest args) #<bytecode -0x11ec7b76b0a56eac>)(slack-message-buffer #<slack-team slack-team-1577e3f84108> nil)
  apply(#f(compiled-function (class team &rest args) #<bytecode -0x11ec7b76b0a56eac>) slack-message-buffer (#<slack-team slack-team-1577e3f84108> nil))
  slack-buffer-find(slack-message-buffer #<slack-team slack-team-1577e3f84108> nil)
  slack-room-display(nil #<slack-team slack-team-1577e3f84108>)
  #f(compiled-function (this) #<bytecode -0x4227e374f97bde3>)(#<slack-user-profile-buffer slack-user-profile-buffer-1577e107f838>)
  apply(#f(compiled-function (this) #<bytecode -0x4227e374f97bde3>) #<slack-user-profile-buffer slack-user-profile-buffer-1577e107f838> nil)
  slack-buffer-display-im(#<slack-user-profile-buffer slack-user-profile-buffer-1577e107f838>)
  slack-user-profile-buffer-display-im()
  funcall-interactively(slack-user-profile-buffer-display-im)
  call-interactively(slack-user-profile-buffer-display-im nil nil)
  command-execute(slack-user-profile-buffer-display-im)

Expected behavior Conversation buffer should appear

Environment: