branch: elpa/jabber
commit a39f32bb1a2bd1d298e0f2d21866ae91538de898
Author: Thanos Apollo <[email protected]>
Commit: Thanos Apollo <[email protected]>

    omemo: Make trust UI depend on core
---
 lisp/jabber-chatbuffer.el        |  4 ++--
 lisp/jabber-omemo-trust.el       | 30 ++++++++++++++----------------
 lisp/jabber-omemo.el             | 12 ------------
 lisp/jabber.el                   |  1 -
 tests/jabber-test-menu.el        |  1 +
 tests/jabber-test-omemo-trust.el | 29 -----------------------------
 6 files changed, 17 insertions(+), 60 deletions(-)

diff --git a/lisp/jabber-chatbuffer.el b/lisp/jabber-chatbuffer.el
index 2dfba43121..55c9308e2f 100644
--- a/lisp/jabber-chatbuffer.el
+++ b/lisp/jabber-chatbuffer.el
@@ -117,7 +117,7 @@ previous sequence detect the mismatch and stop.")
                   (jc group))
 (declare-function jabber-omemo--muc-participant-jids "jabber-omemo"
                   (group participants))
-(declare-function jabber-omemo-fingerprints "jabber-omemo" ())
+(declare-function jabber-omemo-fingerprints "jabber-omemo-trust" ())
 (declare-function jabber-blocking-toggle-chat-peer "jabber-blocking" (jc))
 (declare-function jabber-get-info "jabber-info" (jc to))
 (declare-function jabber-roster-change "jabber-presence" (jc jid name groups))
