Skip to content

v5.2.1

Choose a tag to compare

@github-actions github-actions released this 18 Aug 20:52
· 79 commits to main since this release
61570d2

Patch Changes

  • 9cb9394: fix(conv): let the dashboard change an email channel's SMTP/IMAP password

    POST /v1/conversations/channels/email was wired to EmailAdminTools.setupChannel, which hardcodes rejectSecrets: true so passwords can never enter through an agent conversation. The control plane inherited that restriction, so saving the channel edit dialog with a password typed in failed with conv_invalid: secret fields (outbound.password, inbound.password) cannot be accepted through this tool — and there was no other dashboard path to rotate a password once a channel was active.

    The controller now calls the new EmailService.configureChannel directly (no flag), matching how the generic vendor-channel and connector controllers already sit next to their MCP tools. Agents still get the credential-link flow: the tool passes rejectSecrets: true on both create and update.

    updateChannel also recomputes activation: an update that leaves a required SMTP or IMAP password missing — adding an inbound mailbox to an outbound-only channel, say — now sets active: false instead of leaving a channel advertised as active that the poll and delivery workers can only fail on. It never activates, since active: false also means operator-paused or auto-deactivated after repeated polling failures; entering the missing password (credential link or dashboard) is what turns the channel back on.

  • f646c5d: Reactivate an auto-deactivated email channel by fixing and saving it.

    A channel that failed inbound polling five times is switched off and the card offered a filled Activate button inside the alert row, stacked above the outline Edit button in the footer — two competing action rows. The alert row is now diagnosis only (message plus the failure detail on its own line), and Activate sits next to Edit in the card footer.

    The card also states its severity the way the awaiting-credentials card already did: SettingsCard takes an accent of 'pending' or 'error' instead of a pending boolean, so a deactivated channel gets a red top rule and a degrading one an amber rule. The redundant second status dot in front of the alert message is gone — the status line above it already carries the colour.

    Norwegian copy for the polling alerts reads properly now: "Auto-deaktivert etter 5 feilede henteforsøk" became "Slått av etter 5 mislykkede forsøk på henting" — "feilede" is the wrong adjective form and "henteforsøk" is a constructed compound, and "Innkommende henting feiler" became "Henting feiler · 3/5 · slås av ved 5" on the card and "Henting av nye meldinger feiler på «…»" in the needs-attention banner.

    Fixed alongside: a failed IMAP credential probe left an ImapFlow client with no error listener, so the socket timing out minutes later emitted an unhandled error event and killed the backend process. The probe now attaches a listener and closes the client in a finally, matching what the inbound poll adapter already did.

    Saving an update to a channel that is currently deactivated now re-tests the stored credentials through the existing SMTP/IMAP probe: the channel is reactivated (and its alert resolved) when both connect, and otherwise stays deactivated with the connection errors returned in the response's probe field, which the edit dialog surfaces instead of silently flipping the channel back on with credentials that still fail. This applies to conv_configure_email_channel as well as the dashboard. The explicit Activate button remains for the case where nothing was wrong with the config — a mailbox that was down, a provider that throttled.

    • @getmunin/inspector-app@5.2.1
    • @getmunin/core@5.2.1
    • @getmunin/db@5.2.1
    • @getmunin/types@5.2.1
    • @getmunin/mcp-toolkit@5.2.1
    • @getmunin/agent-runtime@5.2.1
    • @getmunin/emails@5.2.1
  • f646c5d: Reactivate an auto-deactivated email channel by fixing and saving it.

    A channel that failed inbound polling five times is switched off and the card offered a filled Activate button inside the alert row, stacked above the outline Edit button in the footer — two competing action rows. The alert row is now diagnosis only (message plus the failure detail on its own line), and Activate sits next to Edit in the card footer.

    The card also states its severity the way the awaiting-credentials card already did: SettingsCard takes an accent of 'pending' or 'error' instead of a pending boolean, so a deactivated channel gets a red top rule and a degrading one an amber rule. The redundant second status dot in front of the alert message is gone — the status line above it already carries the colour.

    Norwegian copy for the polling alerts reads properly now: "Auto-deaktivert etter 5 feilede henteforsøk" became "Slått av etter 5 mislykkede forsøk på henting" — "feilede" is the wrong adjective form and "henteforsøk" is a constructed compound, and "Innkommende henting feiler" became "Henting feiler · 3/5 · slås av ved 5" on the card and "Henting av nye meldinger feiler på «…»" in the needs-attention banner.

    Fixed alongside: a failed IMAP credential probe left an ImapFlow client with no error listener, so the socket timing out minutes later emitted an unhandled error event and killed the backend process. The probe now attaches a listener and closes the client in a finally, matching what the inbound poll adapter already did.

    Saving an update to a channel that is currently deactivated now re-tests the stored credentials through the existing SMTP/IMAP probe: the channel is reactivated (and its alert resolved) when both connect, and otherwise stays deactivated with the connection errors returned in the response's probe field, which the edit dialog surfaces instead of silently flipping the channel back on with credentials that still fail. This applies to conv_configure_email_channel as well as the dashboard. The explicit Activate button remains for the case where nothing was wrong with the config — a mailbox that was down, a provider that throttled.

    • @getmunin/types@5.2.1
    • @getmunin/ui@5.2.1

Published packages

  • @getmunin/analytics-tracker@5.2.1
  • @getmunin/chat-widget@5.2.1
  • @getmunin/agent-host@5.2.1
  • @getmunin/agent-runtime@5.2.1
  • @getmunin/backend-core@5.2.1
  • @getmunin/core@5.2.1
  • @getmunin/dashboard-pages@5.2.1
  • @getmunin/db@5.2.1
  • @getmunin/docs-pages@5.2.1
  • @getmunin/emails@5.2.1
  • @getmunin/inspector-app@5.2.1
  • @getmunin/mcp-toolkit@5.2.1
  • @getmunin/sdk@5.2.1
  • @getmunin/types@5.2.1
  • @getmunin/ui@5.2.1