Files
MagicMirror/translations/cv.json
Kristjan ESPERANTO df8a882966 fix(newsfeed): fix full article view and add framing check (#4039)
I was playing around with the newsfeed notification system
(`ARTICLE_MORE_DETAILS`, `ARTICLE_TOGGLE_FULL`, …) and discovered some
issues with the full article view:

The iframe was loading the CORS proxy URL instead of the actual article
URL, which could cause blank screens depending on the feed. Also, many
news sites block iframes entirely (`X-Frame-Options: DENY`) and the user
got no feedback at all — just an empty page. On top of that, scrolling
used `window.scrollTo()` which moved the entire MagicMirror page instead
of just the article.

This PR cleans that up:

- Use the raw article URL for the iframe (CORS proxy is only needed for
server-side feed fetching)
- Check `X-Frame-Options` / `Content-Security-Policy` headers
server-side before showing the iframe — if the site blocks it, show a
brief "Article cannot be displayed here." message and return to normal
view
- Show the iframe as a fixed full-screen overlay so other modules aren't
affected, scroll via `container.scrollTop`
- Keep the progressive disclosure behavior for `ARTICLE_MORE_DETAILS`
(title → description → iframe → scroll)
- Delete `fullarticle.njk`, replace with `getDom()` override
- Fix `ARTICLE_INFO_RESPONSE` returning proxy URL instead of real URL
- A few smaller fixes (negative scroll, null guard)
- Add `NEWSFEED_ARTICLE_UNAVAILABLE` translation to all 47 language
files
- Add e2e tests for the notification handlers (`ARTICLE_NEXT`,
`ARTICLE_PREVIOUS`, `ARTICLE_INFO_REQUEST`, `ARTICLE_LESS_DETAILS`)

## What this means for users

- The full article view now works reliably across different feeds
- If a news site blocks iframes, the user sees a brief message instead
of a blank screen
- Additional e2e tests make the module more robust and less likely to
break silently in future MagicMirror versions
2026-03-01 00:32:42 +01:00

54 lines
2.2 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"LOADING": "Тиенет …",
"YESTERDAY": "Знон",
"TODAY": "Паян",
"TOMORROW": "Ыран",
"DAYAFTERTOMORROW": "Виҫмине",
"RUNNING": "Хальхи",
"EMPTY": "Пулас ӗҫ ҫук",
"WEEK": "{weekNumber} эрне",
"N": "Ҫ",
"NNE": "ҪҪТ",
"NE": "ҪТ",
"ENE": "ТҪТ",
"E": "Т",
"ESE": "ТКТ",
"SE": "КТ",
"SSE": "ККТ",
"S": "К",
"SSW": "ККА",
"SW": "КА",
"WSW": "АКА",
"W": "А",
"WNW": "АҪА",
"NW": "ҪА",
"NNW": "ҪҪА",
"FEELS": "Туйӑннӑ {DEGREE}",
"PRECIP_POP": "Ҫумӑр ҫума пултарасси",
"PRECIP_AMOUNT": "Ҫумӑр виҫи",
"MODULE_CONFIG_CHANGED": "{MODULE_NAME} модулӗн конфигураци опциялӗ пур ҫӗнтерӗ.",
"MODULE_CONFIG_ERROR": "{MODULE_NAME} модулӗнде хата. {ERROR}",
"MODULE_ERROR_MALFORMED_URL": "Ҫӗҫ ҫӗнӗ URL хата.",
"MODULE_ERROR_NO_CONNECTION": "Интернет-пулла хӗҫҫӗн.",
"MODULE_ERROR_UNAUTHORIZED": "Авторизация хата.",
"MODULE_ERROR_RATE_LIMITED": "Нумай ыйту. Хыҫра тепӗр хут.",
"MODULE_ERROR_SERVER_ERROR": "Сервер хатӗ. Хыҫра тепӗр хут.",
"MODULE_ERROR_CLIENT_ERROR": "Ыйту хатӗ.",
"MODULE_ERROR_UNSPECIFIED": "Тӗп лог ҫӗнтерӗ.",
"NEWSFEED_NO_ITEMS": "Пулас ҫӗнтер ҫук.",
"NEWSFEED_ARTICLE_UNAVAILABLE": "Article cannot be displayed here.",
"UPDATE_NOTIFICATION": "MagicMirror² валли ҫӗнетӳ пур.",
"UPDATE_NOTIFICATION_MODULE": "{MODULE_NAME} модуль валли ҫӗнетӳ пур.",
"UPDATE_INFO_SINGLE": "Ҫак инсталляци {BRANCH_NAME} commit турат {COMMIT_COUNT} коммитпа кая уйрӑлса тӑрать.",
"UPDATE_INFO_MULTIPLE": "Ҫак инсталляци {BRANCH_NAME} commit турат {COMMIT_COUNT} коммитпа кая уйрӑлса тӑрать.",
"UPDATE_NOTIFICATION_DONE": "{MODULE_NAME} модулӗнде валли ҫӗнетӳ пур.",
"UPDATE_NOTIFICATION_ERROR": "{MODULE_NAME} модулӗнде валли ҫӗнетӳ хата.",
"UPDATE_NOTIFICATION_NEED-RESTART": "MagicMirror перезагрузка тӗрӗҫҫӗн тӑрать."
}