Skip to content

Commit fcfe5c1

Browse files
Merge pull request AUTOMATIC1111#12877 from zixaphir/removeExtraNetworksFromPrompt_fix
account for customizable extra network separators in remove code
2 parents a0e979b + 26d0d87 commit fcfe5c1

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

javascript/extraNetworks.js

+10-4
Original file line numberDiff line numberDiff line change
@@ -140,14 +140,15 @@ function setupExtraNetworks() {
140140

141141
onUiLoaded(setupExtraNetworks);
142142

143-
var re_extranet = /<([^:]+:[^:]+):[\d.]+>(.*)/;
144-
var re_extranet_g = /\s+<([^:]+:[^:]+):[\d.]+>/g;
143+
var re_extranet = /<([^:^>]+:[^:]+):[\d.]+>(.*)/;
144+
var re_extranet_g = /<([^:^>]+:[^:]+):[\d.]+>/g;
145145

146146
function tryToRemoveExtraNetworkFromPrompt(textarea, text) {
147147
var m = text.match(re_extranet);
148148
var replaced = false;
149149
var newTextareaText;
150150
if (m) {
151+
var extraTextBeforeNet = opts.extra_networks_add_text_separator;
151152
var extraTextAfterNet = m[2];
152153
var partToSearch = m[1];
153154
var foundAtPosition = -1;
@@ -161,8 +162,13 @@ function tryToRemoveExtraNetworkFromPrompt(textarea, text) {
161162
return found;
162163
});
163164

164-
if (foundAtPosition >= 0 && newTextareaText.substr(foundAtPosition, extraTextAfterNet.length) == extraTextAfterNet) {
165-
newTextareaText = newTextareaText.substr(0, foundAtPosition) + newTextareaText.substr(foundAtPosition + extraTextAfterNet.length);
165+
if (foundAtPosition >= 0) {
166+
if (newTextareaText.substr(foundAtPosition, extraTextAfterNet.length) == extraTextAfterNet) {
167+
newTextareaText = newTextareaText.substr(0, foundAtPosition) + newTextareaText.substr(foundAtPosition + extraTextAfterNet.length);
168+
}
169+
if (newTextareaText.substr(foundAtPosition - extraTextBeforeNet.length, extraTextBeforeNet.length) == extraTextBeforeNet) {
170+
newTextareaText = newTextareaText.substr(0, foundAtPosition - extraTextBeforeNet.length) + newTextareaText.substr(foundAtPosition);
171+
}
166172
}
167173
} else {
168174
newTextareaText = textarea.value.replaceAll(new RegExp(text, "g"), function(found) {

0 commit comments

Comments
 (0)