Repository navigation
v1.2.0
-
@lowdefy/modules-mongodb-plugins: ### Minor Changes
-
#313
07e7fddThanks @puffin-mrm! - A reply that finishes after the person leaves the page is kept. Only the browser saved the assistant's reply, when it finished streaming, so moving to another page mid-reply lost it, even though the agent finished on the server. The newsave-thread-on-finishendpoint stores the reply from the server. Set it as your agent'sonFinishhook:agents: - id: support hooks: onFinish: - ai-assistant/save-thread-on-finish
Each time the panel opens it re-reads the stored thread, so the finished reply is there, also when the chat was streaming when the person left. A page with the embedded chat gets the same by running
enterin itsonMountas well as itsonInit. A thread still waiting for its reply shows a one-line status above the chat, "The assistant is still replying.", with a Check again link.save-threadnow merges the history it is sent with the stored one rather than replacing it, so a reply the hook stored survives the browser's next save. The chat sendsknown_ids, the ids of every message it has held, and a stored message is dropped only when it is one of those. An app that callssave-threaditself withoutknown_idsgets the old behaviour: its history replaces the stored one.The
FloatingPanelblock'sonOpenevent now carries{ first }, true on the first open since the block mounted, when its children mount. -
@lowdefy/modules-mongodb-ai-assistant: ### Minor Changes
-
#313
07e7fddThanks @puffin-mrm! - A reply that finishes after the person leaves the page is kept. Only the browser saved the assistant's reply, when it finished streaming, so moving to another page mid-reply lost it, even though the agent finished on the server. The newsave-thread-on-finishendpoint stores the reply from the server. Set it as your agent'sonFinishhook:agents: - id: support hooks: onFinish: - ai-assistant/save-thread-on-finish
Each time the panel opens it re-reads the stored thread, so the finished reply is there, also when the chat was streaming when the person left. A page with the embedded chat gets the same by running
enterin itsonMountas well as itsonInit. A thread still waiting for its reply shows a one-line status above the chat, "The assistant is still replying.", with a Check again link.save-threadnow merges the history it is sent with the stored one rather than replacing it, so a reply the hook stored survives the browser's next save. The chat sendsknown_ids, the ids of every message it has held, and a stored message is dropped only when it is one of those. An app that callssave-threaditself withoutknown_idsgets the old behaviour: its history replaces the stored one.The
FloatingPanelblock'sonOpenevent now carries{ first }, true on the first open since the block mounted, when its children mount.
Patch Changes
-
#311
1bf629eThanks @puffin-mrm! - ai-assistant: opening the panel now shows the thread as it is stored, not the copy the page held from an earlier visit. Messages sent on another page, and a thread switched to there, show on going back without a refresh. A reply streaming on the page is left as it is. A page usingembeddedgets the same on each visit through theenterit already splices intoonMount. Nothing to change in your app. One difference to know: a new chat nobody has sent in yet is not stored, so closing and reopening the panel returns to the thread last opened. -
@lowdefy/modules-mongodb-support: ### Patch Changes
-
#309
7ed612dThanks @puffin-mrm! - My tickets is centred on wide screens, and its rows keep their columns in line. The page passescontent_width: 960to the layout page, so the title, filters and list sit in a centred 960px column rather than against the left edge. In each row the timestamp has a 128px right-aligned column, so "a few seconds ago" no longer runs into the row border, and the type, stage and organisation columns have fixed widths, truncating long values. Nothing to change in your app. -
@lowdefy/modules-mongodb-user-account: ### Patch Changes
-
#310
64f4b6fThanks @machielvdw! - Pressing "Accept and continue" on an invitation now goes straight into the app. Before, the accept page reloaded itself partway through and stopped on "You're already a member" until the invitee pressed "Go to app". Accepting makes the invitee a member, and the page called the join log before it refreshed its session, so Lowdefy saw the call answered as a different caller and reloaded the page. The page now refreshes the session first, on the accept path and on a retry of an already-accepted invitation. -
@lowdefy/modules-mongodb-user-admin: ### Patch Changes
-
#318
12b46dcThanks @machielvdw! - Admins can now reinstate a suspended user from the user detail page. When a user is suspended, the Security tile shows Reinstate access in place of Suspend access. It opens a confirm, lifts the ban through the existingreinstateendpoint, and refreshes the page so the status goes back to Active. Like Suspend, it sits behind thesuspensionvar.