Repository navigation
feat(api): add compatibility with Chronos oRPC backend - #41
Merged
Merged
Conversation
* Delete `DEV_DISTRIBUTION.md` containing developer distribution guidelines. * Delete `FILC_DESIGN_PORT.md` detailing legacy visual design port specifications.
* Add `buildProfile` parameter to `GenerateMergenEnvironment` task supporting `local` and `production` profiles. * Enforce production profile and validate HTTPS origin and Entra UUIDs for release tasks. * Read production environment settings from `.env.production` using `MERGEN_RELEASE_*` keys. * Update default API origin in `.env.example` to point to local emulator backend (`http://10.0.2.2:3001`).
* Split the `require` exception message string into multiple lines to improve readability in `composeApp/build.gradle.kts`.
… backend Regenerate the Kotlin client from the merged Chronos oRPC OpenAPI document (filcdev/filc#401 + #415; 132 paths), adopt it across the app through a single ChronosApi facade in data/, and drop the hand-written FilcPublicApi, ChronosPublicApi and the empty generated test stubs. - sessionAuth in the generated ApiClient is a cookie carried by the shared authenticated Ktor client, not a filc.session_token query param - ApiClient.BASE_URL points at MergenEnvironment.API_BASE_URL; JSON is compact - generated models with unserializable anyOf placeholders fixed to JsonElement - moved lessons now carry full lesson objects instead of lessonNames
Reformat all Kotlin sources so the Kotlin Linting (CLI) check passes: trailing commas, import ordering, expression wrapping, unused imports. Generated api/** sources are formatted too for consistency, even though the lint workflow excludes them.
- mise.toml pins java 21, gradle 8.14.3, ruby 3.3, ktlint 1.1.1, github-cli and android-sdk, plus an sdk-components task for the Android platform AGP compiles against - drop the Gradle wrapper (gradlew, gradle/wrapper) and the checked-in ktlint binary (.local-tools/ktlint-1.1.1); builds and the Xcode framework phase use the mise-installed gradle - CI: replace setup-java/setup-ruby with mise-action, install fastlane gems with actions/cache keyed on Gemfile.lock, and skip local build/ output in the ktlint command - lint hygiene: .editorconfig disables rules under build/ so bare `ktlint` and `ktlint --format` runs match CI, and pin packageOfResClass so generated Compose resources use hu.petrik.filcapp.generated.resources instead of the underscore package derived from rootProject.name - bump actions to latest majors: checkout v7, upload-artifact v7, download-artifact v8, cache v6, setup-gradle v6 (cache-provider: basic keeps the actions/cache behavior) and pin all refs by SHA
GitHub's automatic dependency submission (Security and quality -> Advanced Security) requires a Gradle wrapper: without one it falls back to the runner's Gradle 9.8.1, which AGP 8.11.2 cannot run on, so the check failed on every push. Generate and submit the snapshot ourselves with the Gradle installed by mise instead, so no wrapper is needed. Runs on pushes to all branches, mirroring where the automatic submission used to run. Disable the automatic one in repository settings so it stops failing.
Without a Gradle wrapper, gradle/actions/dependency-submission@v6 refuses to run: "Specify 'gradle-version' for projects without Gradle wrapper configured". Read the version from mise.toml at runtime so it stays the single source of truth; the action caches the distribution download between runs.
nemvince
approved these changes
Oct 17, 2026
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.
Summary
Updates Mergen to support the new Chronos oRPC backend introduced in [filcdev/filc#401](filcdev/filc#401).
Changes
{ success, data }envelope.Verification
GradleWorkerMainnot found)Notes
Depends on the backend changes from filcdev/filc#401. The mobile changes should be deployed together with the compatible backend API.
Local development configuration is excluded from version control.