Skip to content

FIX name the reference that failed to create, and who already holds it - #36

Open
Pichinov-Jose wants to merge 1 commit into
SplashSync:2.0from
Pichinov-Jose:fix/product-create-error-context
Open

Pichinov-Jose wants to merge 1 commit into
SplashSync:2.0from
Pichinov-Jose:fix/product-create-error-context

Conversation

@Pichinov-Jose

Copy link
Copy Markdown

Bug

Unable to create new Product. — that is the whole message. Not the reference, not the label, and above all not which existing product is in the way.

It gets worse: Dolibarr sanitises the reference on create (dol_sanitizeFileName(dol_string_nospecial(...)), so / becomes _). The reference the source sent and the reference stored are then different, the source never finds its product on the next sync, tries to create it again, and fails again. An endless create loop that nothing in the log explains.

Fix

Report the ref and the label, and look up the conflicting product under both the raw and the sanitised form.

Before:

Unable to create new Product.

After:

Unable to create new Product [ref: SAM/BIC/LAC / label: Cours samedi] - reference already used by product id 658 (Dolibarr ref: SAM_BIC_LAC / Cours samedi)

Fixes #22. Running in production on a Dolibarr 23.0.0 shop.

🤖 Generated with Claude Code

"Unable to create new Product." says nothing: not which reference, not which
label, and above all not which existing product is in the way. Dolibarr also
sanitises the reference on create — a "/" becomes "_" — so the ref the source
sent and the ref stored differ, and the source retries the same create on
every sync without anyone being able to find the culprit.

Report the ref and label, and look up the conflicting product under both the
raw and the sanitised form.

Closes SplashSync#22

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Product reference sanitisation is ignored — endless "product already exists" on every sync

1 participant