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.

    Any plan to replace "request" and "moment"?

    Scheduled Pinned Locked Moved Unsolved Feature Requests
    61 Posts 8 Posters 29.0k Views 8 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
      sdetweil @cowboysdude
      last edited by

      @cowboysdude AND for mm, the calendar date work is done OUTSIDE the browser in the node helper. soooooo, still need something

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      1 Reply Last reply Reply Quote 0
      • M Offline
        MMRIZE
        last edited by

        @cowboysdude @sdetweil
        Fortunately, We need to consider only ā€˜Chromium’ and ā€˜node’ at most. (Firefox already implements almost-complete Intl features. For Safari… who cares.)
        And in this case, Intl (and the Temporal in the future) suggests the STANDARD WAY how to handle date/time for L10N/I18N in Javascript environments(includes browsers and nodeJS). So I believe it has worthy looking inside.

        Once (yesterday), I’ve tried to rewrite clock module and calendar module without momentjs or any other 3rd party library, only with Date and Intl.

        The start was not so bad. I could rewrite many features with only Date and Intl.
        Where I stuck was the showWeek config feature. It has to show the ordinal number of weeks of the year. To calculate ISOweek is not difficult. But in some areas, like the US. they never use the ISO system. damn!. To calculate the conventional US week number, additional pieces of information are needed. (read this.) Current Intl has not yet that feature. I’m waiting for Temporal and enhanced Intl releasing.

        One solution might be to obtain additional information needed for conventional calculation from the user by configuration. At this point, I stopped rewriting. It needs to change config.js and that was not my first intention.

        A usual solution might be to use 3rd party library like momentjs or luxon. It is easier.

        However it’s good to read this from the momentjs (https://momentjs.com/docs/#/-project-status/future/) I agree to him, In the near future, native JS features Date, Intl, Temporal will be a standard.

        S BKeyportB 2 Replies Last reply Reply Quote 0
        • S Offline
          sdetweil @MMRIZE
          last edited by

          @mmrize i don’t see whats so hard on week of the year.

          what day of the week is 1/1, subtract that from 7, and then that is the start of the weekly cycle.
          til you run out of days to count.

          we don’t use it normally, but its still the week of the year. has nothing to do with month. that is a different scheme

          my science teacher in high school had a great topic, measurement…
          you can measure anything with anything… just record what the tool was

          we were required to measure everything in broomstick handles, broomstick #1 in the lab to be precise.

          we could subdivide broomstick #1 however we wanted to provide more accuracy, as long as we wrote down the algorithm. (divide by 3, 6, 10?.. , 1000 ml beaker height, whatever)

          the last week doesn’t run over into a new year, it ENDS when the year ends.
          just so happens that week #1 of the NEXT year is the same logical week, but who cares, as we started counting from 1 again.

          Sam

          How to add modules

          learning how to use browser developers window for css changes

          M BKeyportB 2 Replies Last reply Reply Quote 0
          • M Offline
            MMRIZE @sdetweil
            last edited by MMRIZE

            @sdetweil said in Any plan to replace "request" and "moment"?:

            what day of the week is 1/1, subtract that from 7, and then that is the start of the weekly cycle.

            ISOWeek is easy. Conventional week is the problem.

            For example, in the United States, Sunday is the first day of the week. The week with January 1st in it is the first week of the year.

            In France, Monday is the first day of the week, and the week with January 4th is the first week of the year. It means January 1st could be the last week of the last year sometimes. And Jan. 10th could be the first week in certain year.

            And in other countries, there is also their own rule.

            This might be important in some European countries, because they use week number in real life (ā€œmy vacation ends 23. Weeksā€œ)

            BKeyportB 1 Reply Last reply Reply Quote 0
            • BKeyportB Online
              BKeyport Module Developer @MMRIZE
              last edited by

              @mmrize I care about safari. 😢😢😢

              The "E" in "Javascript" stands for "Easy"

              0m4r0 1 Reply Last reply Reply Quote 0
              • BKeyportB Online
                BKeyport Module Developer @sdetweil
                last edited by

                @mmrize said in Any plan to replace "request" and "moment"?:

                Once (yesterday), I’ve tried to rewrite clock module and calendar module
                without momentjs or any other 3rd party library, only with Date and Intl.

                The start was not so bad. I could rewrite many features with only Date and Intl.
                Where I stuck was the showWeek config feature. It has to show the ordinal number of weeks of the year. To calculate ISOweek is not difficult. But in some areas, like the US. they never use the ISO system. damn!. To calculate the conventional US week number, additional pieces of information are needed. (read this.) Current Intl has not yet that feature. I’m waiting for Temporal and enhanced Intl releasing.

                Where I’m getting stuck with Luxon is basic comparision of dates:

                Is this time the same or before that time? 
                Moment: m1.isSameOrBefore(m2) (works) 
                Luxon:  dt1 <= dt2 (Crashes jsfiddle) 
                

                and querying luxon for the locale’s weekday strings is always returning Monday as first, even though it will treat the week correctly otherwise.

                luxon.info.weekdays('short') == Mon
                

                The "E" in "Javascript" stands for "Easy"

                1 Reply Last reply Reply Quote 0
                • BKeyportB Online
                  BKeyport Module Developer @MMRIZE
                  last edited by

                  @mmrize said in Any plan to replace "request" and "moment"?:

                  @sdetweil said in Any plan to replace "request" and "moment"?:

                  what day of the week is 1/1, subtract that from 7, and then that is the start of the weekly cycle.

                  ISOWeek is easy. Conventional week is the problem.

                  For example, in the United States, Sunday is the first day of the week. The week with January 1st in it is the first week of the year.

                  In France, Monday is the first day of the week, and the week with January 4th is the first week of the year. It means January 1st could be the last week of the last year sometimes. And Jan. 10th could be the first week in certain year.

                  And in other countries, there is also their own rule.

                  This might be important in some European countries, because they use week number in real life (ā€œmy vacation ends 23. Weeksā€œ)

                  Moment handles this automatically. Everyone else, not so much.

                  The "E" in "Javascript" stands for "Easy"

                  1 Reply Last reply Reply Quote 0
                  • 0m4r0 Offline
                    0m4r Module Developer @BKeyport
                    last edited by

                    @bkeyport many do, and you are not alone.
                    But how many people are running MM in a safari browser?

                    I guess this is the relevant point here :)

                    https://github.com/0m4r

                    BKeyportB 1 Reply Last reply Reply Quote 0
                    • BKeyportB Online
                      BKeyport Module Developer @0m4r
                      last edited by

                      @0m4r When I’m testing something, I’ll load it up on my local machine, which is a Mac, and yes, I use Safari. :)

                      The "E" in "Javascript" stands for "Easy"

                      0m4r0 1 Reply Last reply Reply Quote 1
                      • 0m4r0 Offline
                        0m4r Module Developer @BKeyport
                        last edited by

                        @bkeyport same for me, even tho I am aware like 99% of MM users are running it out of a raspberry pi with a Chromium browser.
                        That is the reason I say the main focus could be on Chromium-based browsers rather than others.

                        https://github.com/0m4r

                        cowboysdudeC 1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 3
                        • 4
                        • 5
                        • 6
                        • 7
                        • 4 / 7
                        • 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