Files
pezkuwi-wallet-android/feature-governance-impl/build.gradle
T
SatoshiQaziMuhammed 2d5d8bec49 fix(deeplink): stop links that fail for good from replaying on every launch (#27)
* test(deeplink): pin terminal-failure replay and referendum path matching

These fail on main: a link that fails for good is kept as pending and
replayed on every launch, and /open/governance matches the referendum
handler.

* fix(deeplink): drop a pending link once it fails for good

RootDeepLinkHandler cleared the persisted pending link only on success or
when no handler matched. A link that reached a handler and failed with a
DeepLinkHandlingException stayed in preferences and was replayed on
every launch. Clear it on terminal handling failures in both the fresh
and pending paths; this also recovers installs already stuck on update.
Other failures keep the link pending for a retry.

* fix(deeplink): match the referendum path exactly

ReferendumDeepLinkHandler matched any path starting with /open/gov, so
the governance banner link /open/governance went to the referendum
screen and failed with ReferendumIsNotSpecified.
2026-10-19 16:46:32 +04:00

69 lines
1.9 KiB
Groovy

apply plugin: 'kotlin-parcelize'
apply from: '../scripts/secrets.gradle'
android {
namespace 'io.novafoundation.nova.feature_governance_impl'
defaultConfig {
buildConfigField "String", "GOVERNANCE_DAPPS_URL", "\"https://raw.githubusercontent.com/pezkuwichain/pezkuwi-wallet-utils/master/governance/v2/dapps_dev.json\""
buildConfigField "String", "DELEGATION_TUTORIAL_URL", "\"https://docs.pezkuwichain.io/pezkuwi-wallet-wiki/governance/add-delegate-information\""
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
buildConfigField "String", "GOVERNANCE_DAPPS_URL", "\"https://raw.githubusercontent.com/pezkuwichain/pezkuwi-wallet-utils/master/governance/v2/dapps.json\""
}
}
buildFeatures {
viewBinding true
}
}
dependencies {
implementation project(':feature-account-api')
implementation project(':feature-wallet-api')
implementation project(':feature-governance-api')
implementation project(':feature-dapp-api')
implementation project(':feature-xcm:api')
implementation project(':feature-deep-linking')
implementation project(":common")
implementation project(":runtime")
implementation markwonDep
implementation materialDep
implementation substrateSdkDep
implementation kotlinDep
implementation androidDep
implementation coroutinesDep
implementation coroutinesAndroidDep
implementation lifeCycleKtxDep
implementation flexBoxDep
implementation project(":core-db")
implementation viewModelKtxDep
implementation shimmerDep
implementation cardStackView
implementation daggerDep
ksp daggerCompiler
testImplementation jUnitDep
testImplementation mockitoDep
testImplementation project(':test-shared')
}