Skip to content

v1.2.0

Choose a tag to compare

@github-actions github-actions released this 26 Oct 12:42
59725f4
  • @lowdefy/modules-mongodb-plugins: ### Minor Changes

  • #313 07e7fdd Thanks @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 new save-thread-on-finish endpoint stores the reply from the server. Set it as your agent's onFinish hook:

    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 enter in its onMount as well as its onInit. 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-thread now 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 sends known_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 calls save-thread itself without known_ids gets the old behaviour: its history replaces the stored one.

    The FloatingPanel block's onOpen event now carries { first }, true on the first open since the block mounted, when its children mount.

  • @lowdefy/modules-mongodb-ai-assistant: ### Minor Changes

  • #313 07e7fdd Thanks @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 new save-thread-on-finish endpoint stores the reply from the server. Set it as your agent's onFinish hook:

    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 enter in its onMount as well as its onInit. 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-thread now 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 sends known_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 calls save-thread itself without known_ids gets the old behaviour: its history replaces the stored one.

    The FloatingPanel block's onOpen event now carries { first }, true on the first open since the block mounted, when its children mount.

Patch Changes

  • #311 1bf629e Thanks @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 using embedded gets the same on each visit through the enter it already splices into onMount. 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 7ed612d Thanks @puffin-mrm! - My tickets is centred on wide screens, and its rows keep their columns in line. The page passes content_width: 960 to 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 64f4b6f Thanks @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 12b46dc Thanks @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 existing reinstate endpoint, and refreshes the page so the status goes back to Active. Like Suspend, it sits behind the suspension var.