Skip to content

update Collaboration.md and dependencies#4001

Merged
rejas merged 3 commits intoMagicMirrorOrg:developfrom
khassel:deps
Jan 8, 2026
Merged

update Collaboration.md and dependencies#4001
rejas merged 3 commits intoMagicMirrorOrg:developfrom
khassel:deps

Conversation

@khassel
Copy link
Copy Markdown
Collaborator

@khassel khassel commented Jan 1, 2026

No description provided.

@sdetweil
Copy link
Copy Markdown
Collaborator

sdetweil commented Jan 2, 2026

What is the xxxxx NPM_TOKEN=npm_xxxxx
I generate a token but it doesn’t give me the value, only allows me to set the name

@khassel
Copy link
Copy Markdown
Collaborator Author

khassel commented Jan 2, 2026

it is the new token, e.g.:

grafik

@rejas
Copy link
Copy Markdown
Collaborator

rejas commented Jan 2, 2026 via email

@khassel
Copy link
Copy Markdown
Collaborator Author

khassel commented Jan 2, 2026

I dont like bypassing 2FA

I described only one way to get npm publish running. I'm not involved in this topic and the only use case where I have to login and publish something is ~ once a year here.

Please consider that I have no node/npm stuff on my working system (windows) so I have to do this per command line in a linux container which has no browser. Let me know how to do this with 2FA. Or better change the content of Collaboration.md in this PR.

@sdetweil
Copy link
Copy Markdown
Collaborator

sdetweil commented Jan 2, 2026

I also have no npm content other than MM,

@rejas
Copy link
Copy Markdown
Collaborator

rejas commented Jan 5, 2026

Please consider that I have no node/npm stuff on my working system (windows) so I have to do this per command line in a linux container which has no browser. Let me know how to do this with 2FA. Or better change the content of Collaboration.md in this PR.

Without a browser it indeed could be tricky. When I publish on npm (via console), it does open a brwoser for me and I can enter my 2fa code there.

Maybe add your setup (with the NPM_TOKEN instrcutions) as a secondary way for publishing (one with brwoser, one without brwoser)?

@khassel
Copy link
Copy Markdown
Collaborator Author

khassel commented Jan 5, 2026

as I already mentioned: I know only the method I wrote down in Collaboration.md.

If you prefer a method with 2fa write it down and commit it into this PR. Leaving my method as secondary would be helpful if the 2fa-method is not usable in headless setups.

- Method 1 (recommended): npm login with browser and 2FA
- Method 2 (fallback): token-based for headless environments
- Add security warning for token method that bypasses 2FA
@KristjanESPERANTO
Copy link
Copy Markdown
Collaborator

I've just added a commit (b73aa21) with both methods for npm publishing.

This should address both @rejas' security concerns and @khassel's headless setup requirements. The 2FA method is clearly marked as recommended, while the token method remains available as a documented fallback for environments without browser access.

What do you think? 🙂

@khassel
Copy link
Copy Markdown
Collaborator Author

khassel commented Jan 7, 2026

Thanks @KristjanESPERANTO , can't approve (because I created this PR) but I'm fine with this.

@sdetweil
Copy link
Copy Markdown
Collaborator

sdetweil commented Jan 7, 2026

npm login worked for me just now

@KristjanESPERANTO
Copy link
Copy Markdown
Collaborator

npm login worked for me just now

Because you probably chose the "bypass 2FA option" and saved the token.


The problem with the bypass is that if one of those systems with bypass are getting compromised, malicious code could be easily published via npm. There have already been npm dependency chain attacks, so it's not entirely unrealistic.

@khassel
Copy link
Copy Markdown
Collaborator Author

khassel commented Jan 7, 2026

The problem with the bypass is that if one of those systems with bypass are getting compromised, malicious code could be easily published via npm. There have already been npm dependency chain attacks, so it's not entirely unrealistic.

I know about the npm problems.

When I do the npm publish using a container this container only lives for the ~ 5 min. doing this. I revoke the used token after the container is destroyed.

@sdetweil
Copy link
Copy Markdown
Collaborator

sdetweil commented Jan 7, 2026

It asked me to login with my passkey

@rejas rejas merged commit b847dd7 into MagicMirrorOrg:develop Jan 8, 2026
9 checks passed
@khassel khassel deleted the deps branch January 10, 2026 12:18
@khassel khassel mentioned this pull request Apr 1, 2026
khassel added a commit that referenced this pull request Apr 1, 2026
## Release Notes
Thanks to: @angeldeejay, @in-voker, @JHWelch, @khassel,
@KristjanESPERANTO, @rejas, @sdetweil
> ⚠️ This release needs nodejs version >=22.21.1 <23 || >=24 (no change
to previous release)

[Compare to previous Release
v2.34.0](v2.34.0...v2.25.0)

