Files
accounted/components
Jakob Wennberg 1e2b952f9c fix(inbox): one frame around Underlag, not two (#1513)
* fix(inbox): stop an inline field edit from wiping the AI classification

PATCH /items/:id/fields rebuilt extracted_data from a hand-written list of
six keys. Everything outside that list was destroyed the first time somebody
corrected a single field by hand: documentKind, merchantCategory, legibility,
purchaseTime, payment and suggestedTemplateId.

Nothing surfaced the loss. The row kept working, the edit landed, and the
classification simply stopped being there. It is not recoverable afterwards
without re-running extraction, so rows edited before this fix have already
lost it.

The comment above the merge names the three fields it does preserve, which
reads as though the list were exhaustive. It never was: those six arrived on
InvoiceExtractionResult later and nobody came back here. Spreading `current`
first fixes the six and, more usefully, means the next field added survives
by default rather than waiting to be noticed missing.

The tests pin the merge rather than the six names. One walks every key that
was on the row and asserts it is still there, so a field added tomorrow is
covered without anyone editing the test. Removing the spread fails two of
them with "`documentKind` was dropped by the merge".

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

* fix(inbox): one frame around Underlag, not two

The workspace wrapped itself in `p-4 md:p-6` and then a second
`rounded-lg border bg-card`, inside the dashboard panel that already
supplies a border, a 12px radius and the background. The result was two
rounded frames 24px apart with mismatched radii (12px outer, 8px inner)
and a dead inset all the way round.

`/e/` routes render full-bleed on purpose: MainContainer sets isFullBleed
for them and the comment there names multi-pane layouts as the reason. The
workspace should fill that panel, not draw another one inside it.

The DOM nesting is unchanged so the absolute drag overlay keeps its
positioning context; only the padding and the card chrome come off.
`bg-card` is safe to drop because card background matches page background
by design, the border is what carries hierarchy.

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

---------

Co-authored-by: Jakob Wennberg <311770904+jakobwennberg-oss@users.noreply.github.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-11 11:05:26 +02:00
..
2026-07-21 23:00:15 +02:00
2026-07-23 16:16:55 +02:00