Skip to content

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 20 Oct 16:36
6ebcd80
  • @lowdefy/modules-mongodb-plugins: ### Minor Changes

  • #306 6006ed7 Thanks @puffin-mrm! - A viewer can pick their notification sound. The NotificationSound block takes sounds, a list of { id, title, description?, src? }: the first is the default, a sound without src is the chirp, and a pick that is no longer offered falls back to the first. Sound files play through the same Web Audio context as the chirp, so the viewer's first click or key press unlocks them for live notifications too. With picker: true the block draws a dropdown of the sounds, each with a button to hear it; picking one stores it in the browser beside the on/off setting, turns the sound on and plays it. While the sound is off the dropdown reads offLabel ("Off"), and the Sound switch turns it off.

    Pass the list through the notifications module's new sounds var, which reaches the page-wide player and the inbox's Sound switch:

    - id: notifications
      vars:
        sounds:
          _ref: sounds.yaml # [{ id: chirp, title: Chirp }, { id: bell, title: Bell, src: /sounds/bell.mp3 }]

    To let the viewer pick, draw the block on a page with the same list:

    - id: notification_sound_picker
      type: NotificationSound
      properties:
        app:
          _build.app: slug
        picker: true
        sounds:
          _ref: sounds.yaml

    Without sounds nothing changes: the switch and the chirp, as before.

  • @lowdefy/modules-mongodb-activities: ### Patch Changes

  • #305 0931d8e Thanks @puffin-mrm! - Apps on Lowdefy 7 no longer get build warnings from the deal page's pagers, the task modal's person picker or the file list. Each of these, and the deals list's loading placeholders, set a block property Lowdefy 7 doesn't have; nothing changes on screen.

  • @lowdefy/modules-mongodb-deals: ### Patch Changes

  • #305 0931d8e Thanks @puffin-mrm! - Apps on Lowdefy 7 no longer get build warnings from the deal page's pagers, the task modal's person picker or the file list. Each of these, and the deals list's loading placeholders, set a block property Lowdefy 7 doesn't have; nothing changes on screen.

  • @lowdefy/modules-mongodb-files: ### Patch Changes

  • #305 0931d8e Thanks @puffin-mrm! - Apps on Lowdefy 7 no longer get build warnings from the deal page's pagers, the task modal's person picker or the file list. Each of these, and the deals list's loading placeholders, set a block property Lowdefy 7 doesn't have; nothing changes on screen.

  • @lowdefy/modules-mongodb-notifications: ### Minor Changes

  • #306 6006ed7 Thanks @puffin-mrm! - A viewer can pick their notification sound. The NotificationSound block takes sounds, a list of { id, title, description?, src? }: the first is the default, a sound without src is the chirp, and a pick that is no longer offered falls back to the first. Sound files play through the same Web Audio context as the chirp, so the viewer's first click or key press unlocks them for live notifications too. With picker: true the block draws a dropdown of the sounds, each with a button to hear it; picking one stores it in the browser beside the on/off setting, turns the sound on and plays it. While the sound is off the dropdown reads offLabel ("Off"), and the Sound switch turns it off.

    Pass the list through the notifications module's new sounds var, which reaches the page-wide player and the inbox's Sound switch:

    - id: notifications
      vars:
        sounds:
          _ref: sounds.yaml # [{ id: chirp, title: Chirp }, { id: bell, title: Bell, src: /sounds/bell.mp3 }]

    To let the viewer pick, draw the block on a page with the same list:

    - id: notification_sound_picker
      type: NotificationSound
      properties:
        app:
          _build.app: slug
        picker: true
        sounds:
          _ref: sounds.yaml

    Without sounds nothing changes: the switch and the chirp, as before.

  • #302 aeb1397 Thanks @Gervwyk! - release-notes: the release note email now shows the note's body, with its headings, lists, links and images, and a footer link to turn release emails off on What's new. A video in the note becomes a link to the note on What's new. Pelican's new release.test event sends that email to one address, so the team can check it before announcing; it writes nothing and rings no bell.

    notifications: a new exported send-email endpoint renders one notification and emails it to one address without storing it, for test sends.

    Migration:

    • An app that restyles the email with email_template adds the body to its copy of the template, as the module docs show. Without it, its email carries no body.
  • @lowdefy/modules-mongodb-release-notes: ### Minor Changes

  • #302 76ec282 Thanks @Gervwyk! - Breaking: the release-notes module no longer renders CHANGELOG.md. It now takes release notes the team announces from Pelican, which arrive on the support module's signed webhook. The support webhook hands release.* events to the module, and the module answers Pelican's release.audience with live counts of who an announcement would reach.

    • release-notes: the content var is removed. New vars: audiences (the groups Pelican can announce to, each a filter over the person's user-members row), email_template and region (required). The module now depends on notifications, files and events, declares three collections (release-notes, release-notes-recipients, release-notes-preferences) and read-only views of the auth user-members, users and user-organizations, and exports an internal receive endpoint.
    • support: new var release_notes_endpoint, the release-notes receiver's full endpoint id (such as release-notes/receive). With it null, the webhook answers release.* events 404. app_version is now described as the app's bare X.Y.Z version, which Pelican compares with the release it announces.

    Migration:

    • Remove content from the release-notes entry and set region (the public files bucket's region) and any audiences.
    • Add an events module entry if the app has none.
    • Set the support module's release_notes_endpoint to {release-notes entry id}/receive, and app_version from the build.
    • Create the two indexes on release-notes-recipients listed in the module's docs.
  • #302 308e228 Thanks @Gervwyk! - release-notes: an announced release note now reaches the app's members. release.announced stores the note and a recipient row per person the audience reaches, and answers { notified, emailed, opted_out }. A detached deliver chain copies the note's images and videos into the public files bucket and sends each person one release-note notification per version, in the bell and by email. The new exported sweep endpoint restarts a chain that stalled.

    Migration:

    • Set CRON_SECRET in the app's environment, which detached endpoint calls need.
    • Add an app endpoint that calls release-notes/sweep every 10 minutes with a schedules: cron, as the module docs show.
  • #302 aeb1397 Thanks @Gervwyk! - release-notes: the release note email now shows the note's body, with its headings, lists, links and images, and a footer link to turn release emails off on What's new. A video in the note becomes a link to the note on What's new. Pelican's new release.test event sends that email to one address, so the team can check it before announcing; it writes nothing and rings no bell.

    notifications: a new exported send-email endpoint renders one notification and emails it to one address without storing it, for test sends.

    Migration:

    • An app that restyles the email with email_template adds the body to its copy of the template, as the module docs show. Without it, its email carries no body.
  • #302 9602441 Thanks @Gervwyk! - release-notes: What's new lists the notes announced to the signed-in person, newest first, beside the one picked (urlQuery.note, else the newest). Images and videos embedded in a note load from the public files bucket; one not copied yet shows a placeholder. A New mark clears once the person has opened the note, in every organisation. A switch at the foot, Email me about new releases, saves the person's choice; urlQuery.section=email scrolls to it. The menu link now reads "What's new".

    The module now reads the FILES_S3_BUCKET_PUB secret.

    Migration: set FILES_S3_BUCKET_PUB (the files module's public bucket) for the app.

  • @lowdefy/modules-mongodb-support: ### Minor Changes

  • #302 76ec282 Thanks @Gervwyk! - Breaking: the release-notes module no longer renders CHANGELOG.md. It now takes release notes the team announces from Pelican, which arrive on the support module's signed webhook. The support webhook hands release.* events to the module, and the module answers Pelican's release.audience with live counts of who an announcement would reach.

    • release-notes: the content var is removed. New vars: audiences (the groups Pelican can announce to, each a filter over the person's user-members row), email_template and region (required). The module now depends on notifications, files and events, declares three collections (release-notes, release-notes-recipients, release-notes-preferences) and read-only views of the auth user-members, users and user-organizations, and exports an internal receive endpoint.
    • support: new var release_notes_endpoint, the release-notes receiver's full endpoint id (such as release-notes/receive). With it null, the webhook answers release.* events 404. app_version is now described as the app's bare X.Y.Z version, which Pelican compares with the release it announces.

    Migration:

    • Remove content from the release-notes entry and set region (the public files bucket's region) and any audiences.
    • Add an events module entry if the app has none.
    • Set the support module's release_notes_endpoint to {release-notes entry id}/receive, and app_version from the build.
    • Create the two indexes on release-notes-recipients listed in the module's docs.