[package] name = "nigig-mpesa" version = "0.1.0" edition = "2021" [features] ## USSD automation is ON by default. ## ## Review item 0.1 asked for dispatch behind a compile-time flag. That was ## implemented as default-off, which made the *334# automation — the app's ## primary function — unreachable in an ordinary build, and unreachable at ## all from the APK crate until 9f0e133. ## ## The containment requirement has not been dropped; it has moved to release ## packaging, which is where a shipping decision belongs. A Play-listed build ## must be produced with `--no-default-features` (plus the features it does ## want), and the unresolved Google Play policy risk is recorded in ## REVIEWS/adr/0007-payment-platform-boundary.md. ## ## Turning it off for a build: ## cargo build -p pageflipnav --no-default-features --features native default = ["demo"] ## Forwards to `nigig-pay-ui/demo`, which enables USSD dispatch, auto-retry ## and bulk pay. ## ## Off by default on purpose (review items 0.1/0.3): the default build is a ## tracker that never dials USSD and never handles an M-Pesa PIN. Without ## this feature the Pay sheet reports that dispatch is unavailable, which is ## the intended behaviour rather than a build error. ## ## Enabling it turns on AccessibilityService-driven USSD automation. That ## remains an unresolved Google Play policy risk (review item 5.2, ## REVIEWS/adr/0007) and must not be enabled for a shipped build. ## ## USSD only has a real backend on Android; every other target returns ## `PermanentlyUnavailable`, so this feature does nothing useful on desktop. demo = ["nigig-pay-ui/demo"] [dependencies] makepad-widgets = { git = "https://gitdab.com/andodeki/makepad", rev = "a79f0dce4d477e2232344facca0798d3f25043ec", features = ["test"] } nigig-core = { path = "../../nigig-core" } nigig-uikit = { path = "../../nigig-uikit" } serde = { version = "1", features = ["derive"] } serde_json = "1" chrono = { version = "0.4", features = ["serde"] } robius-sms = { version = "0.1.0", path = "../../robius-sms" } robius-location = { git = "https://github.com/project-robius/robius", rev = "b766e62b0600f5d2ee21cc6995648346fc277bd8" } robius-ussd = { path = "../../robius-ussd", features = ["serde"] } robius-fingerprinting = { path = "../../robius-fingerprinting" } nigig-pay-domain = { path = "../../nigig-pay-domain" } nigig-pay-ui = { path = "../nigig-pay-ui", default-features = false } robius-contacts = { version = "0.1.0", path = "../../robius-contacts" } robius-trigger = { version = "0.1.0", path = "../../robius-trigger" } [dev-dependencies]