Skip to content

Commit aa8e642

Browse files
committed
Revert "chore: changelog + plan update for MacDive UDDF gap-fill milestone"
This reverts commit d6ee64e.
1 parent d6ee64e commit aa8e642

2 files changed

Lines changed: 0 additions & 46 deletions

File tree

CHANGELOG.md

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -3,35 +3,6 @@
33
All notable changes to Submersion are documented in this file.
44

55

6-
## Unreleased
7-
8-
### Added
9-
10-
- MacDive UDDF imports now capture dive-level fields previously dropped on
11-
the floor: weather, surface conditions, boat name / captain, dive operator,
12-
personal mode, altitude mode, signature, and dive-number-of-day. Site
13-
metadata (water type, body of water, difficulty, flag) is also imported.
14-
- Cross-format import deduplication via `source_uuid` on `dive_data_sources`.
15-
Stable per-dive IDs from MacDive, Shearwater Cloud, and Subsurface SSRF
16-
are now preserved; re-importing the same dives in a different format no
17-
longer creates duplicates.
18-
19-
### Fixed
20-
21-
- MacDive UDDF: equipment / gear now imports. Previously only Submersion's
22-
private equipment extension was scanned, missing the standard UDDF gear
23-
location (`<diver><owner><equipment>`) where MacDive and other compliant
24-
exporters put it.
25-
- MacDive UDDF: gas switches for deco dives are now preserved. The parser
26-
read `<switchmix ref>` markers in waypoints but never recorded the gas
27-
reference on the sample, so downstream deco displays lost the switch event.
28-
- MacDive UDDF: `<equipmentused><link ref>` children are now captured from
29-
both `informationbeforedive` and `informationafterdive` sections.
30-
- MacDive UDDF: `<surfaceintervalbeforedive><infinity/></surfaceintervalbeforedive>`
31-
(first-dive marker) is now explicitly handled instead of relying on
32-
silent int-parse failure.
33-
34-
356
## 1.4.5 (2026-04-21)
367

378
### Features

docs/superpowers/plans/2026-04-21-macdive-uddf-gap-fill.md

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,6 @@
44
55
**Goal:** Close all current gaps in Submersion's UDDF import path when the source is a MacDive export, and add the `sourceUuid` plumbing needed for downstream MacDive XML / SQLite milestones.
66

7-
## Milestone 1 Status
8-
9-
**COMPLETE** — All non-skipped tasks delivered and tested.
10-
11-
- **Tasks landed:** 1, 2, 4, 5, 6, 8, 9, 10, 11, 12
12-
- Schema v69 → v70 with `source_uuid` columns on all importable entities
13-
- 10 new MacDive dive-level fields extracted (weather, boat, operator, personal mode, altitude mode, signature, dive-number-of-day, etc.)
14-
- 4 new site-level fields extracted (water type, body of water, difficulty, flag)
15-
- Gear import now scans standard UDDF `<diver><owner><equipment>` location, not just Submersion private extension
16-
- Gas switches (`<switchmix ref>`) now recorded on samples for deco dives
17-
- Equipment refs captured from both `informationbeforedive` and `informationafterdive`
18-
- `<surfaceintervalbeforedive><infinity/>` explicitly handled (first-dive marker)
19-
- Source UUIDs persist through import → DB on all entities
20-
- **Tasks skipped:** 3 (bug didn't exist), 7 (non-dive entity UUIDs descoped)
21-
- **Real-data validation:** User's 29MB MacDive UDDF passes regression assertions (540 dives, 373+ sites, 33+ buddies, 32+ gear)
22-
- **Test coverage:** 7099 tests pass, all new fields covered by unit + integration tests
23-
247
**Architecture:** Changes are confined to `lib/core/services/export/uddf/` (parsing), the dive-import schema migration layer, and the universal-import adapter. Additions are field-for-field extractions from `<informationbeforedive>` / `<informationafterdive>` / `<site>` plus a robustness fix for `<link ref>` disambiguation. No pipeline wiring changes.
258

269
**Tech Stack:** Flutter, Dart 3, Drift ORM, `xml` package, Riverpod. Testing via `flutter_test`.

0 commit comments

Comments
 (0)