The Instabug alternative.
Bring support and product together. Connect customer questions, bug reports and feature requests in Gleap. Give your team the context to answer, investigate and build the changes customers need.
Bring support and product together. Connect customer questions, bug reports and feature requests in Gleap. Give your team the context to answer, investigate and build the changes customers need.
Lukas assigned this ticket to themself.
Lukas Boehler
Answer customers. Investigate issues. Build what comes next. Kai Support is on every plan; Kai Resolve, Kai Code and Kai PM are on Team and up. AI usage is billed separately on every plan.
Answers customers
Answers from your knowledge base and connected sources. Brings your team in when needed.
Investigates hard tickets
Reads logs, the click trail, screenshots and code. Returns findings and prepares coding tasks for confirmed bugs.
Builds the fix
Plans the change, writes and tests code, and opens a pull request. Your engineers review and merge.
Prioritizes requests
Triages feedback, finds duplicates and scores requests. You decide what belongs on the roadmap.
@@ -42,7 +42,15 @@ NotificationsDrawer const { items } = useNotifications();− useEffect(() => { if (open) refetch(); });+ const socket = useNotificationSocket();+ useEffect(() => {+ if (!open) return;+ return socket.on('notification:new',+ (n) => setItems((p) => [n, ...p]));+ }, [open, socket]); return <Drawer open={open}>
@@ -8,6 +8,18 @@ useNotificationSocket const socket = useSocket();+ const on = useCallback((evt, fn) => {+ socket.on(evt, fn);+ return () => socket.off(evt, fn);+ }, [socket]);− return socket;+ return { on };
@@ -0,0 +1,4 @@+ it('appends a pushed notification',+ async () => {+ render(<NotificationsDrawer open />);+ socket.emit('notification:new', n);+ expect(await findByText(n.title))+ .toBeVisible();