Merge pull request #3743 from BrendanMcCauley/3710 Fix activatePooledorder()
Signed| @@ -882,7 +882,7 @@ async function generateGroupWrapper(by_auto_mode, type = null, params = {}) { | ||
| 882 | 882 | activatedMembers = activateListOrder(enabledMembers); |
| 883 | 883 | } |
| 884 | 884 | else if (activationStrategy === group_activation_strategy.POOLED) { |
| 885 | 885 | activatedMembers = activatePooledOrder(enabledMembers, lastMessage, isUserInput); |
| 886 | 886 | } |
| 887 | 887 | else if (activationStrategy === group_activation_strategy.MANUAL && !isUserInput) { |
| 888 | 888 | activatedMembers = shuffle(enabledMembers).slice(0, 1).map(x => characters.findIndex(y => y.avatar === x)).filter(x => x !== -1); |
| @@ -1030,16 +1030,17 @@ function activateListOrder(members) { | ||
| 1030 | 1030 | * Activate group members based on the last message. |
| 1031 | 1031 | * @param {string[]} members List of member avatars |
| 1032 | 1032 | * @param {Object} lastMessage Last message |
| 1033 | + * @param {boolean} isUserInput Whether the user has input text | |
| 1033 | 1034 | * @returns {number[]} List of character ids |
| 1034 | 1035 | */ |
| 1035 | 1036 | function activatePooledOrder(members, lastMessage, isUserInput) { |
| 1036 | 1037 | /** @type {string} */ |
| 1037 | 1038 | let activatedMember = null; |
| 1038 | 1039 | /** @type {string[]} */ |
| 1039 | 1040 | const spokenSinceUser = []; |
| 1040 | 1041 | |
| 1041 | 1042 | for (const message of chat.slice().reverse()) { |
| 1042 | 1043 | if (message.is_user || isUserInput) { |
| 1043 | 1044 | break; |
| 1044 | 1045 | } |
| 1045 | 1046 | |