Skip to content

Conversation

@t-jimbo
Copy link
Collaborator

@t-jimbo t-jimbo commented Jan 6, 2026

Summary

  • Add Breadcrumb data class with message, category, level, data, timestamp
  • Add recordBreadcrumb() and getBreadcrumbs() to TrackRepository interface
  • Implement breadcrumb buffering (max 50 entries) in TrackRepositoryImpl
  • Include breadcrumbs when sending Flutter crash reports via sendFlutterCrash()
  • Expose recordBreadcrumb() via @FlutterBridgeApi in NubrickExperiment

Usage (from Flutter Bridge)

@OptIn(FlutterBridgeApi::class)
val breadcrumb = Breadcrumb(
    message = "Button tapped",
    category = "ui",
    level = "info",
    data = mapOf("button_id" to "submit"),
    timestamp = System.currentTimeMillis()
)
nubrickClient.experiment.recordBreadcrumb(breadcrumb)

Related PRs

Test plan

  • Verify Android SDK compiles without errors
  • Test recordBreadcrumb() stores breadcrumbs correctly
  • Verify breadcrumbs are included in crash reports
  • Test breadcrumb buffer limits to 50 entries

🤖 Generated with Claude Code

t-jimbo and others added 3 commits January 6, 2026 17:01
- Add Breadcrumb data class with message, category, level, data, timestamp
- Add recordBreadcrumb and getBreadcrumbs to TrackRepository interface
- Implement breadcrumb buffering (max 50 entries) in TrackRepositoryImpl
- Include breadcrumbs when sending Flutter crash reports
- Add recordBreadcrumb to Container interface and ContainerImpl
- Expose recordBreadcrumb via @FlutterBridgeApi in NubrickExperiment

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
…patibility

- Add @serializable enums BreadcrumbCategory (navigation, ui, http, console, custom) and BreadcrumbLevel (debug, info, warning, error, fatal)
- Update Breadcrumb data class to use typed enums instead of strings
- Add Flutter Bridge overload recordBreadcrumb(Map) to convert string-based data
- Include fromString companion methods for enum parsing

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Explain expected data structure from Flutter's method channel with inline comments for each type cast.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
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.

1 participant