Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Apps | Demo | Docs | Install
  1. Cloudron Forum
  2. Feature Requests
  3. Another notification improvement suggestion

Another notification improvement suggestion

Scheduled Pinned Locked Moved Feature Requests
7 Posts 4 Posters 1.0k Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R Offline
    R Offline
    Robin
    wrote on last edited by
    #1

    The recent improvements to notifications are great, but I have one more candidate that I think could be improved.

    If I have multiple installs of the same app (a good example might be Wordpress, or LAMP) on different locations, it might be nice if an upgrade notification for all those locations was grouped into one, rather than triggering a notification per location.

    Rather than this:

    Title: $appname at $applocation updated to $appversion (package version $packageversion)
    Body: The application installed at https://$applocation was updated.

    Changelog:

    ...

    How about this?

    Title: $appname at len($locations) locations updated to $appversion (package version $packageversion)
    Body: The application installed at the following locations was updated:

    • https://$applocation1
    • https://$applocation2
    • https://$applocation3

    Changelog:

    ...

    I guess this is very low priority, and might be a bit tricky to accomplish easily, but I think it would be a very worthwhile addition to larger installs with many apps of the same type.

    girishG 1 Reply Last reply
    1
    • R Robin

      The recent improvements to notifications are great, but I have one more candidate that I think could be improved.

      If I have multiple installs of the same app (a good example might be Wordpress, or LAMP) on different locations, it might be nice if an upgrade notification for all those locations was grouped into one, rather than triggering a notification per location.

      Rather than this:

      Title: $appname at $applocation updated to $appversion (package version $packageversion)
      Body: The application installed at https://$applocation was updated.

      Changelog:

      ...

      How about this?

      Title: $appname at len($locations) locations updated to $appversion (package version $packageversion)
      Body: The application installed at the following locations was updated:

      • https://$applocation1
      • https://$applocation2
      • https://$applocation3

      Changelog:

      ...

      I guess this is very low priority, and might be a bit tricky to accomplish easily, but I think it would be a very worthwhile addition to larger installs with many apps of the same type.

      girishG Offline
      girishG Offline
      girish
      Staff
      wrote on last edited by
      #2

      @robin I have seen this suggestion before but when I took a shot at time last time around it was quite complicated!

      The main issue iirc was when the notification should be raised. The app updates happen in parallel (3 at a time). This means the update of each app will finish at various times. In additional, they may fail or not. They may also be updating to different versions. One idea is to have some "cron" task which raises notifications. It looks into the audit log or something but this means that the notifications will be delayed (or maybe if the task is frequent enough people won't notice). Another idea is to have a hook to raise a notification after all the app updates are completed. This is possible but tricky because have to coalesce all these update tasks which are run in parallel and have some some joining code. Maybe I missed some other simple approach.

      robiR R 2 Replies Last reply
      0
      • robiR Offline
        robiR Offline
        robi
        wrote on last edited by
        #3

        The solution may be to group updates to the same apps, which will give more predictable upgrade times normalized across all the same app types.

        Then work on updates of a different app group.

        Notifications then flow more naturally, already
        grouped.

        Conscious tech

        1 Reply Last reply
        1
        • girishG girish

          @robin I have seen this suggestion before but when I took a shot at time last time around it was quite complicated!

          The main issue iirc was when the notification should be raised. The app updates happen in parallel (3 at a time). This means the update of each app will finish at various times. In additional, they may fail or not. They may also be updating to different versions. One idea is to have some "cron" task which raises notifications. It looks into the audit log or something but this means that the notifications will be delayed (or maybe if the task is frequent enough people won't notice). Another idea is to have a hook to raise a notification after all the app updates are completed. This is possible but tricky because have to coalesce all these update tasks which are run in parallel and have some some joining code. Maybe I missed some other simple approach.

          robiR Offline
          robiR Offline
          robi
          wrote on last edited by
          #4

          @girish Here's also an interesting bash helper function
          https://notify17.net/use-cases/n17-helper-bash/

          In this case, could be tied to box code or externally to n8n.
          /cc @BrutalBirdie

          Conscious tech

          1 Reply Last reply
          0
          • girishG girish

            @robin I have seen this suggestion before but when I took a shot at time last time around it was quite complicated!

            The main issue iirc was when the notification should be raised. The app updates happen in parallel (3 at a time). This means the update of each app will finish at various times. In additional, they may fail or not. They may also be updating to different versions. One idea is to have some "cron" task which raises notifications. It looks into the audit log or something but this means that the notifications will be delayed (or maybe if the task is frequent enough people won't notice). Another idea is to have a hook to raise a notification after all the app updates are completed. This is possible but tricky because have to coalesce all these update tasks which are run in parallel and have some some joining code. Maybe I missed some other simple approach.

            R Offline
            R Offline
            Robin
            wrote on last edited by
            #5

            @girish Yeah, I can understand this would be complicated. And like I say, it's not super important, so feel free to just stick it on the backburner...

            I don't know if you store additional metadata about notifications, so excuse me if I'm wildly idiotic, but I wonder if you could store a JSON object or something along with the notification's data, containing the following:

            • that it's an update notification
            • of a given app id
            • to a given app version
            • applied to a list of 'n' locations

            like:

            extra_data: {
            "type": "app_update",
            "app_id": "com.foo.Bar",
            "app_version":"1.0.0",
            "installed_locations":[...]
            }
            

            Then, you'd want to scan unread notifications for a matching:

            • type (app_update)
            • of the same app id/version
            • and if it all matched, append to the locations, and regenerate the body based on the installed_locations & changelog, rather than submitting a new one.

            Not straightforward, and not really a reusable solution, though...

            nebulonN 1 Reply Last reply
            1
            • R Robin

              @girish Yeah, I can understand this would be complicated. And like I say, it's not super important, so feel free to just stick it on the backburner...

              I don't know if you store additional metadata about notifications, so excuse me if I'm wildly idiotic, but I wonder if you could store a JSON object or something along with the notification's data, containing the following:

              • that it's an update notification
              • of a given app id
              • to a given app version
              • applied to a list of 'n' locations

              like:

              extra_data: {
              "type": "app_update",
              "app_id": "com.foo.Bar",
              "app_version":"1.0.0",
              "installed_locations":[...]
              }
              

              Then, you'd want to scan unread notifications for a matching:

              • type (app_update)
              • of the same app id/version
              • and if it all matched, append to the locations, and regenerate the body based on the installed_locations & changelog, rather than submitting a new one.

              Not straightforward, and not really a reusable solution, though...

              nebulonN Offline
              nebulonN Offline
              nebulon
              Staff
              wrote on last edited by
              #6

              @robin while technically the docker image is shared of course between app instances of the same package, the update itself with data migration and such is quite isolated from one another. So I am not sure if it makes sense conceptually to combine those into one notification at all.

              Also note that if you have various instances of the same app package installed, but one or more are set to manually update, you end up with the same app package but multiple versions of that happily alongside each other and I think that might make such combined notifications more confusing, since you would have to scan the locations then, and the locations are already currently in the notification title as such. Maybe those should be more highlighted instead, possibly even with the app icon (only adding value if you have set a custom app icon to distinguish instances)

              R 1 Reply Last reply
              0
              • nebulonN nebulon

                @robin while technically the docker image is shared of course between app instances of the same package, the update itself with data migration and such is quite isolated from one another. So I am not sure if it makes sense conceptually to combine those into one notification at all.

                Also note that if you have various instances of the same app package installed, but one or more are set to manually update, you end up with the same app package but multiple versions of that happily alongside each other and I think that might make such combined notifications more confusing, since you would have to scan the locations then, and the locations are already currently in the notification title as such. Maybe those should be more highlighted instead, possibly even with the app icon (only adding value if you have set a custom app icon to distinguish instances)

                R Offline
                R Offline
                Robin
                wrote on last edited by
                #7

                @nebulon Kind of depends on the app type, too, I guess? The one I really notice this stand out on is for LAMP. I have maybe 4-5 of these, all serving static sites. I don't really care when they update, but whenever they do, I get a bunch of notifications for them all at once.

                I don't know. I guess I see your point, and maybe it's fine to just leave it be. Ultimately, I guess if you don't design for people to have too many things of the same type, it probably won't matter anyway.

                1 Reply Last reply
                0
                Reply
                • Reply as topic
                Log in to reply
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes


                • Login

                • Don't have an account? Register

                • Login or register to search.
                • First post
                  Last post
                0
                • Categories
                • Recent
                • Tags
                • Popular
                • Bookmarks
                • Search