Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhance compliments remote file with refresh support #3630

Merged
merged 12 commits into from
Nov 13, 2024

Conversation

sdetweil
Copy link
Collaborator

@sdetweil sdetweil commented Nov 9, 2024

add support to refresh the compliments remotefile
add testcases for both without refresh (testcase missing) and with refresh

doc to be updated

@sdetweil sdetweil changed the base branch from master to develop November 9, 2024 22:09
@sdetweil
Copy link
Collaborator Author

sdetweil commented Nov 9, 2024

runner step check needs a fix if branch is changed to develop it doesn't get it, rest of steps correct

modules/default/compliments/compliments.js Outdated Show resolved Hide resolved
modules/default/compliments/compliments.js Outdated Show resolved Hide resolved
modules/default/compliments/compliments.js Outdated Show resolved Hide resolved
@khassel
Copy link
Collaborator

khassel commented Nov 9, 2024

@rejas have we a problem with linting?

This PR contains stuff where I would expect linting errors but there are none.

@sdetweil
Copy link
Collaborator Author

sdetweil commented Nov 9, 2024

i left code in so we could resolve the problem
window.name is empty

@sdetweil
Copy link
Collaborator Author

speaking of lint problems.

if I run test:js or lint:js I see this

npm run test:js

> magicmirror@2.30.0-develop test:js
> eslint .

/home/sam/MagicMirror/js/es.js
  15:7  error  Parsing error: 'return' outside of function

/home/sam/MagicMirror/tests/configs/port_variable.js
  3:1  error  Parsing error: Unexpected token }

@sdetweil
Copy link
Collaborator Author

test mode detection fixed in #3631

@sdetweil sdetweil self-assigned this Nov 11, 2024
@sdetweil
Copy link
Collaborator Author

oops.. implemented minimum delay before intest #3631 incorporated

@sdetweil
Copy link
Collaborator Author

added documentation update

@rejas
Copy link
Collaborator

rejas commented Nov 12, 2024

I merged your doc update already, what is to be done here @sdetweil ?

@rejas
Copy link
Collaborator

rejas commented Nov 12, 2024

@rejas have we a problem with linting?

This PR contains stuff where I would expect linting errors but there are none.

I dont get any errors anymore, so probably fixed?

@sdetweil
Copy link
Collaborator Author

sdetweil commented Nov 12, 2024

i need to change the code here to match the test mode detection in #3631

i wouldn't have merged the doc update til this was merged.

@sdetweil
Copy link
Collaborator Author

fails waiting for #3631

rejas pushed a commit that referenced this pull request Nov 12, 2024
…3631)

