UBports Robot Logo UBports Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    New ConverseJS (XMPP) app with broken source links?

    Scheduled Pinned Locked Moved App Development
    45 Posts 4 Posters 516 Views 2 Watching
    Loading More Posts
    • 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.
      • pparentP Offline
        pparent @wilson101
        last edited by pparent

        @wilson101 said in New ConverseJS (XMPP) app with broken source links?:

        @pparent desktop notifications are enabled in covnerejs by default, but I don't know how to enable them in QML to be able to interact with your module.

        Well first you add to your webview

        onFeaturePermissionRequested: {
               grantFeaturePermission(securityOrigin, feature, true);
               }
        

        Then in the profile of the webview:

        profile:  WebEngineProfile {
        ......
        
                 onPresentNotification: (notification) => {
                        helper.showNotificationMessage(notification.title, notification.message);
                 }
                 
            .......
               
               }//End WebEngineProfile
        

        It should be pretty straight forward.

        W 1 Reply Last reply Reply Quote 1
        • W Offline
          wilson101 @pparent
          last edited by

          @pparent I have a question about onFeaturePermissionRequested: {
          grantFeaturePermission(securityOrigin, feature, true);
          }
          should I replace feature with notification or whatever name it has in qml or leave it like that ?

          pparentP 1 Reply Last reply Reply Quote 0
          • W Offline
            wilson101
            last edited by

            I'm trying this now onFeaturePermissionRequested: {
            grantFeaturePermission("http://127.0.0.1:9090/index.html", Notifications, true);
            }

            I saw the examples here https://doc.qt.io/qt-6/qml-qtwebengine-webengineview-obsolete.html#featurePermissionRequested-signal

            W 1 Reply Last reply Reply Quote 0
            • W Offline
              wilson101 @wilson101
              last edited by

              I'm doing something wrong the app froze

              1 Reply Last reply Reply Quote 0
              • pparentP Offline
                pparent @wilson101
                last edited by pparent

                @wilson101 said in New ConverseJS (XMPP) app with broken source links?:

                should I replace feature with notification or whatever name it has in qml or leave it like that ?

                Yes you can allow only notifications permissions, but if I were you I would see that once you get notifications working in the first place.

                Normally what you want to do would be something like that:

                onFeaturePermissionRequested: function(securityOrigin, feature) {
                        if (feature === WebEngineView.Notifications) {
                            grantFeaturePermission(securityOrigin, feature, true); 
                        } else {
                            grantFeaturePermission(securityOrigin, feature, false); 
                        }
                    }
                
                W 1 Reply Last reply Reply Quote 0
                • W Offline
                  wilson101 @pparent
                  last edited by

                  @pparent The problem now is that I can't import your code. This is main.qml https://pastebin.com/raw/kt9cpWBz I get :/qml/Main.qml:37 NotificationHelper is not a type

                  pparentP 1 Reply Last reply Reply Quote 0
                  • W Offline
                    wilson101
                    last edited by

                    I did ./setup-project.sh [PROJECT-PATH] so it must be installed.

                    pparentP 1 Reply Last reply Reply Quote 0
                    • pparentP Offline
                      pparent @wilson101
                      last edited by

                      @wilson101

                      You need to add

                      import Pparent.Notifications 1.0
                      

                      And of course link my QML module

                      W 1 Reply Last reply Reply Quote 0
                      • pparentP Offline
                        pparent @wilson101
                        last edited by

                        @wilson101 said in New ConverseJS (XMPP) app with broken source links?:

                        I did ./setup-project.sh [PROJECT-PATH] so it must be installed.

                        Yes but you should check that the module gets indeed compiled and linked to your project.

                        1 Reply Last reply Reply Quote 0
                        • W Offline
                          wilson101 @pparent
                          last edited by

                          said in New ConverseJS (XMPP) app with broken source links?:

                          import Pparent.Notifications 1.0

                          It's building and installing the app it runs but freezes.

                          pparentP 1 Reply Last reply Reply Quote 0
                          • pparentP Offline
                            pparent @wilson101
                            last edited by

                            @wilson101

                            You can always debug with

                            journalctl -r
                            

                            I don't see how the module could make the app freeze, but if the qml module was not built, or not linked to the project, then it could refuse to start QML.

                            W 1 Reply Last reply Reply Quote 0
                            • W Offline
                              wilson101 @pparent
                              last edited by

                              @pparent ubuntu-phablet aa-exec[74446]: qrc:/qml/Main.qml:27:1: module "Pparent.Notifications" is not installed yes i see this in clickable logs

                              1 Reply Last reply Reply Quote 0
                              • W Offline
                                wilson101
                                last edited by

                                should I add to clickable.yaml here

                                clickable_minimum_required: 8.6.0
                                builder: rust
                                kill: conversejs
                                install_root_data:

                                • manifest.json
                                • content-hub.json
                                • conversejs.apparmor
                                • conversejs.desktop
                                • assets
                                • www

                                the folder of the module?

                                1 Reply Last reply Reply Quote 0
                                • poVoqP Offline
                                  poVoq @pparent
                                  last edited by

                                  @pparent said in New ConverseJS (XMPP) app with broken source links?:

                                  @poVoq

                                  Standard XMMP protocol does not allow to register a custom push server? If so it was poorly designed for a federated protocol...

                                  I am no expert on the topic, but I think while you can of course register a custom push server from the client, UT's push implementation is significantly different from FCM or Apple's one that you would still need a custom proxy server.

                                  Fairphone 5 (Not yet installed UT on it though)

                                  1 Reply Last reply Reply Quote 0
                                  • W Offline
                                    wilson101
                                    last edited by

                                    I'm ready with compiling, but now the app don't start.
                                    Launching app
                                    terminate called after throwing an instance of 'std::runtime_error'
                                    what(): Lost our connection with the registry
                                    -bash: line 1: 112884 Aborted
                                    lomiri-app-launch conversejs.wilson101_conversejs_1.5.7
                                    Started: conversejs.wilson101_conversejs_1.5.7
                                    ADB_COMMAND_FAILED

                                    1 Reply Last reply Reply Quote 0
                                    • First post
                                      Last post