Skip to content

#538 auto-closed by a partial fix; loop-route highlight still wrong in UIKit #1346

Closed

Description

@aaronbrethorst

Follow-ups from #1312, which gave loop-route trip stops position-qualified list identifiers.

1. "Closes #538" overstates the scope — consider reopening.

#538 is the general tracking issue ("OBAListView throwing duplicate identifier exceptions tops the crash list") and asks for a rethink of item identification across the list framework. #1312 fixes TripStopViewModel specifically. Real fix, correct fix, but it auto-closed a broader issue.

2. The second new test is vacuous as a regression guard.

List ids stay unique across the whole trip loads trip_details_1_18196913_no_status.json, whose 53 stop times have 53 distinct stop IDs — so Set(ids).count == ids.count passes against the old id: String { stop.id } implementation too. The first test (A stop visited twice gets two distinct list ids) does genuinely cover the fix, so coverage isn't absent; but a fixture with an actually repeated stop would make the second test mean something.

3. Same loop-route bug remains in the UIKit selection paths (pre-existing).

highlightStopInList and isUserDestination both match on bare stop.id, so on a loop route they resolve/highlight the wrong (first) occurrence. The SwiftUI side already solved this with an anchored vehicleIndex search; the UIKit side hasn't. Not touched by #1312, but it's the same class of bug on the same screen.

Minor: docs/duplicate-trip-stop-ids.md ends with a dangling "Tests do not load TripViewController.view." with no surrounding context.

Activity

  1. changed the title [-]TMP[/-] [+]#538 auto-closed by a partial fix; loop-route highlight still wrong in UIKit[/+] on Sep 2, 2026
  2. added a commit that references this issue on Sep 5, 2026
  3. Borisserz commented on Sep 16, 2026

    @Borisserz
    Contributor

    Fixed on main by #1374 (merged 2026-09-05): UIKit loop-route highlight keys off stopSequence / visit index (TripStopListModel.userStopIndex, isUserDestination), with regression test User destination uses stop sequence on a loop. The PR didn’t auto-close this issue.

    @aaronbrethorst okay to close?

  4. Borisserz commented on Sep 16, 2026

    @Borisserz
    Contributor

    Follow-up residual (UIKit vehicle “here” still used firstIndex on loop routes): filed #1425 and opened a fix that routes TripFloatingPanelController through TripStopListModel.vehicleStopIndex — the same rules as the SwiftUI list.

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions