Skip to content

Feat/snapshot download#33

Draft
bburda wants to merge 4 commits intomainfrom
feat/snapshot-download
Draft

Feat/snapshot download#33
bburda wants to merge 4 commits intomainfrom
feat/snapshot-download

Conversation

@bburda
Copy link
Contributor

@bburda bburda commented Feb 5, 2026

Pull Request

Summary

Briefly describe what changed and why.


Issue

Link the related issue (required):

  • closes #

Type

  • Bug fix
  • New feature
  • Breaking change
  • Documentation only

Testing

How was this tested / how should reviewers verify it?


Checklist

  • Breaking changes are clearly described (and announced in docs / changelog if needed)
  • Linting passes (npm run lint)
  • Build succeeds (npm run build)
  • Docs were updated if behavior or public API changed

Add TypeScript type definitions for:
- Snapshot union type (FreezeFrameSnapshot | RosbagSnapshot)
- EnvironmentData with extended_data_records and snapshots
- FaultResponse with item wrapper and SOVD status object
- BulkDataDescriptor for listing rosbags
- Type guards: isFreezeFrameSnapshot, isRosbagSnapshot

Add unit tests for type guards and structure validation.
Update API client:
- getFaultWithEnvironmentData() returns FaultResponse with environment_data
- Add listBulkDataCategories() for category listing
- Add listBulkData() for descriptor listing
- Add getBulkDataUrl() for building download URLs
- Add downloadBulkData() for fetching files as blobs
- Add formatBytes() and formatDuration() utilities
- Mark legacy getFaultSnapshots() as deprecated

Add comprehensive unit tests with mocked fetch.
Add components for fault environment data visualization:
- RosbagDownloadButton: Download button with size display and tooltip
- SnapshotCard: Card component for freeze frame and rosbag snapshots
- FaultsPanel: Updated to fetch and display environment_data
  - Collapsible fault cards with lazy loading
  - Extended data records display (first/last occurrence)
  - Snapshot list with inline download capability
- Add TooltipProvider to App for tooltip support
- Add shadcn tooltip component

Add unit tests for RosbagDownloadButton and SnapshotCard.
Align TypeScript types and component property access with the
corrected ROS 2 message field names (first_occurrence_ns,
last_occurrence_ns). Updates FaultsPanel and test fixtures.
@bburda bburda self-assigned this Feb 5, 2026
@bburda bburda added the enhancement New feature or request label Feb 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant