Steps to replicate the issue (include links if applicable):
- Make note of what the latest wish entity ID is, i.e. if the last wish was W5 then we expect W6 to be created next
- Go to Special:WishlistIntake and fill out the form normally, but put a stray pipe character in the description |
- Save, and observe the error, and keep trying to save again a bunch of times (for demonstration purposes)
- After so many tries, remove the stray pipe character and save once more
What happens?:
The wish gets an ID a lot higher than what we would have expected.
What should have happened instead?:
If say W1 and W2 exist, the new wish should be W3, not something higher than that.
Other information (browser name/version, screenshots, etc.):
Discovered while writing documentation, and it seems to be confirmed looking at Beta. I.e. FA4 does not exist, nor did it ever exist, but FA6 does.
We do not need complete perfection here (it will still be possible for entity saves to fail and an ID is forever skipped), rather the point is to simply move validations to be before ID generation.
Derived Requirement
When creating a new wish on Special\:WishlistIntake, all form validations (including invalid characters, length checks, etc.) must be executed before generating a new entity ID.
- Entity IDs should only increment when the submission passes validation.
- Invalid submissions must not consume or skip entity IDs.
- The sequence of IDs should remain continuous, except in rare cases of unexpected save failures.
Test Steps
Test Case 1: Normal Wish Creation
- Navigate to Special:WishlistIntake.
- Fill out the form with valid inputs.
- Click Publish wish.
- ✅❓❌⬜ AC1: New wish is saved with the next sequential entity ID (e.g., W3 after W2).
Test Case 2: Submission with Validation Error (Stray Pipe Character)
- Enter a valid title.
- Add a stray | character in the Description field.
- Click Publish wish.
- ✅❓❌⬜ AC2: Error message is shown and no entity ID is consumed (the next valid submission still uses the expected sequential ID)..
Test Case 3: Multiple Failed Submissions Before Correction
- Keep the | character in the description and attempt to publish several times.
- Remove the | character and click Publish wish.
- ✅❓❌⬜ AC3: Wish is saved successfully and Entity ID is the next in sequence (no IDs skipped because of failed attempts).
QA Results - Meta Beta
| AC | Status | Details |
|---|---|---|
| 1 | ✅ | T404108#11217237 |
| 2 | ✅ | T404108#11217237 |
| 3 | ✅ | T404108#11220796 |






