Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ planned for 2026-01-01
- [ci] Add concurrency to automated tests workflow to cancel outdated runs (#3943)
- [tests] replace `node-libgpiod` with `serialport` in electron-rebuild workflow (#3945)
- [calendar] hide repeatingCountTitle if the event count is zero (#3949)
- [core] configure cspell to check default modules only and fix typos (#3955)

### Fixed

Expand Down
102 changes: 101 additions & 1 deletion cspell.config.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,25 @@
"language": "en",
"words": [
"aarch",
"Adak",
"Alvinger",
"Ampio",
"andrezibaia",
"angeldeejay",
"apikey",
"apiontek",
"armv",
"ashishtank",
"autoplay",
"Autorestart",
"beada",
"Behaviour",
"Binney",
"bluemanos",
"bnitkin",
"bokmål",
"bouncyflip",
"boxspinner",
"Brasileiro",
"Brento",
"browserwindow",
Expand All @@ -25,14 +31,22 @@
"bugsounet",
"buxxi",
"byday",
"calcage",
"calendarfetcher",
"calendarfetcherutils",
"calendarutils",
"calevents",
"chamakura",
"Citypage",
"cjbrunner",
"clearsky",
"clientonly",
"clockfaces",
"cloudcover",
"cmdline",
"codac",
"Codrops",
"cornerexpand",
"Crazylegstoo",
"crazyscot",
"Creepin",
Expand All @@ -43,14 +57,23 @@
"Cymraeg",
"dariom",
"darksky",
"dataheaders",
"Datamart",
"dateheader",
"dateheaders",
"datekey",
"dathbe",
"davide",
"DAYAFTERTOMORROW",
"DAYBEFOREYESTERDAY",
"defaultmodules",
"Deificit",
"Descr",
"dewpoint",
"dgoth",
"difflink",
"dismissttl",
"Displayer",
"dkallen",
"drivelist",
"DTEND",
Expand All @@ -63,18 +86,26 @@
"Edgardos",
"Ekristoffe",
"elec",
"elif",
"eltociear",
"endfor",
"endmacro",
"envcanada",
"envsub",
"envsubst",
"eouia",
"Evapotranspration",
"exdate",
"exdates",
"expectedheaders",
"exploader",
"ezeholz",
"Fadesteps",
"Faizan",
"feedme",
"feelslike",
"Fenner",
"Feuchte",
"fewieden",
"fixuppm",
"flopp",
Expand All @@ -83,7 +114,9 @@
"forecastweather",
"fortawesome",
"frameguard",
"freezinglevel",
"Frysk",
"fullarticle",
"fulldate",
"fullday",
"fullscreen",
Expand All @@ -92,9 +125,19 @@
"GHSA",
"ghsas",
"grenagit",
"Halfclear",
"heavyrain",
"heavyrainandthunder",
"heavyrainshowers",
"heavyrainshowersandthunder",
"heavysleet",
"heavysleetshowersandthunder",
"heavysnow",
"heavysnowandthunder",
"Heiko",
"Hirschberger",
"hourlyweather",
"humidex",
"Hwind",
"ical",
"illimarkangur",
Expand Down Expand Up @@ -123,15 +166,18 @@
"Knapoc",
"Koepke",
"kolbyjack",
"Komplex",
"krekos",
"Kristjan",
"krukle",
"labwc",
"Landis",
"larryare",
"Lastberechnung",
"letsencrypt",
"libgpiod",
"Lightspeed",
"loadingcircle",
"locationforecast",
"lockstring",
"lstrip",
Expand Down Expand Up @@ -159,9 +205,12 @@
"Ñandú",
"nathannaveen",
"naveensrinivasan",
"nbsp",
"ndom",
"Nerfzooka",
"NEWSFEED",
"newsfeedfetcher",
"newsfetcher",
"newsitems",
"nfogal",
"njwilliams",
Expand All @@ -170,42 +219,61 @@
"nunjuck",
"odroid",
"oemel",
"oldconfig",
"onecall",
"onevent",
"openmeteo",
"openmeto",
"openweathermap",
"oraclesean",
"oscarb",
"pcat",
"philnagel",
"pirateweather",
"plained",
"plebcity",
"pmax",
"pmean",
"pmedian",
"pmin",
"Português",
"PRECIP",
"Problema",
"psieg",
"pubdate",
"radokristof",
"rajniszp",
"rebuilded",
"Reis",
"rejas",
"relativehumidity",
"Resig",
"roboto",
"rohitdharavath",
"Rosso",
"Rothfusz",
"rrule",
"savvadam",
"sdetweil",
"searchstr",
"sendheaders",
"serveronly",
"sexualized",
"Sitecode",
"skpanagiotis",
"SMHI",
"Snille",
"snowandthunder",
"snowshowersandthunder",
"socketclient",
"socketio",
"spectron",
"Starinvest",
"stationid",
"STEADMAN",
"sthuber",
"Stieber",
"strinner",
"stylelintrc",
"subclassing",
"sunaction",
Expand All @@ -216,42 +284,74 @@
"tada",
"taglist",
"Teeuw",
"Teil",
"TESTMODE",
"thomasrockhu",
"thumbslider",
"timeformat",
"titlereplacestr",
"titlesearchstr",
"todaytemp",
"tomzt",
"trunc",
"ttlms",
"ukmetoffice",
"ukmetofficedatahub",
"unitless",
"unixtime",
"unparseable",
"updatenotification",
"uxdt",
"Vaice",
"veeck",
"verjaardag",
"VEVENT",
"vgtu",
"Vitest",
"Voelt",
"Vorberechnung",
"vppencilsharpener",
"Wallys",
"Weatherbit",
"weathercode",
"WEATHERDATA",
"Weatherflow",
"weatherforecast",
"weathergov",
"weathericon",
"weathericons",
"weatherobject",
"weatherprovider",
"weatherutils",
"webcal",
"winddirection",
"windgusts",
"windspeed",
"Woolridge",
"worktree",
"Wsymb",
"xlarge",
"xmark",
"xrandr",
"xsmall",
"xsorifc",
"xwindows",
"xxxe",
"Ybbet",
"yearmatch",
"yearmatchgroup"
],
"ignorePaths": ["node_modules/**", "modules/**", "translations/**", "tests/mocks/**", "tests/e2e/modules/clock_es_spec.js", "css/roboto.css"],
"ignorePaths": [
"css/roboto.css",
"node_modules/**",
"modules/!(default)/**",
"modules/default/**/translations/!(en).json",
"modules/default/calendar/windowsZones.json",
"modules/default/clock/faces/*.svg",
"modules/default/weather/providers/yr.js",
"tests/mocks/**",
"tests/e2e/modules/clock_es_spec.js",
"translations/**"
],
"dictionaries": ["node"]
}
2 changes: 1 addition & 1 deletion modules/default/alert/notificationFx.js
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@
// notice, warning, error, success
// will add class ns-type-warning, ns-type-error or ns-type-success
type: "notice",
// if the user doesn´t close the notification then we remove it
// if the user doesn't close the notification then we remove it
// after the following time
ttl: 6000,
al_no: "ns-box",
Expand Down
8 changes: 4 additions & 4 deletions modules/default/calendar/calendar.js
Original file line number Diff line number Diff line change
Expand Up @@ -411,7 +411,7 @@ Module.register("calendar", {
timeWrapper.innerHTML = CalendarUtils.capFirst(eventStartDateMoment.format(this.config.dateFormat));
// Add end time if showEnd
if (this.config.showEnd) {
// and has a duation
// and has a duration
if (event.startDate !== event.endDate) {
timeWrapper.innerHTML += "-";
timeWrapper.innerHTML += CalendarUtils.capFirst(eventEndDateMoment.format(this.config.dateEndFormat));
Expand Down Expand Up @@ -493,7 +493,7 @@ Module.register("calendar", {
}
Log.info("[calendar] event fullday");
} else if (eventStartDateMoment.diff(now, "h") < this.config.getRelative) {
Log.info("[calendar] not full day but within getrelative size");
Log.info("[calendar] not full day but within getRelative size");
// If event is within getRelative hours, display 'in xxx' time format or moment.fromNow()
timeWrapper.innerHTML = `${CalendarUtils.capFirst(eventStartDateMoment.fromNow())}`;
}
Expand Down Expand Up @@ -721,7 +721,7 @@ Module.register("calendar", {
}
events = newEvents;
}
Log.info(`[calendar] slicing events total maxcount=${this.config.maximumEntries}`);
Log.info(`[calendar] slicing events total maxCount=${this.config.maximumEntries}`);
return events.slice(0, this.config.maximumEntries);
},

Expand Down Expand Up @@ -909,7 +909,7 @@ Module.register("calendar", {

/**
* Broadcasts the events to all other modules for reuse.
* The all events available in one array, sorted on startdate.
* The all events available in one array, sorted on startDate.
*/
broadcastEvents () {
const eventList = this.createEventList(false);
Expand Down
4 changes: 2 additions & 2 deletions modules/default/calendar/calendarfetcherutils.js
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ const CalendarFetcherUtils = {
return JSON.stringify(d) !== "null";
});

// Dates are returned in UTC timezone but with localdatetime because tzid is null.
// Dates are returned in UTC timezone but with local datetime because tzid is null.
// So we map the date to a moment using the original timezone of the event.
return dates.map((d) => (event.start.tz ? moment.tz(d, "UTC").tz(event.start.tz, true) : moment.tz(d, "UTC").tz(CalendarFetcherUtils.getLocalTimezone(), true)));
},
Expand Down Expand Up @@ -202,7 +202,7 @@ const CalendarFetcherUtils = {
const geo = event.geo || false;
const description = event.description || false;

// TODO This should be a seperate function.
// TODO This should be a separate function.
if (event.rrule && typeof event.rrule !== "undefined" && !isFacebookBirthday) {
// Recurring event.
let moments = CalendarFetcherUtils.getMomentsFromRecurringEvent(event, pastLocalMoment, futureLocalMoment, durationMs);
Expand Down
2 changes: 1 addition & 1 deletion modules/default/calendar/calendarutils.js
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ const CalendarUtils = {
* @param {string} title The title to transform.
* @param {object} titleReplace object definition of parts to be replaced in the title
* object definition:
* search: {string,required} RegEx in format //x or simple string to be searched. For (birthday) year calcluation, the element matching the year must be in a RegEx group
* search: {string,required} RegEx in format //x or simple string to be searched. For (birthday) year calculation, the element matching the year must be in a RegEx group
* replace: {string,required} Replacement string, may contain match group references (latter is required for year calculation)
* yearmatchgroup: {number,optional} match group for year element
* @returns {string} The transformed title.
Expand Down
2 changes: 1 addition & 1 deletion modules/default/compliments/compliments.js
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ Module.register("compliments", {
minute_sync_delay);
},

// check to see if this entry could be a cron entry wich contains spaces
// check to see if this entry could be a cron entry which contains spaces
isCronEntry (entry) {
return entry.includes(" ");
},
Expand Down
2 changes: 1 addition & 1 deletion modules/default/helloworld/helloworld.njk
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!--
Use ` | safe` to allow html tages within the text string.
Use ` | safe` to allow html tags within the text string.
https://mozilla.github.io/nunjucks/templating.html#autoescaping
-->
<div>{{ text | safe }}</div>
Loading