Skip to content

[Board] Verify Board tombstoning on dev #428

Description

@KacperKozak

Problem

Board tombstoning was specified and marked resolved in #279, but its implementation lives in still-open, unmerged PR #276. Current dev appears to retain the older behavior on both platforms:

  • deleteBoard removes the boards row with DELETE FROM boards.
  • The current Board schema has no deleted_at column.
  • Ride History remains independent because telemetry rows are not deleted; current telemetry frames and minute buckets still store device_id plus a snapshotted device_name.

This contradicts the intended rule that Boards are tombstoned and remain resolvable so historical records can retain their Board identity.

Verify

  • Confirm actual Board-removal behavior on current dev on Android and iOS.
  • Confirm which Board-owned records are deleted, retained, or orphaned.
  • Confirm how Ride History resolves its Board identity and name after Board removal.
  • Determine whether the tombstone slice from [Sync] Ride history backup #276 is still expected to merge, should be extracted, or was intentionally abandoned.
  • Reconcile the state of [Sync] 1 - Tombstone deleted Boards #279 and record the outcome; create/reopen implementation work only if needed.

Likely files

  • modules/vescape-core/android/src/main/java/expo/modules/vescapecore/telemetry/TelemetryEntities.kt — Android Board and telemetry persistence shapes.
  • modules/vescape-core/android/src/main/java/expo/modules/vescapecore/telemetry/TelemetryDao.kt — Android Board deletion transaction and reads.
  • modules/vescape-core/ios/telemetry/AppDataRepository.swift — iOS Board deletion path.
  • modules/vescape-core/ios/telemetry/TelemetryDatabase.swift — iOS Board and telemetry schemas.
  • modules/vescape-core/src/index.ts — shared Board and Ride History bridge contracts.

Related

Out of scope

  • Implementing Board tombstoning in this verification ticket.
  • Changing fault-storage design.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:boardBoard profiles, board table, and board settingsarea:dbTouches database / persistent storagearea:historyRide history, sessions, buckets, graphsarea:nativeTouches native side (modules/vesc-ble, Swift/Kotlin)needs-triageMaintainer needs to evaluate this issue🐛🐞🐜🐝🪲 BUG!!!Something isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions