Every captured commit receives deterministic security triage and a separate communication-quality score. Security candidates and broader second-pass signals receive full-patch Ollama analysis.
Message quality measures whether a commit identifies its scope, purpose, rationale, testing, and supporting references. It does not change the security-severity score.
51/100 average clarity
33Strong · 80–100
316Adequate · 60–79
513Thin · 40–59
191Opaque · 0–39
33security candidates with opaque commit messaging
This commit fixes a mobile UI bug where pressing Cancel on a 'building transaction' dialog accidentally closed one too many screens. The fix moves the responsibility for closing the dialog into each screen's cancel handler, and prevents er…
No security-relevant signals in the diffUI-only navigation and error-dialog suppression changesNo cryptographic, authentication, authorization, or data-handling changes
This commit is a routine merge from the project's staging branch into a feature branch. The visible code changes fix small UI/UX bugs in Stack Wallet's send screens: clearing an internal address-validation cache when the form is reset, mak…
Clearing stale address-provider state on form reset reduces the risk of stale validation data influencing a subsequent transactionFee-form caching prevents repeated network calls and accidental fee UI flicker/state races on rebuildQR scan buttons are UX additions with no visible parser/validation logic changes
This commit fixes a desktop wallet bug where the send-fee form would repeatedly re-fetch fee estimates on every screen rebuild, wasting resources and possibly flickering. It now caches the fee estimate and only retries if the previous fetc…
No security-relevant signals present in diff or commit metadataChange is a UI/UX performance and reliability improvement
This commit merges a feature branch into another work-in-progress branch. It adds QR-code scanning buttons to two desktop token send screens and resets an internal address-validation state variable when the send form is cleared. There is n…
State reset added to clearForm() to avoid stale validation dataNew QR scan entry points in token send flows (UI feature, not a vulnerability signal)
This change fixes a UI state bug in the cryptocurrency wallet's send form. When a user clears the send form, the app now also resets whether the entered address is considered valid. Without this fix, the form could incorrectly keep showing…
UI state desynchronization between form field and validity indicatorPotential user confusion from stale valid-address stateNo input validation, cryptographic, or network-layer changes
This commit adds a QR code scanner button to two desktop cryptocurrency send forms. It is a straightforward user-interface feature addition with no apparent security relevance.
This commit adds a missing QR code scan button to two desktop token send screens in the Stack Wallet app. It is a straightforward user-interface fix that restores a feature already present on mobile and other send views; there is no indica…
This commit is purely a code-formatting cleanup. It changes line breaks and indentation in four user-interface files so the code is easier to read, but it does not change what the app actually does. There is no security relevance.
This commit fixes a UI bug in the desktop version of Stack Wallet where the send amount could be lost while the app was trying to estimate transaction fees. The fix keeps the amount 'alive' in memory so fee estimation does not accidentally…
State lifecycle issue in UI provider could lead to loss of user inputFix prevents fee estimation from silently resetting send amount to zeroNo cryptographic, authentication, or network security changes present
This commit updates the Stack Wallet app so that when a single payment is broken into multiple cryptocurrency transactions, the user sees a clear warning on the confirmation screen. It also changes the app's internal record-keeping to hand…
UI now warns users when a payment will be split into multiple on-chain transactionsInternal transaction model changed from single txid to list of txidsMultiple confirmation flows updated to iterate over all txids for notes and trade lookups
This commit fixes a performance bug in the desktop version of Stack Wallet where the app repeatedly re-fetched Bitcoin-style fee rates every time the on-screen fee form rebuilt. The change caches the fee result and only fetches again if th…
Unnecessary repeated network requests reducedFuture result cached to avoid re-execution on widget rebuildError path clears cache to allow retry
This commit fixes a UI state bug in Stack Wallet's send form. When a user clears the send form, the wallet now also resets whether the entered address is considered valid. Without this fix, the form could incorrectly keep showing an old ad…
Stale UI state after form resetAddress validity not synchronized with address field resetPotential UI confusion leading to incorrect send confirmation
This is a large feature/fix merge that restores and rewrites the Xelis (XEL) cryptocurrency integration in Stack Wallet. It swaps the old hand-rolled Xelis code for a new generated native interface (XWF), adds wallet restore/backup support…
Send-flow lifecycle hardening: prepared Xelis transactions are now discarded via cancelSend when the user cancels or the widget is disposedSession-generation checks prevent stale wallet handles from being used after close/reopenMutex serialization added around send preparation, balance, history, and rescan operations
This commit is a large merge that mainly adds integration tests for a desktop 'forgot password' reset feature and makes supporting code changes to safely shut down background database workers during that reset. It also removes a large set …
New integration tests exercise a destructive 'forgot password' data-wipe featureTests assert that password store and wallet key store are deleted on successful resetTests assert that wallet files are deleted while backup and tor state are preserved
This commit lets users type multi-line notes when editing transaction and trade notes, and fixes the desktop layout so long notes scroll instead of breaking the screen. It also swaps the old `mounted` check for the newer `context.mounted` …
This commit is a large merge that mainly removes old integration tests and adds new desktop 'forgot password' reset tests. It also adds a safe-shutdown path for background Firo cache workers and databases. The changes look like defensive h…
Added safe shutdown of Firo cache isolates/SQLite databases before reset exitNew integration tests verify desktop forgot-password reset deletes secrets and preserves backupsTest harness intercepts exit() and IOOverrides to observe reset side effects
This commit fixes the desktop "forgot password" reset flow in Stack Wallet. It adds integration tests that verify the app can securely wipe its own data when a user forgets the desktop password, and it updates the Firo cache worker to clos…
Desktop password reset now closes Firo cache workers and SQLite databases before deleting app data, reducing the risk of data leakage or corruption during wipeNew integration tests assert that a successful reset removes password store (hive/desktopdata.hive), wallet key store (isar/desktopStore.isar), and wallet files while preserving backups and tor stateFailed reset scenario leaves a .reset-pending marker and removes password/key stores first, preventing the reset from being undone after partial deletion
This commit is a large merge that mainly adds a new 'prove you own a Spark address' feature to the Stack Wallet app, plus some related fixes. It also updates a dependency that handles SOCKS5 proxy connections and changes how the app decide…
New cryptographic signing path added: SparkInterface.signMessage now delegates to Spark ownership proof creation using the wallet's private key and spark derivation path.Ownership proof code rejects view-only wallets and blank messages, and searches a 100-address lookahead for the requested address before signing.Dependency upgrade: socks5_proxy 1.0.3+dev.3 -> 2.1.1, which may change SOCKS5/Tor proxy behavior; a new test verifies hostname/onion routing through a fake SOCKS server.
This commit adds a new feature to Stack Wallet that lets users prove they own a Spark (privacy) address by generating a cryptographic ownership proof. It also improves the sign/verify screens so view-only wallets can still verify proofs, a…
New cryptographic proof generation using private key material (privateKeyHex, spendKeyIndex, diversifier) inside an isolateView-only wallet guard added for proof creation (throws if isViewOnly)Message whitespace now preserved for pasted/typed challenge messages, preventing proof/verification mismatches caused by silent trimming
This commit merges several changes into a development branch. The most notable security-relevant change is a fix for how the Trocador exchange service routes traffic: it now automatically uses Tor (an anonymity network) when the user has T…
Trocador exchange API previously forced clearnet (`isOnion: false`) at every call site, bypassing Tor even when enabledNew `_useTor` getter centralizes Tor routing decision based on app feature flag and user preferenceOnion service address rotated to a new v3 .onion hostname
Expand any commit for its author, full message, clarity score, changed files, triage signals, analysis, and source link.
AI review queuedensure tor singletonby julian · ff9e8f0b · Oct 25, 2025 · 1 fileMessage 28 · OpaqueLow 28Details
Commit message · julian
ensure tor singleton
28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Low 28/100
This commit changes the Tor privacy service in Stack Wallet so only one copy of the service can run at a time (a 'singleton'). Before, each call could create a fresh instance, which could lead to multiple Tor connections or inconsistent state. The patch itself is a defensive code-quality fix; it does not show an active attack or known breach.
AI review queueddart autoformatby julian · cb198ed5 · Oct 24, 2025 · 1 fileMessage 18 · OpaqueInformational 15Details
Commit message · julian
dart autoformat
18/100 · OpaqueMessage clarity
✓ Subject identifies a change! Too few words to establish purpose! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: opaque commit messagesecond-pass: security-sensitive path
AI analysis · Informational 15/100
This commit is purely a code formatting change (Dart autoformat) on a single file. It only adjusts whitespace, line breaks, and indentation without changing any logic, variable names, function calls, or behavior. There is no security relevance.
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body! Contains work-in-progress language! Opaque security-relevant change
Why it was queued
seed or entropy path
AI analysis · Informational 15/100
This commit adds a new utility module for handling Electrum-style cryptocurrency seed phrases, plus tests. It does not fix any bug or change existing behavior; it is a work-in-progress feature addition. There is nothing in the commit that suggests a security vulnerability or a security patch.
✓ Descriptive subject✓ Names a concrete action or component✓ Links an issue, advisory, or supporting reference! No meaningful explanatory body
Why it was queued
cryptography-sensitive pathseed or entropy pathsigning or wallet pathboot or update pathauthentication pathmerge-commit duplicate discount
AI analysis · Informational 15/100
This is a large routine release merge for Stack Wallet v2.4.0. It adds thousands of project files including source code, assets, build scripts, tests, and GitHub workflow files. There is no specific security fix or vulnerability patch visible in the supplied portion of the diff, and no security-relevant description from the vendor.
Security candidateMerge branch 'main' into stagingby Dan Miller · b97aad30 · Oct 24, 2025 · 1981 filesMessage 45 · ThinInformational 15Details
Commit message · Dan Miller
Merge branch 'main' into staging
45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
cryptography-sensitive pathseed or entropy pathsigning or wallet pathboot or update pathauthentication pathmerge-commit duplicate discount
AI analysis · Informational 15/100
This commit is a large merge from the 'main' branch into 'staging' for the Stack Wallet project. It adds many files including project configuration, assets, source code, tests, and documentation. There is no indication in the commit message or visible changes that this is a security fix or introduces a security vulnerability. It appears to be a routine synchronization of branches.
AI review queuedensure eth wallet is fully synced/refreshed before first refresh of a token wallet hackby julian · 2fa0f5b7 · Oct 22, 2025 · 1 fileMessage 30 · OpaqueLow 32Details
Commit message · julian
ensure eth wallet is fully synced/refreshed before first refresh of a token wallet hack
30/100 · OpaqueMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body! Contains work-in-progress language
Why it was queued
signing or wallet pathsecond-pass: opaque commit messagesecond-pass: security-sensitive path
AI analysis · Low 32/100
This commit changes how an Ethereum token wallet first refreshes its data. It adds a one-time workaround that forces the parent Ethereum wallet to fully sync before the token wallet refreshes for the first time. The developer explicitly labels this as an unverified and untested hack. The change also includes minor code formatting cleanups. There is no direct evidence in the commit that this fixes a security vulnerability; it appears aimed at preventing stale or incorrect balance/transaction state when a token wallet is first used.
Security candidateuse SAF (lol) for some android stuffby julian · 1311e238 · Oct 22, 2025 · 15 filesMessage 45 · ThinLow 33Details
Commit message · julian
use SAF (lol) for some android stuff
45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
authentication path
AI analysis · Low 33/100
This commit changes how the Stack Wallet app on Android reads and writes files. It replaces a workaround that directly reached into shared phone storage with the proper Android Storage Access Framework (SAF), which asks the user to pick a folder or file before the app can use it. That is generally a security improvement because it reduces the app's direct access to files it does not own. However, the change is large, touches backup/restore code, and some backup paths still appear to use direct file access on non-Android platforms, so it should be reviewed carefully rather than treated as purely safe.
Security candidateseparate swb file saving from encryption call, enable android swb file location selection, and clean up some of the swb ui code a bitby julian · 5c37b6b2 · Oct 21, 2025 · 9 filesMessage 50 · ThinLow 34Details
Commit message · julian
separate swb file saving from encryption call, enable android swb file location selection, and clean up some of the swb ui code a bit
50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
authentication path
AI analysis · Low 34/100
This commit rewrites how Stack Wallet creates its encrypted backup (.swb) files. The main functional change is that the encryption helper no longer writes the file itself; instead it returns the encrypted text, and the caller writes it to disk. On Android, the file is now written with a plain file API to a user-chosen location (a TODO comment notes that Storage Access Framework support is still pending). The change also enables Android users to pick a backup folder, which they could not do before. There is no direct evidence in the commit that this fixes a known security vulnerability, but it does change where sensitive backup data is stored and how file-overwrite behavior is handled.
AI review queueddart formatby julian · 43005266 · Oct 21, 2025 · 1 fileMessage 0 · OpaqueInformational 15Details
Commit message · julian
dart format
0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100
This commit is purely a code-formatting cleanup. It changes whitespace, line breaks, and indentation in a single Dart file that handles the backup creation screen. No functionality, logic, or security behavior was altered.
AI review queuedxelis send all fee subtractionby julian · 5e385cdb · Oct 20, 2025 · 2 filesMessage 45 · ThinLow 33Details
Commit message · julian
xelis send all fee subtraction
45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Low 33/100
This commit fixes a bug in the Stack Wallet app when sending the full balance of a Xelis cryptocurrency wallet. Previously, when a user chose 'send all,' the app did not subtract the network transaction fee from the amount being sent, which could cause the transaction to fail or attempt to spend more than the wallet held. The patch now detects 'send all' and reduces the recipient's amount by the estimated fee. It also restricts this code path to exactly one recipient and updates some unrelated dependency versions in pubspec.lock.
AI review queuedclean up unseen address errorby julian · 772ec1e9 · Oct 19, 2025 · 1 fileMessage 45 · ThinInformational 24Details
Commit message · julian
clean up unseen address error
45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 24/100
This commit changes how Stack Wallet's Cardano wallet checks account balances and transaction history. Previously, the app directly asked a Blockfrost service for a list of funds/transactions for the current receiving address. If the address had never been used on the network, that request could fail or behave inconsistently. Now the app first asks Blockfrost whether the address exists, explicitly handles the common '404 Not found' response, and skips the fund/transaction queries for unseen addresses. This is a robustness/cleanup change rather than a clear security fix, but it removes a class of unhandled API errors that could affect wallet behavior.
AI review queuedcopy list to ensure underlying is not modifiedby julian · f996eb06 · Oct 18, 2025 · 1 fileMessage 57 · ThinInformational 20Details
Commit message · julian
copy list to ensure underlying is not modified
57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Explains rationale or failure mode! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 20/100
This commit fixes a UI bug in the wallet overview screen. Previously, the code was modifying a shared list of wallet data directly (for example, filtering out wallets for other coins). Because that list came from a shared app state provider, the changes could unexpectedly affect other parts of the app. The fix makes a local copy of the list before filtering so the original shared data stays unchanged. This is a correctness/defensive-coding fix, not a direct security vulnerability.
Security candidateupdate mwc with windows changesby Julian · b8861234 · Oct 17, 2025 · 1 fileMessage 45 · ThinInformational 0Details
Commit message · Julian
update mwc with windows changes
45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
cryptography-sensitive path
AI analysis · Informational 0/100
The commit title says it updates MWC (a cryptocurrency plugin) with Windows-related changes. No actual diff content was provided, and there are no verified references. There is no visible evidence this change is security-related.
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
cryptography-sensitive path
AI analysis · Informational 2/100
This commit appears to be a one-line change to a Windows build script for a cryptographic plugin. No diff content is available, and there are no accompanying references describing a security issue. There is no basis to treat this as a security-relevant change.
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
cryptography-sensitive path
AI analysis · Informational 0/100
The commit title says it updates a Windows build script for the Epic Cash cryptocurrency plugin. No actual code diff is available, and there are no verified references. There is no visible evidence of a security issue.
fix(epic): remove unnecessary DLL bundling on Windows
62/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
cryptography-sensitive path
AI analysis · Informational 10/100
This commit removes an unnecessary Windows DLL file from being bundled with the Epic Cash cryptocurrency plugin. A DLL is a shared library file Windows programs use. Bundling an unneeded DLL is generally a cleanup or build-size issue, not a security vulnerability. There is no direct evidence in the commit that this change fixes an exploitable security flaw.
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
cryptography-sensitive path
AI analysis · Informational 6/100
This commit adds a build script variant that works on Windows Subsystem for Linux (WSL) for a component called frostdart. There is no indication of a security vulnerability or user-facing bug fix; it appears to be a developer tooling/compatibilty improvement.
Security candidatefix(mwc): fix ios and windowsby sneurlax · 14d1a154 · Oct 15, 2025 · 2 filesMessage 57 · ThinInformational 17Details
Commit message · sneurlax
fix(mwc): fix ios and windows
57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
cryptography-sensitive path
AI analysis · Informational 17/100
This commit fixes a Windows build/packaging mistake where the wrong filename for a MimbleWimbleCoin (MWC) library was being installed. The old name 'libmwc_cash_wallet.dll' has been corrected to 'libmwc_wallet.dll'. There is no direct evidence in the commit of a security vulnerability; it appears to be a build fix to ensure the correct native library is bundled with the Windows app.
AI review queuedfix merge conflict bugby Julian · 9038ac1c · Oct 15, 2025 · 1 fileMessage 28 · OpaqueInformational 19Details
Commit message · Julian
fix merge conflict bug
28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: opaque commit messagesecond-pass: security-sensitive path
AI analysis · Informational 19/100
This commit fixes a Dart/Flutter UI layout bug caused by a merge conflict. A spacing widget (SizedBox) and a text container (RoundedWhiteContainer) were accidentally separated, so the text container was always shown instead of only for certain coin types. The fix wraps both inside the same conditional block so they appear together only when restoring specific wallet types (Chinese 25-word seed, Epiccash, or Mimblewimblecoin). It is a visual/layout correction, not a cryptographic or network security fix.
AI review queuedmacos exclude archby Julian · 85c7091f · Oct 15, 2025 · 1 fileMessage 28 · OpaqueInformational 15Details
Commit message · Julian
macos exclude arch
28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100
This commit changes the macOS app build settings to exclude the older Intel x86_64 processor architecture. It only affects how the app is compiled for Apple Silicon Macs and does not appear to be a security fix. There is no evidence of a vulnerability being patched.
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
cryptography-sensitive pathsigning or wallet path
AI analysis · Informational 13/100
This commit simply changes the default server address that Stack Wallet uses for the FACT0RN cryptocurrency, switching from electrumx.fact0rn.io to electrumx1.projectfactor.io. There is no direct evidence in the commit that this is a security fix, but changing a default server can have security implications if the old server is untrusted or unavailable. Without vendor context, the security relevance is uncertain.
AI review queuedxmr/wow tweaksby julian · 90142c1c · Oct 10, 2025 · 2 filesMessage 28 · OpaqueInformational 12Details
Commit message · julian
xmr/wow tweaks
28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 12/100
This commit is a minor maintenance update for the Monero (XMR) and Wownero (WOW) parts of Stack Wallet. It bumps two internal library versions from 1.1.0 to 1.1.1 and adds an import for a Salvium-related interface. There is no direct evidence in the commit itself that this fixes a security vulnerability. It looks like a routine dependency refresh.
AI review queuedconst xelis interface constructorby julian · 7dcbef7a · Oct 10, 2025 · 4 filesMessage 35 · OpaqueLow 32Details
Commit message · julian
const xelis interface constructor
35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: opaque commit messagesecond-pass: security-sensitive path
AI analysis · Low 32/100
This commit refactors how the Xelis wallet code keeps track of an open wallet. Previously, the wallet library internally cached wallets by their string ID and looked them up by that ID for every operation. Now, the wallet object itself is returned and stored directly, and most operations use that stored object instead of the ID. The change also removes duplicate-wallet checks and makes the interface constructor a constant. There is no direct evidence this fixes a known exploit, but it removes a class of bugs where the wrong wallet could be targeted if the ID-to-wallet mapping got out of sync.
AI review queuedconst mwebd interface constructorby julian · f7784c87 · Oct 10, 2025 · 3 filesMessage 35 · OpaqueInformational 15Details
Commit message · julian
const mwebd interface constructor
35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100
This commit is a routine internal refactor of how the app tracks its Mimblewimble (MWEB) background server. It replaces a map indexed by cryptocurrency network with a map that stores both the server handle and the client handle together, and makes the server interface constructor a compile-time constant. There is no user-facing change and no security fix or vulnerability introduced in the diff.
Security candidatedowngrade errors to warningsby julian · f26047ab · Oct 10, 2025 · 2 filesMessage 35 · OpaqueLow 26Details
Commit message · julian
downgrade errors to warnings
35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
update trustsigning or wallet path
AI analysis · Low 26/100
This commit adds a safety check in two cryptocurrency wallet files. Before refreshing the list of spendable coins (UTXOs), the code now verifies the wallet object actually exists. If it doesn't, it logs a warning and returns early instead of crashing. The title 'downgrade errors to warnings' suggests this is a defensive change to prevent null-pointer crashes during wallet operations.