Skip to content

fix(charges): name forgotten bills in the alert + compact add-form - #230

Merged
thierryvm merged 2 commits into
mainfrom
fix/forgotten-labels-compact-form
Jul 19, 2026
Merged

fix(charges): name forgotten bills in the alert + compact add-form#230
thierryvm merged 2 commits into
mainfrom
fix/forgotten-labels-compact-form

Conversation

@thierryvm

@thierryvm thierryvm commented Jul 19, 2026

Copy link
Copy Markdown
Owner

Quick wins — alerte nominative + formulaire compact (retours @Thierry 2026-07-19)

1. L'alerte oubli nomme enfin les factures

Avant : « 1 facture de Juin n'a jamais été cochée » (laquelle ?!). Maintenant :

⚠ Jamais cochée en juin : Taxe voiture — vérifie qu'elle a bien été payée.

(accords singulier/pluriel corrects, ×5 locales)

2. Formulaire « Ajouter une charge » compact

Fini les champs pleine largeur empilés démesurés : Libellé + Montant partagent une ligne (≥md), et les 3 sélecteurs du CadenceField (Fréquence / Jour / À partir de) tiennent sur une seule ligne. Mobile garde l'empilement vertical.

Scope

UI-only + 1 fonction domaine générique (unpaidChargesForPeriod — le count en dérive). 76 tests verts sur les 4 suites touchées.

Note : ceci ne répond qu'aux 2 points immédiats de tes retours. L'historique par mois, le modèle dettes/échéanciers (SPF, crédits) et la passe UI globale = chantiers cadrés séparément (cf. discussion).

🤖 Generated with Claude Code

Summary by Sourcery

Nommer les factures précédemment oubliées dans l’alerte du tableau de bord et compacter la mise en page du formulaire d’ajout de charge.

Améliorations :

  • Introduire un helper générique unpaidChargesForPeriod pour retourner les charges impayées pour un mois tout en conservant des champs plus riches côté appelant.
  • Mettre à jour ProchainesFacturesCard pour accepter des libellés de factures oubliées plutôt qu’un compteur et rendre un texte d’alerte localisé qui nomme les factures impayées.
  • Reserrer la mise en page desktop des selects CadenceField et du formulaire d’ajout de charge afin que les champs liés partagent une seule ligne, tout en conservant la pile verticale sur mobile.

Tests :

  • Étendre les tests de comptage des impayés et de ProchainesFacturesCard pour couvrir le nouveau helper et l’alerte des factures oubliées libellées, y compris les messages au singulier et au pluriel.
Original summary in English

Summary by Sourcery

Name previously forgotten bills in the dashboard alert and compact the add-charge form layout.

Enhancements:

  • Introduce a generic unpaidChargesForPeriod helper to return unpaid charges for a month while keeping richer caller-side fields.
  • Update ProchainesFacturesCard to accept forgotten bill labels instead of a count and render localized alert copy that names the unpaid bills.
  • Tighten the desktop layout of the CadenceField selects and the add-charge form so related fields share a single row while keeping the mobile vertical stack.

Tests:

  • Extend unpaid-count and ProchainesFacturesCard tests to cover the new helper and the labeled forgotten-bills alert, including singular and plural messaging.

@Thierry feedback)

1. The forgotten-bills alert was blind ('1 facture de juin' — which one??).
   It now NAMES them: 'Jamais cochée en juin : Taxe voiture — vérifie
   qu'elle a bien été payée.' New generic unpaidChargesForPeriod returns the
   charges themselves (count derives from it); the card takes labels.

2. The add-charge form fields were oversized full-width stacked rows:
   label + amount now share one row on ≥md, and the CadenceField controls
   (frequency / day / anchor) collapse onto a single 3-column row on ≥md.
   Mobile keeps the vertical stack.

i18n forgottenAlert v2 x5 ({labels} + singular/plural agreement). 76 tests
green across the four affected suites.
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@vercel

vercel Bot commented Jul 19, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
ankora Ready Ready Preview, Comment Jul 19, 2026 8:27am

@github-actions github-actions Bot added status:review-needed Ready for review type:fix Bug fix labels Jul 19, 2026
@sourcery-ai

sourcery-ai Bot commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

Guide du relecteur

Implémente deux changements UX pour les prélèvements : une mise en page compacte pour le formulaire d’ajout de prélèvement et le sélecteur de cadence, ainsi qu’une alerte de « factures oubliées » plus informative qui mentionne désormais les prélèvements impayés, soutenue par un petit refactor de domaine pour exposer les prélèvements impayés eux‑mêmes.

Diagramme de séquence pour le flux mis à jour de l’alerte de factures oubliées

sequenceDiagram
  participant DashboardPage
  participant unpaidChargesForPeriod
  participant ProchainesFacturesCard

  DashboardPage->>unpaidChargesForPeriod: unpaidChargesForPeriod(snapshot.charges, previousMonthPaidChargeIds, previousPeriod)
  unpaidChargesForPeriod-->>DashboardPage: unpaidCharges
  DashboardPage->>DashboardPage: forgottenLabels = unpaidCharges.map(label)
  DashboardPage->>ProchainesFacturesCard: ProchainesFacturesCard({ forgottenLabels, forgottenMonthLabel })

  ProchainesFacturesCard->>ProchainesFacturesCard: [forgottenLabels.length > 0]
  ProchainesFacturesCard->>ProchainesFacturesCard: t('forgottenAlert', { count, month, labels })
  ProchainesFacturesCard-->>DashboardPage: renders named forgotten bills alert
Loading

Modifications par fichier

Modification Détails Fichiers
Rendre la ligne du sélecteur CadenceField compacte sur desktop tout en conservant l’empilement vertical sur mobile.
  • Remplacer la mise en page flex empilée des sélecteurs fréquence/jour/mois par une grille responsive qui devient trois colonnes à partir de md.
  • Supprimer les wrappers min-width et flex-1 autour des sélecteurs de jour et de mois afin que les trois contrôles partagent une seule ligne sur les écrans plus larges.
src/app/[locale]/app/charges/CadenceField.tsx
Exposer les prélèvements impayés pour une période (pas seulement un nombre) et les utiliser pour alimenter une alerte de factures oubliées nommées sur le tableau de bord.
  • Ajouter un helper générique unpaidChargesForPeriod qui filtre les prélèvements actifs dus sur un mois donné et absents du journal des paiements.
  • Refactoriser countUnpaidForPeriod pour déléguer à unpaidChargesForPeriod pour sa longueur, en conservant le comportement inchangé.
  • Mettre à jour DashboardPage pour transmettre forgottenLabels (dérivés de unpaidChargesForPeriod et des libellés des prélèvements) au lieu d’un forgottenCount numérique à ProchainesFacturesCard.
  • Modifier les props de ProchainesFacturesCard de forgottenCount vers forgottenLabels et ajuster le rendu conditionnel et les paramètres de traduction pour utiliser les labels et le count.
  • Étendre les tests de nombre d’impayés pour couvrir unpaidChargesForPeriod en préservant les champs supplémentaires côté appelant, et mettre à jour les tests de la carte du tableau de bord pour vérifier le nouveau texte de l’alerte avec les factures nommées et la gestion singulier/pluriel.
src/lib/domain/charges/unpaid-count.ts
src/app/[locale]/app/page.tsx
src/components/dashboard/ProchainesFacturesCard.tsx
src/lib/domain/charges/__tests__/unpaid-count.test.ts
src/components/dashboard/__tests__/ProchainesFacturesCard.test.tsx
Reserrer la mise en page du formulaire « Add charge » afin que le libellé et le montant partagent une ligne sur desktop.
  • Modifier l’élément de grille de niveau supérieur pour le champ de saisie du libellé afin qu’il ne s’étende plus sur deux colonnes, le rendant effectivement compact avec le champ du montant à partir de md.
  • Documenter la modification de mise en page avec un commentaire inline faisant référence au retour de design.
src/app/[locale]/app/charges/ChargesClient.tsx
Réexporter le nouveau helper unpaidChargesForPeriod depuis le barrel du domaine charges pour une utilisation externe.
  • Mettre à jour le fichier index des charges pour exporter unpaidChargesForPeriod aux côtés de countUnpaidForPeriod et UnpaidCountCharge.
src/lib/domain/charges/index.ts
Ajuster les bundles de messages i18n pour prendre en charge le nouveau texte de l’alerte de factures oubliées qui inclut les noms des factures et une gestion correcte du singulier/pluriel.
  • Mettre à jour le message forgottenAlert dans chaque bundle de locale pour accepter et interpoler la liste labels et le count plutôt qu’un simple nombre.
  • Veiller à ce que la pluralisation et le libellé correspondent aux nouveaux tests pour le français et restent cohérents entre de-DE, en, es-ES, fr-BE et nl-BE.
messages/de-DE.json
messages/en.json
messages/es-ES.json
messages/fr-BE.json
messages/nl-BE.json

Conseils et commandes

Interagir avec Sourcery

  • Déclencher une nouvelle relecture : Commentez @sourcery-ai review sur la pull request.
  • Poursuivre les discussions : Répondez directement aux commentaires de relecture de Sourcery.
  • Générer une issue GitHub à partir d’un commentaire de relecture : Demandez à Sourcery de créer une issue à partir d’un commentaire de relecture en y répondant. Vous pouvez aussi répondre à un commentaire de relecture avec @sourcery-ai issue pour créer une issue à partir de celui-ci.
  • Générer un titre de pull request : Écrivez @sourcery-ai n’importe où dans le titre de la pull request pour générer un titre à tout moment. Vous pouvez également commenter @sourcery-ai title sur la pull request pour (re)générer le titre à tout moment.
  • Générer un résumé de pull request : Écrivez @sourcery-ai summary n’importe où dans le corps de la pull request pour générer un résumé de PR à tout moment exactement à l’endroit souhaité. Vous pouvez aussi commenter @sourcery-ai summary sur la pull request pour (re)générer le résumé à tout moment.
  • Générer le guide du relecteur : Commentez @sourcery-ai guide sur la pull request pour (re)générer le guide du relecteur à tout moment.
  • Résoudre tous les commentaires Sourcery : Commentez @sourcery-ai resolve sur la pull request pour résoudre tous les commentaires Sourcery. Utile si vous avez déjà traité tous les commentaires et ne souhaitez plus les voir.
  • Ignorer toutes les relectures Sourcery : Commentez @sourcery-ai dismiss sur la pull request pour ignorer toutes les relectures Sourcery existantes. Particulièrement utile si vous voulez repartir de zéro avec une nouvelle relecture — n’oubliez pas de commenter @sourcery-ai review pour déclencher une nouvelle relecture !

Personnaliser votre expérience

Accédez à votre dashboard pour :

  • Activer ou désactiver des fonctionnalités de relecture telles que le résumé de pull request généré par Sourcery, le guide du relecteur, et d’autres.
  • Changer la langue de relecture.
  • Ajouter, supprimer ou modifier des instructions de relecture personnalisées.
  • Ajuster d’autres paramètres de relecture.

Obtenir de l’aide

Original review guide in English

Reviewer's Guide

Implements two UX changes for charges: a compact layout for the add-charge form and cadence selector, plus a more informative "forgotten bills" alert that now names the unpaid charges, backed by a small domain refactor to expose the unpaid charges themselves.

Sequence diagram for the updated forgotten bills alert flow

sequenceDiagram
  participant DashboardPage
  participant unpaidChargesForPeriod
  participant ProchainesFacturesCard

  DashboardPage->>unpaidChargesForPeriod: unpaidChargesForPeriod(snapshot.charges, previousMonthPaidChargeIds, previousPeriod)
  unpaidChargesForPeriod-->>DashboardPage: unpaidCharges
  DashboardPage->>DashboardPage: forgottenLabels = unpaidCharges.map(label)
  DashboardPage->>ProchainesFacturesCard: ProchainesFacturesCard({ forgottenLabels, forgottenMonthLabel })

  ProchainesFacturesCard->>ProchainesFacturesCard: [forgottenLabels.length > 0]
  ProchainesFacturesCard->>ProchainesFacturesCard: t('forgottenAlert', { count, month, labels })
  ProchainesFacturesCard-->>DashboardPage: renders named forgotten bills alert
Loading

File-Level Changes

Change Details Files
Make the CadenceField selector row compact on desktop while preserving vertical stacking on mobile.
  • Replace stacked flex layout for frequency/day/month selects with a responsive grid that becomes three columns on md and above.
  • Remove min-width and flex-1 wrappers around day and month selects so all three controls share one line on larger screens.
src/app/[locale]/app/charges/CadenceField.tsx
Expose unpaid charges for a period (not just a count) and use them to power a named forgotten-bills alert on the dashboard.
  • Add generic unpaidChargesForPeriod helper that filters active charges due in a given month and not present in the paid ledger.
  • Refactor countUnpaidForPeriod to delegate to unpaidChargesForPeriod for its length, keeping behavior unchanged.
  • Update DashboardPage to pass forgottenLabels (derived from unpaidChargesForPeriod and charge labels) instead of a numeric forgottenCount into ProchainesFacturesCard.
  • Change ProchainesFacturesCard props from forgottenCount to forgottenLabels and adjust conditional rendering and translation params to use labels and count.
  • Extend unpaid-count tests to cover unpaidChargesForPeriod preserving extra caller-side fields and update dashboard card tests to assert the new alert copy with named bills and singular/plural wording.
src/lib/domain/charges/unpaid-count.ts
src/app/[locale]/app/page.tsx
src/components/dashboard/ProchainesFacturesCard.tsx
src/lib/domain/charges/__tests__/unpaid-count.test.ts
src/components/dashboard/__tests__/ProchainesFacturesCard.test.tsx
Tighten the "Add charge" form layout so label and amount share a row on desktop.
  • Change the top-level grid item for the label input so it no longer spans two columns, making it effectively compact together with the amount field on md and above.
  • Document the layout change with an inline comment referencing the design feedback.
src/app/[locale]/app/charges/ChargesClient.tsx
Re-export the new unpaidChargesForPeriod helper from the charges domain barrel for external use.
  • Update the charges index file to export unpaidChargesForPeriod alongside countUnpaidForPeriod and UnpaidCountCharge.
src/lib/domain/charges/index.ts
Adjust i18n message bundles to support the new forgotten bills alert copy that includes bill names and correct singular/plural handling.
  • Update the forgottenAlert message in each locale bundle to accept and interpolate the labels list and count rather than only a numeric count.
  • Ensure pluralization and wording match the new tests for French and are coherent across de-DE, en, es-ES, fr-BE, and nl-BE.
messages/de-DE.json
messages/en.json
messages/es-ES.json
messages/fr-BE.json
messages/nl-BE.json

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - j’ai identifié 1 point, et laissé quelques retours de haut niveau :

  • L’alerte sur les factures oubliées concatène actuellement les libellés avec une simple virgule suivie d’un espace, ce qui n’est peut‑être pas idéal pour toutes les locales ; envisagez de déléguer la mise en forme de la liste à l’i18n (par exemple, un formateur de liste sensible à la locale ou un template) plutôt que de construire la chaîne directement dans le composant.
  • Dans CadenceField, la suppression des contraintes min-w-32 flex-1 sur les sélecteurs du jour et du mois peut entraîner des mises en page trop serrées ou des retours à la ligne pour des libellés traduits longs à des largeurs moyennes ; il pourrait être utile de réintroduire une largeur minimale ou un comportement flex pour garder les trois contrôles lisibles dans toutes les locales.
Prompt pour les agents IA
Veuillez traiter les commentaires de cette revue de code :

## Commentaires généraux
- L’alerte sur les factures oubliées concatène actuellement les libellés avec une simple virgule suivie d’un espace, ce qui n’est peut‑être pas idéal pour toutes les locales ; envisagez de déléguer la mise en forme de la liste à l’i18n (par exemple, un formateur de liste sensible à la locale ou un template) plutôt que de construire la chaîne directement dans le composant.
- Dans `CadenceField`, la suppression des contraintes `min-w-32 flex-1` sur les sélecteurs du jour et du mois peut entraîner des mises en page trop serrées ou des retours à la ligne pour des libellés traduits longs à des largeurs moyennes ; il pourrait être utile de réintroduire une largeur minimale ou un comportement flex pour garder les trois contrôles lisibles dans toutes les locales.

## Commentaires individuels

### Commentaire 1
<location path="src/components/dashboard/ProchainesFacturesCard.tsx" line_range="26-28" />
<code_context>
+   * previous period's ledger.
    */
-  forgottenCount?: number;
+  forgottenLabels?: readonly string[];
   /** Localized label of the previous month (e.g. « juin »), for the alert copy. */
   forgottenMonthLabel?: string;
 };
</code_context>
<issue_to_address>
**suggestion:** Clarifier le comportement de `forgottenMonthLabel` lorsqu’il est absent alors que des libellés sont présents.

Actuellement, `forgottenMonthLabel` peut être une chaîne vide tandis que `forgottenLabels` est non vide, ce qui peut produire une alerte avec un nom de mois manquant. Veuillez soit rendre `forgottenMonthLabel` obligatoire dès que `forgottenLabels.length > 0`, soit afficher l’alerte uniquement lorsque les deux sont présents, afin d’éviter un texte dégradé dans ce cas limite.

Implémentation suggérée :

```typescript
   * Labels of the bills due LAST month that were never ticked (the per-period
   * ledger resets naturally on month rollover, hiding them). Non-empty renders
   * the "forgotten bills" alert NAMING the bills so the user checks they were
   * actually paid. Computed upstream via `unpaidChargesForPeriod` on the
   * previous period's ledger.
   *
   * The alert copy is only rendered when both `forgottenLabels` is non-empty
   * and `forgottenMonthLabel` is present, to avoid degraded copy where the
   * month name would be missing.
   */
  forgottenLabels?: readonly string[];
  /** Localized label of the previous month (e.g. « juin »), for the alert copy. */
  forgottenMonthLabel?: string;
};

```

```typescript
  payments,
  todayIso,
  locale,
  forgottenLabels = [],
  forgottenMonthLabel,
}: Props) {

```

Pour implémenter complètement le comportement demandé, le JSX qui affiche l’alerte "forgotten bills" (juste en dessous du commentaire `Forgotten-bills alertfactual, calm, FSMA-safe`) doit être mis à jour pour que l’alerte ne soit montrée que lorsque LES libellés et le mois sont tous deux présents, par exemple :

```tsx
const hasForgottenBillsAlert =
  forgottenLabels.length > 0 && !!forgottenMonthLabel;

// ...

{hasForgottenBillsAlert && (
  // existing alert JSX, which can safely use `forgottenMonthLabel`
)}
```

Cela garantit que nous ne rendons jamais un texte avec un libellé de mois manquant, même si `forgottenLabels` est non vide. Vous devrez intégrer `hasForgottenBillsAlert` (ou une condition équivalente inline) dans le composant/markup de l’alerte dans cette section.
</issue_to_address>

Sourcery est gratuit pour l’open source – si nos revues vous plaisent, pensez à les partager ✨
Aidez-moi à être plus utile ! Veuillez cliquer sur 👍 ou 👎 sur chaque commentaire et j’utiliserai ces retours pour améliorer vos revues.
Original comment in English

Hey - I've found 1 issue, and left some high level feedback:

  • The forgotten-bills alert currently concatenates labels with a simple comma/space, which may not be ideal for all locales; consider delegating list formatting to i18n (e.g. locale-aware list formatter or template) rather than building the string in the component.
  • In CadenceField, removing the min-w-32 flex-1 constraints on the day and month selects may cause cramped layouts or wrapping for long translated labels at medium widths; it could be worth reintroducing some minimum width or flex behavior to keep the three controls readable across locales.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The forgotten-bills alert currently concatenates labels with a simple comma/space, which may not be ideal for all locales; consider delegating list formatting to i18n (e.g. locale-aware list formatter or template) rather than building the string in the component.
- In `CadenceField`, removing the `min-w-32 flex-1` constraints on the day and month selects may cause cramped layouts or wrapping for long translated labels at medium widths; it could be worth reintroducing some minimum width or flex behavior to keep the three controls readable across locales.

## Individual Comments

### Comment 1
<location path="src/components/dashboard/ProchainesFacturesCard.tsx" line_range="26-28" />
<code_context>
+   * previous period's ledger.
    */
-  forgottenCount?: number;
+  forgottenLabels?: readonly string[];
   /** Localized label of the previous month (e.g. « juin »), for the alert copy. */
   forgottenMonthLabel?: string;
 };
</code_context>
<issue_to_address>
**suggestion:** Clarify how `forgottenMonthLabel` behaves when missing while labels are present.

Currently `forgottenMonthLabel` can be an empty string while `forgottenLabels` is non-empty, which may produce an alert with a missing month name. Please either require `forgottenMonthLabel` whenever `forgottenLabels.length > 0`, or conditionally render the alert only when both are present to avoid degraded copy in that edge case.

Suggested implementation:

```typescript
   * Labels of the bills due LAST month that were never ticked (the per-period
   * ledger resets naturally on month rollover, hiding them). Non-empty renders
   * the "forgotten bills" alert NAMING the bills so the user checks they were
   * actually paid. Computed upstream via `unpaidChargesForPeriod` on the
   * previous period's ledger.
   *
   * The alert copy is only rendered when both `forgottenLabels` is non-empty
   * and `forgottenMonthLabel` is present, to avoid degraded copy where the
   * month name would be missing.
   */
  forgottenLabels?: readonly string[];
  /** Localized label of the previous month (e.g. « juin »), for the alert copy. */
  forgottenMonthLabel?: string;
};

```

```typescript
  payments,
  todayIso,
  locale,
  forgottenLabels = [],
  forgottenMonthLabel,
}: Props) {

```

To fully implement the behavior you requested, the JSX that renders the "forgotten bills" alert (right below the `Forgotten-bills alertfactual, calm, FSMA-safe` comment) should be updated so that the alert is only shown when BOTH the labels and month are present, e.g.:

```tsx
const hasForgottenBillsAlert =
  forgottenLabels.length > 0 && !!forgottenMonthLabel;

// ...

{hasForgottenBillsAlert && (
  // existing alert JSX, which can safely use `forgottenMonthLabel`
)}
```

This ensures we never render copy with a missing month label even if `forgottenLabels` is non-empty. You’ll need to integrate `hasForgottenBillsAlert` (or an equivalent inline condition) into the actual alert component/markup in that section.
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Comment thread src/components/dashboard/ProchainesFacturesCard.tsx Outdated
@thierryvm
thierryvm merged commit 3688dcd into main Jul 19, 2026
9 checks passed
@thierryvm
thierryvm deleted the fix/forgotten-labels-compact-form branch July 19, 2026 14:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

status:review-needed Ready for review type:fix Bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant