Show a joined channel's web tab whichever reply comes first (closes #193) #196

Merged
clawbot merged 1 commits from issue-193-web-join-tab into next 2026-10-27 04:30:42 +01:00
+12 -3
View File
@@ -858,14 +858,23 @@ function App() {
method: "POST",
body: JSON.stringify({ command: "JOIN", to: name }),
});
// Show the channel's tab. Preact runs this update at once on the
// newest tab list, so the tab is found there by name: the user's
// own JOIN event may already have added it, and other tabs may
// have closed.
setTabs((prev) => {
if (prev.find((t) => t.type === "channel" && t.name === name))
const idx = prev.findIndex(
(t) => t.type === "channel" && t.name === name,
);
if (idx >= 0) {
setActiveTab(idx);
return prev;
}
setActiveTab(prev.length);
return [...prev, { type: "channel", name }];
});
const newIdx = tabsRef.current.length;
setActiveTab(newIdx);
try {
const hist = await api(
`/history?target=${encodeURIComponent(name)}&limit=50`,