MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    iFrame blank when displaing http://<ipaddress LMS server>:9000/material

    Scheduled Pinned Locked Moved Solved Troubleshooting
    27 Posts 3 Posters 4.0k Views 3 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.
    • S Offline
      stephanvdplas @sdetweil
      last edited by

      @sdetweil ok I’ll have to attach a kb and mouse to the pi then. Will try this tonight.

      S 1 Reply Last reply Reply Quote 0
      • S Do not disturb
        sdetweil @stephanvdplas
        last edited by

        @stephanvdplas you can do debug from a different system if you configured MagicMirror config.js to allow remote system access

        Sam

        How to add modules

        learning how to use browser developers window for css changes

        1 Reply Last reply Reply Quote 0
        • S Offline
          stephanvdplas @stephanvdplas
          last edited by

          @stephanvdplas no errors at all! Only a deprecation warning but it is about a different module .

          Please help me to further troubleshoot. All other web content I tried is working fine and the content I want to show is working fine when browsing the mirror in a different browser via http://<ip address mirror>:8080.

          So it must be some strange thing in electron or jsnode.

          1 Reply Last reply Reply Quote 0
          • S Offline
            stephanvdplas @stephanvdplas
            last edited by stephanvdplas

            @stephanvdplas in the network tab I see errors:

            688928ea-1d2d-44ee-be59-069f0ae873ee-image.png
            This Set-Cookie header didn’t specify a “SameSite” attribute and was defaulted to “SameSite=Lax”, and was blocked because it came from a cross-site response which was not the response to a top-level navigation. The Set-Cookie had to have been set with “SameSite=None to enable cross-site usage.”

            S karsten13K S 3 Replies Last reply Reply Quote 0
            • S Do not disturb
              sdetweil @stephanvdplas
              last edited by

              @stephanvdplas said in iFrame blank when displaing http://<ipaddress LMS server>:9000/material:

              Set-Cookie header didn’t specify a “SameSite” attribute and was defaulted to “SameSite=Lax”

              Ok, I don’t KNOW for certain, but our cors proxy might work there

              change the url in the iframe config to

              http://localhost:MM_PORT/cors?

              the rest like this

              // the url 
              url=http://www.test.com/path?param1=value1 // example
              // if there are headers, skip if not 
              &sendheaders=header1:value1,header2:value2&expectedheaders=header1,header2
              

              make sure quotes around the url string

              Sam

              How to add modules

              learning how to use browser developers window for css changes

              S 1 Reply Last reply Reply Quote 0
              • karsten13K Offline
                karsten13 @stephanvdplas
                last edited by

                @stephanvdplas

                mm has a simple internal cors proxy you could try.

                So instead using the <original-url> in the iframe you could try http://localhost:8080/cors?url=<original-url>.

                E.g. if your <original-url> is https://example.com try http://localhost:8080/cors?url=https://example.com

                karsten13K 1 Reply Last reply Reply Quote 0
                • karsten13K Offline
                  karsten13 @karsten13
                  last edited by

                  ups, sam was quicker …

                  1 Reply Last reply Reply Quote 0
                  • S Offline
                    stephanvdplas @sdetweil
                    last edited by stephanvdplas

                    @sdetweil said in iFrame blank when displaing http://<ipaddress LMS server>:9000/material:

                    @stephanvdplas said in iFrame blank when displaing http://<ipaddress LMS server>:9000/material:

                    Set-Cookie header didn’t specify a “SameSite” attribute and was defaulted to “SameSite=Lax”

                    Ok, I don’t KNOW for certain, but our cors proxy might work there

                    change the url in the iframe config to

                    http://localhost:MM_PORT/cors?

                    the rest like this

                    // the url 
                    url=http://www.test.com/path?param1=value1 // example
                    // if there are headers, skip if not 
                    &sendheaders=header1:value1,header2:value2&expectedheaders=header1,header2
                    

                    make sure quotes around the url string’’

                    It doesn’t work. Now there are no errors, but it only shows an empty frame.
                    a71fc225-e33a-4d2a-87c8-18801131aa13-image.png

                    In the Preview tab, it shows {{snackbar.msg}}
                    [24-09-18 22:33:38.8839] Slim::Utils::Misc::msg (1319) Warniing : [22:33:38.8838] “my” variable $mobile masks earlier declaration in same scope at (eval 5777) line 46.

                    This warning is also seen in the debug log of LMS server, also when I open the 192.168.3.8/material on a browser on a windows machine (where the site is loading correctly).

                    1 Reply Last reply Reply Quote 0
                    • S Offline
                      stephanvdplas @stephanvdplas
                      last edited by stephanvdplas

                      @stephanvdplas There is another thing:

                      In the preview tab of the content it shows: Failed to load response data: Connection is closed, can’t dispatch pending call to Network.getResponseBody

                      S 1 Reply Last reply Reply Quote 0
                      • S Do not disturb
                        sdetweil @stephanvdplas
                        last edited by

                        @stephanvdplas now I am out of my knowledge range.

                        @karsten13 maybe has more skill here…

                        Sam

                        How to add modules

                        learning how to use browser developers window for css changes

                        karsten13K 1 Reply Last reply Reply Quote 0
                        • karsten13K Offline
                          karsten13 @sdetweil
                          last edited by

                          @sdetweil said in iFrame blank when displaing http://<ipaddress LMS server>:9000/material:

                          @karsten13 maybe has more skill here…

                          sorry, no. Maybe google has some findings.

                          karsten13K S 2 Replies Last reply Reply Quote 0
                          • karsten13K Offline
                            karsten13 @karsten13
                            last edited by

                            you could try adding

                                    electronOptions: {
                                            webPreferences: { webSecurity: false },
                                    },
                            

                            in config.js

                            1 Reply Last reply Reply Quote 0
                            • S Offline
                              stephanvdplas @karsten13
                              last edited by

                              @karsten13 good option. I tried it (actually I placed the option directly in the electron.js script) but it doesn’t change the situation at all.

                              karsten13K 1 Reply Last reply Reply Quote 0
                              • karsten13K Offline
                                karsten13 @stephanvdplas
                                last edited by

                                @stephanvdplas

                                I can only guess without having the debug case …

                                You can google and try changing electronOptionsDefaults and/or electronSwitchesDefaults in js/electron.js if you find something …

                                S 1 Reply Last reply Reply Quote 0
                                • S Offline
                                  stephanvdplas @karsten13
                                  last edited by

                                  @karsten13 I am quite sure about having the config right:

                                  	let electronSwitchesDefaults = ["autoplay-policy", "no-user-gesture-required"];
                                  	app.commandLine.appendSwitch(...new Set(electronSwitchesDefaults, config.electronSwitches));
                                  	let electronOptionsDefaults = {
                                  		width: electronSize.width,
                                  		height: electronSize.height,
                                  		icon: "mm2.png",
                                  		x: 0,
                                  		y: 0,
                                  		darkTheme: true,
                                  		webPreferences: {
                                  			contextIsolation: true,
                                  			nodeIntegration: false,
                                  			zoomFactor: config.zoom,
                                  			webSecurity: false
                                  		},
                                  		backgroundColor: "#000000"
                                  	};
                                  
                                  	// DEPRECATED: "kioskmode" backwards compatibility, to be removed
                                  	// settings these options directly instead provides cleaner interface
                                  	if (config.kioskmode) {
                                  		electronOptionsDefaults.kiosk = true;
                                  	} else {
                                  		electronOptionsDefaults.show = false;
                                  		electronOptionsDefaults.frame = false;
                                  		electronOptionsDefaults.transparent = true;
                                  		electronOptionsDefaults.hasShadow = false;
                                  		electronOptionsDefaults.fullscreen = true;
                                  	}
                                  
                                  	const electronOptions = Object.assign({}, electronOptionsDefaults, config.electronOptions);
                                  
                                  	// Create the browser window.
                                  	mainWindow = new BrowserWindow(electronOptions);
                                  
                                  

                                  So the webSecurity line is the only thing I added/changed.

                                  karsten13K S 2 Replies Last reply Reply Quote 0
                                  • karsten13K Offline
                                    karsten13 @stephanvdplas
                                    last edited by

                                    @stephanvdplas said in iFrame blank when displaing http://<ipaddress LMS server>:9000/material:

                                    I am quite sure about having the config right

                                    sorry, my point is you have to google the error with the keyword “electron” and check if you find something which you can test

                                    S 1 Reply Last reply Reply Quote 0
                                    • S Offline
                                      stephanvdplas @karsten13
                                      last edited by

                                      @karsten13 sorry to report that there is no other possibility than to revert back to electron 30.0.0
                                      After this, the iFrame works again. After re-installing 31.0.0, it is broken again.
                                      So no I have implemented this workaround.

                                      sudo npm install electron@30.0.0
                                      

                                      this command saved my life mirror

                                      1 Reply Last reply Reply Quote 0
                                      • S Do not disturb
                                        sdetweil @stephanvdplas
                                        last edited by

                                        @stephanvdplas unrelated to your problem is your solution technique.

                                        we provide access to these settings in config.js so you DON’T edit our code, as this causes update problems.

                                        Sam

                                        How to add modules

                                        learning how to use browser developers window for css changes

                                        S 1 Reply Last reply Reply Quote 0
                                        • S Offline
                                          stephanvdplas @sdetweil
                                          last edited by

                                          @sdetweil said in iFrame blank when displaing http://<ipaddress LMS server>:9000/material:

                                          @stephanvdplas unrelated to your problem is your solution technique.

                                          we provide access to these settings in config.js so you DON’T edit our code, as this causes update problems.

                                          ok understood. But but both ways don’t work. Only thing that helps is reverting the installation of electron to 30.0.0.

                                          S 1 Reply Last reply Reply Quote 0
                                          • S Do not disturb
                                            sdetweil @stephanvdplas
                                            last edited by

                                            @stephanvdplas i understand, looks like something changed in 31, which can be a bug as well.

                                            you’ve got a workaround in the near term.

                                            id open an issue on the MagicMirror github page with the error and a link to this topic so we don’t lose it.
                                            finding a test environment will be the tough thing

                                            Sam

                                            How to add modules

                                            learning how to use browser developers window for css changes

                                            karsten13K S 2 Replies Last reply Reply Quote 0

                                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                            With your input, this post could be even better 💗

                                            Register Login
                                            • 1
                                            • 2
                                            • 1 / 2
                                            • First post
                                              Last post
                                            Enjoying MagicMirror? Please consider a donation!
                                            MagicMirror created by Michael Teeuw.
                                            Forum managed by Sam, technical setup by Karsten.
                                            This forum is using NodeBB as its core | Contributors
                                            Contact | Privacy Policy