fix: harden core onchain sync - #1015

Merged
ovitrif merged 2 commits into
masterfrom
fix/android-crash-bionic
Jun 15, 2026
Merged

fix: harden core onchain sync#1015
ovitrif merged 2 commits into
masterfrom
fix/android-crash-bionic

Conversation

@ovitrif

@ovitrifovitrif commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator

Fixes#982

This PR bumps Android from bitkit-core-android 0.1.67 to 0.1.72 so production builds consume the upstream core hardening that broadened the native on-chain blocking-task error boundary.

Description

The new Play Vitals trace from 2.3.0 still reports the crash from split_config.arm64_v8a.apk. Translating the Play split PCs against the 2.3.0 AAB maps every app frame into libbitkitcore.so, with the top app frame at libbitkitcore.so +0x84b468.

The first mitigation in #989 consumed synonymdev/bitkit-core#95, which guarded the single-address lookup path. bitkit-core 0.1.72 includes that fix plus the follow-up core release chain that applies the same guarded on-chain blocking boundary across account info, transaction history, and transaction detail work. It also comes from the native-symbol release chain being finalized in #988, so future release builds can keep usable native debug metadata once #988 lands.

Note

This PR is a credible interim fix for the likely observed crash path because it pulls in the bitkit-core work that wrapped the account-info/on-chain blocking panic boundary. But it does not let us say rust-side panics from bitkit-core can no longer take down Android. For that stronger claim, the certain fix would be a PR to close:

Preview

N/A

QA Notes

Manual Tests

  • 1. Mainnet wallet → foreground sync: balances and on-chain wallet data load without a native crash.
  • 2.regression: Receive → copy/show on-chain address → Home: receive flow still works.
  • 3.regression: Send → prepare on-chain send with standard fee: fee estimate and confirmation flow still work.

Automated Checks

  • GITHUB_TOKEN=$GITHUB_PAT just compile
  • GITHUB_TOKEN=$GITHUB_PAT just test
  • GITHUB_TOKEN=$GITHUB_PAT just lint
  • just lint completed successfully while printing existing detekt findings in TrezorViewModel, AppViewModel.handleScan, and SupportScreen import ordering.

@ovitrif
ovitrif requested a review from piotr-iohkJune 15, 2026 12:41
@greptile-apps

Copy link
Copy Markdown

Greptile Summary

Bumps bitkit-core-android from 0.1.67 to 0.1.72 to consume five upstream core releases that broaden the native on-chain blocking-task error boundary, addressing a production crash surfaced in Play Vitals for the 2.3.0 build.

  • Version bump (gradle/libs.versions.toml): increments com.synonym:bitkit-core-android by five patch versions; all other dependencies are unchanged.
  • Changelog entry (changelog.d/next/982.fixed.md): adds a user-facing release note for the on-chain sync hardening.

Confidence Score: 5/5

Safe to merge — this is a targeted dependency bump that brings in upstream crash-fix releases with no other dependency changes.

The change is a single version-string update in the version catalog. The five intermediate patch releases all harden the same on-chain error boundary that was already partially fixed in the prior PR. No API surface in the Android app is changed, no migrations are involved, and the changelog entry is accurate. The QA checklist in the PR description covers the three critical on-chain flows (sync, receive, send).

No files require special attention.

Important Files Changed

FilenameOverview
gradle/libs.versions.tomlSingle-line version bump of bitkit-core-android from 0.1.67 to 0.1.72; no other dependency changes.
changelog.d/next/982.fixed.mdNew changelog entry accurately describing the on-chain sync hardening improvement.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[On-chain Sync Request] --> B{Core Version?}
B -- "0.1.67 (before)" --> C[Single-address lookup guarded\nvia bitkit-core#95]
B -- "0.1.72 (after)" --> D[Single-address lookup guarded\nvia bitkit-core#95]
C --> E[Account info work\nUnguarded ⚠️]
C --> F[Transaction history work\nUnguarded ⚠️]
C --> G[Transaction detail work\nUnguarded ⚠️]
D --> H[Account info work\nGuarded ✅]
D --> I[Transaction history work\nGuarded ✅]
D --> J[Transaction detail work\nGuarded ✅]
E & F & G --> K[Native crash in libbitkitcore.so\n0x84b468]
H & I & J --> L[Error boundary catches failure\nNo crash]
Loading

Reviews (1): Last reviewed commit: "chore: rename changelog fragment" | Re-trigger Greptile

@ovitrifovitrif self-assigned this Jun 15, 2026
@ovitrifovitrif added this to the 2.4.0 milestone Jun 15, 2026
@ovitrif
ovitrif enabled auto-merge June 15, 2026 12:59
@ovitrif
ovitrif merged commit 99935dc into masterJun 15, 2026
41 of 45 checks passed
@ovitrif
ovitrif deleted the fix/android-crash-bionic branch June 15, 2026 16:47
Sign up for freeto 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.

crash: Production SIGABRT in arm64 native code

2 participants

@ovitrif@piotr-iohk
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

fix: harden core onchain sync - #1015

Merged
ovitrif merged 2 commits into
masterfrom
fix/android-crash-bionic
Jun 15, 2026
Merged

fix: harden core onchain sync#1015
ovitrif merged 2 commits into
masterfrom
fix/android-crash-bionic

Conversation

@ovitrif

@ovitrifovitrif commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator

Fixes#982

This PR bumps Android from bitkit-core-android 0.1.67 to 0.1.72 so production builds consume the upstream core hardening that broadened the native on-chain blocking-task error boundary.

Description

The new Play Vitals trace from 2.3.0 still reports the crash from split_config.arm64_v8a.apk. Translating the Play split PCs against the 2.3.0 AAB maps every app frame into libbitkitcore.so, with the top app frame at libbitkitcore.so +0x84b468.

The first mitigation in #989 consumed synonymdev/bitkit-core#95, which guarded the single-address lookup path. bitkit-core 0.1.72 includes that fix plus the follow-up core release chain that applies the same guarded on-chain blocking boundary across account info, transaction history, and transaction detail work. It also comes from the native-symbol release chain being finalized in #988, so future release builds can keep usable native debug metadata once #988 lands.

Note

This PR is a credible interim fix for the likely observed crash path because it pulls in the bitkit-core work that wrapped the account-info/on-chain blocking panic boundary. But it does not let us say rust-side panics from bitkit-core can no longer take down Android. For that stronger claim, the certain fix would be a PR to close:

Preview

N/A

QA Notes

Manual Tests

  • 1. Mainnet wallet → foreground sync: balances and on-chain wallet data load without a native crash.
  • 2.regression: Receive → copy/show on-chain address → Home: receive flow still works.
  • 3.regression: Send → prepare on-chain send with standard fee: fee estimate and confirmation flow still work.

Automated Checks

  • GITHUB_TOKEN=$GITHUB_PAT just compile
  • GITHUB_TOKEN=$GITHUB_PAT just test
  • GITHUB_TOKEN=$GITHUB_PAT just lint
  • just lint completed successfully while printing existing detekt findings in TrezorViewModel, AppViewModel.handleScan, and SupportScreen import ordering.

@ovitrif
ovitrif requested a review from piotr-iohkJune 15, 2026 12:41
@greptile-apps

Copy link
Copy Markdown

Greptile Summary

Bumps bitkit-core-android from 0.1.67 to 0.1.72 to consume five upstream core releases that broaden the native on-chain blocking-task error boundary, addressing a production crash surfaced in Play Vitals for the 2.3.0 build.

  • Version bump (gradle/libs.versions.toml): increments com.synonym:bitkit-core-android by five patch versions; all other dependencies are unchanged.
  • Changelog entry (changelog.d/next/982.fixed.md): adds a user-facing release note for the on-chain sync hardening.

Confidence Score: 5/5

Safe to merge — this is a targeted dependency bump that brings in upstream crash-fix releases with no other dependency changes.

The change is a single version-string update in the version catalog. The five intermediate patch releases all harden the same on-chain error boundary that was already partially fixed in the prior PR. No API surface in the Android app is changed, no migrations are involved, and the changelog entry is accurate. The QA checklist in the PR description covers the three critical on-chain flows (sync, receive, send).

No files require special attention.

Important Files Changed

FilenameOverview
gradle/libs.versions.tomlSingle-line version bump of bitkit-core-android from 0.1.67 to 0.1.72; no other dependency changes.
changelog.d/next/982.fixed.mdNew changelog entry accurately describing the on-chain sync hardening improvement.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[On-chain Sync Request] --> B{Core Version?}
B -- "0.1.67 (before)" --> C[Single-address lookup guarded\nvia bitkit-core#95]
B -- "0.1.72 (after)" --> D[Single-address lookup guarded\nvia bitkit-core#95]
C --> E[Account info work\nUnguarded ⚠️]
C --> F[Transaction history work\nUnguarded ⚠️]
C --> G[Transaction detail work\nUnguarded ⚠️]
D --> H[Account info work\nGuarded ✅]
D --> I[Transaction history work\nGuarded ✅]
D --> J[Transaction detail work\nGuarded ✅]
E & F & G --> K[Native crash in libbitkitcore.so\n0x84b468]
H & I & J --> L[Error boundary catches failure\nNo crash]
Loading

Reviews (1): Last reviewed commit: "chore: rename changelog fragment" | Re-trigger Greptile

@ovitrifovitrif self-assigned this Jun 15, 2026
@ovitrifovitrif added this to the 2.4.0 milestone Jun 15, 2026
@ovitrif
ovitrif enabled auto-merge June 15, 2026 12:59
@ovitrif
ovitrif merged commit 99935dc into masterJun 15, 2026
41 of 45 checks passed
@ovitrif
ovitrif deleted the fix/android-crash-bionic branch June 15, 2026 16:47
Sign up for freeto 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.

crash: Production SIGABRT in arm64 native code

2 participants

@ovitrif@piotr-iohk
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix: harden core onchain sync - #1015

Merged
ovitrif merged 2 commits into
masterfrom
fix/android-crash-bionic
Jun 15, 2026
Merged

fix: harden core onchain sync#1015
ovitrif merged 2 commits into
masterfrom
fix/android-crash-bionic

Conversation

@ovitrif

@ovitrifovitrif commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator

Fixes#982

This PR bumps Android from bitkit-core-android 0.1.67 to 0.1.72 so production builds consume the upstream core hardening that broadened the native on-chain blocking-task error boundary.

Description

The new Play Vitals trace from 2.3.0 still reports the crash from split_config.arm64_v8a.apk. Translating the Play split PCs against the 2.3.0 AAB maps every app frame into libbitkitcore.so, with the top app frame at libbitkitcore.so +0x84b468.

The first mitigation in #989 consumed synonymdev/bitkit-core#95, which guarded the single-address lookup path. bitkit-core 0.1.72 includes that fix plus the follow-up core release chain that applies the same guarded on-chain blocking boundary across account info, transaction history, and transaction detail work. It also comes from the native-symbol release chain being finalized in #988, so future release builds can keep usable native debug metadata once #988 lands.

Note

This PR is a credible interim fix for the likely observed crash path because it pulls in the bitkit-core work that wrapped the account-info/on-chain blocking panic boundary. But it does not let us say rust-side panics from bitkit-core can no longer take down Android. For that stronger claim, the certain fix would be a PR to close:

Preview

N/A

QA Notes

Manual Tests

  • 1. Mainnet wallet → foreground sync: balances and on-chain wallet data load without a native crash.
  • 2.regression: Receive → copy/show on-chain address → Home: receive flow still works.
  • 3.regression: Send → prepare on-chain send with standard fee: fee estimate and confirmation flow still work.

Automated Checks

  • GITHUB_TOKEN=$GITHUB_PAT just compile
  • GITHUB_TOKEN=$GITHUB_PAT just test
  • GITHUB_TOKEN=$GITHUB_PAT just lint
  • just lint completed successfully while printing existing detekt findings in TrezorViewModel, AppViewModel.handleScan, and SupportScreen import ordering.

@ovitrif
ovitrif requested a review from piotr-iohkJune 15, 2026 12:41
@greptile-apps

Copy link
Copy Markdown

Greptile Summary

Bumps bitkit-core-android from 0.1.67 to 0.1.72 to consume five upstream core releases that broaden the native on-chain blocking-task error boundary, addressing a production crash surfaced in Play Vitals for the 2.3.0 build.

  • Version bump (gradle/libs.versions.toml): increments com.synonym:bitkit-core-android by five patch versions; all other dependencies are unchanged.
  • Changelog entry (changelog.d/next/982.fixed.md): adds a user-facing release note for the on-chain sync hardening.

Confidence Score: 5/5

Safe to merge — this is a targeted dependency bump that brings in upstream crash-fix releases with no other dependency changes.

The change is a single version-string update in the version catalog. The five intermediate patch releases all harden the same on-chain error boundary that was already partially fixed in the prior PR. No API surface in the Android app is changed, no migrations are involved, and the changelog entry is accurate. The QA checklist in the PR description covers the three critical on-chain flows (sync, receive, send).

No files require special attention.

Important Files Changed

FilenameOverview
gradle/libs.versions.tomlSingle-line version bump of bitkit-core-android from 0.1.67 to 0.1.72; no other dependency changes.
changelog.d/next/982.fixed.mdNew changelog entry accurately describing the on-chain sync hardening improvement.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[On-chain Sync Request] --> B{Core Version?}
B -- "0.1.67 (before)" --> C[Single-address lookup guarded\nvia bitkit-core#95]
B -- "0.1.72 (after)" --> D[Single-address lookup guarded\nvia bitkit-core#95]
C --> E[Account info work\nUnguarded ⚠️]
C --> F[Transaction history work\nUnguarded ⚠️]
C --> G[Transaction detail work\nUnguarded ⚠️]
D --> H[Account info work\nGuarded ✅]
D --> I[Transaction history work\nGuarded ✅]
D --> J[Transaction detail work\nGuarded ✅]
E & F & G --> K[Native crash in libbitkitcore.so\n0x84b468]
H & I & J --> L[Error boundary catches failure\nNo crash]
Loading

Reviews (1): Last reviewed commit: "chore: rename changelog fragment" | Re-trigger Greptile

@ovitrifovitrif self-assigned this Jun 15, 2026
@ovitrifovitrif added this to the 2.4.0 milestone Jun 15, 2026
@ovitrif
ovitrif enabled auto-merge June 15, 2026 12:59
@ovitrif
ovitrif merged commit 99935dc into masterJun 15, 2026
41 of 45 checks passed
@ovitrif
ovitrif deleted the fix/android-crash-bionic branch June 15, 2026 16:47
Sign up for freeto 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.

crash: Production SIGABRT in arm64 native code

2 participants

@ovitrif@piotr-iohk
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix: harden core onchain sync - #1015

Merged
ovitrif merged 2 commits into
masterfrom
fix/android-crash-bionic
Jun 15, 2026
Merged

fix: harden core onchain sync#1015
ovitrif merged 2 commits into
masterfrom
fix/android-crash-bionic

Conversation

@ovitrif

@ovitrifovitrif commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator

Fixes#982

This PR bumps Android from bitkit-core-android 0.1.67 to 0.1.72 so production builds consume the upstream core hardening that broadened the native on-chain blocking-task error boundary.

Description

The new Play Vitals trace from 2.3.0 still reports the crash from split_config.arm64_v8a.apk. Translating the Play split PCs against the 2.3.0 AAB maps every app frame into libbitkitcore.so, with the top app frame at libbitkitcore.so +0x84b468.

The first mitigation in #989 consumed synonymdev/bitkit-core#95, which guarded the single-address lookup path. bitkit-core 0.1.72 includes that fix plus the follow-up core release chain that applies the same guarded on-chain blocking boundary across account info, transaction history, and transaction detail work. It also comes from the native-symbol release chain being finalized in #988, so future release builds can keep usable native debug metadata once #988 lands.

Note

This PR is a credible interim fix for the likely observed crash path because it pulls in the bitkit-core work that wrapped the account-info/on-chain blocking panic boundary. But it does not let us say rust-side panics from bitkit-core can no longer take down Android. For that stronger claim, the certain fix would be a PR to close:

Preview

N/A

QA Notes

Manual Tests

  • 1. Mainnet wallet → foreground sync: balances and on-chain wallet data load without a native crash.
  • 2.regression: Receive → copy/show on-chain address → Home: receive flow still works.
  • 3.regression: Send → prepare on-chain send with standard fee: fee estimate and confirmation flow still work.

Automated Checks

  • GITHUB_TOKEN=$GITHUB_PAT just compile
  • GITHUB_TOKEN=$GITHUB_PAT just test
  • GITHUB_TOKEN=$GITHUB_PAT just lint
  • just lint completed successfully while printing existing detekt findings in TrezorViewModel, AppViewModel.handleScan, and SupportScreen import ordering.

@ovitrif
ovitrif requested a review from piotr-iohkJune 15, 2026 12:41
@greptile-apps

Copy link
Copy Markdown

Greptile Summary

Bumps bitkit-core-android from 0.1.67 to 0.1.72 to consume five upstream core releases that broaden the native on-chain blocking-task error boundary, addressing a production crash surfaced in Play Vitals for the 2.3.0 build.

  • Version bump (gradle/libs.versions.toml): increments com.synonym:bitkit-core-android by five patch versions; all other dependencies are unchanged.
  • Changelog entry (changelog.d/next/982.fixed.md): adds a user-facing release note for the on-chain sync hardening.

Confidence Score: 5/5

Safe to merge — this is a targeted dependency bump that brings in upstream crash-fix releases with no other dependency changes.

The change is a single version-string update in the version catalog. The five intermediate patch releases all harden the same on-chain error boundary that was already partially fixed in the prior PR. No API surface in the Android app is changed, no migrations are involved, and the changelog entry is accurate. The QA checklist in the PR description covers the three critical on-chain flows (sync, receive, send).

No files require special attention.

Important Files Changed

FilenameOverview
gradle/libs.versions.tomlSingle-line version bump of bitkit-core-android from 0.1.67 to 0.1.72; no other dependency changes.
changelog.d/next/982.fixed.mdNew changelog entry accurately describing the on-chain sync hardening improvement.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[On-chain Sync Request] --> B{Core Version?}
B -- "0.1.67 (before)" --> C[Single-address lookup guarded\nvia bitkit-core#95]
B -- "0.1.72 (after)" --> D[Single-address lookup guarded\nvia bitkit-core#95]
C --> E[Account info work\nUnguarded ⚠️]
C --> F[Transaction history work\nUnguarded ⚠️]
C --> G[Transaction detail work\nUnguarded ⚠️]
D --> H[Account info work\nGuarded ✅]
D --> I[Transaction history work\nGuarded ✅]
D --> J[Transaction detail work\nGuarded ✅]
E & F & G --> K[Native crash in libbitkitcore.so\n0x84b468]
H & I & J --> L[Error boundary catches failure\nNo crash]
Loading

Reviews (1): Last reviewed commit: "chore: rename changelog fragment" | Re-trigger Greptile

@ovitrifovitrif self-assigned this Jun 15, 2026
@ovitrifovitrif added this to the 2.4.0 milestone Jun 15, 2026
@ovitrif
ovitrif enabled auto-merge June 15, 2026 12:59
@ovitrif
ovitrif merged commit 99935dc into masterJun 15, 2026
41 of 45 checks passed
@ovitrif
ovitrif deleted the fix/android-crash-bionic branch June 15, 2026 16:47
Sign up for freeto 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.

crash: Production SIGABRT in arm64 native code

2 participants

@ovitrif@piotr-iohk
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

fix: harden core onchain sync - #1015

Merged
ovitrif merged 2 commits into
masterfrom
fix/android-crash-bionic
Jun 15, 2026
Merged

fix: harden core onchain sync#1015
ovitrif merged 2 commits into
masterfrom
fix/android-crash-bionic

Conversation

@ovitrif

@ovitrifovitrif commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator

Fixes#982

This PR bumps Android from bitkit-core-android 0.1.67 to 0.1.72 so production builds consume the upstream core hardening that broadened the native on-chain blocking-task error boundary.

Description

The new Play Vitals trace from 2.3.0 still reports the crash from split_config.arm64_v8a.apk. Translating the Play split PCs against the 2.3.0 AAB maps every app frame into libbitkitcore.so, with the top app frame at libbitkitcore.so +0x84b468.

The first mitigation in #989 consumed synonymdev/bitkit-core#95, which guarded the single-address lookup path. bitkit-core 0.1.72 includes that fix plus the follow-up core release chain that applies the same guarded on-chain blocking boundary across account info, transaction history, and transaction detail work. It also comes from the native-symbol release chain being finalized in #988, so future release builds can keep usable native debug metadata once #988 lands.

Note

This PR is a credible interim fix for the likely observed crash path because it pulls in the bitkit-core work that wrapped the account-info/on-chain blocking panic boundary. But it does not let us say rust-side panics from bitkit-core can no longer take down Android. For that stronger claim, the certain fix would be a PR to close:

Preview

N/A

QA Notes

Manual Tests

  • 1. Mainnet wallet → foreground sync: balances and on-chain wallet data load without a native crash.
  • 2.regression: Receive → copy/show on-chain address → Home: receive flow still works.
  • 3.regression: Send → prepare on-chain send with standard fee: fee estimate and confirmation flow still work.

Automated Checks

  • GITHUB_TOKEN=$GITHUB_PAT just compile
  • GITHUB_TOKEN=$GITHUB_PAT just test
  • GITHUB_TOKEN=$GITHUB_PAT just lint
  • just lint completed successfully while printing existing detekt findings in TrezorViewModel, AppViewModel.handleScan, and SupportScreen import ordering.

@ovitrif
ovitrif requested a review from piotr-iohkJune 15, 2026 12:41
@greptile-apps

Copy link
Copy Markdown

Greptile Summary

Bumps bitkit-core-android from 0.1.67 to 0.1.72 to consume five upstream core releases that broaden the native on-chain blocking-task error boundary, addressing a production crash surfaced in Play Vitals for the 2.3.0 build.

  • Version bump (gradle/libs.versions.toml): increments com.synonym:bitkit-core-android by five patch versions; all other dependencies are unchanged.
  • Changelog entry (changelog.d/next/982.fixed.md): adds a user-facing release note for the on-chain sync hardening.

Confidence Score: 5/5

Safe to merge — this is a targeted dependency bump that brings in upstream crash-fix releases with no other dependency changes.

The change is a single version-string update in the version catalog. The five intermediate patch releases all harden the same on-chain error boundary that was already partially fixed in the prior PR. No API surface in the Android app is changed, no migrations are involved, and the changelog entry is accurate. The QA checklist in the PR description covers the three critical on-chain flows (sync, receive, send).

No files require special attention.

Important Files Changed

FilenameOverview
gradle/libs.versions.tomlSingle-line version bump of bitkit-core-android from 0.1.67 to 0.1.72; no other dependency changes.
changelog.d/next/982.fixed.mdNew changelog entry accurately describing the on-chain sync hardening improvement.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[On-chain Sync Request] --> B{Core Version?}
B -- "0.1.67 (before)" --> C[Single-address lookup guarded\nvia bitkit-core#95]
B -- "0.1.72 (after)" --> D[Single-address lookup guarded\nvia bitkit-core#95]
C --> E[Account info work\nUnguarded ⚠️]
C --> F[Transaction history work\nUnguarded ⚠️]
C --> G[Transaction detail work\nUnguarded ⚠️]
D --> H[Account info work\nGuarded ✅]
D --> I[Transaction history work\nGuarded ✅]
D --> J[Transaction detail work\nGuarded ✅]
E & F & G --> K[Native crash in libbitkitcore.so\n0x84b468]
H & I & J --> L[Error boundary catches failure\nNo crash]
Loading

Reviews (1): Last reviewed commit: "chore: rename changelog fragment" | Re-trigger Greptile

@ovitrifovitrif self-assigned this Jun 15, 2026
@ovitrifovitrif added this to the 2.4.0 milestone Jun 15, 2026
@ovitrif
ovitrif enabled auto-merge June 15, 2026 12:59
@ovitrif
ovitrif merged commit 99935dc into masterJun 15, 2026
41 of 45 checks passed
@ovitrif
ovitrif deleted the fix/android-crash-bionic branch June 15, 2026 16:47
Sign up for freeto 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.

crash: Production SIGABRT in arm64 native code

2 participants

@ovitrif@piotr-iohk
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix: harden core onchain sync - #1015

Merged
ovitrif merged 2 commits into
masterfrom
fix/android-crash-bionic
Jun 15, 2026
Merged

fix: harden core onchain sync#1015
ovitrif merged 2 commits into
masterfrom
fix/android-crash-bionic

Conversation

@ovitrif

@ovitrifovitrif commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator

Fixes#982

This PR bumps Android from bitkit-core-android 0.1.67 to 0.1.72 so production builds consume the upstream core hardening that broadened the native on-chain blocking-task error boundary.

Description

The new Play Vitals trace from 2.3.0 still reports the crash from split_config.arm64_v8a.apk. Translating the Play split PCs against the 2.3.0 AAB maps every app frame into libbitkitcore.so, with the top app frame at libbitkitcore.so +0x84b468.

The first mitigation in #989 consumed synonymdev/bitkit-core#95, which guarded the single-address lookup path. bitkit-core 0.1.72 includes that fix plus the follow-up core release chain that applies the same guarded on-chain blocking boundary across account info, transaction history, and transaction detail work. It also comes from the native-symbol release chain being finalized in #988, so future release builds can keep usable native debug metadata once #988 lands.

Note

This PR is a credible interim fix for the likely observed crash path because it pulls in the bitkit-core work that wrapped the account-info/on-chain blocking panic boundary. But it does not let us say rust-side panics from bitkit-core can no longer take down Android. For that stronger claim, the certain fix would be a PR to close:

Preview

N/A

QA Notes

Manual Tests

  • 1. Mainnet wallet → foreground sync: balances and on-chain wallet data load without a native crash.
  • 2.regression: Receive → copy/show on-chain address → Home: receive flow still works.
  • 3.regression: Send → prepare on-chain send with standard fee: fee estimate and confirmation flow still work.

Automated Checks

  • GITHUB_TOKEN=$GITHUB_PAT just compile
  • GITHUB_TOKEN=$GITHUB_PAT just test
  • GITHUB_TOKEN=$GITHUB_PAT just lint
  • just lint completed successfully while printing existing detekt findings in TrezorViewModel, AppViewModel.handleScan, and SupportScreen import ordering.

@ovitrif
ovitrif requested a review from piotr-iohkJune 15, 2026 12:41
@greptile-apps

Copy link
Copy Markdown

Greptile Summary

Bumps bitkit-core-android from 0.1.67 to 0.1.72 to consume five upstream core releases that broaden the native on-chain blocking-task error boundary, addressing a production crash surfaced in Play Vitals for the 2.3.0 build.

  • Version bump (gradle/libs.versions.toml): increments com.synonym:bitkit-core-android by five patch versions; all other dependencies are unchanged.
  • Changelog entry (changelog.d/next/982.fixed.md): adds a user-facing release note for the on-chain sync hardening.

Confidence Score: 5/5

Safe to merge — this is a targeted dependency bump that brings in upstream crash-fix releases with no other dependency changes.

The change is a single version-string update in the version catalog. The five intermediate patch releases all harden the same on-chain error boundary that was already partially fixed in the prior PR. No API surface in the Android app is changed, no migrations are involved, and the changelog entry is accurate. The QA checklist in the PR description covers the three critical on-chain flows (sync, receive, send).

No files require special attention.

Important Files Changed

FilenameOverview
gradle/libs.versions.tomlSingle-line version bump of bitkit-core-android from 0.1.67 to 0.1.72; no other dependency changes.
changelog.d/next/982.fixed.mdNew changelog entry accurately describing the on-chain sync hardening improvement.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[On-chain Sync Request] --> B{Core Version?}
B -- "0.1.67 (before)" --> C[Single-address lookup guarded\nvia bitkit-core#95]
B -- "0.1.72 (after)" --> D[Single-address lookup guarded\nvia bitkit-core#95]
C --> E[Account info work\nUnguarded ⚠️]
C --> F[Transaction history work\nUnguarded ⚠️]
C --> G[Transaction detail work\nUnguarded ⚠️]
D --> H[Account info work\nGuarded ✅]
D --> I[Transaction history work\nGuarded ✅]
D --> J[Transaction detail work\nGuarded ✅]
E & F & G --> K[Native crash in libbitkitcore.so\n0x84b468]
H & I & J --> L[Error boundary catches failure\nNo crash]
Loading

Reviews (1): Last reviewed commit: "chore: rename changelog fragment" | Re-trigger Greptile

@ovitrifovitrif self-assigned this Jun 15, 2026
@ovitrifovitrif added this to the 2.4.0 milestone Jun 15, 2026
@ovitrif
ovitrif enabled auto-merge June 15, 2026 12:59
@ovitrif
ovitrif merged commit 99935dc into masterJun 15, 2026
41 of 45 checks passed
@ovitrif
ovitrif deleted the fix/android-crash-bionic branch June 15, 2026 16:47
Sign up for freeto 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.

crash: Production SIGABRT in arm64 native code

2 participants

@ovitrif@piotr-iohk
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix: harden core onchain sync - #1015

Merged
ovitrif merged 2 commits into
masterfrom
fix/android-crash-bionic
Jun 15, 2026
Merged

fix: harden core onchain sync#1015
ovitrif merged 2 commits into
masterfrom
fix/android-crash-bionic

Conversation

@ovitrif

@ovitrifovitrif commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator

Fixes#982

This PR bumps Android from bitkit-core-android 0.1.67 to 0.1.72 so production builds consume the upstream core hardening that broadened the native on-chain blocking-task error boundary.

Description

The new Play Vitals trace from 2.3.0 still reports the crash from split_config.arm64_v8a.apk. Translating the Play split PCs against the 2.3.0 AAB maps every app frame into libbitkitcore.so, with the top app frame at libbitkitcore.so +0x84b468.

The first mitigation in #989 consumed synonymdev/bitkit-core#95, which guarded the single-address lookup path. bitkit-core 0.1.72 includes that fix plus the follow-up core release chain that applies the same guarded on-chain blocking boundary across account info, transaction history, and transaction detail work. It also comes from the native-symbol release chain being finalized in #988, so future release builds can keep usable native debug metadata once #988 lands.

Note

This PR is a credible interim fix for the likely observed crash path because it pulls in the bitkit-core work that wrapped the account-info/on-chain blocking panic boundary. But it does not let us say rust-side panics from bitkit-core can no longer take down Android. For that stronger claim, the certain fix would be a PR to close:

Preview

N/A

QA Notes

Manual Tests

  • 1. Mainnet wallet → foreground sync: balances and on-chain wallet data load without a native crash.
  • 2.regression: Receive → copy/show on-chain address → Home: receive flow still works.
  • 3.regression: Send → prepare on-chain send with standard fee: fee estimate and confirmation flow still work.

Automated Checks

  • GITHUB_TOKEN=$GITHUB_PAT just compile
  • GITHUB_TOKEN=$GITHUB_PAT just test
  • GITHUB_TOKEN=$GITHUB_PAT just lint
  • just lint completed successfully while printing existing detekt findings in TrezorViewModel, AppViewModel.handleScan, and SupportScreen import ordering.

@ovitrif
ovitrif requested a review from piotr-iohkJune 15, 2026 12:41
@greptile-apps

Copy link
Copy Markdown

Greptile Summary

Bumps bitkit-core-android from 0.1.67 to 0.1.72 to consume five upstream core releases that broaden the native on-chain blocking-task error boundary, addressing a production crash surfaced in Play Vitals for the 2.3.0 build.

  • Version bump (gradle/libs.versions.toml): increments com.synonym:bitkit-core-android by five patch versions; all other dependencies are unchanged.
  • Changelog entry (changelog.d/next/982.fixed.md): adds a user-facing release note for the on-chain sync hardening.

Confidence Score: 5/5

Safe to merge — this is a targeted dependency bump that brings in upstream crash-fix releases with no other dependency changes.

The change is a single version-string update in the version catalog. The five intermediate patch releases all harden the same on-chain error boundary that was already partially fixed in the prior PR. No API surface in the Android app is changed, no migrations are involved, and the changelog entry is accurate. The QA checklist in the PR description covers the three critical on-chain flows (sync, receive, send).

No files require special attention.

Important Files Changed

FilenameOverview
gradle/libs.versions.tomlSingle-line version bump of bitkit-core-android from 0.1.67 to 0.1.72; no other dependency changes.
changelog.d/next/982.fixed.mdNew changelog entry accurately describing the on-chain sync hardening improvement.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[On-chain Sync Request] --> B{Core Version?}
B -- "0.1.67 (before)" --> C[Single-address lookup guarded\nvia bitkit-core#95]
B -- "0.1.72 (after)" --> D[Single-address lookup guarded\nvia bitkit-core#95]
C --> E[Account info work\nUnguarded ⚠️]
C --> F[Transaction history work\nUnguarded ⚠️]
C --> G[Transaction detail work\nUnguarded ⚠️]
D --> H[Account info work\nGuarded ✅]
D --> I[Transaction history work\nGuarded ✅]
D --> J[Transaction detail work\nGuarded ✅]
E & F & G --> K[Native crash in libbitkitcore.so\n0x84b468]
H & I & J --> L[Error boundary catches failure\nNo crash]
Loading

Reviews (1): Last reviewed commit: "chore: rename changelog fragment" | Re-trigger Greptile

@ovitrifovitrif self-assigned this Jun 15, 2026
@ovitrifovitrif added this to the 2.4.0 milestone Jun 15, 2026
@ovitrif
ovitrif enabled auto-merge June 15, 2026 12:59
@ovitrif
ovitrif merged commit 99935dc into masterJun 15, 2026
41 of 45 checks passed
@ovitrif
ovitrif deleted the fix/android-crash-bionic branch June 15, 2026 16:47
Sign up for freeto 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.

crash: Production SIGABRT in arm64 native code

2 participants

@ovitrif@piotr-iohk
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

fix: harden core onchain sync - #1015

Merged
ovitrif merged 2 commits into
masterfrom
fix/android-crash-bionic
Jun 15, 2026
Merged

fix: harden core onchain sync#1015
ovitrif merged 2 commits into
masterfrom
fix/android-crash-bionic

Conversation

@ovitrif

@ovitrifovitrif commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator

Fixes#982

This PR bumps Android from bitkit-core-android 0.1.67 to 0.1.72 so production builds consume the upstream core hardening that broadened the native on-chain blocking-task error boundary.

Description

The new Play Vitals trace from 2.3.0 still reports the crash from split_config.arm64_v8a.apk. Translating the Play split PCs against the 2.3.0 AAB maps every app frame into libbitkitcore.so, with the top app frame at libbitkitcore.so +0x84b468.

The first mitigation in #989 consumed synonymdev/bitkit-core#95, which guarded the single-address lookup path. bitkit-core 0.1.72 includes that fix plus the follow-up core release chain that applies the same guarded on-chain blocking boundary across account info, transaction history, and transaction detail work. It also comes from the native-symbol release chain being finalized in #988, so future release builds can keep usable native debug metadata once #988 lands.

Note

This PR is a credible interim fix for the likely observed crash path because it pulls in the bitkit-core work that wrapped the account-info/on-chain blocking panic boundary. But it does not let us say rust-side panics from bitkit-core can no longer take down Android. For that stronger claim, the certain fix would be a PR to close:

Preview

N/A

QA Notes

Manual Tests

  • 1. Mainnet wallet → foreground sync: balances and on-chain wallet data load without a native crash.
  • 2.regression: Receive → copy/show on-chain address → Home: receive flow still works.
  • 3.regression: Send → prepare on-chain send with standard fee: fee estimate and confirmation flow still work.

Automated Checks

  • GITHUB_TOKEN=$GITHUB_PAT just compile
  • GITHUB_TOKEN=$GITHUB_PAT just test
  • GITHUB_TOKEN=$GITHUB_PAT just lint
  • just lint completed successfully while printing existing detekt findings in TrezorViewModel, AppViewModel.handleScan, and SupportScreen import ordering.

@ovitrif
ovitrif requested a review from piotr-iohkJune 15, 2026 12:41
@greptile-apps

Copy link
Copy Markdown

Greptile Summary

Bumps bitkit-core-android from 0.1.67 to 0.1.72 to consume five upstream core releases that broaden the native on-chain blocking-task error boundary, addressing a production crash surfaced in Play Vitals for the 2.3.0 build.

  • Version bump (gradle/libs.versions.toml): increments com.synonym:bitkit-core-android by five patch versions; all other dependencies are unchanged.
  • Changelog entry (changelog.d/next/982.fixed.md): adds a user-facing release note for the on-chain sync hardening.

Confidence Score: 5/5

Safe to merge — this is a targeted dependency bump that brings in upstream crash-fix releases with no other dependency changes.

The change is a single version-string update in the version catalog. The five intermediate patch releases all harden the same on-chain error boundary that was already partially fixed in the prior PR. No API surface in the Android app is changed, no migrations are involved, and the changelog entry is accurate. The QA checklist in the PR description covers the three critical on-chain flows (sync, receive, send).

No files require special attention.

Important Files Changed

FilenameOverview
gradle/libs.versions.tomlSingle-line version bump of bitkit-core-android from 0.1.67 to 0.1.72; no other dependency changes.
changelog.d/next/982.fixed.mdNew changelog entry accurately describing the on-chain sync hardening improvement.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[On-chain Sync Request] --> B{Core Version?}
B -- "0.1.67 (before)" --> C[Single-address lookup guarded\nvia bitkit-core#95]
B -- "0.1.72 (after)" --> D[Single-address lookup guarded\nvia bitkit-core#95]
C --> E[Account info work\nUnguarded ⚠️]
C --> F[Transaction history work\nUnguarded ⚠️]
C --> G[Transaction detail work\nUnguarded ⚠️]
D --> H[Account info work\nGuarded ✅]
D --> I[Transaction history work\nGuarded ✅]
D --> J[Transaction detail work\nGuarded ✅]
E & F & G --> K[Native crash in libbitkitcore.so\n0x84b468]
H & I & J --> L[Error boundary catches failure\nNo crash]
Loading

Reviews (1): Last reviewed commit: "chore: rename changelog fragment" | Re-trigger Greptile

@ovitrifovitrif self-assigned this Jun 15, 2026
@ovitrifovitrif added this to the 2.4.0 milestone Jun 15, 2026
@ovitrif
ovitrif enabled auto-merge June 15, 2026 12:59
@ovitrif
ovitrif merged commit 99935dc into masterJun 15, 2026
41 of 45 checks passed
@ovitrif
ovitrif deleted the fix/android-crash-bionic branch June 15, 2026 16:47
Sign up for freeto 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.

crash: Production SIGABRT in arm64 native code

2 participants

@ovitrif@piotr-iohk