feat(#228): Tracking-Event-Historie persistieren + Timeline-UI #338
No reviewers
Labels
No labels
app/archiv
app/einkaufslisten
app/imap-client
app/wissensbasis
arch-answered
arch-question
area/api
area/auth
area/infra
area/mobile
area/shared
area/ui
area/web
portfolio-status
prio/high
prio/low
prio/medium
roadmap/public
size/l
size/m
size/s
size/xl
size/xs
status/blocked
status/needs-info
type/bug
type/chore
type/docs
type/feature
type/idea
type/refactor
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
admin-mrrm/mrrmlabapp!338
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/228-tracking-event-historie"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
TrackingEvent-Typ +Tracking.events(default[])parcel_tracking_events(FK →parcel_trackings, UNIQUE(tracking_id, occurred_at, description)) + Drizzle-Migration0014_freezing_madelyne_pryor.sqlTrackingInfo.latestEvent→events[](ascending). Beide Provider mappen jetzt die volle Event-Liste (AfterShipProviderauscheckpoints[],Track17Provideraustrack_info.tracking.providers[].events[]+latest_eventals gemergter Fallback)TrackingSyncService.refreshActive: Events pro Sync viaonConflictDoNothingpersistieren — funktioniert auch wenn sich der globale Status nicht geändert hat, neue Events landen trotzdem in der DBTrackingsService.getOne: Events sortiert (ASC) im DTO mitliefernTrackingDetailScreen: echte Timeline (DESC, neuestes oben). Stub-Verlauf bleibt nur Fallback solange der Provider noch keine Events geliefert hatPaket-Tracking.md+App-Nutzen.mdaktualisiertTest plan
pnpm testim API (361 Tests grün, inkl. 2 neue Sync-Tests für Event-Persistence + Dedup-Verhalten, 1 neuer Service-Test für Event-Loading ingetOne, 2 neue Provider-Tests für volle Event-Listen)Closes #228