@@ -343,7 +343,7 @@ Works for both 1:1 chat (`jabber-chatting-with') and MUC 
(`jabber-group')."
 (defun jabber-chat-show-fingerprints ()
   "Display OMEMO fingerprints for the current chat peer."
   (interactive)
-  (require 'jabber-omemo)
+  (require 'jabber-omemo-trust)
   (jabber-omemo-fingerprints))
 
 (defvar jabber-backlog-number)            ; jabber-db.el
diff --git a/lisp/jabber-omemo-trust.el b/lisp/jabber-omemo-trust.el
index 60b74b344a..ee7a4e4146 100644
--- a/lisp/jabber-omemo-trust.el
+++ b/lisp/jabber-omemo-trust.el
@@ -29,25 +29,10 @@
 
 (require 'cl-lib)
 (require 'jabber-util)
+(require 'jabber-omemo)
 (require 'jabber-omemo-store)
 (require 'keymap-popup)
 
-(declare-function jabber-omemo--format-fingerprint "jabber-omemo")
-(declare-function jabber-omemo--trust-label "jabber-omemo")
-(declare-function jabber-omemo--get-device-id "jabber-omemo")
-(declare-function jabber-omemo--get-store "jabber-omemo")
-(declare-function jabber-omemo-get-bundle "jabber-omemo")
-(declare-function jabber-omemo--fetch-device-list "jabber-omemo"
-                  (jc jid callback))
-(declare-function jabber-omemo--fetch-bundle "jabber-omemo"
-                  (jc jid device-id callback))
-(declare-function jabber-omemo--remove-device "jabber-omemo"
-                  (jc device-id &optional callback))
-(declare-function jabber-omemo--device-list-key "jabber-omemo"
-                  (account jid))
-(declare-function jabber-omemo--prefetch-sessions "jabber-omemo"
-                  (jc jid))
-
 (defvar jabber-chatting-with)
 (defvar jabber-buffer-connection)
 (defvar jabber-omemo--device-lists)
@@ -74,6 +59,9 @@ Returns the key without the first byte, or as-is if shorter 
than 2 bytes."
 
 ;;; Mode
 
+(eval-when-compile
+  (defvar jabber-omemo-trust-mode-map))
+
 (keymap-popup-define jabber-omemo-trust-mode-map
   "OMEMO trust commands."
   :description #'jabber-omemo-trust--menu-description
@@ -173,6 +161,16 @@ Returns the key without the first byte, or as-is if 
shorter than 2 bytes."
 
 ;;; Entry point
 
+(defun jabber-omemo-fingerprints ()
+  "Display OMEMO trust management for the current chat peer."
+  (interactive)
+  (unless (bound-and-true-p jabber-chatting-with)
+    (user-error "Not in a chat buffer"))
+  (jabber-omemo-show-trust jabber-buffer-connection jabber-chatting-with))
+
+(defalias 'jabber-omemo-trust-device #'jabber-omemo-fingerprints)
+(defalias 'jabber-omemo-untrust-device #'jabber-omemo-fingerprints)
+
 ;;;###autoload
 (defun jabber-omemo-show-trust (jc jid)
   "Display OMEMO trust management for JID via connection JC."
diff --git a/lisp/jabber-omemo.el b/lisp/jabber-omemo.el
index c1caa86d6b..52f3c243ae 100644
--- a/lisp/jabber-omemo.el
+++ b/lisp/jabber-omemo.el
@@ -38,7 +38,6 @@
 (require 'jabber-xml)
 (require 'jabber-hints)
 (require 'jabber-eme)
-(require 'jabber-omemo-trust)
 (require 'jabber-chat)
 (require 'jabber-db)
 
@@ -1531,17 +1530,6 @@ Called when OMEMO is enabled in a MUC buffer."
     (-1 "UNTRUSTED")
     (_ (format "unknown(%d)" level))))
 
-(defun jabber-omemo-fingerprints ()
-  "Display OMEMO trust management for the current chat peer.
-Opens a tabulated-list buffer with interactive trust controls."
-  (interactive)
-  (unless (bound-and-true-p jabber-chatting-with)
-    (user-error "Not in a chat buffer"))
-  (jabber-omemo-show-trust jabber-buffer-connection jabber-chatting-with))
-
-(defalias 'jabber-omemo-trust-device #'jabber-omemo-fingerprints)
-(defalias 'jabber-omemo-untrust-device #'jabber-omemo-fingerprints)
-
 ;;; Connect/disconnect hooks
 
 (defun jabber-omemo--maybe-rotate-signed-pre-key (jc)
diff --git a/lisp/jabber.el b/lisp/jabber.el
index be6d85f7f9..2e83c878a9 100644
--- a/lisp/jabber.el
+++ b/lisp/jabber.el
@@ -191,7 +191,6 @@ One disabled account with a non-standard port:
 (require 'jabber-receipts)
 (require 'jabber-rtt)
 (require 'jabber-vcard-avatars)
-(require 'jabber-omemo-trust)
 (require 'jabber-autoaway)
 (require 'jabber-time)
 (require 'jabber-truncate)
diff --git a/tests/jabber-test-menu.el b/tests/jabber-test-menu.el
index 79764cca34..a009dc482b 100644
--- a/tests/jabber-test-menu.el
+++ b/tests/jabber-test-menu.el
@@ -9,6 +9,7 @@
 (require 'ert)
 (require 'jabber)
 (require 'jabber-autoloads)
+(require 'jabber-omemo-trust)
 (require 'keymap-popup)
 
 ;;; Helpers
diff --git a/tests/jabber-test-omemo-trust.el b/tests/jabber-test-omemo-trust.el
index 150eeacadd..3b30328cdd 100644
--- a/tests/jabber-test-omemo-trust.el
+++ b/tests/jabber-test-omemo-trust.el
@@ -7,35 +7,6 @@
 ;;; Code:
 
 (require 'ert)
-(require 'jabber-omemo-store)
-
-;; Load the trust UI without triggering jabber-omemo's C module requirement.
-;; We mock the declare-function targets instead.
-(unless (fboundp 'jabber-omemo--format-fingerprint)
-  (defun jabber-omemo--format-fingerprint (identity-key)
-    "Test stub: format IDENTITY-KEY as hex pairs."
-    (mapconcat (lambda (byte) (format "%02X" byte))
-               identity-key " ")))
-
-(unless (fboundp 'jabber-omemo--trust-label)
-  (defun jabber-omemo--trust-label (level)
-    "Test stub: return label for trust LEVEL."
-    (pcase level
-      (0 "undecided")
-      (1 "TOFU")
-      (2 "verified")
-      (-1 "UNTRUSTED")
-      (_ (format "unknown(%d)" level)))))
-
-(unless (fboundp 'jabber-connection-bare-jid)
-  (defun jabber-connection-bare-jid (_jc) "[email protected]"))
-
-(unless (fboundp 'jabber-jid-user)
-  (defun jabber-jid-user (jid) (car (split-string jid "/"))))
-
-(unless (fboundp 'jabber-read-account)
-  (defun jabber-read-account () 'test-jc))
-
 (require 'jabber-omemo-trust)
 
 ;;; Group 1: trust label mapping

Reply via email to