Skip to content

Commit 32ab842

Browse files
authored
guard against set title twice (#1283)
1 parent 681a4a1 commit 32ab842

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

packages/ai-bot/lib/set-title.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ export const getLatestPatchApplyMessage = (
119119
return [];
120120
};
121121

122-
const roomTitleAlreadySet = (rawEventLog: DiscreteMatrixEvent[]) => {
122+
export const roomTitleAlreadySet = (rawEventLog: DiscreteMatrixEvent[]) => {
123123
return (
124124
rawEventLog.filter((event) => event.type === 'm.room.name').length > 1 ??
125125
false

packages/ai-bot/main.ts

+9-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,11 @@ import {
1616
getTools,
1717
isPatchReactionEvent,
1818
} from './helpers';
19-
import { shouldSetRoomTitle, setTitle } from './lib/set-title';
19+
import {
20+
shouldSetRoomTitle,
21+
setTitle,
22+
roomTitleAlreadySet,
23+
} from './lib/set-title';
2024
import { handleDebugCommands } from './lib/debug';
2125
import { sendError, sendOption, sendMessage } from './lib/matrix';
2226
import { OpenAIError } from 'openai/error';
@@ -293,9 +297,13 @@ Common issues are:
293297
undefined,
294298
);
295299
try {
300+
//TODO: optimise this so we don't need to sync room events within a reaction event
296301
let initial = await client.roomInitialSync(room!.roomId, 1000);
297302
let eventList = (initial!.messages?.chunk || []) as DiscreteMatrixEvent[];
298303
let history: DiscreteMatrixEvent[] = constructHistory(eventList);
304+
if (roomTitleAlreadySet(eventList)) {
305+
return;
306+
}
299307
return await assistant.setTitle(room, history, event);
300308
} catch (e) {
301309
log.error(e);

0 commit comments

Comments
 (0)