Files

18 lines
1.1 KiB
Diff

diff --git a/packages/webui/src/chat.mjs b/packages/webui/src/chat.mjs
index 1b0a41dce..311048755 100644
--- a/packages/webui/src/chat.mjs
+++ b/packages/webui/src/chat.mjs
@@ -13,9 +13,10 @@ import { BusReadError } from './bus.mjs';
export function createChat({ call, owner = null }) {
if (typeof call !== 'function') throw new TypeError('chat needs a bus transport function');
if (owner !== null && typeof owner !== 'function') throw new TypeError('chat owner must be a bus transport function');
- const dispatch = createChannelCaller({ name: 'webui', call: owner === null ? call : (verb, args) => verb === 'plugins' ? owner('plugins', {}) : call(verb, args) });
+ let last = {};
+ const dispatch = createChannelCaller({ name: 'webui', call: owner === null ? call : (verb, args) => verb === 'plugins' ? owner('plugins', last) : call(verb, args) });
const channel = async (verb, args) => {
- try { return await dispatch(verb, args); }
+ try { last = args; return await dispatch(verb, args); }
catch (err) {
if (err instanceof PluginError) throw new BusReadError(err.code, err.message);
throw err;