Repository navigation
Releases: gszigethy/444hu_comments
Release list
v1.5.0.0
1.5.0.0: the extension now works on every site that 444hsz.com supports, switched on site by site. The extension code is identical to v1.5.0.0-b3; the only change since is the README, which now credits the original author and explains why this fork exists. The extension, with its browser permissions, has not been tried in a live browser by the maintainer or in an in-place upgrade from 1.4.x. Please read the upgrade note below, and report problems in a GitHub issue or at bovitmeny@444hsz.com.
What's new since 1.4.0.27
- 23 sites, not only 444.hu. On an article page of a supported site (Telex, Qubit, 24.hu, Népszava, Magyar Narancs, Magyar Hang, Forbes, Mérce, Átlátszó and others; list) the extension adds a "Hozzászólások" block with the 444hsz Disqus forum. The thread is found by the page URL, which is how 444hsz.com identifies it. The block sits right behind the article text, in the text column and ahead of the tags, with a rule per site (
placements.json) and a generic fallback if a site's markup changes. - Per-site opt-in, 444.hu included. After installing, no site is active. An options page (opens on first install and from the toolbar icon) has one switch per site, "Mind be" (one browser prompt for all sites) and "Mind ki" (no prompt). The permission is the switch, so access revoked in the browser's settings shows as off.
- Import the starting selection from 444hsz.com with one button. It only preselects; you switch the sites on with a second click. The 444hsz.com access is requested only for the import and revoked right after.
- The block survives re-rendering pages. On Vue/Nuxt sites such as Telex the page rebuilt its DOM and removed the block; it is now put back (at most 10 times, then moved to the end of the page).
- Daily check of the site list. A scheduled GitHub Action compares 444hsz.com's list with the bundled
sites.jsonand opens an issue when it changes (needs Issues enabled on the repository). - Hungarian documentation: README, user guide (what the browser prompt means and what to do if you decline it by accident), supported sites, the 444hsz.com import, developer guide, site recon and a manual test checklist.
- Fork notice: the README credits the original author, nerblock, and the upstream repository, and explains why this fork continues the project.
Fixes and hardening
- No unhandled promise rejections in the options page or the content script (SonarCloud S9383).
- The packaging script includes files the manifest does not name and fails the build if the site list or placements are missing.
- CI covers the new files and checks HTML,
sites.jsonandplacements.jsonformatting.
Upgrading from 1.4.x
The 444.hu access moves from required to optional. If the browser keeps the old grant, 444.hu keeps working. If it does not, the options page opens with a notice: switch 444.hu on once. Which of the two happens has not been verified. The manifest version is the same as in the betas, so after installing over a beta, reload or reinstall the extension manually.
Known limitations
- Lakmusz does not work:
www.lakmusz.huredirects tolakmusz.hu, which 444hsz.com's own rule does not match. G7 articles are served on Telex and handled by the Telex rule; Amerikai Népszava could not be checked without logging in; hvg.hu and eduline.hu are excluded because 444hsz.com does not allow new threads there. - The per-site placement rules come from one article per site on 2026-10-07 and depend on each site's markup; if a site redesigns, the block falls back to the generic placement until
placements.jsonis updated. - If the block shows but the Disqus area stays empty, the 444hsz forum probably does not trust that site's domain; only the forum admins can change that.
- On sites other than 444.hu there is no sidebar, no official-forum tab and no custom forum setting.
- The manifest has no Firefox add-on id, and the manifest declares both
service_workerandscriptsfor the background; Firefox behaviour is not verified. - There is still no
LICENSEfile (see the README's licence section).
Changes since 1.4.0.27: #8 to #18. Full changelog
SHA-256 (444hu_comments.zip, built by CI for this tag):
373E42339422450AC87C6E8C10656CC57AC743DFA83C07A5268AD404FE9CB640
v1.5.0.0-b3 (beta)
Beta 3 of 1.5.0.0. Still not verified with the extension installed in a live browser (checklist: docs/kezi-teszt.md, Hungarian). Everything in b1 and b2 applies. The manifest version is still 1.5.0.0, so after installing the ZIP over an earlier beta, reload or reinstall the extension manually.
What's new
- The comments block now sits in the article's text column on the other supported sites (#17). On 444.hu it follows the article column, right after the text and before the tags. On the other sites the block used to be appended at the end of the page container, across the full page width. Now:
placements.jsongives each of 19 sites a placement rule (after, before or at the end of an element, picked from the site's real layout), so the block lands right behind the article text and ahead of tags, share buttons and related links;- the block takes the width and left edge of the text column, and re-measures when that column resizes (several sites have no size yet when the block is first inserted);
- a site without a rule, or one whose markup changed so that the rule no longer matches, falls back to the generic placement, with the width matched to the page's column.
- Developer tool
.github/ci/placement_preview.mjs: runs the content script on real articles in a remote browser and reports where the block landed, with a screenshot. Not part of CI.
How it was checked
One real article per site was loaded in headless Chromium at 1366 px with the real scripts injected: all 19 sites land in the text column at the right width, and at a 400 px phone width nine sites were checked and fit the screen. Two problems found this way are fixed in this release: on Media1 the block shrank to its content, and on Népszava it appeared as a third column beside the text. The extension itself, with its permissions, was not loaded in the browser (optional permissions cannot be granted headlessly), so the real install and permission flow still needs your manual test.
Known limitations
- The placement rules come from one article per site on 2026-10-07 and depend on each site's markup. If a site redesigns, its rule stops matching and the block falls back to the generic placement until
placements.jsonis updated. - Consent and paywall layers shown in a real browser, and logged-in views, were not examined. Lakmusz, G7 and Amerikai Népszava have no rule (see the recon doc: Lakmusz does not match 444hsz.com's own rule; G7 is served on Telex; Amerikai Népszava could not be sampled).
- If the block shows but the Disqus area stays empty, the 444hsz forum probably does not trust that site's domain; only the forum admins can change that.
- Unchanged from b1/b2: upgrading from 1.4.x may need 444.hu to be switched on once; hvg.hu and eduline.hu are excluded; no sidebar, official-forum tab or custom forum on sites other than 444.hu.
Changes since b2: #17. Full changelog
SHA-256 (444hu_comments.zip, built by CI for this tag):
2CE83B8C7E5EE873F46D030394C027A79BF5022440D1786D5F949B67428861CF
v1.5.0.0-b2 (beta)
Beta 2 of 1.5.0.0. Still not verified in live browsers (checklist: docs/kezi-teszt.md, Hungarian). Everything in b1 applies; this release only adds the fix below. The manifest version is still 1.5.0.0: the beta is marked by the tag and the pre-release flag, so after installing the ZIP over b1, reload or reinstall the extension manually.
Fixes
- The comments block vanished on some Telex articles (it flickered at the bottom of the page and disappeared; on other Telex pages it worked). Telex is a Vue/Nuxt app that rebuilds its page after the extension has inserted the block and drops elements it does not know. The extension now notices when the page removes the block and puts it back (#16):
- at most 10 times, so a page that keeps removing it cannot make the extension loop;
- after the second removal the block goes to the end of the page, outside the part the framework manages (less nicely placed, below the footer, but it stays);
- a block that had already started loading is restored loading, and Disqus is asked again for the new container;
- after leaving an article for a section page, no block is brought back.
This is inferred from the symptoms and the page structure and is not confirmed in a browser. The console line[444hsz] Comments block was removed by the page, inserting it againshows that it kicked in.
Known limitations (unchanged from b1)
- If the block stays but the Disqus area is empty or shows an error, the 444hsz forum probably does not trust that site's domain. Only the 444hsz forum admins can change that.
- Upgrading from 1.4.x: whether the browser keeps the 444.hu permission is not verified; if not, the options page opens with a notice and 444.hu must be switched on once.
- Lakmusz does not work (the 444hsz.com rule does not match its redirect), G7 articles are handled by the Telex rule, Amerikai Népszava could not be checked, hvg.hu and eduline.hu are excluded.
- No sidebar, official-forum tab or custom forum on sites other than 444.hu.
Changes since b1: #16. Full changelog
SHA-256 (444hu_comments.zip, built by CI for this tag):
7DAAA9E7F9BE6FB3892084C70B9A8FE70C3498F8FF9AEC3EF56382F76523D68B
v1.5.0.0-b1 (beta)
Beta 1 of 1.5.0.0. Not yet verified in live browsers; please test before relying on it (checklist: docs/kezi-teszt.md, Hungarian). The manifest version is 1.5.0.0; the beta is marked by the tag and this pre-release.
What's new
- Every site 444hsz.com supports can now be used, not only 444.hu: 23 sites in all (Telex, Qubit, 24.hu, Népszava, Magyar Narancs, Magyar Hang, Forbes, Mérce, Átlátszó and others; list in
docs/tamogatott-oldalak.md). On an article page the extension adds a "Hozzászólások" block with the 444hsz Disqus forum. The thread is found by the page URL, which is how 444hsz.com identifies it. - Per-site opt-in, 444.hu included. After installing, no site is active. A new options page (opens on first install and from the toolbar icon) has one switch per site, plus "Mind be" (one browser prompt for all sites) and "Mind ki" (no prompt). The permission is the switch: access revoked in the browser's settings shows as off.
- Import the starting selection from 444hsz.com with one button. It only preselects; you switch the sites on with a second click. The 444hsz.com access is requested only for the import and revoked right after.
- Daily check of the site list. A scheduled GitHub Action compares 444hsz.com's list with the bundled
sites.jsonand opens one issue when it changes. - Hungarian docs: switching sites on, what the browser prompt means, what to do if you decline it by accident, the 444hsz.com import, the supported and excluded sites, and a manual test checklist.
- Developer tooling: a read-only site recon script with text-free page fixtures (
docs/oldalak-felderites.md).
Fixes and hardening
- No unhandled promise rejections in the options page or the content script: a failed load shows a message or is logged (SonarCloud rule S9383).
- The packaging script now includes files the manifest does not name (options page and its assets, background scripts, runtime-registered content scripts,
sites.json) and fails the build if the site list is missing. - CI now covers the new files and also checks HTML and
sites.jsonformatting.
Changes you will notice
- Upgrading from 1.4.x: the 444.hu access moves from required to optional. If the browser keeps the old grant, 444.hu keeps working with no action. If it doesn't, the options page opens with a notice: switch 444.hu on once. Which of the two happens is not verified yet, so this is the first thing to test.
- On sites other than 444.hu there is no sidebar, no official-forum tab and no custom forum setting; only the 444hsz forum.
Known limitations
- Lakmusz does not work yet:
www.lakmusz.huredirects tolakmusz.hu, which 444hsz.com's own rule does not match. The extension follows those rules. - G7 articles are served on
telex.hu/g7and are handled by the Telex rule. - Amerikai Népszava could not be checked without logging in.
- hvg.hu and eduline.hu are excluded, because 444hsz.com does not allow new threads there.
- The Disqus forum must trust each site's domain; if a site shows an empty block, that is the likely cause and only the 444hsz forum admins can change it.
- Not tried on live pages: the per-site insertion point, the browsers' exact permission prompts, and the Firefox manifest (
backgroundhas bothservice_workerandscripts; no add-on id is set).
Changes: #8 to #15. Full changelog
SHA-256 (444hu_comments.zip, built by CI for this tag):
59BBC828EAB6A4FC562F0B393AAD8B11160117A1F11968C5E1454ED2A6B54313
v1.4.0.27
What's new
- Hungarian documentation. Added a Hungarian
README.md(features, installation, privacy, license notes) and docs underdocs/: a user guide (hasznalat.md) and a developer guide (fejlesztoi-dokumentacio.md) covering architecture, testing, CI, releasing and known limitations. - No functional changes to the extension; only the version number differs from 1.4.0.26.
Known open items
No LICENSE file in the repository (the Firefox listing states MPL-2.0); the legacy frontend ignores the custom-forum setting; see the developer guide for the full list. Not verified in a live browser.
Changes: #6, #7. Full changelog
SHA-256 (444hu_comments.zip):
5605C228E4B7E12A4635D8E6446FBBDF7DCC511AF304477693F4CB0C4BA5C7CA
v1.4.0.26
What's fixed
- More reliable startup on 444.hu. The extension now waits for the site's application and router to become ready, including when they load after the injected script. Once ready, it initializes once and registers one navigation observer.
- Reliable navigation between articles. Pending initialization is cancelled when navigating again, and older asynchronous work cannot initialize comments for a later page. This prevents duplicate initialization during rapid navigation.
- Comment links work on newer article layouts. Opening a
#comment…link scrolls to the extension's comments wrapper, even when the page has no legacy comments container. Disqus thread URLs now omit both query strings and fragment identifiers. - Correct forum after the August 2022 outage articles. Articles in the historical outage window still use the temporary forum, including consecutive articles from that period. Navigating to a later article restores the configured forum or the default
444hszforum. - Custom forum names stay on Disqus. Pasted and saved names are trimmed, converted to lowercase and checked before use. Values containing URL separators or other invalid characters fall back to
444hsz, preventing them from selecting a script host outside Disqus. - Correct Geekz forum at initialization. The legacy frontend chooses
geekzblogor444hszbefore starting the site's comment module. - Initialization errors are now caught and reported instead of becoming unhandled promise rejections.
Testing and build improvements
- Added tests for the modern and legacy frontends: router readiness, article layouts, navigation, forum switching, saved settings, comment links, themes and resizing.
- Coverage now includes all three application scripts. CI enforces line, function and branch thresholds for each script, rather than checking only the bootstrap loader.
- Added regression tests for manifest packaging and lint-baseline behavior, made extension formatting blocking, and uploaded coverage reports separately from the extension ZIP.
- SonarCloud imports LCOV coverage and waits for its quality gate. Analysis runs on pull requests and the default branch; feature-branch pushes still run tests and build the extension.
Validation and download
The release commit passed the GitHub Quality baseline workflow: 36 JavaScript tests, eight Python tests, coverage thresholds, lint, formatting, syntax checks and manifest/resource validation. Local application coverage was 94.69% lines, 87.11% branches and 96.87% functions. SonarCloud reports 94.7% line coverage, 87.1% branch coverage and 93.6% combined coverage across 1,149 lines to cover; the new-code quality gate passes.
The attached 444hu_comments.zip is the CI-built Manifest V3 extension for 1.4.0.26, containing 18 validated extension files. Install or update it using the same method as the previous release.
Validation uses representative DOM fixtures. Live Chrome loading, current 444.hu behavior and Disqus login/network behavior have not been verified during this release.
Remaining findings
SonarCloud still lists 10 pre-existing CSS findings: duplicate declarations and missing generic font-family fallbacks. This release does not resolve every historical finding.
Changes: PR #3, PR #4, and the version bump in PR #5.
Build: tag workflow, commit 922e33e82f290397a13d84fbe1120277e9cfa88b. The ZIP was checked for archive integrity, manifest version and byte-for-byte agreement with the release sources.
SHA-256 (444hu_comments.zip):
A3B852607F94750ECFB9F232F7574267BA05A3A97AE51B8441B5508C92EF542D
v1.4.0.25
Configure ESLint to parse the modern injected script as an ES module, normalize maintained JavaScript and CSS assets with Prettier, and exclude the vendored Backburner library from formatting. The release commit passed the Quality baseline workflow. SHA-256 (444hu_comments.zip): AFD3AA7A3F624DBC031E8F5E59157ADDD10AFD3672D5D80B05EC06104A1D399D
v1.4.0.24
Only manifest.json needs to change. Here's the exact diff:
- Bump the manifest version
"manifest_version": 3
- Move host permissions out of permissions
Remove:
"permissions": ["http://*.444.hu/", "https://*.444.hu/"],
Add:
"host_permissions": ["*://*.444.hu/*"],
- Replace page_action with action
Remove:
"page_action": {
"show_matches": ["*://*.444.hu/*"],
"hide_matches": ["*://kor.444.hu/*", "*://membership.444.hu/*"],
"default_icon": { ... }
},
Add:
"action": {
"default_icon": { ... }
},
The icon sizes stay the same. show_matches/hide_matches are dropped — they don't exist in MV3. The toolbar icon will now always be visible instead of only on 444.hu pages, but since there's no popup or click handler it makes no functional difference.
- Add matches to web_accessible_resources
Remove:
"web_accessible_resources": [
"444hu_comments_inject.js",
"444hu_comments_inject_legacy.js",
...
]
Add:
"web_accessible_resources": [
{
"resources": [
"444hu_comments_inject.js",
"444hu_comments_inject_legacy.js",
"backburner.js",
"444hu_comments.css",
"444hu_comments_legacy.css",
"images/444hsz.svg",
"images/view_sidebar_black_24dp.svg",
"images/settings_black_24dp.svg"
],
"matches": ["*://*.444.hu/*"]
}
]
No JavaScript files need any changes.