in some cases the modulename.js may need to detect running in test mode
(compliments pr #3630)

window.name is not set  web mode

add a new field to the index.html 
window.intest 
and use the server_function to replace the hard coded string like we do
for window.mmversion=#VERSION#
then change the two  test helpers to set the env variable
app.js detects and sets global.intest=true
server func replace with value of global.intest

then module can use   if(window.intest)
@sdetweil
Copy link
Collaborator Author

ready for review

@khassel
Copy link
Collaborator

khassel commented Nov 12, 2024

I dont get any errors anymore, so probably fixed?

@rejas not fixed, an example:

diff --git a/modules/default/compliments/compliments.js b/modules/default/compliments/compliments.js
index 7b4be902..b76713fb 100644
--- a/modules/default/compliments/compliments.js
+++ b/modules/default/compliments/compliments.js
@@ -20,24 +20,25 @@ Module.register("compliments", {
                afternoonStartTime: 12,
                afternoonEndTime: 17,
                random: true,
-               specialDayUnique: false,
+               specialDayUnique: false
        },
-       urlSuffix:"",
-       compliments_new:null,
-       refreshMinimumDelay:15*60*60*1000,  // 15 minutes
+       urlSuffix: "",
+       compliments_new: null,
+       refreshMinimumDelay: 15 * 60 * 60 * 1000, // 15 minutes
        lastIndexUsed: -1,
        // Set currentweather from module

@sdetweil
Copy link
Collaborator Author

and the two i posted above

npm run test:js

@khassel
Copy link
Collaborator

khassel commented Nov 12, 2024

@sdetweil can you please merge develop into this (or rebase) and fix the (upcoming) lint errors? Thanks!

@sdetweil
Copy link
Collaborator Author

it was built on develop... i just didn't pick develop on submission

@khassel
Copy link
Collaborator

khassel commented Nov 12, 2024

develop was updated, we need the newest version here to get correct linting

@sdetweil
Copy link
Collaborator Author

yes, updated, repushed

@sdetweil
Copy link
Collaborator Author

lint broken now

@KristjanESPERANTO
Copy link
Contributor

lint broken now

Most of the issues should be fixable by npm run lint:js.

@sdetweil
Copy link
Collaborator Author

not ..

now, I have personal files in the MM folders that don't pass the lint tests and its none of the linters business..
but they are rejected

> magicmirror@2.30.0-develop lint:js
> eslint . --fix


/home/sam/MagicMirror.old/js/es.js
  15:7  error  Parsing error: 'return' outside of function

/home/sam/MagicMirror.old/modules/default/calendar/save/calendarfetcherutils.js
  120:2   warning  Method 'filterEvents' has too many lines (518). Maximum allowed is 400     max-lines-per-function
  145:32  warning  Arrow function has too many lines (486). Maximum allowed is 400            max-lines-per-function
  299:23  error    Expected '!==' and instead saw '!='                                        eqeqeq
  306:19  error    Expected '!==' and instead saw '!='                                        eqeqeq
  325:10  error    Unexpected constant condition                                              no-constant-condition
  336:19  error    Expected '!==' and instead saw '!='                                        eqeqeq
  349:10  error    Unexpected constant condition                                              no-constant-condition
  349:10  error    Unexpected constant truthiness on the left-hand side of a `&&` expression  no-constant-binary-expression
  415:59  error    Unexpected comma in middle of array                                        no-sparse-arrays
  443:40  error    Expected '!==' and instead saw '!='                                        eqeqeq
  488:19  error    Expected '!==' and instead saw '!='                                        eqeqeq
  490:31  error    Expected '!==' and instead saw '!='                                        eqeqeq
  497:32  error    Expected '===' and instead saw '=='                                        eqeqeq
  507:34  error    Expected '===' and instead saw '=='                                        eqeqeq
  524:11  error    Expected no linebreak before this statement                                @stylistic/nonblock-statement-body-position
  527:11  error    Expected no linebreak before this statement                                @stylistic/nonblock-statement-body-position
  527:23  error    'eventDiff' is assigned to itself                                          no-self-assign

/home/sam/MagicMirror.old/modules/default/calendar/testrrule.js
  9:38  error  Parsing error: Invalid number

/home/sam/MagicMirror.old/modules/default/textit.js
  20:17  error  Parsing error: Unexpected token function

/home/sam/MagicMirror.old/tests/configs/port_variable.js
  3:1  error  Parsing error: Unexpected token }

leave me alone!

I think THIS is a lint error

this.config.remoteFileRefreshInterval !== 0
forcing !== for a numeric value, there is no ambiguity

@khassel
Copy link
Collaborator

khassel commented Nov 12, 2024

leave me alone!

I knew you would like it ;)

@khassel khassel requested a review from rejas November 12, 2024 20:49
modules/default/compliments/compliments.js Outdated Show resolved Hide resolved
@rejas rejas merged commit bd620e0 into MagicMirrorOrg:develop Nov 13, 2024
10 checks passed
@sdetweil sdetweil mentioned this pull request Jan 1, 2025
sdetweil added a commit that referenced this pull request Jan 1, 2025
## [2.30.0] - 2025-01-01

Thanks to: @xsorifc28, @HeikoGr, @bugsounet, @khassel,
@KristjanESPERANTO, @rejas, @sdetweil.

> ⚠️ This release needs nodejs version `v20` or `v22 or higher`, minimum
version is `v20.18.1`

### Added

- [core] Add wayland and windows start options to `package.json` (#3594)
- [docs] Add step for npm publishing in release process (#3595)
- [core] Add GitHub workflow to run spellcheck a few days before each
release (#3623)
- [core] Add test flag to `index.html` to pass to module js for test
mode detection (needed by #3630)
- [core] Add export on animation names (#3644)
- [compliments] Add support for refreshing remote compliments file, and
test cases (#3630)
- [linter] Re-add `eslint-plugin-import`now that it supports ESLint v9
(#3586)
- [linter] Re-activate `eslint-plugin-package-json` to lint
`package.json` (#3643)
- [linter] Add linting for markdown files (#3646)
- [linter] Add some handy ESLint rules.
- [calendar] Add ability to display end date for full date events, where
end is not same day (showEnd=true) (#3650)
- [core] Add text to the config.js.sample file about the locale variable
(#3654, #3655)
- [core] Add fetch timeout for all node_helpers (thru undici, forces
node 20.18.1 minimum) to help on slower systems. (#3660) (3661)

### Changed

- [core] Run code style checks in workflow only once (#3648)
- [core] Fix animations export #3644 only on server side (#3649)
- [core] Use project URL in fallback config (#3656)
- [core] Fix Access Denied crash writing js/positions.js (on synology
nas) #3651. new message, MM starts, but no modules showing (#3652)
- [linter] Switch to 'npx' for lint-staged in pre-commit hook (#3658)

### Removed

- [tests] Remove `node-pty` and `drivelist` from rebuilded test (#3575)
- [deps] Remove `@eslint/js` dependency. Already installed with `eslint`
in deep (#3636)

### Updated

- [repo] Reactivate `stale.yaml` as GitHub action to mark issues as
stale after 60 days and close them 7 days later (if no activity) (#3577,
#3580, #3581)
- [core] Update electron dependency to v32 (test electron rebuild) and
all other dependencies too (#3657)
- [tests] All test configs have been updated to allow full external
access, allowing for easier debugging (especially when running as a
container)
- [core] Run and test with node 23 (#3588)
- [workflow] delete exception `allow-ghsas: GHSA-8hc4-vh64-cxmj` in
`dep-review.yaml` (#3659)

### Fixed

- [updatenotification] Fix pm2 using detection when pm2 script is inside
or outside MagicMirror root folder (#3576) (#3605) (#3626) (#3628)
- [core] Fix loading node_helper of modules: avoid black screen, display
errors and continue loading with next module (#3578)
- [weather] Change default value for weatherEndpoint of provider
openweathermap to "/onecall" (#3574)
- [tests] Fix electron tests with mock dates, the mock on server side
was missing (#3597)
- [tests] Fix testcases with hard coded Date.now (#3597)
- [core] Fix missing `basePath` where `location.host` is used (#3613)
- [compliments] croner library changed filenames used in latest version
(#3624)
- [linter] Fix ESLint ignore pattern which caused that default modules
not to be linted (#3632)
- [core] Fix module path in case of sub/sub folder is used and use
path.resolve for resolve `moduleFolder` and `defaultModuleFolder` in
app.js (#3653)
- [calendar] Update to resolve issues #3098 #3144 #3351 #3422 #3443
#3467 #3537 related to timezone changes
- [calendar] Fix #3267 (styles array), also fixes event with both exdate
AND recurrence(and testcase)
- [calendar] Fix showEndsOnlyWithDuration not working, #3598, applies
ONLY to full day events
- [calendar] Fix showEnd for Full Day events (#3602)
- [tests] Suppress "module is not defined" in e2e tests (#3647)
- [calendar] Fix #3267 (styles array, really this time!)
- [core] Fix #3662 js/positions.js created incorrectly

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Michael Teeuw <michael@xonaymedia.nl>
Co-authored-by: Kristjan ESPERANTO <35647502+KristjanESPERANTO@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Karsten Hassel <hassel@gmx.de>
Co-authored-by: Ross Younger <crazyscot@gmail.com>
Co-authored-by: Veeck <github@veeck.de>
Co-authored-by: Bugsounet - Cédric <github@bugsounet.fr>
Co-authored-by: jkriegshauser <joshuakr@nvidia.com>
Co-authored-by: illimarkangur <116028111+illimarkangur@users.noreply.github.com>
Co-authored-by: vppencilsharpener <tim.pray@gmail.com>
Co-authored-by: veeck <michael.veeck@nebenan.de>
Co-authored-by: Paranoid93 <6515818+Paranoid93@users.noreply.github.com>
Co-authored-by: Brian O'Connor <btoconnor@users.noreply.github.com>
Co-authored-by: WallysWellies <59727507+WallysWellies@users.noreply.github.com>
Co-authored-by: Jason Stieber <jrstieber@gmail.com>
Co-authored-by: jargordon <50050429+jargordon@users.noreply.github.com>
Co-authored-by: Daniel <32464403+dkallen78@users.noreply.github.com>
Co-authored-by: Ryan Williams <65094007+ryan-d-williams@users.noreply.github.com>
Co-authored-by: Panagiotis Skias <panagiotis.skias@gmail.com>
Co-authored-by: Marc Landis <dirk.rettschlag@gmail.com>
Co-authored-by: HeikoGr <20295490+HeikoGr@users.noreply.github.com>
Co-authored-by: Pedro Lamas <pedrolamas@gmail.com>
Co-authored-by: veeck <gitkraken@veeck.de>
@sdetweil sdetweil deleted the enhance_compliments_remote_file branch January 3, 2025 13:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants