Skip to content

Integrate AppFunctions and fix new participants sync#171

Merged
rugged-bl merged 7 commits intomainfrom
appfunctions
Mar 6, 2026
Merged

Integrate AppFunctions and fix new participants sync#171
rugged-bl merged 7 commits intomainfrom
appfunctions

Conversation

@rugged-bl
Copy link
Contributor

No description provided.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Integrates Android AppFunctions support into the shared integration layer and adjusts sync observation so participant changes trigger event sync, alongside related dependency/CI updates and refreshed public privacy/terms docs.

Changes:

  • Add Android AppFunctions entry point + serializable DTOs, wiring into existing event/expense domain APIs.
  • Refactor sync observer wiring (introducing an observer-facing delegate seam) so participant list changes also trigger sync; add host-test regression coverage.
  • Update build tooling/versions (AppFunctions, KSP, Guava for tests), CI steps, iOS Sentry initialization, and public/privacy documentation.

Reviewed changes

Copilot reviewed 35 out of 35 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
web/public/terms.html Updates “Last updated” and clarifies privacy/third-party wording.
web/public/privacy.html Updates “Last updated” and refines diagnostics/identifiers disclosures.
android/shared/integration/base/src/androidMain/kotlin/com/inwords/expenses/integration/base/appfunctions/CommonExAppFunctions.kt New AppFunctions API surface (events/currencies/debts/participants/expenses).
android/shared/integration/base/src/androidMain/kotlin/com/inwords/expenses/integration/base/appfunctions/AppFunctionParticipantMutation.kt Adds AppFunctions result DTO for participant mutation.
android/shared/integration/base/src/androidMain/kotlin/com/inwords/expenses/integration/base/appfunctions/AppFunctionExpenseMutation.kt Adds AppFunctions result DTO for expense mutation.
android/shared/integration/base/src/androidMain/kotlin/com/inwords/expenses/integration/base/appfunctions/AppFunctionEvent.kt Adds AppFunctions event summary DTO.
android/shared/integration/base/src/androidMain/kotlin/com/inwords/expenses/integration/base/appfunctions/AppFunctionDebt.kt Adds AppFunctions debt line DTO.
android/shared/integration/base/src/androidMain/kotlin/com/inwords/expenses/integration/base/appfunctions/AppFunctionCurrency.kt Adds AppFunctions currency DTO.
android/shared/integration/base/src/androidDeviceTest/kotlin/com/inwords/expenses/integration/base/appfunctions/CommonExAppFunctionsTest.kt Adds device tests for the new AppFunctions API.
android/shared/integration/base/build.gradle.kts Enables KSP/appfunctions deps; configures device test execution for this module.
android/shared/feature/sync/src/iosMain/kotlin/com/inwords/expenses/feature/sync/data/EventsSyncManager.ios.kt Makes iOS sync manager extend observer delegate + overrides methods.
android/shared/feature/sync/src/commonMain/kotlin/com/inwords/expenses/feature/sync/domain/EventsSyncObserver.kt Updates observation pipeline to trigger sync when participants change.
android/shared/feature/sync/src/commonMain/kotlin/com/inwords/expenses/feature/sync/data/EventsSyncManagerObserverDelegate.kt Introduces delegate seam for observer-facing sync methods.
android/shared/feature/sync/src/commonMain/kotlin/com/inwords/expenses/feature/sync/data/EventsSyncManager.kt Updates expect class to extend delegate and override observer methods.
android/shared/feature/sync/src/commonMain/kotlin/com/inwords/expenses/feature/sync/api/SyncComponent.kt Wires observer to delegate seam instead of concrete expect/actual type.
android/shared/feature/sync/src/androidMain/kotlin/com/inwords/expenses/feature/sync/data/SyncManager.android.kt Makes Android sync manager extend observer delegate + overrides methods.
android/shared/feature/sync/src/androidHostTest/kotlin/com/inwords/expenses/feature/sync/domain/EventsSyncObserverTest.kt Adds host-test coverage for participant/expense/refresh-triggered sync.
android/shared/feature/sync/build.gradle.kts Enables host-test target and dependencies for sync module.
android/shared/feature/expenses/src/commonTest/kotlin/com/inwords/expenses/feature/expenses/domain/DebtCalculatorTest.kt Adds test asserting netted barter debt summary output.
android/shared/feature/expenses/src/commonMain/kotlin/com/inwords/expenses/feature/expenses/ui/converter/toUi.kt Adds UI converter for new debt summary model.
android/shared/feature/expenses/src/commonMain/kotlin/com/inwords/expenses/feature/expenses/domain/model/BarterAccumulatedDebtSummary.kt Adds domain model representing a netted debt line.
android/shared/feature/expenses/src/commonMain/kotlin/com/inwords/expenses/feature/expenses/domain/DebtCalculator.kt Exposes barter debt summaries + adds top-level calculator helper.
android/shared/feature/events/src/commonMain/kotlin/com/inwords/expenses/feature/events/domain/CreateEventUseCase.kt Delegates event creation to new parameterized use case.
android/shared/feature/events/src/commonMain/kotlin/com/inwords/expenses/feature/events/domain/CreateEventFromParametersUseCase.kt New use case to create events from explicit parameters (supports AppFunctions).
android/shared/feature/events/src/commonMain/kotlin/com/inwords/expenses/feature/events/api/EventsComponent.kt Wires new create-from-parameters use case into component graph.
android/iosApp/iosApp/iOSApp.swift Initializes Sentry with a production/debug flag at app startup.
android/gradle/shared.versions.toml Adds AppFunctions + Guava; refactors MockK version to version.ref.
android/docs/ios-validation-checklist.md Updates Gradle commands to ./gradlew and clarifies iOS test status.
android/docs/ios-app-privacy.md Updates iOS privacy alignment notes for Sentry initialization.
android/benchmarks/databases/tools/.gitignore Ignores Python __pycache__ for benchmark tooling.
android/app/proguard-rules-autotest.pro Suppresses a new javax.lang.model.element.Modifier warning in autotest builds.
android/app/build.gradle.kts Adds Guava to autotest runtime to support new tooling/deps.
android/AGENTS.md Documents AppFunctions entry point + adds testing guidance for new host/device tests.
AGENTS.md Adds repo-wide guidance: keep production types one per file.
.github/workflows/android.yml Runs AppFunctions device tests in CI and uploads their reports.

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3f4f392698

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 39 out of 39 changed files in this pull request and generated 3 comments.

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f67cacffae

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 40 out of 40 changed files in this pull request and generated 3 comments.

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4fce042d33

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 41 out of 41 changed files in this pull request and generated 1 comment.

@rugged-bl rugged-bl merged commit 0784fb5 into main Mar 6, 2026
16 checks passed
@rugged-bl rugged-bl deleted the appfunctions branch March 6, 2026 22:58
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.

2 participants