From db4f57fc905662592ef138f23a7406e19fbc0dd4 Mon Sep 17 00:00:00 2001 From: Oliver Date: Sat, 8 Nov 2025 19:11:52 -0700 Subject: [PATCH] Add the special case for prompting all but the requesting user --- module/sockets/dataRequest.mjs | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/module/sockets/dataRequest.mjs b/module/sockets/dataRequest.mjs index a4e6cbf..34cd39f 100644 --- a/module/sockets/dataRequest.mjs +++ b/module/sockets/dataRequest.mjs @@ -20,26 +20,32 @@ export async function dataRequest(payload) { }; // null/undefined is a special case for "all users but me" by default - if (!Array.isArray(users) || users != null) { + if (users != null && !Array.isArray(users)) { ui.notifications.error(game.i18n.format( `taf.notifs.error.malformed-socket-payload`, { event: `query.prompt`, - details: ``, + details: `A list of users must be provided`, }), ); return; }; - if (!users.includes(game.user.id)) { return }; + if (users != null && !users.includes(game.user.id)) { return }; request.id = id; const result = await DialogManager.ask(request, config); - if (result.state === `fronted`) { return }; - if (result.state === `errored`) { - ui.notifications.error(result.error); + if (result.state === `fronted`) { return; + } else if (result.state === `errored`) { + ui.notifications.error(result.error); + } else if (result.state === `prompted`) { + game.socket.emit(`system.taf`, { + event: `query.submit`, + payload: { + id: request.id, + answers: result.answers, + }, + }); }; - - };