Files
accounted/extensions
Jakob WennbergandClaude Opus 4.7 7cbd791c5b fix: request only enabled TIC enrichment types (unblocks the picker) (#349)
* chore: translate TIC enrichment errors into actionable hints

Adds self-diagnosing log output for known TIC failure shapes:
- 'Session not completed' → tenant doesn't have enrichment enabled
  (the BankID consent-to-enrich dialog only fires when SPAR/CompanyRoles
  are configured on the tenant; without it, TIC rejects enrichment
  requests with this misleadingly-worded error)
- 'not enabled' variants → explicit tenant disable
- 'too old' → >30min between auth and enrichment request

No behaviour change — purely diagnostic. Saves a future developer from
re-discovering that "Session not completed" means "contact support@tic.io"
rather than "retry the session."

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix: stop requesting disabled 'SPAR' enrichment type

Root cause of the 'Session not completed' failures: TIC renamed 'SPAR'
to 'Address' and our tenant has Address *disabled* (only CompanyRoles is
on — verified via GET /api/v1/enrichment/types). Requesting an unknown
or disabled type causes TIC to reject the whole enrichment with a
misleading 'Session not completed' error rather than ignoring the unknown
type or returning PartiallyCompleted.

- Enrichment request now asks only for ['CompanyRoles'], which is what
  the /select-company picker actually needs. This is enough to stop the
  'Session not completed' errors and make the picker work in prod.
- If Address is enabled on TIC later, add it to the array (and wire up
  the address pre-fill paths in WelcomeOnboarding + createCompanyFromTicRole
  — both already look for a `.spar` field that TIC may have renamed).
- Updated the diagnostic hint for 'Session not completed' to lead with
  the type-mismatch cause and point at the /enrichment/types curl for
  verification, since that's the first thing to check.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* chore: clean up stale SPAR references in tic extension (PR review)

Greptile P2 nits — all cosmetic, no runtime impact:

- fetchAndStoreEnrichment JSDoc updated from "SPAR + CompanyRoles" to
  just CompanyRoles, with a note about where to add Address back if/when
  it's enabled on the tenant.
- hasSpar log field removed from the 'enrichment data shape' snapshot.
  enrichmentData.spar was permanently undefined after the SPAR → nothing
  swap; logging a constantly-false field would have misled a future
  developer chasing missing address data.
- Inline comment on the signup-path call to fetchAndStoreEnrichment now
  matches the login-path comment (CompanyRoles, not SPAR + CompanyRoles).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 16:11:39 +02:00
..