> ⚠️ We introduced some internal changes with this release, please read
[this forum
post](https://forum.magicmirror.builders/topic/20138/upcoming-release-april-1-2026-breaking-changes-some-operational-changes)
before upgrading!

### [core]
- Prepare Release 2.35.0 (#4071)
- docs: add security policy and vulnerability reporting guidelines
(#4069)
- refactor: simplify internal `require()` calls (#4056)
- allow environment variables in cors urls (#4033)
- fix cors proxy getting binary data (e.g. png, webp) (#4030)
- fix: correct secret redaction and optimize loadConfig (#4031)
- change loading config.js, allow variables in config.js and try to
protect sensitive data (#4029)
- remove kioskmode (#4027)
- Add dark theme logo (#4026)
- move custom.css from css to config (#4020)
- move default modules from /modules/default to /defaultmodules (#4019)
- update node versions in workflows (#4018)
- [core] refactor: extract and centralize HTTP fetcher (#4016)
- fix systeminformation not displaying electron version (#4012)
- Update node-ical and support it's rrule-temporal changes (#4010)
- Change default start scripts from X11 to Wayland (#4011)
- refactor: unify favicon for index.html and Electron (#4006)
- [core] run systeminformation in subprocess so the info is always
displayed (#4002)
- set next release dev number (#4000)

### [dependencies]
- update dependencies (#4068)
- update dependencies incl. electron to v41 (#4058)
- chore: upgrade ESLint to v10 and fix newly surfaced issues (#4057)
- chore: update ESLint and plugins, simplify config, apply new rules
(#4052)
- chore: update dependencies + add exports, files, and sideEffects
fields to package.json (#4040)
- [core] refactor: enable ESLint rule require-await and handle detected
issues (#4038)
- Update node-ical and other deps (#4025)
- chore: update dependencies (#4021)
- chore(eslint): migrate from eslint-plugin-vitest to
@vitest/eslint-plugin and run rules only on test files (#4014)
- Update deps as requested by dependabot (#4008)
- update Collaboration.md and dependencies (#4001)

### [logging]
- refactor: further logger clean-up (#4050)
- Fix Node.js v25 logging prefix and modernize logger (#4049)

### [modules/calendar]
- fix(calendar): make showEnd behavior more consistent across time
formats (#4059)
- test(calendar): fix hardcoded date in event shape test (#4055)
- [calendar] refactor: delegate event expansion to node-ical's
expandRecurringEvent (#4047)
- calendar.js: remove useless hasCalendarURL function (#4028)
- fix(calendar): update to node-ical 0.23.1 and fix full-day recurrence
lookup (#4013)
- fix(calendar): correct day-of-week for full-day recurring events
across all timezones (#4004)

### [modules/newsfeed]
- fix(newsfeed): fix full article view and add framing check (#4039)
- [newsfeed] refactor: migrate to centralized HTTPFetcher (#4023)

### [modules/weather]
- fix(weather): fix openmeteo forecast stuck in the past (#4064)
- fix(weather): fix weathergov forecast day labels off by one (#4065)
- weather: fixes for templates (#4054)
- weather: add possibility to override njk's and css (#4051)
- Use getDateString in openmeteo (#4046)
- [weather] refactor: migrate to server-side providers with centralized
HTTPFetcher (#4032)
- [weather] feat: add Weather API Provider  (#4036)

### [testing]
- chore: remove obsolete Jest config and unit test global setup (#4044)
- replace template_spec test with config_variables test (#4034)
- refactor(clientonly): modernize code structure and add comprehensive
tests (#4022)
- Switch to undici Agent for HTTPS requests (#4015)
- chore: migrate CI workflows to ubuntu-slim for faster startup times
(#4007)

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Kristjan ESPERANTO <35647502+KristjanESPERANTO@users.noreply.github.com>
Co-authored-by: Bugsounet - Cédric <github@bugsounet.fr>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: sam detweiler <sdetweil@gmail.com>
Co-authored-by: Veeck <github@veeck.de>
Co-authored-by: veeck <gitkraken@veeck.de>
Co-authored-by: Magnus <34011212+MagMar94@users.noreply.github.com>
Co-authored-by: Ikko Eltociear Ashimine <eltociear@gmail.com>
Co-authored-by: DevIncomin <56730075+Developer-Incoming@users.noreply.github.com>
Co-authored-by: Nathan <n8nyoung@gmail.com>
Co-authored-by: mixasgr <mixasgr@users.noreply.github.com>
Co-authored-by: Savvas Adamtziloglou <savvas-gr@greeklug.gr>
Co-authored-by: Konstantinos <geraki@gmail.com>
Co-authored-by: OWL4C <124401812+OWL4C@users.noreply.github.com>
Co-authored-by: BugHaver <43462320+bughaver@users.noreply.github.com>
Co-authored-by: BugHaver <43462320+lsaadeh@users.noreply.github.com>
Co-authored-by: Koen Konst <koenspero@gmail.com>
Co-authored-by: Koen Konst <c.h.konst@avisi.nl>
Co-authored-by: dathbe <github@beffa.us>
Co-authored-by: Marcel <m-idler@users.noreply.github.com>
Co-authored-by: Kevin G. <crazylegstoo@gmail.com>
Co-authored-by: Jboucly <33218155+jboucly@users.noreply.github.com>
Co-authored-by: Jboucly <contact@jboucly.fr>
Co-authored-by: Jarno <54169345+jarnoml@users.noreply.github.com>
Co-authored-by: Jordan Welch <JordanHWelch@gmail.com>
Co-authored-by: Blackspirits <blackspirits@gmail.com>
Co-authored-by: Samed Ozdemir <samed@xsor.io>
Co-authored-by: in-voker <58696565+in-voker@users.noreply.github.com>
Co-authored-by: Andrés Vanegas Jiménez <142350+angeldeejay@users.noreply.github.com>
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