Skip to content

Upstream merge 2026-07-27 - #318

Merged
miles-grant-ibigroup merged 100 commits into
ibi-dev-2.xfrom
upstream-merge-2026-07-27
Jul 29, 2026
Merged

miles-grant-ibigroup merged 100 commits into
ibi-dev-2.xfrom
upstream-merge-2026-07-27

Conversation

@leonardehrenfried

@leonardehrenfried leonardehrenfried commented Jul 27, 2026 •

Copy link
Copy Markdown

This parses notices by trip segment (but no API yet) but crucially, it does a lot of refactoring in the real time code, so we should test it as soon as possible.

leonardehrenfried and others added 30 commits July 7, 2026 12:45
Leave the stop headsign unset when a SIRI-ET call has no destination
display and the trip has no headsign, instead of storing an empty
NonLocalizedString. This removes the empty-string 'no data' sentinel and
the per-call allocation, and aligns the added/extra-call trip path with
the scheduled GTFS path (which already yields a null headsign here).

Follow-up from review of opentripplanner#7783.
…Snapshot` interfaces with lifecycle support (unused for now)
…/test-dependencies

Update Test dependencies to v6.1.2
…rkTest-more-robust

Make TransactionFrameworkTest#testPeriodicCommits more robust.
vpaturet and others added 26 commits July 20, 2026 17:04
… during setup

The auto-configuration file (gbfs.json) was fetched twice when setting up
a GBFS data source: once to determine the GBFS version and once more by
the version-specific feed loader, immediately and on the same pooled
keep-alive connection. Some servers throttle rapid repeated requests for
the same resource, delaying the second fetch beyond the 5s HTTP client
timeout, which made the updater setup fail even though the feed was
reachable.

The auto-configuration file is now fetched once as a JSON tree, used to
determine the version, and then handed over to the version-specific
loader which maps it onto its model classes without fetching it again.
The single fetch now also sends the configured HTTP headers, which the
version probe previously omitted.
… value object

Introduce GbfsAutoConfiguration, which owns the fetched gbfs.json tree
together with the url it came from, exposing the declared version and
the mapping onto version-specific model classes. This removes the url
parameter that was threaded through the loaders solely for error
messages, and moves the auto-configuration concerns out of the feed
loader base class.

The version-specific loaders are now built through static factory
methods, leaving the constructors as plain field assignments instead of
fetching and parsing inline.
…ctory method

Following the naming convention for factory methods, the constructor
logic (fetching the auto-configuration file and selecting the
version-specific loader and mapper) moves to a static create method,
leaving a plain field-assignment constructor. This also removes the
duplicated GBFS v2.x branch in the version switch.
Map GTFS notice assignments on trip segments to individual stop times
…scoped-dependenct-injection

Request scoped dependenct injection - 1st step of 2
…n explicit step

Remove the GbfsFeedLoader factory methods that fetched the
auto-configuration file as a side-effect of creating the loader.
Callers now fetch the file explicitly with GbfsAutoConfiguration.fetch
and pass it to the loader, making it visible that only one fetch takes
place during setup.
…ration fetch

After making the fetch an explicit step, the auto-configuration file is
fetched exactly once by construction: GbfsFeedLoaderAndMapper.create
calls GbfsAutoConfiguration.fetch once and hands the result to the
version-specific loader, which no longer performs any fetch of its own.
The spy-based test asserted an implementation detail (which http client
method was called) and would break on unrelated changes.
…/maven-plugins

chore(deps): update maven plugins
…le-area-tests

Add tests for `WalkableAreaBuilder`
…el-prop-computation

Parallelize and deduplicate way property computation
Fetch the GBFS auto-configuration file only once during setup
…racks

Penalize cycling on streets with embedded tram tracks
…/debug-ui-dependencies-(non-major)

chore(deps): update debug ui dependencies (non-major)
…/highly-trusted-dependencies-(patch)

fix(deps): update highly trusted dependencies (patch)

@miles-grant-ibigroup miles-grant-ibigroup left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Didn't spot any major regressions, but I'll be on the lookout

@miles-grant-ibigroup
miles-grant-ibigroup merged commit 246cc17 into ibi-dev-2.x Jul 29, 2026
16 checks passed
@miles-grant-ibigroup
miles-grant-ibigroup deleted the upstream-merge-2026-07-27 branch July 29, 2026 22:14
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.

7 participants