🔖(minor) release version 0.8.0#715
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: ⛔ Files ignored due to path filters (5)
📒 Files selected for processing (7)
📝 WalkthroughWalkthroughAll package manifests across the monorepo are bumped from ChangesRelease 0.8.0
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 4
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@CHANGELOG.md`:
- Around line 11-52: In the Added section of the changelog, change the compound
adjective "selfcheck" to the correctly hyphenated form "self-check" in the line
that reads "Report selfcheck status to Sentry crons `#694`". Update it to "Report
self-check status to Sentry crons `#694`" to follow standard English orthography
for compound adjectives.
In `@src/frontend/public/locales/common/nl-NL.json`:
- Line 344: The locale file update is incomplete. You have added the singular
key "No signature" to the Dutch, Russian, and Ukrainian locale files, but the
English (en-US.json) and French (fr-FR.json) locale files do not have this new
singular key. Additionally, the UI code in signature-data-grid.tsx (both
mailbox-settings and admin versions), signature-block/index.tsx, and
signatures-tab/index.tsx still reference the plural form t("No signatures"). To
complete this properly, either: (1) add the "No signature" singular key to
en-US.json and fr-FR.json to match the three already updated files, then update
all UI code references to use the singular form where appropriate, OR (2) remove
the "No signature" singular key from nl-NL.json, ru-RU.json, and uk-UA.json and
keep only the plural form. Choose one approach and ensure all locale files and
UI code references are updated consistently.
In `@src/frontend/public/locales/common/ru-RU.json`:
- Line 545: The translation key "No signature" has been added to the Russian
locale file but the code in signature-data-grid.tsx still calls t("No
signatures") which will not find a match and fall back to the default language.
Either add both "No signature" and "No signatures" keys to the ru-RU.json file
with the same translation value, or update the t() call in
signature-data-grid.tsx (around lines 221-229) to use "No signature" instead of
"No signatures" to match the new key being introduced in this PR.
In `@src/frontend/public/locales/common/uk-UA.json`:
- Line 545: The translation key being added as "No signature" will cause a
mismatch with the existing UI code that calls t("No signatures") in the
signature-data-grid.tsx component. Either keep both the singular "No signature"
and plural "No signatures" keys in the uk-UA.json translation file as compatible
aliases, or update the t("No signatures") call in signature-data-grid.tsx (Lines
221-229) to use the new "No signature" key. Make sure both the translation file
and the UI caller are synchronized in this same change to avoid breaking the
localized empty-state label.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: 97abc426-81bd-4570-9a1b-f05824426c2d
⛔ Files ignored due to path filters (5)
src/backend/uv.lockis excluded by!**/*.locksrc/e2e/package-lock.jsonis excluded by!**/package-lock.jsonsrc/frontend/package-lock.jsonis excluded by!**/package-lock.jsonsrc/mta-in/uv.lockis excluded by!**/*.locksrc/mta-out/uv.lockis excluded by!**/*.lock
📒 Files selected for processing (10)
CHANGELOG.mdsrc/backend/pyproject.tomlsrc/e2e/package.jsonsrc/frontend/package.jsonsrc/frontend/public/locales/common/nl-NL.jsonsrc/frontend/public/locales/common/ru-RU.jsonsrc/frontend/public/locales/common/uk-UA.jsonsrc/jmap-email/pyproject.tomlsrc/mta-in/pyproject.tomlsrc/mta-out/pyproject.toml
| ## [0.8.0] - 2026-06-18 | ||
|
|
||
| ### Added | ||
|
|
||
| - Allow permanently deleting drafts and improve draft edition | ||
| - Allow passwordless mailbox creation when identity sync is off #707 | ||
| - Gather mailbox settings into a dialog | ||
| - Translate template placeholder and add `user_name` builtin variable | ||
| - Report selfcheck status to Sentry crons #694 | ||
|
|
||
| ### Changed | ||
|
|
||
| - Drop Next.js for Vite + TanStack Router #675 | ||
| - Move email parser & composer to new `jmap-email` library #700 | ||
| - Add PyPI release scripts for `jmap-email` | ||
| - Use `LaGaufreV2` component | ||
| - Improve thread navigation a11y and multiselect UX #708 | ||
| - Refine mailbox dropdown menu #705 | ||
| - New homepage illustration #702 | ||
| - Internationalize missing strings | ||
| - Wrap autoreply date column | ||
| - Bump `dompurify` to 3.4.11 | ||
| - Bump `django-lasuite` to 0.0.26 #689 | ||
|
|
||
| ### Fixed | ||
|
|
||
| - Fix composer issues | ||
| - Add `To` header to outbound mails missing one #712 | ||
| - Manage message/delivery-status attachments at compose | ||
| - Persist mailbox name when contact is missing | ||
| - Fix order and default calendar selection when RSVPing #699 | ||
| - Fix display of recurring events with exceptions #686 | ||
| - Fix opportunistic TLS against MXes with mismatched certs #687 | ||
| - Fix mbox detection as `text/html` with some libmagic versions #696 | ||
| - Complete PST email folder prefixes list | ||
| - Fix milter socket permission race on startup #693 | ||
|
|
||
| ### Security | ||
|
|
||
| - Add some defense-in-depth bits #706 | ||
| - Harden SMTP connection & proxies config | ||
| - Harden inbound email parsing #695 |
There was a problem hiding this comment.
Add hyphen to compound adjective "selfcheck" on line 18.
The static analysis tool flagged an orthography issue with "selfcheck". Following standard English style, compound adjectives should be hyphenated: "self-check" instead of "selfcheck".
✏️ Suggested fix
- Report selfcheck status to Sentry crons `#694`
+ Report self-check status to Sentry crons `#694`📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| ## [0.8.0] - 2026-06-18 | |
| ### Added | |
| - Allow permanently deleting drafts and improve draft edition | |
| - Allow passwordless mailbox creation when identity sync is off #707 | |
| - Gather mailbox settings into a dialog | |
| - Translate template placeholder and add `user_name` builtin variable | |
| - Report selfcheck status to Sentry crons #694 | |
| ### Changed | |
| - Drop Next.js for Vite + TanStack Router #675 | |
| - Move email parser & composer to new `jmap-email` library #700 | |
| - Add PyPI release scripts for `jmap-email` | |
| - Use `LaGaufreV2` component | |
| - Improve thread navigation a11y and multiselect UX #708 | |
| - Refine mailbox dropdown menu #705 | |
| - New homepage illustration #702 | |
| - Internationalize missing strings | |
| - Wrap autoreply date column | |
| - Bump `dompurify` to 3.4.11 | |
| - Bump `django-lasuite` to 0.0.26 #689 | |
| ### Fixed | |
| - Fix composer issues | |
| - Add `To` header to outbound mails missing one #712 | |
| - Manage message/delivery-status attachments at compose | |
| - Persist mailbox name when contact is missing | |
| - Fix order and default calendar selection when RSVPing #699 | |
| - Fix display of recurring events with exceptions #686 | |
| - Fix opportunistic TLS against MXes with mismatched certs #687 | |
| - Fix mbox detection as `text/html` with some libmagic versions #696 | |
| - Complete PST email folder prefixes list | |
| - Fix milter socket permission race on startup #693 | |
| ### Security | |
| - Add some defense-in-depth bits #706 | |
| - Harden SMTP connection & proxies config | |
| - Harden inbound email parsing #695 | |
| ## [0.8.0] - 2026-06-18 | |
| ### Added | |
| - Allow permanently deleting drafts and improve draft edition | |
| - Allow passwordless mailbox creation when identity sync is off `#707` | |
| - Gather mailbox settings into a dialog | |
| - Translate template placeholder and add `user_name` builtin variable | |
| - Report self-check status to Sentry crons `#694` | |
| ### Changed | |
| - Drop Next.js for Vite + TanStack Router `#675` | |
| - Move email parser & composer to new `jmap-email` library `#700` | |
| - Add PyPI release scripts for `jmap-email` | |
| - Use `LaGaufreV2` component | |
| - Improve thread navigation a11y and multiselect UX `#708` | |
| - Refine mailbox dropdown menu `#705` | |
| - New homepage illustration `#702` | |
| - Internationalize missing strings | |
| - Wrap autoreply date column | |
| - Bump `dompurify` to 3.4.11 | |
| - Bump `django-lasuite` to 0.0.26 `#689` | |
| ### Fixed | |
| - Fix composer issues | |
| - Add `To` header to outbound mails missing one `#712` | |
| - Manage message/delivery-status attachments at compose | |
| - Persist mailbox name when contact is missing | |
| - Fix order and default calendar selection when RSVPing `#699` | |
| - Fix display of recurring events with exceptions `#686` | |
| - Fix opportunistic TLS against MXes with mismatched certs `#687` | |
| - Fix mbox detection as `text/html` with some libmagic versions `#696` | |
| - Complete PST email folder prefixes list | |
| - Fix milter socket permission race on startup `#693` | |
| ### Security | |
| - Add some defense-in-depth bits `#706` | |
| - Harden SMTP connection & proxies config | |
| - Harden inbound email parsing `#695` |
🧰 Tools
🪛 LanguageTool
[grammar] ~18-~18: Ensure spelling is correct
Context: ...emplate placeholder and add user_name builtin variable - Report selfcheck status to S...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@CHANGELOG.md` around lines 11 - 52, In the Added section of the changelog,
change the compound adjective "selfcheck" to the correctly hyphenated form
"self-check" in the line that reads "Report selfcheck status to Sentry crons
`#694`". Update it to "Report self-check status to Sentry crons `#694`" to follow
standard English orthography for compound adjectives.
Source: Linters/SAST tools
| "No event found in calendar invite": "Geen afspraak gevonden in agenda uitnodiging", | ||
| "No integration found": "Geen integratie gevonden", | ||
| "No signatures": "Geen handtekeningen", | ||
| "No signature": "Geen handtekening", |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
# First, let's check if the locale files exist and their current state
find . -name "*.json" -path "*/locales/*" | grep -E "(nl-NL|ru-RU|uk-UA)" | head -20Repository: suitenumerique/messages
Length of output: 514
🏁 Script executed:
# Look for the signature-related UI code files mentioned
find . -name "signature-data-grid.tsx" -o -name "signature-data-grid.ts"Repository: suitenumerique/messages
Length of output: 264
🏁 Script executed:
# Search for "No signatures" and "No signature" references in the codebase
rg '"No signature[s]?"' --type json --type ts --type tsx -A 2 -B 2Repository: suitenumerique/messages
Length of output: 95
🏁 Script executed:
# Search for "No signature" in both JSON and source files
rg '"No signature' --type json -A 2 -B 2Repository: suitenumerique/messages
Length of output: 2666
🏁 Script executed:
# Search for "No signature" references in TypeScript/TSX files
rg 'No signature' --type ts -A 2 -B 2Repository: suitenumerique/messages
Length of output: 4836
🏁 Script executed:
# Let's examine the nl-NL locale file around line 344
sed -n '340,350p' ./src/frontend/public/locales/common/nl-NL.jsonRepository: suitenumerique/messages
Length of output: 644
🏁 Script executed:
# Check ru-RU locale file for the same key
grep -n "No signature" ./src/frontend/public/locales/common/ru-RU.jsonRepository: suitenumerique/messages
Length of output: 155
🏁 Script executed:
# Check uk-UA locale file for the same key
grep -n "No signature" ./src/frontend/public/locales/common/uk-UA.jsonRepository: suitenumerique/messages
Length of output: 156
🏁 Script executed:
# Now let's look at the actual UI code to see what keys they reference
cat -n ./src/frontend/src/features/layouts/components/mailbox-settings/signatures-view/signature-data-grid.tsx | grep -A 5 -B 5 "No signature"Repository: suitenumerique/messages
Length of output: 544
🏁 Script executed:
# Check the admin version
cat -n ./src/frontend/src/features/layouts/components/admin/signatures-view/signature-data-grid.tsx | grep -A 5 -B 5 "No signature"Repository: suitenumerique/messages
Length of output: 525
Critical: Incomplete locale file update — singular key added to only 3 of 5 locales and UI code still uses plural form.
The PR adds the singular key "No signature" to the Dutch, Russian, and Ukrainian locale files, but:
-
Inconsistent locale coverage: The English (
en-US.json) and French (fr-FR.json) locale files are not updated and still contain only"No signatures"(plural). This creates a mismatch where three languages have the new singular key while two do not. -
UI code unchanged: All UI code references still use the plural form
t("No signatures"):src/frontend/src/features/layouts/components/mailbox-settings/signatures-view/signature-data-grid.tsx:174src/frontend/src/features/layouts/components/admin/signatures-view/signature-data-grid.tsx:228src/frontend/src/features/blocknote/signature-block/index.tsxsrc/frontend/src/features/layouts/components/mailbox-settings/modal-mailbox-settings/signatures-tab/index.tsx
This PR is incomplete. Either:
- Update
en-US.jsonandfr-FR.jsonto add the singular key, and update UI code to use it consistently across all contexts, OR - Remove the singular key from nl-NL, ru-RU, and uk-UA and keep the plural form.
Clarify the intent and ensure all locale files and UI code are updated together.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@src/frontend/public/locales/common/nl-NL.json` at line 344, The locale file
update is incomplete. You have added the singular key "No signature" to the
Dutch, Russian, and Ukrainian locale files, but the English (en-US.json) and
French (fr-FR.json) locale files do not have this new singular key.
Additionally, the UI code in signature-data-grid.tsx (both mailbox-settings and
admin versions), signature-block/index.tsx, and signatures-tab/index.tsx still
reference the plural form t("No signatures"). To complete this properly, either:
(1) add the "No signature" singular key to en-US.json and fr-FR.json to match
the three already updated files, then update all UI code references to use the
singular form where appropriate, OR (2) remove the "No signature" singular key
from nl-NL.json, ru-RU.json, and uk-UA.json and keep only the plural form.
Choose one approach and ensure all locale files and UI code references are
updated consistently.
| "No message could be starred.": "Не удалось пометить сообщение.", | ||
| "No results": "Нет результатов", | ||
| "No signatures": "Нет подписей", | ||
| "No signature": "Без подписи", |
There was a problem hiding this comment.
Restore key compatibility with current lookup ("No signatures").
Line 545 introduces "No signature", but the admin signatures grid currently calls t("No signatures") (src/frontend/src/features/layouts/components/admin/signatures-view/signature-data-grid.tsx, Lines 221-229). If the plural key was replaced, Russian empty-state text will miss and fall back. Keep both keys (alias same translation) or update the caller in this PR.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@src/frontend/public/locales/common/ru-RU.json` at line 545, The translation
key "No signature" has been added to the Russian locale file but the code in
signature-data-grid.tsx still calls t("No signatures") which will not find a
match and fall back to the default language. Either add both "No signature" and
"No signatures" keys to the ru-RU.json file with the same translation value, or
update the t() call in signature-data-grid.tsx (around lines 221-229) to use "No
signature" instead of "No signatures" to match the new key being introduced in
this PR.
| "No message could be starred.": "Жодне повідомлення не може бути позначено.", | ||
| "No results": "Немає результатів", | ||
| "No signatures": "Без підписів", | ||
| "No signature": "Без підпису", |
There was a problem hiding this comment.
Don’t remove the plural key without updating callers.
Line 545 adds "No signature", while the current UI still requests t("No signatures") in src/frontend/src/features/layouts/components/admin/signatures-view/signature-data-grid.tsx (Lines 221-229). Replacing the key here can break the localized empty-state label. Add/keep "No signatures" as a compatible alias or migrate the caller in the same change.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@src/frontend/public/locales/common/uk-UA.json` at line 545, The translation
key being added as "No signature" will cause a mismatch with the existing UI
code that calls t("No signatures") in the signature-data-grid.tsx component.
Either keep both the singular "No signature" and plural "No signatures" keys in
the uk-UA.json translation file as compatible aliases, or update the t("No
signatures") call in signature-data-grid.tsx (Lines 221-229) to use the new "No
signature" key. Make sure both the translation file and the UI caller are
synchronized in this same change to avoid breaking the localized empty-state
label.
Update all version files and changelog for minor release.
Purpose
Update all version files and changelog for minor release.
Added
user_namebuiltin variableChanged
jmap-emaillibrary ♻️(rfc5322) move email parser & composer to new jmap-email lib #700jmap-emailLaGaufreV2componentdompurifyto 3.4.11django-lasuiteto 0.0.26 ⬆️(backend) bump django-lasuite to 0.0.26 #689Fixed
Toheader to outbound mails missing one 🐛(mda) add To header to outbound mails missing one #712text/htmlwith some libmagic versions 🐛(import) fix mbox detection as text/html with some libmagic versions #696Security
Summary by CodeRabbit