feat(new): enforce chat membership integrity

This commit is contained in:
ZacharyZhang-NY committed 2026-05-23 13:54:57 -04:00
1 parent 04e77d8905
commit 3a0f80d9a7
5 files changed
+281 -21

No files matched your search

@@ -127,6 +127,8 @@ export function ChatPage({ snapshot, actions }: PageProps) {
name: value(form, "name"),
topic: value(form, "topic"),
visibility: value(form, "visibility") as Visibility,
memberEmployeeIds: [employee.id, ...form.getAll("memberEmployeeIds").map(String)].filter(Boolean),
memberAgentIds: form.getAll("memberAgentIds").map(String).filter(Boolean),
})).then((result) => { if (result) setCreateOpen(false); });
};
@@ -207,6 +209,18 @@ export function ChatPage({ snapshot, actions }: PageProps) {
<option value="restricted">Restricted</option>
</select>
</Field>
<Field label="Employees">
<select className="input" name="memberEmployeeIds" multiple size={Math.max(1, Math.min(4, employees.length))}>
{employees.filter((item) => item.id !== employee.id).map((item) => (
<option key={item.id} value={item.id}>{item.displayName}</option>
))}
</select>
</Field>
<Field label="Agents">
<select className="input" name="memberAgentIds" multiple size={Math.max(1, Math.min(4, agents.length))}>
{agents.map((agent) => <option key={agent.id} value={agent.id}>{agent.name}</option>)}
</select>
</Field>
</Dialog>
</div>
);