• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
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.

MMM-Wunderlist-Enhanced javascript error

Scheduled Pinned Locked Moved Troubleshooting
14 Posts 2 Posters 4.7k 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.
  • G Offline
    geeklimit
    last edited by Oct 9, 2017, 1:22 PM

    You’re losing me, but I think you mean I should edit the line causing the error from:

    this.config.lists.forEach((listValue, listKey) => {
    

    to

    this.config.lists.forEach ((listValue, listKey) {
    

    Or does this section of the code need a complete rewrite?

    ? 1 Reply Last reply Oct 9, 2017, 1:25 PM Reply Quote 0
    • ? Offline
      A Former User @geeklimit
      last edited by Oct 9, 2017, 1:25 PM

      @geeklimit sorry but i think there is not the only place where es6 style used. You should find and modify every place of that kinds. Browser changing is more easier.

      1 Reply Last reply Reply Quote 0
      • G Offline
        geeklimit
        last edited by geeklimit Oct 9, 2017, 2:14 PM Oct 9, 2017, 1:25 PM

        I’d love to use Chromium instead of Midori, but the tutorial I followed for getting MagicMirror working on a Pi Zero W used Midori, and I don’t know a lot about what I’m doing.

        Theoretically I could look up how to install Chromium and change the browser-boot script from:

        #!/bin/sh
        
        unclutter &
        xset -dpms # disable DPMS (Energy Star) features.
        xset s off # disable screen saver
        xset s noblank # don’t blank the video device
        matchbox-window-manager &
        midori -e Fullscreen -a http://localhost:8080
        

        to

        #!/bin/sh
        
        unclutter &
        xset -dpms # disable DPMS (Energy Star) features.
        xset s off # disable screen saver
        xset s noblank # don’t blank the video device
        matchbox-window-manager &
        chromium-browser --no-sandbox --app="http://localhost:8080"
        

        Assuming that Chromium uses the same switches?

        Installing Chromium now via:

        sudo apt-get -y install chromium-browser
        

        Will test.

        1 Reply Last reply Reply Quote 0
        • ? Offline
          A Former User @geeklimit
          last edited by A Former User Oct 9, 2017, 1:30 PM Oct 9, 2017, 1:29 PM

            getTodos: function() {
              var tasks = [];
                var self = this;
              this.config.lists.forEach( function (listValue, listKey) {
                let list = self.tasks[listValue];
                if (list && list.length)
                  list.forEach(function (todo)  {
                    if (self.config.order === 'reversed') {
                      tasks.push(todo);
                    } else {
                      tasks.unshift(todo)
                    }
          

          This ie rewritten code (not tested but I think it will work.)

          1 Reply Last reply Reply Quote 0
          • G Offline
            geeklimit
            last edited by Oct 9, 2017, 1:33 PM

            Thanks! I am having other “SyntaxError: Unexpected token” errors in other modules as well, as you guessed.

            Trying chromium first. I think that might be a better option, because even the default Compliments.js module has the same error.

            1 Reply Last reply Reply Quote 0
            • G Offline
              geeklimit
              last edited by geeklimit Oct 10, 2017, 1:39 AM Oct 9, 2017, 3:02 PM

              OK, that fixed all of the modules I was having trouble with, but getting Chromium to work right wasn’t easy.

              Chromium doesn’t like to be run as root (via startup script) you have to give it the flag:

              --no-sandbox
              

              Which doesn’t work, so instead you need to do this to run it as pi:

              su pi -c 'chromium-browser --kiosk --noerrdialogs http://localhost:8080
              

              To launch it without toolbars or a window (fullscreen), you have to give it the flag:

              --kiosk
              

              I tried the -app switch, and it removes the toolbars but leaves the window, so --kiosk is the way to go.

              But this leaves an annoying warning about --no-sandbox not being supported, so you have to also add in:

              --noerrdialogs
              

              Chromium also does an annoying popup when the Pi is rebooted without properly closing Chromium: “Chromium was not shut down correctly”. (power cycle or sudo reboot in the terminal). So you can try to edit Chromium’s file before it launches to make it think it shut down OK:

              sed -i 's/"exited_cleanly": false/"exited_cleanly": true/' ~/.config/chromium/Default/Preferences
              

              Which doesn’t work because ~/ doesn’t work as expected when it’s a root-run startup script looking for a path in /home/pi/, so:

              sed -i 's/"exited_cleanly": false/"exited_cleanly": true/' /home/pi/.config/chromium/Default/Preferences
              

              Which didn’t work either, so I tried using some older documentation:

              su pi -c 'chromium-browser --start-fullscreen --disable-session-crashed-bubble --disable-infobars http://localhost:8080
              

              Which also didn’t work.

              So… Then I realized I don’t really care about my browsing session data at all, so tried this:

              su pi -c 'chromium-browser --kiosk --incognito http://localhost:8080
              

              And that works, every time. Even when the Pi is power cycled.

              Yikes.

              So the complete launch command of “midori-start.sh” (now modified for Chromium) is:

              #!/bin/sh
              
              unclutter & 
              xset -dpms # disable DPMS (Energy Star) features.
              xset s off # disable screen saver
              xset s noblank # don’t blank the video device
              matchbox-window-manager &
              su pi -c 'chromium-browser --kiosk --incognito http://localhost:8080'
              
              

              This also gets rid of the balloon telling me that “I can search here with Google”, pointing to where the address bar should be when Pi opens Chrome for the first time. It only happens once, but nice to clear that out as well.

              The moral of the story here is: Don’t try to be fancy, just brute force the f@#$ing thing.

              1 Reply Last reply Reply Quote 0
              • 1
              • 2
              • 2 / 2
              2 / 2
              • First post
                13/14
                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