Function: eca-chat-load-older-history
eca-chat-load-older-history is an interactive and natively compiled
function defined in eca-chat.el.
Signature
(eca-chat-load-older-history)
Documentation
Load and prepend the previous (older) page of this chat's history.
Key Bindings
eca-chat-mode-map C-c C-S-o
Source Code
;; Defined in /nix/store/jklqzw6pzz6j4jrbv8wy0iwgi7jlrbld-emacs-packages-deps/share/emacs/site-lisp/elpa/eca-20260928.1827/eca-chat.el
(defun eca-chat-load-older-history ()
"Load and prepend the previous (older) page of this chat's history."
(interactive)
(let ((session (eca-session))
(buffer (current-buffer))
(chat-id eca-chat--id))
(cond
((not eca-chat--history-before-cursor)
(message "No older messages to load."))
(eca-chat--history-loading
(message "Already loading older messages…"))
(t
(setq-local eca-chat--history-loading t)
(eca-api-request-async
session
:method "chat/history"
:params (append (list :chatId chat-id
:before eca-chat--history-before-cursor)
(when eca-chat-history-page-size
(list :limit eca-chat-history-page-size)))
:success-callback
(lambda (res)
(when (buffer-live-p buffer)
(eca-chat--with-current-buffer buffer
(setq-local eca-chat--history-loading nil)
(if-let* ((err (plist-get res :error)))
(if (string= (plist-get err :code) "cursor_expired")
(message "Chat history changed; reopen the chat to continue paging.")
(message "Failed to load older messages: %s" (plist-get err :message)))
(progn
(eca-chat--render-history-contents session buffer (append (plist-get res :contents) nil))
(eca-chat--apply-history-meta (plist-get res :meta))
(eca-chat--refresh-load-older-control)
(eca-chat--protect-non-prompt))))))
:error-callback
(lambda (err)
(when (buffer-live-p buffer)
(eca-chat--with-current-buffer buffer
(setq-local eca-chat--history-loading nil)
(message "Failed to load older messages: %s" err)))))))))