Fix duplicate service updates from STM API#96
Conversation
Co-authored-by: mmathieum <177998+mmathieum@users.noreply.github.com> Agent-Logs-Url: https://github.com/mtransitapps/commons-android/sessions/e34048c6-d065-4b3e-b0ef-828aae84c6e6
Co-authored-by: mmathieum <177998+mmathieum@users.noreply.github.com> Agent-Logs-Url: https://github.com/mtransitapps/commons-android/sessions/caa1e2fd-d1b3-483b-8614-2e5bb63df628
mmathieum
left a comment
There was a problem hiding this comment.
The real & primary issue was using a different agency source ID for creating and deleting the service updates (since the new provider is re-using some code from the old one)
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request effectively resolves the issue of duplicate service updates by introducing a deduplication mechanism. The core of the fix, which involves implementing equals() and hashCode() for ServiceUpdate and then using a Set to store the parsed updates, is sound. I particularly appreciate the refactoring of the parsing logic into the new, testable toServiceUpdates function. The accompanying unit tests are well-written and cover the key scenarios, ensuring the fix is robust. Overall, this is a solid improvement to the codebase.
- commons: Enable GTFS RT Trip Updates FF mtransitapps/commons#615 - commons: CI > record screenshot > fix TZ/xmllint - commons-android: GTFS static schedule > generate from past > use last service date to avoid missing 1st day of "generated" next schedule mtransitapps/commons-android#97 - commons-android: Increment database version for service updates - commons-android: Fix duplicate service updates from STM API mtransitapps/commons-android#96 - commons-android: STM.info > brand new API > bump DB version - commons-android: logs++ - commons-android: needed - commons-android: fix debug - commons-android: screenshot emulator time format
- commons: mt-release.yml: trigger record-screenshot workflow when screenshots are stale (>3 months) mtransitapps/commons#609 - commons: `mt-check-data-outdated.yml` > fix cron - commons: Add frequent CI workflow to check if data is outdated mtransitapps/commons#623 - commons: Enable GTFS RT Trip Updates FF mtransitapps/commons#615 - commons: CI > record screenshot > fix TZ/xmllint - commons: Add workflow to push store listings to Play Console mtransitapps/commons#613 - commons: Add CI workflow to pull latest Play Store listings mtransitapps/commons#611 - commons: Build(deps): Bump org.mockito:mockito-core from 5.22.0 to 5.23.0 in the test group mtransitapps/commons#619 - commons: Build(deps): Bump com.google.android.gms:play-services-ads from 25.0.0 to 25.1.0 in the gms group mtransitapps/commons#617 - commons: Build(deps): Bump the maps group with 3 updates mtransitapps/commons#618 - commons: Build(deps): Bump org.xerial:sqlite-jdbc from 3.51.2.0 to 3.51.3.0 mtransitapps/commons#620 - commons: Build(deps): Bump kotlin from 2.3.10 to 2.3.20 mtransitapps/commons#621 - commons: STM.info API > new service update endpoint mtransitapps/commons#614 - commons: Add timeout to MT Release job in workflow mtransitapps/commons#607 - commons-android: Keep cancelled trips & skipped stop times from GTFS-RT Trip Updates mtransitapps/commons-android#99 - commons-android: GTFS static schedule > generate from past > use last service date to avoid missing 1st day of "generated" next schedule mtransitapps/commons-android#97 - commons-android: Increment database version for service updates - commons-android: Fix duplicate service updates from STM API mtransitapps/commons-android#96 - commons-android: STM.info > brand new API > bump DB version - commons-android: logs++ - commons-android: needed - commons-android: fix debug - commons-android: screenshot emulator time format - commons-android: screenshot emulator time format - commons-android: screenshot emulator time format - commons-android: fix screenshot delay? - commons-android: screenshot time format fix - commons-android: screenshot emulator time format fix - commons-android: screenshot -> time format needed - commons-android: logs++ - commons-android: Service update (alert/info) > add `NO_SERVICE` effect mtransitapps/commons-android#92 - commons-android: STM.info API > new service update endpoint mtransitapps/commons-android#89 - commons-android: RT schedule UI improvements... mtransitapps/commons-android#88 - commons-java: Clean utils > lower upper case strings > trim to match (& unit tests)
- commons: mt-release.yml: trigger record-screenshot workflow when screenshots are stale (>3 months) mtransitapps/commons#609 - commons: `mt-check-data-outdated.yml` > fix cron - commons: Add frequent CI workflow to check if data is outdated mtransitapps/commons#623 - commons: Enable GTFS RT Trip Updates FF mtransitapps/commons#615 - commons: CI > record screenshot > fix TZ/xmllint - commons: Add workflow to push store listings to Play Console mtransitapps/commons#613 - commons: Add CI workflow to pull latest Play Store listings mtransitapps/commons#611 - commons: Build(deps): Bump org.mockito:mockito-core from 5.22.0 to 5.23.0 in the test group mtransitapps/commons#619 - commons: Build(deps): Bump com.google.android.gms:play-services-ads from 25.0.0 to 25.1.0 in the gms group mtransitapps/commons#617 - commons: Build(deps): Bump the maps group with 3 updates mtransitapps/commons#618 - commons: Build(deps): Bump org.xerial:sqlite-jdbc from 3.51.2.0 to 3.51.3.0 mtransitapps/commons#620 - commons: Build(deps): Bump kotlin from 2.3.10 to 2.3.20 mtransitapps/commons#621 - commons: STM.info API > new service update endpoint mtransitapps/commons#614 - commons: Add timeout to MT Release job in workflow mtransitapps/commons#607 - commons-android: Keep cancelled trips & skipped stop times from GTFS-RT Trip Updates mtransitapps/commons-android#99 - commons-android: GTFS static schedule > generate from past > use last service date to avoid missing 1st day of "generated" next schedule mtransitapps/commons-android#97 - commons-android: Increment database version for service updates - commons-android: Fix duplicate service updates from STM API mtransitapps/commons-android#96 - commons-android: STM.info > brand new API > bump DB version - commons-android: logs++ - commons-android: needed - commons-android: fix debug - commons-android: screenshot emulator time format - commons-android: screenshot emulator time format - commons-android: screenshot emulator time format - commons-android: fix screenshot delay? - commons-android: screenshot time format fix - commons-android: screenshot emulator time format fix - commons-android: screenshot -> time format needed - commons-android: logs++ - commons-android: Service update (alert/info) > add `NO_SERVICE` effect mtransitapps/commons-android#92 - commons-android: STM.info API > new service update endpoint mtransitapps/commons-android#89 - commons-android: RT schedule UI improvements... mtransitapps/commons-android#88 - commons-java: Clean utils > lower upper case strings > trim to match (& unit tests)
- commons: mt-release.yml: trigger record-screenshot workflow when screenshots are stale (>3 months) mtransitapps/commons#609 - commons: `mt-check-data-outdated.yml` > fix cron - commons: Add frequent CI workflow to check if data is outdated mtransitapps/commons#623 - commons: Enable GTFS RT Trip Updates FF mtransitapps/commons#615 - commons: CI > record screenshot > fix TZ/xmllint - commons-android: Keep cancelled trips & skipped stop times from GTFS-RT Trip Updates mtransitapps/commons-android#99 - commons-android: GTFS static schedule > generate from past > use last service date to avoid missing 1st day of "generated" next schedule mtransitapps/commons-android#97 - commons-android: Increment database version for service updates - commons-android: Fix duplicate service updates from STM API mtransitapps/commons-android#96 - commons-android: STM.info > brand new API > bump DB version - commons-android: logs++ - commons-android: needed - commons-android: fix debug - commons-android: screenshot emulator time format
…parser': - commons: mt-release.yml: trigger record-screenshot workflow when screenshots are stale (>3 months) mtransitapps/commons#609 - commons: `mt-check-data-outdated.yml` > fix cron - commons: Add frequent CI workflow to check if data is outdated mtransitapps/commons#623 - commons: Enable GTFS RT Trip Updates FF mtransitapps/commons#615 - commons: CI > record screenshot > fix TZ/xmllint - commons: Add workflow to push store listings to Play Console mtransitapps/commons#613 - commons: Add CI workflow to pull latest Play Store listings mtransitapps/commons#611 - commons: Build(deps): Bump org.mockito:mockito-core from 5.22.0 to 5.23.0 in the test group mtransitapps/commons#619 - commons: Build(deps): Bump com.google.android.gms:play-services-ads from 25.0.0 to 25.1.0 in the gms group mtransitapps/commons#617 - commons: Build(deps): Bump the maps group with 3 updates mtransitapps/commons#618 - commons: Build(deps): Bump org.xerial:sqlite-jdbc from 3.51.2.0 to 3.51.3.0 mtransitapps/commons#620 - commons: Build(deps): Bump kotlin from 2.3.10 to 2.3.20 mtransitapps/commons#621 - commons: STM.info API > new service update endpoint mtransitapps/commons#614 - commons: Add timeout to MT Release job in workflow mtransitapps/commons#607 - commons: Build(deps): Bump the androidx group with 3 updates mtransitapps/commons#605 - commons: Build(deps): Bump the ads group with 2 updates mtransitapps/commons#606 - commons: Compat w/ trip updates (status/schedule) mtransitapps/commons#604 - commons: Archive selection > sort archive name A-Z - commons-android: Keep cancelled trips & skipped stop times from GTFS-RT Trip Updates mtransitapps/commons-android#99 - commons-android: GTFS static schedule > generate from past > use last service date to avoid missing 1st day of "generated" next schedule mtransitapps/commons-android#97 - commons-android: Increment database version for service updates - commons-android: Fix duplicate service updates from STM API mtransitapps/commons-android#96 - commons-android: STM.info > brand new API > bump DB version - commons-android: logs++ - commons-android: needed - commons-android: fix debug - commons-android: screenshot emulator time format - commons-android: screenshot emulator time format - commons-android: screenshot emulator time format - commons-android: fix screenshot delay? - commons-android: screenshot time format fix - commons-android: screenshot emulator time format fix - commons-android: screenshot -> time format needed - commons-android: logs++ - commons-android: Service update (alert/info) > add `NO_SERVICE` effect mtransitapps/commons-android#92 - commons-android: STM.info API > new service update endpoint mtransitapps/commons-android#89 - commons-android: RT schedule UI improvements... mtransitapps/commons-android#88 - commons-android: Compat w/ trip updates (status/schedule) mtransitapps/commons-android#81 - commons-android: Twitter/X news provider > fix cache validity... mtransitapps/commons-android#86 - commons-android: Same change to allow main repo PR merge - commons-java: Clean utils > lower upper case strings > trim to match (& unit tests) - parser: JSON config > +`stop_original_id_to_stop_id_configs` - parser: DB version > always bump on CI mtransitapps/parser#53
…parser': - commons: mt-release.yml: trigger record-screenshot workflow when screenshots are stale (>3 months) mtransitapps/commons#609 - commons: `mt-check-data-outdated.yml` > fix cron - commons: Add frequent CI workflow to check if data is outdated mtransitapps/commons#623 - commons: Enable GTFS RT Trip Updates FF mtransitapps/commons#615 - commons: CI > record screenshot > fix TZ/xmllint - commons: Add workflow to push store listings to Play Console mtransitapps/commons#613 - commons: Add CI workflow to pull latest Play Store listings mtransitapps/commons#611 - commons: Build(deps): Bump org.mockito:mockito-core from 5.22.0 to 5.23.0 in the test group mtransitapps/commons#619 - commons: Build(deps): Bump com.google.android.gms:play-services-ads from 25.0.0 to 25.1.0 in the gms group mtransitapps/commons#617 - commons: Build(deps): Bump the maps group with 3 updates mtransitapps/commons#618 - commons: Build(deps): Bump org.xerial:sqlite-jdbc from 3.51.2.0 to 3.51.3.0 mtransitapps/commons#620 - commons: Build(deps): Bump kotlin from 2.3.10 to 2.3.20 mtransitapps/commons#621 - commons: STM.info API > new service update endpoint mtransitapps/commons#614 - commons: Add timeout to MT Release job in workflow mtransitapps/commons#607 - commons-android: Keep cancelled trips & skipped stop times from GTFS-RT Trip Updates mtransitapps/commons-android#99 - commons-android: GTFS static schedule > generate from past > use last service date to avoid missing 1st day of "generated" next schedule mtransitapps/commons-android#97 - commons-android: Increment database version for service updates - commons-android: Fix duplicate service updates from STM API mtransitapps/commons-android#96 - commons-android: STM.info > brand new API > bump DB version - commons-android: logs++ - commons-android: needed - commons-android: fix debug - commons-android: screenshot emulator time format - commons-android: screenshot emulator time format - commons-android: screenshot emulator time format - commons-android: fix screenshot delay? - commons-android: screenshot time format fix - commons-android: screenshot emulator time format fix - commons-android: screenshot -> time format needed - commons-android: logs++ - commons-android: Service update (alert/info) > add `NO_SERVICE` effect mtransitapps/commons-android#92 - commons-android: STM.info API > new service update endpoint mtransitapps/commons-android#89 - commons-android: RT schedule UI improvements... mtransitapps/commons-android#88 - commons-java: Clean utils > lower upper case strings > trim to match (& unit tests) - parser: JSON config > +`stop_original_id_to_stop_id_configs`
- commons: mt-release.yml: trigger record-screenshot workflow when screenshots are stale (>3 months) mtransitapps/commons#609 - commons: `mt-check-data-outdated.yml` > fix cron - commons: Add frequent CI workflow to check if data is outdated mtransitapps/commons#623 - commons: Enable GTFS RT Trip Updates FF mtransitapps/commons#615 - commons: CI > record screenshot > fix TZ/xmllint - commons-android: Keep cancelled trips & skipped stop times from GTFS-RT Trip Updates mtransitapps/commons-android#99 - commons-android: GTFS static schedule > generate from past > use last service date to avoid missing 1st day of "generated" next schedule mtransitapps/commons-android#97 - commons-android: Increment database version for service updates - commons-android: Fix duplicate service updates from STM API mtransitapps/commons-android#96 - commons-android: STM.info > brand new API > bump DB version - commons-android: logs++ - commons-android: needed - commons-android: fix debug - commons-android: screenshot emulator time format
- commons: mt-release.yml: trigger record-screenshot workflow when screenshots are stale (>3 months) mtransitapps/commons#609 - commons: `mt-check-data-outdated.yml` > fix cron - commons: Add frequent CI workflow to check if data is outdated mtransitapps/commons#623 - commons: Enable GTFS RT Trip Updates FF mtransitapps/commons#615 - commons: CI > record screenshot > fix TZ/xmllint - commons: Add workflow to push store listings to Play Console mtransitapps/commons#613 - commons: Add CI workflow to pull latest Play Store listings mtransitapps/commons#611 - commons: Build(deps): Bump org.mockito:mockito-core from 5.22.0 to 5.23.0 in the test group mtransitapps/commons#619 - commons: Build(deps): Bump com.google.android.gms:play-services-ads from 25.0.0 to 25.1.0 in the gms group mtransitapps/commons#617 - commons: Build(deps): Bump the maps group with 3 updates mtransitapps/commons#618 - commons: Build(deps): Bump org.xerial:sqlite-jdbc from 3.51.2.0 to 3.51.3.0 mtransitapps/commons#620 - commons: Build(deps): Bump kotlin from 2.3.10 to 2.3.20 mtransitapps/commons#621 - commons: STM.info API > new service update endpoint mtransitapps/commons#614 - commons: Add timeout to MT Release job in workflow mtransitapps/commons#607 - commons-android: Keep cancelled trips & skipped stop times from GTFS-RT Trip Updates mtransitapps/commons-android#99 - commons-android: GTFS static schedule > generate from past > use last service date to avoid missing 1st day of "generated" next schedule mtransitapps/commons-android#97 - commons-android: Increment database version for service updates - commons-android: Fix duplicate service updates from STM API mtransitapps/commons-android#96 - commons-android: STM.info > brand new API > bump DB version - commons-android: logs++ - commons-android: needed - commons-android: fix debug - commons-android: screenshot emulator time format - commons-android: screenshot emulator time format - commons-android: screenshot emulator time format - commons-android: fix screenshot delay? - commons-android: screenshot time format fix - commons-android: screenshot emulator time format fix - commons-android: screenshot -> time format needed - commons-android: logs++ - commons-android: Service update (alert/info) > add `NO_SERVICE` effect mtransitapps/commons-android#92 - commons-android: STM.info API > new service update endpoint mtransitapps/commons-android#89 - commons-android: RT schedule UI improvements... mtransitapps/commons-android#88 - commons-java: Clean utils > lower upper case strings > trim to match (& unit tests)
- commons: mt-release.yml: trigger record-screenshot workflow when screenshots are stale (>3 months) mtransitapps/commons#609 - commons: `mt-check-data-outdated.yml` > fix cron - commons: Add frequent CI workflow to check if data is outdated mtransitapps/commons#623 - commons: Enable GTFS RT Trip Updates FF mtransitapps/commons#615 - commons: CI > record screenshot > fix TZ/xmllint - commons-android: Keep cancelled trips & skipped stop times from GTFS-RT Trip Updates mtransitapps/commons-android#99 - commons-android: GTFS static schedule > generate from past > use last service date to avoid missing 1st day of "generated" next schedule mtransitapps/commons-android#97 - commons-android: Increment database version for service updates - commons-android: Fix duplicate service updates from STM API mtransitapps/commons-android#96 - commons-android: STM.info > brand new API > bump DB version - commons-android: logs++ - commons-android: needed - commons-android: fix debug - commons-android: screenshot emulator time format
…parser': - commons: mt-release.yml: trigger record-screenshot workflow when screenshots are stale (>3 months) mtransitapps/commons#609 - commons: `mt-check-data-outdated.yml` > fix cron - commons: Add frequent CI workflow to check if data is outdated mtransitapps/commons#623 - commons: Enable GTFS RT Trip Updates FF mtransitapps/commons#615 - commons: CI > record screenshot > fix TZ/xmllint - commons: Add workflow to push store listings to Play Console mtransitapps/commons#613 - commons: Add CI workflow to pull latest Play Store listings mtransitapps/commons#611 - commons: Build(deps): Bump org.mockito:mockito-core from 5.22.0 to 5.23.0 in the test group mtransitapps/commons#619 - commons: Build(deps): Bump com.google.android.gms:play-services-ads from 25.0.0 to 25.1.0 in the gms group mtransitapps/commons#617 - commons: Build(deps): Bump the maps group with 3 updates mtransitapps/commons#618 - commons: Build(deps): Bump org.xerial:sqlite-jdbc from 3.51.2.0 to 3.51.3.0 mtransitapps/commons#620 - commons: Build(deps): Bump kotlin from 2.3.10 to 2.3.20 mtransitapps/commons#621 - commons: STM.info API > new service update endpoint mtransitapps/commons#614 - commons: Add timeout to MT Release job in workflow mtransitapps/commons#607 - commons: Build(deps): Bump the androidx group with 3 updates mtransitapps/commons#605 - commons: Build(deps): Bump the ads group with 2 updates mtransitapps/commons#606 - commons: Compat w/ trip updates (status/schedule) mtransitapps/commons#604 - commons: Archive selection > sort archive name A-Z - commons-android: Keep cancelled trips & skipped stop times from GTFS-RT Trip Updates mtransitapps/commons-android#99 - commons-android: GTFS static schedule > generate from past > use last service date to avoid missing 1st day of "generated" next schedule mtransitapps/commons-android#97 - commons-android: Increment database version for service updates - commons-android: Fix duplicate service updates from STM API mtransitapps/commons-android#96 - commons-android: STM.info > brand new API > bump DB version - commons-android: logs++ - commons-android: needed - commons-android: fix debug - commons-android: screenshot emulator time format - commons-android: screenshot emulator time format - commons-android: screenshot emulator time format - commons-android: fix screenshot delay? - commons-android: screenshot time format fix - commons-android: screenshot emulator time format fix - commons-android: screenshot -> time format needed - commons-android: logs++ - commons-android: Service update (alert/info) > add `NO_SERVICE` effect mtransitapps/commons-android#92 - commons-android: STM.info API > new service update endpoint mtransitapps/commons-android#89 - commons-android: RT schedule UI improvements... mtransitapps/commons-android#88 - commons-android: Compat w/ trip updates (status/schedule) mtransitapps/commons-android#81 - commons-android: Twitter/X news provider > fix cache validity... mtransitapps/commons-android#86 - commons-android: Same change to allow main repo PR merge - commons-java: Clean utils > lower upper case strings > trim to match (& unit tests) - parser: JSON config > +`stop_original_id_to_stop_id_configs` - parser: DB version > always bump on CI mtransitapps/parser#53
- commons: mt-release.yml: trigger record-screenshot workflow when screenshots are stale (>3 months) mtransitapps/commons#609 - commons: `mt-check-data-outdated.yml` > fix cron - commons: Add frequent CI workflow to check if data is outdated mtransitapps/commons#623 - commons: Enable GTFS RT Trip Updates FF mtransitapps/commons#615 - commons: CI > record screenshot > fix TZ/xmllint - commons-android: Keep cancelled trips & skipped stop times from GTFS-RT Trip Updates mtransitapps/commons-android#99 - commons-android: GTFS static schedule > generate from past > use last service date to avoid missing 1st day of "generated" next schedule mtransitapps/commons-android#97 - commons-android: Increment database version for service updates - commons-android: Fix duplicate service updates from STM API mtransitapps/commons-android#96 - commons-android: STM.info > brand new API > bump DB version - commons-android: logs++ - commons-android: needed - commons-android: fix debug - commons-android: screenshot emulator time format
- commons: mt-release.yml: trigger record-screenshot workflow when screenshots are stale (>3 months) mtransitapps/commons#609 - commons: `mt-check-data-outdated.yml` > fix cron - commons: Add frequent CI workflow to check if data is outdated mtransitapps/commons#623 - commons: Enable GTFS RT Trip Updates FF mtransitapps/commons#615 - commons: CI > record screenshot > fix TZ/xmllint - commons-android: Keep cancelled trips & skipped stop times from GTFS-RT Trip Updates mtransitapps/commons-android#99 - commons-android: GTFS static schedule > generate from past > use last service date to avoid missing 1st day of "generated" next schedule mtransitapps/commons-android#97 - commons-android: Increment database version for service updates - commons-android: Fix duplicate service updates from STM API mtransitapps/commons-android#96 - commons-android: STM.info > brand new API > bump DB version - commons-android: logs++ - commons-android: needed - commons-android: fix debug - commons-android: screenshot emulator time format
- commons: mt-release.yml: trigger record-screenshot workflow when screenshots are stale (>3 months) mtransitapps/commons#609 - commons: `mt-check-data-outdated.yml` > fix cron - commons: Add frequent CI workflow to check if data is outdated mtransitapps/commons#623 - commons: Enable GTFS RT Trip Updates FF mtransitapps/commons#615 - commons: CI > record screenshot > fix TZ/xmllint - commons-android: Keep cancelled trips & skipped stop times from GTFS-RT Trip Updates mtransitapps/commons-android#99 - commons-android: GTFS static schedule > generate from past > use last service date to avoid missing 1st day of "generated" next schedule mtransitapps/commons-android#97 - commons-android: Increment database version for service updates - commons-android: Fix duplicate service updates from STM API mtransitapps/commons-android#96 - commons-android: STM.info > brand new API > bump DB version - commons-android: logs++ - commons-android: needed - commons-android: fix debug - commons-android: screenshot emulator time format
- commons: mt-release.yml: trigger record-screenshot workflow when screenshots are stale (>3 months) mtransitapps/commons#609 - commons: `mt-check-data-outdated.yml` > fix cron - commons: Add frequent CI workflow to check if data is outdated mtransitapps/commons#623 - commons: Enable GTFS RT Trip Updates FF mtransitapps/commons#615 - commons-android: Keep cancelled trips & skipped stop times from GTFS-RT Trip Updates mtransitapps/commons-android#99 - commons-android: GTFS static schedule > generate from past > use last service date to avoid missing 1st day of "generated" next schedule mtransitapps/commons-android#97 - commons-android: Increment database version for service updates - commons-android: Fix duplicate service updates from STM API mtransitapps/commons-android#96 - commons-android: STM.info > brand new API > bump DB version - commons-android: logs++
- commons: mt-release.yml: trigger record-screenshot workflow when screenshots are stale (>3 months) mtransitapps/commons#609 - commons: `mt-check-data-outdated.yml` > fix cron - commons: Add frequent CI workflow to check if data is outdated mtransitapps/commons#623 - commons: Enable GTFS RT Trip Updates FF mtransitapps/commons#615 - commons: CI > record screenshot > fix TZ/xmllint - commons-android: Keep cancelled trips & skipped stop times from GTFS-RT Trip Updates mtransitapps/commons-android#99 - commons-android: GTFS static schedule > generate from past > use last service date to avoid missing 1st day of "generated" next schedule mtransitapps/commons-android#97 - commons-android: Increment database version for service updates - commons-android: Fix duplicate service updates from STM API mtransitapps/commons-android#96 - commons-android: STM.info > brand new API > bump DB version - commons-android: logs++ - commons-android: needed - commons-android: fix debug - commons-android: screenshot emulator time format
- commons: mt-release.yml: trigger record-screenshot workflow when screenshots are stale (>3 months) mtransitapps/commons#609 - commons: `mt-check-data-outdated.yml` > fix cron - commons: Add frequent CI workflow to check if data is outdated mtransitapps/commons#623 - commons: Enable GTFS RT Trip Updates FF mtransitapps/commons#615 - commons: CI > record screenshot > fix TZ/xmllint - commons-android: Keep cancelled trips & skipped stop times from GTFS-RT Trip Updates mtransitapps/commons-android#99 - commons-android: GTFS static schedule > generate from past > use last service date to avoid missing 1st day of "generated" next schedule mtransitapps/commons-android#97 - commons-android: Increment database version for service updates - commons-android: Fix duplicate service updates from STM API mtransitapps/commons-android#96 - commons-android: STM.info > brand new API > bump DB version - commons-android: logs++ - commons-android: needed - commons-android: fix debug - commons-android: screenshot emulator time format
- commons: mt-release.yml: trigger record-screenshot workflow when screenshots are stale (>3 months) mtransitapps/commons#609 - commons: `mt-check-data-outdated.yml` > fix cron - commons: Add frequent CI workflow to check if data is outdated mtransitapps/commons#623 - commons: Enable GTFS RT Trip Updates FF mtransitapps/commons#615 - commons: CI > record screenshot > fix TZ/xmllint - commons-android: Keep cancelled trips & skipped stop times from GTFS-RT Trip Updates mtransitapps/commons-android#99 - commons-android: GTFS static schedule > generate from past > use last service date to avoid missing 1st day of "generated" next schedule mtransitapps/commons-android#97 - commons-android: Increment database version for service updates - commons-android: Fix duplicate service updates from STM API mtransitapps/commons-android#96 - commons-android: STM.info > brand new API > bump DB version - commons-android: logs++ - commons-android: needed - commons-android: fix debug - commons-android: screenshot emulator time format
- commons: mt-release.yml: trigger record-screenshot workflow when screenshots are stale (>3 months) mtransitapps/commons#609 - commons: `mt-check-data-outdated.yml` > fix cron - commons: Add frequent CI workflow to check if data is outdated mtransitapps/commons#623 - commons: Enable GTFS RT Trip Updates FF mtransitapps/commons#615 - commons: CI > record screenshot > fix TZ/xmllint - commons-android: Keep cancelled trips & skipped stop times from GTFS-RT Trip Updates mtransitapps/commons-android#99 - commons-android: GTFS static schedule > generate from past > use last service date to avoid missing 1st day of "generated" next schedule mtransitapps/commons-android#97 - commons-android: Increment database version for service updates - commons-android: Fix duplicate service updates from STM API mtransitapps/commons-android#96 - commons-android: STM.info > brand new API > bump DB version - commons-android: logs++ - commons-android: needed - commons-android: fix debug - commons-android: screenshot emulator time format
- commons: mt-release.yml: trigger record-screenshot workflow when screenshots are stale (>3 months) mtransitapps/commons#609 - commons: `mt-check-data-outdated.yml` > fix cron - commons: Add frequent CI workflow to check if data is outdated mtransitapps/commons#623 - commons: Enable GTFS RT Trip Updates FF mtransitapps/commons#615 - commons: CI > record screenshot > fix TZ/xmllint - commons-android: Keep cancelled trips & skipped stop times from GTFS-RT Trip Updates mtransitapps/commons-android#99 - commons-android: GTFS static schedule > generate from past > use last service date to avoid missing 1st day of "generated" next schedule mtransitapps/commons-android#97 - commons-android: Increment database version for service updates - commons-android: Fix duplicate service updates from STM API mtransitapps/commons-android#96 - commons-android: STM.info > brand new API > bump DB version - commons-android: logs++ - commons-android: needed - commons-android: fix debug - commons-android: screenshot emulator time format
…parser': - commons: mt-release.yml: trigger record-screenshot workflow when screenshots are stale (>3 months) mtransitapps/commons#609 - commons: `mt-check-data-outdated.yml` > fix cron - commons: Add frequent CI workflow to check if data is outdated mtransitapps/commons#623 - commons: Enable GTFS RT Trip Updates FF mtransitapps/commons#615 - commons: CI > record screenshot > fix TZ/xmllint - commons: Add workflow to push store listings to Play Console mtransitapps/commons#613 - commons: Add CI workflow to pull latest Play Store listings mtransitapps/commons#611 - commons: Build(deps): Bump org.mockito:mockito-core from 5.22.0 to 5.23.0 in the test group mtransitapps/commons#619 - commons: Build(deps): Bump com.google.android.gms:play-services-ads from 25.0.0 to 25.1.0 in the gms group mtransitapps/commons#617 - commons: Build(deps): Bump the maps group with 3 updates mtransitapps/commons#618 - commons: Build(deps): Bump org.xerial:sqlite-jdbc from 3.51.2.0 to 3.51.3.0 mtransitapps/commons#620 - commons: Build(deps): Bump kotlin from 2.3.10 to 2.3.20 mtransitapps/commons#621 - commons: STM.info API > new service update endpoint mtransitapps/commons#614 - commons: Add timeout to MT Release job in workflow mtransitapps/commons#607 - commons-android: Keep cancelled trips & skipped stop times from GTFS-RT Trip Updates mtransitapps/commons-android#99 - commons-android: GTFS static schedule > generate from past > use last service date to avoid missing 1st day of "generated" next schedule mtransitapps/commons-android#97 - commons-android: Increment database version for service updates - commons-android: Fix duplicate service updates from STM API mtransitapps/commons-android#96 - commons-android: STM.info > brand new API > bump DB version - commons-android: logs++ - commons-android: needed - commons-android: fix debug - commons-android: screenshot emulator time format - commons-android: screenshot emulator time format - commons-android: screenshot emulator time format - commons-android: fix screenshot delay? - commons-android: screenshot time format fix - commons-android: screenshot emulator time format fix - commons-android: screenshot -> time format needed - commons-android: logs++ - commons-android: Service update (alert/info) > add `NO_SERVICE` effect mtransitapps/commons-android#92 - commons-android: STM.info API > new service update endpoint mtransitapps/commons-android#89 - commons-android: RT schedule UI improvements... mtransitapps/commons-android#88 - commons-java: Clean utils > lower upper case strings > trim to match (& unit tests) - parser: JSON config > +`stop_original_id_to_stop_id_configs`
- commons: mt-release.yml: trigger record-screenshot workflow when screenshots are stale (>3 months) mtransitapps/commons#609 - commons: `mt-check-data-outdated.yml` > fix cron - commons: Add frequent CI workflow to check if data is outdated mtransitapps/commons#623 - commons: Enable GTFS RT Trip Updates FF mtransitapps/commons#615 - commons: CI > record screenshot > fix TZ/xmllint - commons: Add workflow to push store listings to Play Console mtransitapps/commons#613 - commons: Add CI workflow to pull latest Play Store listings mtransitapps/commons#611 - commons: Build(deps): Bump org.mockito:mockito-core from 5.22.0 to 5.23.0 in the test group mtransitapps/commons#619 - commons: Build(deps): Bump com.google.android.gms:play-services-ads from 25.0.0 to 25.1.0 in the gms group mtransitapps/commons#617 - commons: Build(deps): Bump the maps group with 3 updates mtransitapps/commons#618 - commons: Build(deps): Bump org.xerial:sqlite-jdbc from 3.51.2.0 to 3.51.3.0 mtransitapps/commons#620 - commons: Build(deps): Bump kotlin from 2.3.10 to 2.3.20 mtransitapps/commons#621 - commons: STM.info API > new service update endpoint mtransitapps/commons#614 - commons: Add timeout to MT Release job in workflow mtransitapps/commons#607 - commons-android: Keep cancelled trips & skipped stop times from GTFS-RT Trip Updates mtransitapps/commons-android#99 - commons-android: GTFS static schedule > generate from past > use last service date to avoid missing 1st day of "generated" next schedule mtransitapps/commons-android#97 - commons-android: Increment database version for service updates - commons-android: Fix duplicate service updates from STM API mtransitapps/commons-android#96 - commons-android: STM.info > brand new API > bump DB version - commons-android: logs++ - commons-android: needed - commons-android: fix debug - commons-android: screenshot emulator time format - commons-android: screenshot emulator time format - commons-android: screenshot emulator time format - commons-android: fix screenshot delay? - commons-android: screenshot time format fix - commons-android: screenshot emulator time format fix - commons-android: screenshot -> time format needed - commons-android: logs++ - commons-android: Service update (alert/info) > add `NO_SERVICE` effect mtransitapps/commons-android#92 - commons-android: STM.info API > new service update endpoint mtransitapps/commons-android#89 - commons-android: RT schedule UI improvements... mtransitapps/commons-android#88 - commons-java: Clean utils > lower upper case strings > trim to match (& unit tests)
- commons: mt-release.yml: trigger record-screenshot workflow when screenshots are stale (>3 months) mtransitapps/commons#609 - commons: `mt-check-data-outdated.yml` > fix cron - commons: Add frequent CI workflow to check if data is outdated mtransitapps/commons#623 - commons: Enable GTFS RT Trip Updates FF mtransitapps/commons#615 - commons: CI > record screenshot > fix TZ/xmllint - commons-android: Keep cancelled trips & skipped stop times from GTFS-RT Trip Updates mtransitapps/commons-android#99 - commons-android: GTFS static schedule > generate from past > use last service date to avoid missing 1st day of "generated" next schedule mtransitapps/commons-android#97 - commons-android: Increment database version for service updates - commons-android: Fix duplicate service updates from STM API mtransitapps/commons-android#96 - commons-android: STM.info > brand new API > bump DB version - commons-android: logs++ - commons-android: needed - commons-android: fix debug - commons-android: screenshot emulator time format
…parser': - commons: mt-release.yml: trigger record-screenshot workflow when screenshots are stale (>3 months) mtransitapps/commons#609 - commons: `mt-check-data-outdated.yml` > fix cron - commons: Add frequent CI workflow to check if data is outdated mtransitapps/commons#623 - commons: Enable GTFS RT Trip Updates FF mtransitapps/commons#615 - commons: CI > record screenshot > fix TZ/xmllint - commons: Add workflow to push store listings to Play Console mtransitapps/commons#613 - commons: Add CI workflow to pull latest Play Store listings mtransitapps/commons#611 - commons: Build(deps): Bump org.mockito:mockito-core from 5.22.0 to 5.23.0 in the test group mtransitapps/commons#619 - commons: Build(deps): Bump com.google.android.gms:play-services-ads from 25.0.0 to 25.1.0 in the gms group mtransitapps/commons#617 - commons: Build(deps): Bump the maps group with 3 updates mtransitapps/commons#618 - commons: Build(deps): Bump org.xerial:sqlite-jdbc from 3.51.2.0 to 3.51.3.0 mtransitapps/commons#620 - commons: Build(deps): Bump kotlin from 2.3.10 to 2.3.20 mtransitapps/commons#621 - commons: STM.info API > new service update endpoint mtransitapps/commons#614 - commons: Add timeout to MT Release job in workflow mtransitapps/commons#607 - commons-android: Keep cancelled trips & skipped stop times from GTFS-RT Trip Updates mtransitapps/commons-android#99 - commons-android: GTFS static schedule > generate from past > use last service date to avoid missing 1st day of "generated" next schedule mtransitapps/commons-android#97 - commons-android: Increment database version for service updates - commons-android: Fix duplicate service updates from STM API mtransitapps/commons-android#96 - commons-android: STM.info > brand new API > bump DB version - commons-android: logs++ - commons-android: needed - commons-android: fix debug - commons-android: screenshot emulator time format - commons-android: screenshot emulator time format - commons-android: screenshot emulator time format - commons-android: fix screenshot delay? - commons-android: screenshot time format fix - commons-android: screenshot emulator time format fix - commons-android: screenshot -> time format needed - commons-android: logs++ - commons-android: Service update (alert/info) > add `NO_SERVICE` effect mtransitapps/commons-android#92 - commons-android: STM.info API > new service update endpoint mtransitapps/commons-android#89 - commons-android: RT schedule UI improvements... mtransitapps/commons-android#88 - commons-java: Clean utils > lower upper case strings > trim to match (& unit tests) - parser: JSON config > +`stop_original_id_to_stop_id_configs`
- commons: mt-release.yml: trigger record-screenshot workflow when screenshots are stale (>3 months) mtransitapps/commons#609 - commons: `mt-check-data-outdated.yml` > fix cron - commons: Add frequent CI workflow to check if data is outdated mtransitapps/commons#623 - commons: Enable GTFS RT Trip Updates FF mtransitapps/commons#615 - commons: CI > record screenshot > fix TZ/xmllint - commons-android: Keep cancelled trips & skipped stop times from GTFS-RT Trip Updates mtransitapps/commons-android#99 - commons-android: GTFS static schedule > generate from past > use last service date to avoid missing 1st day of "generated" next schedule mtransitapps/commons-android#97 - commons-android: Increment database version for service updates - commons-android: Fix duplicate service updates from STM API mtransitapps/commons-android#96 - commons-android: STM.info > brand new API > bump DB version - commons-android: logs++ - commons-android: needed - commons-android: fix debug - commons-android: screenshot emulator time format
- commons: mt-release.yml: trigger record-screenshot workflow when screenshots are stale (>3 months) mtransitapps/commons#609 - commons: `mt-check-data-outdated.yml` > fix cron - commons: Add frequent CI workflow to check if data is outdated mtransitapps/commons#623 - commons: Enable GTFS RT Trip Updates FF mtransitapps/commons#615 - commons: CI > record screenshot > fix TZ/xmllint - commons-android: Keep cancelled trips & skipped stop times from GTFS-RT Trip Updates mtransitapps/commons-android#99 - commons-android: GTFS static schedule > generate from past > use last service date to avoid missing 1st day of "generated" next schedule mtransitapps/commons-android#97 - commons-android: Increment database version for service updates - commons-android: Fix duplicate service updates from STM API mtransitapps/commons-android#96 - commons-android: STM.info > brand new API > bump DB version - commons-android: logs++ - commons-android: needed - commons-android: fix debug - commons-android: screenshot emulator time format
- commons: mt-release.yml: trigger record-screenshot workflow when screenshots are stale (>3 months) mtransitapps/commons#609 - commons: `mt-check-data-outdated.yml` > fix cron - commons: Add frequent CI workflow to check if data is outdated mtransitapps/commons#623 - commons: Enable GTFS RT Trip Updates FF mtransitapps/commons#615 - commons: CI > record screenshot > fix TZ/xmllint - commons-android: Keep cancelled trips & skipped stop times from GTFS-RT Trip Updates mtransitapps/commons-android#99 - commons-android: GTFS static schedule > generate from past > use last service date to avoid missing 1st day of "generated" next schedule mtransitapps/commons-android#97 - commons-android: Increment database version for service updates - commons-android: Fix duplicate service updates from STM API mtransitapps/commons-android#96 - commons-android: STM.info > brand new API > bump DB version - commons-android: logs++ - commons-android: needed - commons-android: fix debug - commons-android: screenshot emulator time format
- commons: mt-release.yml: trigger record-screenshot workflow when screenshots are stale (>3 months) mtransitapps/commons#609 - commons: `mt-check-data-outdated.yml` > fix cron - commons: Add frequent CI workflow to check if data is outdated mtransitapps/commons#623 - commons: Enable GTFS RT Trip Updates FF mtransitapps/commons#615 - commons: CI > record screenshot > fix TZ/xmllint - commons-android: Keep cancelled trips & skipped stop times from GTFS-RT Trip Updates mtransitapps/commons-android#99 - commons-android: GTFS static schedule > generate from past > use last service date to avoid missing 1st day of "generated" next schedule mtransitapps/commons-android#97 - commons-android: Increment database version for service updates - commons-android: Fix duplicate service updates from STM API mtransitapps/commons-android#96 - commons-android: STM.info > brand new API > bump DB version - commons-android: logs++ - commons-android: needed - commons-android: fix debug - commons-android: screenshot emulator time format
- commons: mt-release.yml: trigger record-screenshot workflow when screenshots are stale (>3 months) mtransitapps/commons#609 - commons: `mt-check-data-outdated.yml` > fix cron - commons: Add frequent CI workflow to check if data is outdated mtransitapps/commons#623 - commons: Enable GTFS RT Trip Updates FF mtransitapps/commons#615 - commons: CI > record screenshot > fix TZ/xmllint - commons-android: Keep cancelled trips & skipped stop times from GTFS-RT Trip Updates mtransitapps/commons-android#99 - commons-android: GTFS static schedule > generate from past > use last service date to avoid missing 1st day of "generated" next schedule mtransitapps/commons-android#97 - commons-android: Increment database version for service updates - commons-android: Fix duplicate service updates from STM API mtransitapps/commons-android#96 - commons-android: STM.info > brand new API > bump DB version - commons-android: logs++ - commons-android: needed - commons-android: fix debug - commons-android: screenshot emulator time format
- commons: mt-release.yml: trigger record-screenshot workflow when screenshots are stale (>3 months) mtransitapps/commons#609 - commons: `mt-check-data-outdated.yml` > fix cron - commons: Add frequent CI workflow to check if data is outdated mtransitapps/commons#623 - commons: Enable GTFS RT Trip Updates FF mtransitapps/commons#615 - commons: CI > record screenshot > fix TZ/xmllint - commons-android: Keep cancelled trips & skipped stop times from GTFS-RT Trip Updates mtransitapps/commons-android#99 - commons-android: GTFS static schedule > generate from past > use last service date to avoid missing 1st day of "generated" next schedule mtransitapps/commons-android#97 - commons-android: Increment database version for service updates - commons-android: Fix duplicate service updates from STM API mtransitapps/commons-android#96 - commons-android: STM.info > brand new API > bump DB version - commons-android: logs++ - commons-android: needed - commons-android: fix debug - commons-android: screenshot emulator time format
- commons: mt-release.yml: trigger record-screenshot workflow when screenshots are stale (>3 months) mtransitapps/commons#609 - commons: `mt-check-data-outdated.yml` > fix cron - commons: Add frequent CI workflow to check if data is outdated mtransitapps/commons#623 - commons: Enable GTFS RT Trip Updates FF mtransitapps/commons#615 - commons: CI > record screenshot > fix TZ/xmllint - commons-android: Keep cancelled trips & skipped stop times from GTFS-RT Trip Updates mtransitapps/commons-android#99 - commons-android: GTFS static schedule > generate from past > use last service date to avoid missing 1st day of "generated" next schedule mtransitapps/commons-android#97 - commons-android: Increment database version for service updates - commons-android: Fix duplicate service updates from STM API mtransitapps/commons-android#96 - commons-android: STM.info > brand new API > bump DB version - commons-android: logs++ - commons-android: needed - commons-android: fix debug - commons-android: screenshot emulator time format
- commons: mt-release.yml: trigger record-screenshot workflow when screenshots are stale (>3 months) mtransitapps/commons#609 - commons: `mt-check-data-outdated.yml` > fix cron - commons: Add frequent CI workflow to check if data is outdated mtransitapps/commons#623 - commons: Enable GTFS RT Trip Updates FF mtransitapps/commons#615 - commons: CI > record screenshot > fix TZ/xmllint - commons-android: Keep cancelled trips & skipped stop times from GTFS-RT Trip Updates mtransitapps/commons-android#99 - commons-android: GTFS static schedule > generate from past > use last service date to avoid missing 1st day of "generated" next schedule mtransitapps/commons-android#97 - commons-android: Increment database version for service updates - commons-android: Fix duplicate service updates from STM API mtransitapps/commons-android#96 - commons-android: STM.info > brand new API > bump DB version - commons-android: logs++ - commons-android: needed - commons-android: fix debug - commons-android: screenshot emulator time format
…parser': - commons: mt-release.yml: trigger record-screenshot workflow when screenshots are stale (>3 months) mtransitapps/commons#609 - commons: `mt-check-data-outdated.yml` > fix cron - commons: Add frequent CI workflow to check if data is outdated mtransitapps/commons#623 - commons: Enable GTFS RT Trip Updates FF mtransitapps/commons#615 - commons: CI > record screenshot > fix TZ/xmllint - commons: Add workflow to push store listings to Play Console mtransitapps/commons#613 - commons: Add CI workflow to pull latest Play Store listings mtransitapps/commons#611 - commons: Build(deps): Bump org.mockito:mockito-core from 5.22.0 to 5.23.0 in the test group mtransitapps/commons#619 - commons: Build(deps): Bump com.google.android.gms:play-services-ads from 25.0.0 to 25.1.0 in the gms group mtransitapps/commons#617 - commons: Build(deps): Bump the maps group with 3 updates mtransitapps/commons#618 - commons: Build(deps): Bump org.xerial:sqlite-jdbc from 3.51.2.0 to 3.51.3.0 mtransitapps/commons#620 - commons: Build(deps): Bump kotlin from 2.3.10 to 2.3.20 mtransitapps/commons#621 - commons: STM.info API > new service update endpoint mtransitapps/commons#614 - commons: Add timeout to MT Release job in workflow mtransitapps/commons#607 - commons-android: Keep cancelled trips & skipped stop times from GTFS-RT Trip Updates mtransitapps/commons-android#99 - commons-android: GTFS static schedule > generate from past > use last service date to avoid missing 1st day of "generated" next schedule mtransitapps/commons-android#97 - commons-android: Increment database version for service updates - commons-android: Fix duplicate service updates from STM API mtransitapps/commons-android#96 - commons-android: STM.info > brand new API > bump DB version - commons-android: logs++ - commons-android: needed - commons-android: fix debug - commons-android: screenshot emulator time format - commons-android: screenshot emulator time format - commons-android: screenshot emulator time format - commons-android: fix screenshot delay? - commons-android: screenshot time format fix - commons-android: screenshot emulator time format fix - commons-android: screenshot -> time format needed - commons-android: logs++ - commons-android: Service update (alert/info) > add `NO_SERVICE` effect mtransitapps/commons-android#92 - commons-android: STM.info API > new service update endpoint mtransitapps/commons-android#89 - commons-android: RT schedule UI improvements... mtransitapps/commons-android#88 - commons-java: Clean utils > lower upper case strings > trim to match (& unit tests) - parser: JSON config > +`stop_original_id_to_stop_id_configs`
- commons: mt-release.yml: trigger record-screenshot workflow when screenshots are stale (>3 months) mtransitapps/commons#609 - commons: `mt-check-data-outdated.yml` > fix cron - commons: Add frequent CI workflow to check if data is outdated mtransitapps/commons#623 - commons: Enable GTFS RT Trip Updates FF mtransitapps/commons#615 - commons: CI > record screenshot > fix TZ/xmllint - commons-android: Keep cancelled trips & skipped stop times from GTFS-RT Trip Updates mtransitapps/commons-android#99 - commons-android: GTFS static schedule > generate from past > use last service date to avoid missing 1st day of "generated" next schedule mtransitapps/commons-android#97 - commons-android: Increment database version for service updates - commons-android: Fix duplicate service updates from STM API mtransitapps/commons-android#96 - commons-android: STM.info > brand new API > bump DB version - commons-android: logs++ - commons-android: needed - commons-android: fix debug - commons-android: screenshot emulator time format
- commons: mt-release.yml: trigger record-screenshot workflow when screenshots are stale (>3 months) mtransitapps/commons#609 - commons: `mt-check-data-outdated.yml` > fix cron - commons: Add frequent CI workflow to check if data is outdated mtransitapps/commons#623 - commons: Enable GTFS RT Trip Updates FF mtransitapps/commons#615 - commons: CI > record screenshot > fix TZ/xmllint - commons-android: Keep cancelled trips & skipped stop times from GTFS-RT Trip Updates mtransitapps/commons-android#99 - commons-android: GTFS static schedule > generate from past > use last service date to avoid missing 1st day of "generated" next schedule mtransitapps/commons-android#97 - commons-android: Increment database version for service updates - commons-android: Fix duplicate service updates from STM API mtransitapps/commons-android#96 - commons-android: STM.info > brand new API > bump DB version - commons-android: logs++ - commons-android: needed - commons-android: fix debug - commons-android: screenshot emulator time format
- commons: mt-release.yml: trigger record-screenshot workflow when screenshots are stale (>3 months) mtransitapps/commons#609 - commons: `mt-check-data-outdated.yml` > fix cron - commons: Add frequent CI workflow to check if data is outdated mtransitapps/commons#623 - commons: Enable GTFS RT Trip Updates FF mtransitapps/commons#615 - commons: CI > record screenshot > fix TZ/xmllint - commons-android: Keep cancelled trips & skipped stop times from GTFS-RT Trip Updates mtransitapps/commons-android#99 - commons-android: GTFS static schedule > generate from past > use last service date to avoid missing 1st day of "generated" next schedule mtransitapps/commons-android#97 - commons-android: Increment database version for service updates - commons-android: Fix duplicate service updates from STM API mtransitapps/commons-android#96 - commons-android: STM.info > brand new API > bump DB version - commons-android: logs++ - commons-android: needed - commons-android: fix debug - commons-android: screenshot emulator time format
The STM API returns multiple alerts with identical
informed_entities(same route/direction/stop), causing the same service update to be displayed 2–3× for a single stop or route.Root cause
Multiple distinct alert objects in the API response can resolve to the same
(targetUUID, language)key. With no deduplication, all copies were cached and returned. Additionally, the same language key could appear in bothheaderTextsanddescriptionTexts, causing it to be processed more than once per alert.Fix
StmInfoServiceUpdateProvider: deduplicate the collected service updates by(targetUUID, language)before returning, keeping the first occurrence.toSet()so a language appearing in both header and description texts is only processed onceparseServiceUpdatesextracted: the alert-processing logic is moved into a dedicatedinternal fun parseServiceUpdates(etatServiceResponse, headerTimestamp, maxValidity, sourceLabel)method, making it independently testableTesting
Added
StmInfoServiceUpdateProviderTestwith unit tests covering:nullAPI response returns an empty listOriginal prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.