An audit of every change on 1.x since the 1.0.0-alpha1 tag found the code release-ready: CI is green per job, the queue holds no open bugs, and the tree carries no stray todo markers. What is behind is the shipping metadata, which is what a first impression of an alpha is made of. This issue bundles all of it so the tag can be cut from one merge.

1. The French translation has fallen behind. 54 strings have no entry in translations/yoyaku.fr.po: 18 from code and 36 from YAML, the latter down to 61% coverage because four submodules arrived with untranslated names, descriptions and permission labels. Visible gaps include the Cancel booking orders permission and its description, plus the Areas, Schedule, Scope, View and Workflow settings labels. Separately the file carries five duplicate msgids, and one of them, Booker, has two different translations, so which one the importer applies is arbitrary.

2. The cart module ships undocumented. yoyaku_cart is a user-facing module every booking surface routes through, and it appears in no module table, no documentation page and no navigation entry. The README module table is also missing yoyaku_placement, and the architecture module map is missing yoyaku_cart, yoyaku_placement and yoyaku_ticket.

3. The pricing seam is undocumented. hook_yoyaku_summary_alter() is what fills every ticket price and the order total, so it is the seam any pricing or payment integration needs. It is implemented, invoked and tested, but absent from yoyaku.api.php, which documents its two lesser siblings. An integrator reading the API file concludes it does not exist.

4. The ticket libraries fail at runtime, not at install. yoyaku_ticket needs dompdf/dompdf and endroid/qr-code. Both are declared under suggest, since requiring them in the single root composer.json would pull a PDF stack onto every Yoyaku site. Both call sites guard correctly, but the module has no requirements check of any kind, so a site installs it, configures ticketing, and discovers the gap only when a customer's confirmation mail tries to attach a ticket.

5. The metrics page is stale. docs/metrics.md presents itself as a measured snapshot but states figures from a much earlier commit, so every chart, ratio and percentage on it is wrong. A page whose whole value is that the numbers are real is worse than no page when they are not.

Proposed resolution

  • Translate the 54 missing strings, following the terminology already established in the file, and refresh the revision date.
  • Remove the five duplicate msgids, keeping the dominant translation, and standardize Booker on the form every compound term already uses.
  • Add a Cart documentation page and a navigation entry, and bring the README table and the architecture module map back in sync with the shipped modules.
  • Document hook_yoyaku_summary_alter() with its array shape and the rule that the core never prices.
  • Add an install requirement that blocks installation when the QR library is absent and warns when the bundled PDF renderer is, plus a runtime requirement naming the usable renderers on the status report, with kernel coverage.
  • Regenerate docs/metrics.md with the bundled generator script.

Two items from the same audit are deliberately left out, since neither is release blocking and both deserve their own issue: there is no FunctionalJavascript coverage over the place map and calendar JavaScript, and VenueMapBuilder loads every place of a venue uncached inside a form, which is the one unbounded hot path.

Issue fork yoyaku-3614034

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

mably created an issue. See original summary.

mably’s picture

Status: Active » Needs review

  • mably committed 7706bc46 on 1.x
    task: #3614034 Release housekeeping for 1.0.0-alpha2: complete the...
mably’s picture

Status: Needs review » Fixed

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.