My projects

Commentail 1.3.2: fixing translated discussions

Commentail 1.3.2 fixes a regression in 1.3.1 that could make discussions on translated Wagtail pages unavailable. The Site check now includes trees rooted at translated homepages.

In brief

  • With internationalization enabled, the Site check includes trees rooted at translations of its homepage.
  • The fix covers forms, protected links, email and recent comments while retaining restricted-page access checks.
  • There is no new migration after 1.3.1. Upgrades from 1.3.0 or earlier still require preparation for migration 0018.
The blue Commentail bird on a speech bubble, version 1.3.2.
Commentail 1.3.2 — comments for Wagtail.

I released Commentail 1.3.2 to fix a regression in the previous update. In 1.3.1 I tightened the check that a Page belongs to its Site, but missed how Wagtail arranges translated homepages. This could make valid translated discussions unavailable.

Why discussions disappeared

A Wagtail Site has a configured root Page. With WAGTAIL_I18N_ENABLED=True, translations of that homepage can start sibling trees. Russian and English homepages, for example, can sit next to each other, with each language’s articles under its own homepage.

The check in 1.3.1 accepted only the configured root tree. An English article under the translated homepage fell outside it, even though Wagtail served it as part of the same site. Commentail denied access to that discussion. Fixing this does not require moving or recreating comments.

What the corrected check accepts

With internationalization enabled, 1.3.2 also accepts trees rooted at translations of that Site’s homepage. The same rule applies to widgets, forms and submissions, protected guest links, queued email and recent-comment selection.

The actual target Page is still checked in its own language tree: it must be live, and its view restrictions, including inherited restrictions, must allow access. A translation of an individual article somewhere outside the allowed trees does not open that whole tree.

Unrelated trees, pages moved outside the allowed trees and protected links for another Site remain denied. With internationalization disabled, only the configured root tree is accepted.

Upgrading from 1.3.1

This patch introduces no new Commentail migration, dependency change or template change over 1.3.1. Back up the site and install the package in its environment:

bash
python -m pip install commentail==1.3.2
python manage.py migrate
python manage.py check
python manage.py collectstatic --noinput

Restart the application and background processes. Check existing discussions in every language, a new submission, protected guest links and queued email. Separately verify that restricted pages retain their access controls.

Email jobs already cancelled by 1.3.1 are not automatically requeued. Review their state before deciding whether replacements are needed. Restoring discussion access does not send those messages by itself.

Upgrading from 1.3.0 or earlier

If 1.3.1 has not been installed, its upgrade requirements still apply. The irreversible 0018_private_fingerprints migration runs when upgrading to 1.3.2. Stop web and background writers, retain the same SECRET_KEY and keep a matching database, key and package backup.

Rehearse on a restored database first. Returning to a version before this migration requires restoring the corresponding backup; reinstalling the package alone is insufficient. The 1.3.1 release notes describe the full procedure.

Behind nginx, check TRUSTED_PROXIES: Commentail needs the visitor’s actual IP through a trusted proxy, or different readers may share IP quotas. The deployment guide includes an example and forwarded-header checks.

Regression coverage

I added 13 regression checks covering translated homepages and descendants, the rendered host widget, registered-user submissions, guest links and email, inherited restrictions, disabled internationalization, unpublished and moved pages, and Site isolation.

The release notes cover the fix and upgrade details. For an overview of the library, see the Commentail project page.

Was this article useful?

Comments 0

Name: up to 40 characters.

After submitting, we will email you a link to confirm your email address.

Maximum 5000 characters.

No published comments yet.