[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#714557: emacs-jabber: conference messages aren't recorded in the history



Package: emacs-jabber
Version: 0.8.0-3

	Somewhat counter-intuitively, emacs-jabber’s “history” facility
	(:group 'jabber-history, (jabber) Message history) doesn’t
	record messages sent to or received via XMPP conferences (MUCs.)

	The incoming conference messages appear to be explicitly
	discarded in jabber-message-history (jabber-history.el), thanks
	to the (not (jabber-muc-message-p xml-data)) form:

    99	(add-to-list 'jabber-message-chain 'jabber-message-history)
   100	(defun jabber-message-history (jc xml-data)
   101	  "Log message to log file."
   102	  (when (and (not jabber-use-global-history)
   103		     (not (file-directory-p jabber-history-dir)))
   104	    (make-directory jabber-history-dir))

	OTOH, the outgoing messages are only passed to
	jabber-history-send-hook from jabber-chat-send via
	jabber-chat-send-hooks, while there appear to be no way to
	register hooks to run jabber-history-send-hook from
	jabber-muc-send (as used in the outgoing conference message
	processing path.)

   113	(add-hook 'jabber-chat-send-hooks 'jabber-history-send-hook)
   114	
   115	(defun jabber-history-send-hook (body id)
   116	  "Log outgoing message to log file."
   117	  (when (and (not jabber-use-global-history)
   118		     (not (file-directory-p jabber-history-dir)))
   119	    (make-directory jabber-history-dir))
   120	  ;; This function is called from a chat buffer, so jabber-chatting-with
   121	  ;; contains the desired value.
   122	  (if jabber-history-enabled
   123	      (jabber-history-log-message "out" nil jabber-chatting-with body (current-time))))

	Moreover, the jabber-chatting-with variable will be nil for
	conference chat buffers, so the jabber-history-log-message
	argument should probably be (or jabber-chatting-with
	jabber-group) instead.

-- 
FSF associate member #7257


Reply to: