New release - Account edition W35 - #23153
Draft
github-actions[bot] wants to merge 1 commit into
Draft
Conversation
…ing (#23131) * feat(account): improve UX design for search assistant for FR e-invoicing The user experience on the manager for B2B/B2G account is still not comprehensible => Customers still need to contact support to have information of how they can do the company completion, and how they can add the e-invoicing address ref: #MANAGER-22144 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Signed-off-by: Alexis Afonso <alexis.afonso@ovhcloud.com> * feat(account): auto-search the SIRET already held when the lookup modal opens Opening the company lookup now runs the search straight away when the account already holds a valid SIRET, so the customer lands on the company found instead of retyping it. A response is dropped when the SIRET has since been edited, or when the modal was closed. The intro then asks the customer to check their information, and the SIRET field carries the ui-kit error state. Field errors of the edition form no longer show up before the customer touched them. ref: #MANAGER-22144 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Signed-off-by: Alexis Afonso <alexis.afonso@ovhcloud.com> * feat(account): tell the customer what to complete on a non-disclosed company The directory withholds the data of some companies, answering either the [ND] token or an empty string depending on the provider. Empty values were not detected at all, so the lookup silently blanked fields with no explanation, and the company name kept the value of the previously searched company, which also left the field locked. Both shapes now count as missing, on the name and on the three parts of the address. The modal lists what has to be filled in, its confirm button asks to complete the information rather than to validate, and validating focuses the first field to fill. ref: #MANAGER-22144 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Signed-off-by: Alexis Afonso <alexis.afonso@ovhcloud.com> * test(sign-up): cover the SIRET search assistant and its lookup modal The module had no test harness at all, so the three bugs found while building the lookup modal went unnoticed until they were reproduced by hand: an empty value was not recognised as withheld data, the company name inherited the previously searched company and stayed locked, and a stale lookup response overwrote the selection. Adds the vitest setup the rest of the repo uses, and 119 tests over the pure helpers, the modal controller and the siret controller. Each of those three bugs was reintroduced to check the suite fails, then reverted. ref: #MANAGER-22144 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Signed-off-by: Alexis Afonso <alexis.afonso@ovhcloud.com> * fix(account): fill the lookup field with the SIRET held, searchable or not The field was only filled in when the value already was a searchable 14-digit SIRET, because seeding it sat inside that check. An account holding a SIREN, a partially formatted value or a malformed one therefore opened the modal on an empty field, and the customer had to retype what we already knew. Seed the field with whatever is held, and keep the automatic lookup for a usable 14-digit SIRET only: searching a value known to be incomplete would greet the customer with an error they did not ask for. The tests missed it by asserting no lookup fired without asserting what the field showed, so they now cover the field content on both paths. ref: #MANAGER-22144 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Signed-off-by: Alexis Afonso <alexis.afonso@ovhcloud.com> * fix(account): only clear the e-invoicing address on evidence against it The selected e-invoicing billing address was emptied by things that said nothing about it. A failed PUT /me broadcast the stale-address warning on any 400, and the rules refresh that followed could drop the e-invoicing entry, which deleted the model value and took the picker off the screen with it. The form also refetches /newAccount/rules on every field change, so a refresh triggered by another field cleared the selection on its own. An error forced on the company data therefore cost the customer a choice the API had never pointed at. A submit error never names the field it rejected, so every path now asks the directory instead. The address is stale only when the refreshed rules offer other addresses without it; an answer that brings none, or that omits the entry altogether, is no evidence, and the entry is carried over so the picker keeps its value. A change of company still clears it, since another company may genuinely have no address (RG5), and the picker still hides itself once the account stops being eligible. Adds the vitest setup this module was missing, along with 23 tests over both decisions, each verified by reintroducing the behaviour it replaces. ref: #MANAGER-22144 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Signed-off-by: Alexis Afonso <alexis.afonso@ovhcloud.com> * feat(account): drop the API errors once a company has been validated The errors raised by the last submit stayed on screen after the customer validated a company in the SIRET lookup, both as the alert banner and as the inline message above the form. They described data that had just been replaced, so they read as if the new company had been refused too. Clear both when the siret component hands a company over, and name the alert container and the event it is listening to rather than repeating their strings. Adds 4 tests, verified by dropping the listener and the banner reset in turn. ref: #MANAGER-22144 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Signed-off-by: Alexis Afonso <alexis.afonso@ovhcloud.com> * fix(i18n): add missing translations [CDS 1300] Signed-off-by: CDS Translator Agent <opensource@ovh.net> --------- Signed-off-by: Alexis Afonso <alexis.afonso@ovhcloud.com> Signed-off-by: CDS Translator Agent <opensource@ovh.net> Co-authored-by: Alexis AFONSO <alexis.afonso@ovhcloud.com> Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📦 New release
Approximate release date: 📆 24/08/2026
Transversal
✨ Features
🐛 Bug Fixes
/