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 queuedtxv2by julian · 234af02f · Nov 19, 2025 · 1 fileMessage 0 · OpaqueInformational 15Details
Commit message · julian
txv2
0/100 · OpaqueMessage clarity
! Very short subject! 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 adds a single Dart getter that sets the Isar database transaction version to 2 for Solana token wallets. There is no visible security-relevant change in behavior, no bug fix, and no change to how funds, keys, or transactions are handled. It appears to be a schema or versioning update.
AI review queuedvariousby julian · 5d6a0ca4 · Nov 19, 2025 · 4 filesMessage 0 · OpaqueInformational 21Details
Commit message · julian
various
0/100 · OpaqueMessage clarity
! Very short subject! 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 21/100
This commit is a code-quality refactor for Solana token handling in the Stack Wallet app. It replaces loose 'dynamic' types with concrete SplToken/EthContract types, removes unsafe casts, and makes the Solana token wallet constructor carry a full token object instead of separate fields. There is no direct evidence of a security vulnerability being fixed, but the changes remove patterns (dynamic casts and type confusion between Ethereum and Solana tokens) that can lead to crashes or incorrect balance/price display.
AI review queuedclean up token iconsby julian · 94cac105 · Nov 19, 2025 · 2 filesMessage 28 · OpaqueInformational 18Details
Commit message · julian
clean up token icons
28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 18/100
This commit tidies up how token icons are displayed in the Stack Wallet app. It switches Ethereum and Solana fallback icons from app-asset files to local files, adds a loading spinner while network icons load, and replaces a silent error with a logged error. There is no obvious security vulnerability here; it is primarily a UI cleanup.
Lower-priorityremove non existent asset gettersby julian · 9b8cb120 · Nov 19, 2025 · 1 fileMessage 45 · ThinTriage 0Details
Commit message · julian
remove non existent asset getters
45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI review queuedhousekeeping (build runner, etc)by julian · 5832233c · Nov 19, 2025 · 12 filesMessage 35 · OpaqueInformational 15Details
Commit message · julian
housekeeping (build runner, etc)
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 · Informational 15/100
This commit is routine housekeeping: it regenerates automatically generated Dart files (for database models and test mocks), updates a .gitignore rule, and tweaks a coin icon provider. There are no user-facing security fixes or obviously dangerous code changes in the diff itself.
Lower-priorityAmount and Balance QoL constructorsby julian · 95548298 · Nov 19, 2025 · 2 filesMessage 45 · ThinTriage 0Details
Commit message · julian
Amount and Balance QoL constructors
45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Lower-priorityAmount and Balance QoL constructorsby julian · faf78831 · Nov 19, 2025 · 2 filesMessage 45 · ThinTriage 0Details
Commit message · julian
Amount and Balance QoL constructors
45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Lower-prioritydisable flutter_native_splash run for windows buildsby julian · ecd679da · Nov 19, 2025 · 1 fileMessage 50 · ThinTriage 0Details
Commit message · julian
disable flutter_native_splash run for windows builds
50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Lower-priorityfix(spl): revert changes to stack_theme.dartby sneurlax · efcfd2f3 · Nov 19, 2025 · 1 fileMessage 57 · ThinTriage 0Details
Commit message · sneurlax
fix(spl): revert changes to stack_theme.dart
57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
AI review queuedremove unnecessary logging callby julian · 2cdfec96 · Nov 19, 2025 · 1 fileMessage 35 · OpaqueInformational 15Details
Commit message · julian
remove unnecessary logging call
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 · Informational 15/100
A single debug logging line that printed pending transaction data has been removed. There is no indication this was a security vulnerability—it appears to be a routine cleanup of leftover debug output.
AI review queuedfeat(spl): mobile custom token flowby sneurlax · 9a48267a · Nov 19, 2025 · 3 filesMessage 57 · ThinInformational 18Details
Commit message · sneurlax
feat(spl): mobile custom token flow
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
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 18/100
This commit refines how the Stack Wallet mobile app handles Solana (SPL) custom tokens. It separates default tokens from user-added custom tokens, passes the wallet ID when adding a custom token, and adds unique keys to token list items. There is no clear security vulnerability in the diff itself; it appears to be a feature/bug-fix improvement for token management.
Lower-priorityfeat(spl): query database for custom tokens in addition to defaultsby sneurlax · a93b19bd · Nov 19, 2025 · 1 fileMessage 62 · AdequateTriage 0Details
Commit message · sneurlax
feat(spl): query database for custom tokens in addition to defaults
62/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
AI review queuedfeat(spl): save custom tokens and include in wallet token listby sneurlax · 67d4fdd7 · Nov 19, 2025 · 2 filesMessage 62 · AdequateInformational 17Details
Commit message · sneurlax
feat(spl): save custom tokens and include in wallet token list
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
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 17/100
This commit adds support for saving user-added custom Solana tokens and showing them alongside the wallet's default token list. It also includes minor code cleanup (removing an unused import and reformatting). There is no clear security vulnerability in the change itself.
AI review queuedfeat(spl): fetch custom token metadata from db and update bal on openby sneurlax · 5e31a29d · Nov 19, 2025 · 2 filesMessage 62 · AdequateInformational 19Details
Commit message · sneurlax
feat(spl): fetch custom token metadata from db and update bal on open
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
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 19/100
This commit adds a fallback so that when a Solana token isn't on the built-in default list, the app looks it up in the user's own saved custom-token database. It also refreshes the token balance when the wallet view opens. There is no clear security bug in the change itself; it is a feature/fix for missing custom-token metadata and stale balances.
AI review queuedfeat(spl): custom tokens with validation and error handlingby sneurlax · 0ecc5fd5 · Nov 19, 2025 · 2 filesMessage 62 · AdequateLow 26Details
Commit message · sneurlax
feat(spl): custom tokens with validation and error handling
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
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Low 26/100
This commit adds a new screen that lets users manually add custom Solana SPL tokens to their Stack Wallet. It checks the mint address format, tries to fetch token details from an API, and lets the user type in details if the API has no record. The change also replaces the old fixed list of Solana tokens with this custom-add flow. There is no clear security bug in the diff, but the new code trusts user-supplied token metadata and does not verify on-chain that the token really exists or that the wallet holds it, which could let a user be tricked into adding a fake or misleading token.
Lower-priorityfeat(spl): add route for AddCustomSolanaTokenViewby sneurlax · 0329dc86 · Nov 19, 2025 · 1 fileMessage 57 · ThinTriage 0Details
Commit message · sneurlax
feat(spl): add route for AddCustomSolanaTokenView
57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
AI review queuedfeat(spl): add custom token mint addresses storage to WalletInfoby sneurlax · 313fada2 · Nov 19, 2025 · 1 fileMessage 62 · AdequateInformational 15Details
Commit message · sneurlax
feat(spl): add custom token mint addresses storage to WalletInfo
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
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100
This commit adds a new storage field to the wallet's metadata for remembering custom Solana token mint addresses. It is a straightforward feature addition with no visible security implications in the code changed.
Lower-priorityfeat(spl): Token-2022 support for SPL token balance fetchingby sneurlax · c5380d9e · Nov 19, 2025 · 1 fileMessage 62 · AdequateTriage 0Details
Commit message · sneurlax
feat(spl): Token-2022 support for SPL token balance fetching
62/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
AI review queueddisable buy option of spark names in view only wallet (and hide names option in non spark firo view only wallets)by julian · 885709b7 · Nov 18, 2025 · 4 filesMessage 50 · ThinLow 29Details
Commit message · julian
disable buy option of spark names in view only wallet (and hide names option in non spark firo view only wallets)
50/100 · ThinMessage clarity
✓ Specific, 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 29/100
This commit changes the Stack Wallet app so that users with a 'view-only' wallet can no longer see buttons to buy or renew Spark names (a Firo cryptocurrency feature). It also makes sure the 'Names' menu appears only for the correct wallet types. The change is a UI restriction, not a server-side security fix, and appears aimed at preventing users from accidentally trying actions their wallet cannot perform.
✓ 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 32/100
This commit fixes how the Firo/Spark wallet identifies its own change address. Previously, code compared a transaction output's address against the raw 'sparkChangeAddress' object instead of its string value. The fix exposes the change address as a string getter and updates comparisons to use that string. If left unfixed, the wallet could fail to recognize its own change outputs, which might cause incorrect balance calculations or transaction history display, but it does not appear to let an outsider steal funds directly.
AI review queuedvarious firo view only wallet tweaksby julian · 0cbb45b9 · Nov 18, 2025 · 16 filesMessage 45 · ThinLow 28Details
Commit message · julian
various firo view only wallet tweaks
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 28/100
This commit makes several user-interface and wallet-management tweaks for Firo 'view-only' wallets in the Stack Wallet app. It adds a new option to create a Spark-specific view-only wallet, moves the 'Spark view key' display behind an authentication step, and cleans up how Spark addresses are generated and saved. There is no clear security vulnerability in the diff itself; it mostly reorganizes existing functionality and adds a new view-only path.
AI review queuedupdate destination address for spark name registration feesby julian · a4960744 · Nov 18, 2025 · 5 filesMessage 50 · ThinInformational 18Details
Commit message · julian
update destination address for spark name registration fees
50/100 · ThinMessage clarity
✓ Specific, 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 18/100
This commit changes the destination address used when paying fees to register a Spark name in the Stack Wallet app. It switches from a 'development fund' address to a 'community fund' address, and updates the underlying library version. There is no direct evidence in the commit that this fixes a security vulnerability; it appears to be a routine destination-address update, though a typo in one generated constant name (kStage3DCommunityFundAddressTestNet) is introduced.
AI review queueddisable redundant call to init()by julian · 1d0d790b · Nov 18, 2025 · 1 fileMessage 45 · ThinInformational 12Details
Commit message · julian
disable redundant call to init()
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 12/100
A developer commented out a redundant call to wallet.init() in the wallet view screen. The change is described as cleanup because the initialization is already performed earlier when entering a wallet. There is no direct evidence in the commit that this fixes a security vulnerability.
AI review queuedmake spark names visible again without going into "more"by julian · 3d23ec07 · Nov 18, 2025 · 1 fileMessage 50 · ThinInformational 15Details
Commit message · julian
make spark names visible again without going into "more"
50/100 · ThinMessage clarity
✓ Specific, 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 15/100
This commit is a minor user-interface tweak. It moves the 'Names' button for Spark wallets out of a hidden 'more' menu and into the main visible navigation bar. There is no security change.
AI review queuedremove dead codeby julian · 663e83cd · Nov 18, 2025 · 1 fileMessage 28 · OpaqueInformational 15Details
Commit message · julian
remove dead code
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 removes an unused 'controller' feature from a Flutter UI widget called Options. The change only deletes dead code and reformats some lines for readability. There is no visible security relevance.