Repository navigation
Conversation
Preserve the existing app design and core Träwelling features with shared Dart logic and native Android/iOS tracking hosts. Add platform builds, regression coverage, guarded Android releases and German migration documentation. Validate 334 Flutter regressions, static analysis, locked dependencies, Web release build and 56 offline releaseguard tests. Native compilation and signed device acceptance remain separate checks.
Clean up partial location subscriptions when permission is revoked and reject ride recognition without a registered location source. Handle disappearing providers without disabling lint checks. Record the first cross-platform CI results and retain signed-device acceptance limits in the project wiki.
Retry remaining location providers when a single provider requires unavailable precision, while still retiring subscriptions after full permission revocation. Keep ride recognition limited to precise permission and add the native grant-matrix regression.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Routely's Kotlin/Compose application currently limits the existing Träwelling experience to Android. This adds a shared Flutter application for Android, iOS, web, Windows, macOS and Linux while retaining the Kotlin source as a behavioral reference.
The Flutter application preserves feeds, profiles, notifications, check-in and status editing, travel timelines, GPS time estimation, rail/tram and SEV geometry, speech, settings and the existing visual style. Native Android/iOS hosts implement background tracking and ride recognition, notifications, Android widgets and Apple Live Activity/WidgetKit integration. Web and desktop use foreground tracking.
The final review fixes failed and superseded tracking starts, stale session persistence, response-body failures after accepted mutations, recognition cleanup, iOS authorization decisions, stale one-shot location fixes and Android permission changes during provider registration. Approximate-location tracking remains available when the user grants only coarse location; ride recognition requires precise location. Status cards retain creation dates, including narrow displays with large text.
Android release builds regenerate the plugin registrar for release mode and reject lockfile drift before artifacts or signing, preventing debug-only integration-test plugins from breaking release compilation.
German project wiki documentation records architecture, feature parity, setup, test coverage, release configuration and acceptance limits. New pages cover the migration architecture, Flutter development and the migration decision.
Validation on head
bb6d0fdcc9adc62e016fbd6c0991ef73b0f179c1:git diff --checkpasses.Android debug APK · Unsigned Android release APK
Cross-platform CI and build artifacts · API compatibility CI
The web dependency's optional WebAssembly dry run still reports incompatibilities; validation covers the regular JavaScript build. Signed Android upgrades, iPhone installation and background operation, widgets, Live Activity and real trips require owner signing and physical-device acceptance. This PR does not publish a signed Android release or an Apple store build.