<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Upcoming Features]]></title><description><![CDATA[New upcoming features available in the beta branch will be announced here.]]></description><link>https://forum.magicmirror.builders/category/35</link><generator>RSS for Node</generator><lastBuildDate>Tue, 09 Jun 2026 06:06:09 GMT</lastBuildDate><atom:link href="https://forum.magicmirror.builders/category/35.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 01 Apr 2026 18:04:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[New Install]]></title><description><![CDATA[@Bungle68 there is no auto update.
You can go the manual install/update or use the scripted install/update. For the base. See the doc, alternative install
My script are first there
There are various mechanisms for modules
]]></description><link>https://forum.magicmirror.builders/topic/20187/new-install</link><guid isPermaLink="true">https://forum.magicmirror.builders/topic/20187/new-install</guid><dc:creator><![CDATA[sdetweil]]></dc:creator><pubDate>Wed, 01 Apr 2026 18:04:16 GMT</pubDate></item><item><title><![CDATA[Voice control]]></title><description><![CDATA[@videogame95 always make backups
You can use my MagicMirror-backup-restore scripts
https://github.com/sdetweil/MagicMirror-backup-restore
I have also heard of Mycroft. , have no info
looking for mycroft the initial project has been ended.
others have taken over for the future…
one would have to build an interface(module) to MagicMirror from its implementations
]]></description><link>https://forum.magicmirror.builders/topic/20149/voice-control</link><guid isPermaLink="true">https://forum.magicmirror.builders/topic/20149/voice-control</guid><dc:creator><![CDATA[sdetweil]]></dc:creator><pubDate>Wed, 11 Mar 2026 12:17:17 GMT</pubDate></item><item><title><![CDATA[Upcoming Release April 1, 2026 , breaking changes,  some operational changes]]></title><description><![CDATA[@BKeyport s like they only removed the usage of moment.js from the default calendar module.
]]></description><link>https://forum.magicmirror.builders/topic/20138/upcoming-release-april-1-2026-breaking-changes-some-operational-changes</link><guid isPermaLink="true">https://forum.magicmirror.builders/topic/20138/upcoming-release-april-1-2026-breaking-changes-some-operational-changes</guid><dc:creator><![CDATA[mumblebaj]]></dc:creator><pubDate>Wed, 04 Mar 2026 21:23:36 GMT</pubDate></item><item><title><![CDATA[Electron v20 will coming with next release but...]]></title><description><![CDATA[@sdetweil said in Electron v20 will coming with next release but...:

@kayakbabe where do you see 12?
all is ok to 19

https://github.com/fivdi/epoll/issues/42
Top comment by David
]]></description><link>https://forum.magicmirror.builders/topic/17174/electron-v20-will-coming-with-next-release-but</link><guid isPermaLink="true">https://forum.magicmirror.builders/topic/17174/electron-v20-will-coming-with-next-release-but</guid><dc:creator><![CDATA[kayakbabe]]></dc:creator><pubDate>Sun, 04 Sep 2022 13:12:07 GMT</pubDate></item><item><title><![CDATA[controlling VLC by gestures]]></title><description><![CDATA[@arora1mayank said in controlling VLC by gestures:

gestures using raspberry pi camera did anyone tried i want to do help me

Learn how to access the Raspberry Pi camera and and video stream using Python and OpenCV. Capture images and videos using your Pi, Python
]]></description><link>https://forum.magicmirror.builders/topic/15630/controlling-vlc-by-gestures</link><guid isPermaLink="true">https://forum.magicmirror.builders/topic/15630/controlling-vlc-by-gestures</guid><dc:creator><![CDATA[aliyahmehmood]]></dc:creator><pubDate>Mon, 27 Sep 2021 14:53:21 GMT</pubDate></item><item><title><![CDATA[MM in docker container]]></title><description><![CDATA[Thank you very very much
]]></description><link>https://forum.magicmirror.builders/topic/14793/mm-in-docker-container</link><guid isPermaLink="true">https://forum.magicmirror.builders/topic/14793/mm-in-docker-container</guid><dc:creator><![CDATA[blackeaglece]]></dc:creator><pubDate>Wed, 17 Mar 2021 09:17:32 GMT</pubDate></item><item><title><![CDATA[Can we create multi faces for mirror same as like Iwatch]]></title><description><![CDATA[Not directly.
MMM-ProfileSwitcher, A Profile/User/Layout Switching Module might give you a way of rigging it up.
]]></description><link>https://forum.magicmirror.builders/topic/12958/can-we-create-multi-faces-for-mirror-same-as-like-iwatch</link><guid isPermaLink="true">https://forum.magicmirror.builders/topic/12958/can-we-create-multi-faces-for-mirror-same-as-like-iwatch</guid><dc:creator><![CDATA[BKeyport]]></dc:creator><pubDate>Sun, 31 May 2020 12:51:14 GMT</pubDate></item><item><title><![CDATA[Keyboard]]></title><description><![CDATA[@lavolp3 said in Keyboard:

Then, AFTER the DOM element is created, you can create the keyboard class. I did this as soon as a text field was clicked on. With this method I can make sure that the DOM is created already:

I know it’s 2 years later, but that is what the MM notification DOM-OBJECTS-CREATED  means… .
]]></description><link>https://forum.magicmirror.builders/topic/11749/keyboard</link><guid isPermaLink="true">https://forum.magicmirror.builders/topic/11749/keyboard</guid><dc:creator><![CDATA[sdetweil]]></dc:creator><pubDate>Sun, 08 Dec 2019 03:37:40 GMT</pubDate></item><item><title><![CDATA[want a transfer my data Samsung thought Bluetooth or wifi ?]]></title><description><![CDATA[@plainbroke yeh i had doubts about it
]]></description><link>https://forum.magicmirror.builders/topic/11668/want-a-transfer-my-data-samsung-thought-bluetooth-or-wifi</link><guid isPermaLink="true">https://forum.magicmirror.builders/topic/11668/want-a-transfer-my-data-samsung-thought-bluetooth-or-wifi</guid><dc:creator><![CDATA[sdetweil]]></dc:creator><pubDate>Mon, 25 Nov 2019 10:06:35 GMT</pubDate></item><item><title><![CDATA[Default weather module refactoring]]></title><description><![CDATA[Check module directory.
]]></description><link>https://forum.magicmirror.builders/topic/9335/default-weather-module-refactoring</link><guid isPermaLink="true">https://forum.magicmirror.builders/topic/9335/default-weather-module-refactoring</guid><dc:creator><![CDATA[adamdevine78]]></dc:creator><pubDate>Thu, 27 Dec 2018 18:52:59 GMT</pubDate></item><item><title><![CDATA[MT4-5 &#x2F;MQL on MM²]]></title><description><![CDATA[@Krato5 I’m a little curious about the use case here, why would you want buy/sell buttons? Are you planning to make trades whilst brushing your teeth, or while getting dressed?
]]></description><link>https://forum.magicmirror.builders/topic/6586/mt4-5-mql-on-mm</link><guid isPermaLink="true">https://forum.magicmirror.builders/topic/6586/mt4-5-mql-on-mm</guid><dc:creator><![CDATA[Henrik]]></dc:creator><pubDate>Fri, 16 Feb 2018 12:28:04 GMT</pubDate></item><item><title><![CDATA[Gift Smart Mirror]]></title><description><![CDATA[@Alphascrypt Yes exactly Fo you know how I can do this?
]]></description><link>https://forum.magicmirror.builders/topic/5519/gift-smart-mirror</link><guid isPermaLink="true">https://forum.magicmirror.builders/topic/5519/gift-smart-mirror</guid><dc:creator><![CDATA[amingharbii]]></dc:creator><pubDate>Tue, 14 Nov 2017 17:06:12 GMT</pubDate></item><item><title><![CDATA[(2.1.1) Options of Clock broadcast event]]></title><description><![CDATA[@broberg : the requirement is not like that. The original idea is module internal timer with 1 second interval for example, can be replaced with event from the clock. The module no longer required to implement the timer itself.
]]></description><link>https://forum.magicmirror.builders/topic/2548/2-1-1-options-of-clock-broadcast-event</link><guid isPermaLink="true">https://forum.magicmirror.builders/topic/2548/2-1-1-options-of-clock-broadcast-event</guid><dc:creator><![CDATA[slametps]]></dc:creator><pubDate>Thu, 11 May 2017 05:59:17 GMT</pubDate></item><item><title><![CDATA[Test suite for MagicMirror²]]></title><description><![CDATA[@Cato Hi!, The documentation for tests  are living only in test source ;) This is something. We need to an better documentation.
Are you interested to do it?  https://trello.com/c/UwqL27A3/29-add-documentation-of-testsuite
I’m not a very good at writing documentation.
But in short terms,
The tests are living in tests directory, there two kind of test, unit and e2e.
We are using mocha and spectron`, the last one is  for the tests of e2e. For every e2e test is using a configuration file. When the test run  load the configuration file and we check expected result of the MagicMirror instance in Electron mode.
You can using the follow sentences to run testsuite

Unit test: npm run test:unit
E2e tests: npm run test:e2e
Unit + e2e: npm test 

If you can run especific test you need execute mocha from your path where is installed, in my case inside of MagicMirror directorio. Example of running the  specific unit test  for calendar functions.
NODE_ENV=test ./node_modules/mocha/bin/mocha tests/unit/functions/calendar_spec.js
Result:
  Functions into modules/default/calendar/calendar.js
    capFirst
      ✓ for 'rodrigo' should return 'Rodrigo'
      ✓ for '123m' should return '123m'
      ✓ for 'magic mirror' should return 'Magic mirror'
      ✓ for ',a' should return ',a'
      ✓ for 'ñandú' should return 'Ñandú'
    shorten
      ✓ for ' String with whitespace at the beginning that needs trimming' should return 'String with whit…'
      ✓ for 'long string that needs shortening' should return 'long string that…'
      ✓ for 'short string' should return 'short string'
      ✓ for 'long string with no maxLength defined' should return 'long string with no maxLength defined'
      ✓ should return an empty string if shorten is called with a non-string
      ✓ should not shorten the string if shorten is called with a non-number maxLength
      ✓ should wrap the string instead of shorten it if shorten is called with wrapEvents = true (with maxLength defined as 20)
      ✓ should wrap the string instead of shorten it if shorten is called with wrapEvents = true (without maxLength defined, default 25)


  13 passing (29ms)

If need something is not clear let me know.
]]></description><link>https://forum.magicmirror.builders/topic/1456/test-suite-for-magicmirror</link><guid isPermaLink="true">https://forum.magicmirror.builders/topic/1456/test-suite-for-magicmirror</guid><dc:creator><![CDATA[roramirez]]></dc:creator><pubDate>Wed, 18 Jan 2017 19:11:44 GMT</pubDate></item><item><title><![CDATA[(2.1.0) New default module: update notification.]]></title><description><![CDATA[If I’m not totally mistaken, this module does not only check for updates of MagicMirror itself but also all other used modules. Maybe one should make this clearer in the description/Readme. I was a bit surprised to suddenly see several git-remote-http-processes (for all my modules) in top.
]]></description><link>https://forum.magicmirror.builders/topic/816/2-1-0-new-default-module-update-notification</link><guid isPermaLink="true">https://forum.magicmirror.builders/topic/816/2-1-0-new-default-module-update-notification</guid><dc:creator><![CDATA[Hawking]]></dc:creator><pubDate>Sat, 15 Oct 2016 11:14:13 GMT</pubDate></item><item><title><![CDATA[(2.1.0) Possibility to use the the calendar feed as the source for the weather location data.]]></title><description><![CDATA[Starting from version 2.1.0 (currently the develop branch) the default modules will add the following functionality: Possibility to use the the calendar feed as the source for the weather (currentweather &amp; weatherforecast) location data.
When the location and locationID are both not set, the location will be based on the information provided by the calendar module. The first upcoming event with location data will be used.
Since this feature is still in the develop branch, it’s not final and might change. Suggestions are welcome.
]]></description><link>https://forum.magicmirror.builders/topic/813/2-1-0-possibility-to-use-the-the-calendar-feed-as-the-source-for-the-weather-location-data</link><guid isPermaLink="true">https://forum.magicmirror.builders/topic/813/2-1-0-possibility-to-use-the-the-calendar-feed-as-the-source-for-the-weather-location-data</guid><dc:creator><![CDATA[MichMich]]></dc:creator><pubDate>Fri, 14 Oct 2016 15:45:47 GMT</pubDate></item><item><title><![CDATA[(2.1.0) Calendar will broadcast events.]]></title><description><![CDATA[@jer78 If you are still looking to get this configured see this thread here. I had (what I believe to be) the exact same request and I got it working with this.
https://forum.magicmirror.builders/post/38213
]]></description><link>https://forum.magicmirror.builders/topic/812/2-1-0-calendar-will-broadcast-events</link><guid isPermaLink="true">https://forum.magicmirror.builders/topic/812/2-1-0-calendar-will-broadcast-events</guid><dc:creator><![CDATA[ATibbs]]></dc:creator><pubDate>Fri, 14 Oct 2016 13:27:43 GMT</pubDate></item><item><title><![CDATA[(2.1.0, API) Option to set the minimum version number of the MagicMirror framework for your module.]]></title><description><![CDATA[In version 2.1.0 (the current develop branche) the module and nodeHelper API both feature the requiresVersion variable. This allows you to set the minimum version number of the MagicMirror framework that is necessary for your module to run correctly. This is important, because version 2.1.0 will contain some API changes that might prevent your module from running in older versions.
More information about this feature can be found here: https://github.com/MichMich/MagicMirror/tree/develop/modules#requiresversion
Example code:
Module.register("testModule", {

    requiresVersion: "2.1.0",

    start: function() {
       // do something
    }
});

Of course, this feature would be way more powerfull if it was available starting from version 2.0.0. Unfortunately I did not have the time yet to invent a time machine. Therefor you can use a workaround if you really must do some manual checking. Starting from version 2.1.0, the frontend javascript will have a global variable called version. This is a string that represents the current version of the MagicMirror. In the node helper, this string is available via global.version.
So, if absolutely necessary, you can use the following code in your module:
// main module
if (!version) {
    // this is an old version, give the user a warning and don't perform any other new API calls.
}

// node helper
if (!gobal.version) {
    // this is an old version, give the user a warning and don't perform any other new API calls.
}

Since this feature is still in the develop branch, it’s not final and might change. Suggestions are welcome.
]]></description><link>https://forum.magicmirror.builders/topic/805/2-1-0-api-option-to-set-the-minimum-version-number-of-the-magicmirror-framework-for-your-module</link><guid isPermaLink="true">https://forum.magicmirror.builders/topic/805/2-1-0-api-option-to-set-the-minimum-version-number-of-the-magicmirror-framework-for-your-module</guid><dc:creator><![CDATA[MichMich]]></dc:creator><pubDate>Thu, 13 Oct 2016 18:18:44 GMT</pubDate></item><item><title><![CDATA[(2.1.0, API) Revising the Show&#x2F;Hide mechanism]]></title><description><![CDATA[@Jopyth exactly. Wich wouldn’t make much sense.
]]></description><link>https://forum.magicmirror.builders/topic/241/2-1-0-api-revising-the-show-hide-mechanism</link><guid isPermaLink="true">https://forum.magicmirror.builders/topic/241/2-1-0-api-revising-the-show-hide-mechanism</guid><dc:creator><![CDATA[MichMich]]></dc:creator><pubDate>Thu, 16 Jun 2016 12:14:36 GMT</pubDate></item></channel></rss>