SW
← All projectsStack Wallet

Stack Wallet

Actively maintained multi-coin self-custody wallet with Monero support and on-device keys.

MoneroPrivacy protocolsSoftware walletsNormal
Repository coverage

1053 commits in the local evidence base

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.

338security candidates411second-pass queue749AI analyses
77commits · 30 days
175commits · 60 days
600commits · 180 days
1000commits · 365 days
Backfill bands
Sep 27 → Mar 31404 seen73 candidatesComplete
Mar 31 → Jul 29463 seen238 candidatesComplete
Jul 29 → Aug 2887 seen8 candidatesComplete
Aug 28 → Sep 2753 seen6 candidatesComplete
Commit communication

Does the history explain itself?

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
Read the scoring rubric →
Developer activity

Who is changing the project?

Public Git author strings; identities are not independently verified.

DeveloperCommitsCandidatesAnalyzedHigh riskMessage avg.
Navid Rahimi1017154
sneurlax339158241062
julian347112269044
Julian19741144043
Dan Miller831525053
Reuben Yap20318052
Cyrix12615211049
julian-CStack222049
levoncrypto24121043
Tritonn204412052
cassandras-lies413048
NyanCatTW1111045
Analysis record

Published AI watches

Last scanned 43 minutes ago

Informational 24 AI analysisMessage 73 · Adequate
SW Stack WalletStack Wallet MoneroPrivacy protocolsSoftware wallets

Merge pull request #1469 from Cyrix126/building_dialog_cancel

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
94e6da66by Julian+68−8412 files
No security note in commit
Informational 20 AI analysisMessage 50 · Thin
SW Stack WalletStack Wallet MoneroPrivacy protocolsSoftware wallets

Merge branch 'staging' into building_dialog_cancel

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
0485b166by Julian+194−56 files
No security note in commit
Informational 17 AI analysisMessage 58 · Thin
SW Stack WalletStack Wallet MoneroPrivacy protocolsSoftware wallets

Merge pull request #1468 from Cyrix126/desktop_fee_form_refetch

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
62432946by Julian+176−52 files
No security note in commit
Informational 17 AI analysisMessage 50 · Thin
SW Stack WalletStack Wallet MoneroPrivacy protocolsSoftware wallets

Merge branch 'staging' into desktop_fee_form_refetch

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)
8a72c82fby Julian+18−04 files
No security note in commit
Low 32 AI analysisMessage 73 · Adequate
SW Stack WalletStack Wallet MoneroPrivacy protocolsSoftware wallets

Merge pull request #1467 from Cyrix126/clear_send_form_validity

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
d3383b4eby Julian+2−02 files
No security note in commit
Informational 15 AI analysisMessage 50 · Thin
SW Stack WalletStack Wallet MoneroPrivacy protocolsSoftware wallets

Merge branch 'staging' into clear_send_form_validity

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.

22560a59by Julian+16−02 files
No security note in commit
Informational 20 AI analysisMessage 73 · Adequate
SW Stack WalletStack Wallet MoneroPrivacy protocolsSoftware wallets

Merge pull request #1466 from Cyrix126/desktop_token_qr_button

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…

47f6d369by Julian+16−02 files
No security note in commit
Informational 15 AI analysisMessage 18 · Opaque
SW Stack WalletStack Wallet MoneroPrivacy protocolsSoftware wallets

style: format

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.

ae45aba8by Cyrix126+47−524 files
No security note in commit
Informational 23 AI analysisMessage 62 · Adequate
SW Stack WalletStack Wallet MoneroPrivacy protocolsSoftware wallets

fix: stop estimating the desktop fee for a zero amount

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
90c91bdeby Cyrix126+22−02 files
No security note in commit
Low 32 AI analysisMessage 45 · Thin
SW Stack WalletStack Wallet MoneroPrivacy protocolsSoftware wallets

show split tx warning on confirm screen

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
80343a5aby Julian+376−23916 files
No security note in commit
Informational 18 AI analysisMessage 62 · Adequate
SW Stack WalletStack Wallet MoneroPrivacy protocolsSoftware wallets

fix: stop refetching the desktop fee rates on every rebuild

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
a1ca9292by Cyrix126+154−52 files
No security note in commit
Low 34 AI analysisMessage 62 · Adequate
SW Stack WalletStack Wallet MoneroPrivacy protocolsSoftware wallets

fix: reset the address validity when clearing the send form

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
43dd0477by Cyrix126+2−02 files
No security note in commit
Low 35 AI analysisMessage 73 · Adequate
SW Stack WalletStack Wallet MoneroPrivacy protocolsSoftware wallets

Merge pull request #1450 from Ez3kiel-dev/fix/xelis-integration

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
ad945d43by Julian+4298−162634 files
No security note in commit
Low 32 AI analysisMessage 45 · Thin
SW Stack WalletStack Wallet MoneroPrivacy protocolsSoftware wallets

Merge branch 'staging' into fix/xelis-integration

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
b0e5d35aby Julian+2678−330378 files
No security note in commit
Informational 19 AI analysisMessage 73 · Adequate
SW Stack WalletStack Wallet MoneroPrivacy protocolsSoftware wallets

Merge pull request #1361 from cypherstack/fix/305-multiline-transaction-notes

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` …

5172e63eby Julian+402−1113 files
No security note in commit
Low 32 AI analysisMessage 50 · Thin
SW Stack WalletStack Wallet MoneroPrivacy protocolsSoftware wallets

Merge branch 'staging' into fix/305-multiline-transaction-notes

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
21491edbby Julian+2352−319075 files
No security note in commit
Moderate 57 AI analysisMessage 73 · Adequate
SW Stack WalletStack Wallet MoneroPrivacy protocolsSoftware wallets

Merge pull request #1455 from cypherstack/fix/desktop-pw-reset

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
055e6c6bby Julian+1077−297154 files
No security note in commit
Low 37 AI analysisMessage 45 · Thin
SW Stack WalletStack Wallet MoneroPrivacy protocolsSoftware wallets

Merge branch 'staging' into fix/desktop-pw-reset

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.
d9b5cc02by Julian+1275−21923 files
No security note in commit
Low 34 AI analysisMessage 83 · Strong
SW Stack WalletStack Wallet MoneroPrivacy protocolsSoftware wallets

Merge pull request #1439 from navidR/dev/navidr/spark-name-verification

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
a5411a50by Julian+1097−16616 files
No security note in commit
Low 39 AI analysisMessage 60 · Adequate
SW Stack WalletStack Wallet MoneroPrivacy protocolsSoftware wallets

Merge branch 'staging' into dev/navidr/spark-name-verification

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
92955848by Julian+122−507 files
No security note in commit
Repository ledger

Explore captured commits

Expand any commit for its author, full message, clarity score, changed files, triage signals, analysis, and source link.

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): 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): 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.

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.

AI review queuedfix spark change address getterby julian · 12078b76 · Nov 18, 2025 · 2 filesMessage 45 · ThinLow 32Details
Commit message · julian

fix spark change address getter

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 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.

AI review queuedfix missing importby julian · e6f17736 · Nov 18, 2025 · 2 filesMessage 28 · OpaqueInformational 11Details
Commit message · julian

fix missing import

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 11/100

This commit adds a missing Dart import for a view-only wallet data model and updates a dependency lock file for the Spark mobile library. There is no direct evidence in the commit that this fixes a security vulnerability; it appears to be a routine build/import fix.

AI review queuedclean up merge conflictsby julian · cdc2e049 · Nov 18, 2025 · 2 filesMessage 28 · OpaqueInformational 15Details
Commit message · julian

clean up merge conflicts

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 15/100

This commit is purely cosmetic code cleanup after resolving a merge conflict. It reorders two import statements in each file and reformats some Dart code (line breaks, spacing, trailing commas) without changing any logic, behavior, or security controls. There is no security-relevant change.

AI review queuedre add check to ensure change addresses are not shown as receiving addressesby julian · 6f1a57ec · Nov 18, 2025 · 1 fileMessage 62 · AdequateModerate 60Details
Commit message · julian

re add check to ensure change addresses are not shown as receiving addresses

62/100 · AdequateMessage clarity
✓ Specific, 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 · Moderate 60/100

This commit fixes a bug in the Stack Wallet app where a special internal 'change' address for the Spark privacy feature could accidentally be shown to the user as a normal receiving address. If a user copied and shared that address, funds meant as change from a transaction could be sent to a publicly visible address, weakening the privacy protections that Spark is designed to provide. The fix re-adds checks that skip over the change diversifier when generating addresses to display.

AI review queuedre add try catch in init() (and dart format)by julian · 43111370 · Nov 18, 2025 · 1 fileMessage 45 · ThinLow 34Details
Commit message · julian

re add try catch in init() (and dart format)

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 34/100

This commit re-adds a try/catch block around wallet initialization code for the Spark privacy feature. It means if something goes wrong while setting up Spark addresses or keys, the app will log the error but still let the user open the wallet, rather than crashing. Most of the change is automatic code formatting. The security relevance is unclear from the commit alone: it could be a stability fix, or it could mask a deeper problem that previously caused crashes.

Security candidateImplement Firo view key functionality.by cassandras-lies · 42728a1d · Nov 18, 2025 · 16 filesMessage 45 · ThinLow 28Details
Commit message · cassandras-lies

Implement Firo view key functionality.

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
privacy or spend-authorization protocolcryptography-sensitive pathsigning or wallet path
AI analysis · Low 28/100

This commit adds the ability to create and use Firo 'view-only' wallets using a Spark view key. A view-only wallet lets someone see incoming transactions and balances without being able to spend funds. The change adds UI screens to display and restore the Spark view key, and updates the wallet logic so Firo wallets can scan Spark transactions using the view key instead of the full private key. It also blocks spending, minting, and fee estimation in view-only mode. There is no direct evidence in the commit of a security vulnerability, but the change touches sensitive key-handling code and should be reviewed carefully.

AI review queuedset IME_FLAG_NO_PERSONALIZED_LEARNING for mnemonic words entry textfieldsby julian · 94b04891 · Nov 17, 2025 · 1 fileMessage 50 · ThinModerate 52Details
Commit message · julian

set IME_FLAG_NO_PERSONALIZED_LEARNING for mnemonic words entry textfields

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 · Moderate 52/100

This commit adds a privacy flag to the text boxes where users type their wallet recovery phrase (mnemonic seed words). The flag tells the phone's keyboard not to learn or remember those words for personalized suggestions. Without it, sensitive seed words could be stored in the keyboard's user dictionary or cloud-backed learning models, increasing the risk that someone with access to the keyboard data could recover part of a wallet backup.

AI review queuedfix custom mwc mnemonic length null errorby julian · 243aff10 · Nov 17, 2025 · 1 fileMessage 45 · ThinInformational 23Details
Commit message · julian

fix custom mwc mnemonic length null 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 23/100

This commit fixes a bug where creating a new Mimblewimblecoin (MWC) wallet could leave the recovery-phrase passphrase unset (null) instead of setting it to an empty string. The change adds Mimblewimblecoin to the same special-case handling already used for Epiccash and Solana wallets. A null passphrase could cause a crash or unexpected wallet-creation failure, but there is no direct evidence it enables theft of funds or unauthorized access.

AI review queuedfix mobile splash colorsby Julian · 952f1f6a · Nov 17, 2025 · 1 fileMessage 28 · OpaqueInformational 15Details
Commit message · Julian

fix mobile splash colors

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 only adds dark-mode splash screen background colors to a Flutter mobile app configuration. It is a cosmetic UI change with no security relevance.

Security candidateupdate epic nodeby julian · 55bb2cb7 · Nov 17, 2025 · 1 fileMessage 28 · OpaqueLow 39Details
Commit message · julian

update epic node

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
cryptography-sensitive pathsigning or wallet path
AI analysis · Low 39/100

This commit changes the default Epic Cash node used by Stack Wallet from an unencrypted HTTP connection to an encrypted HTTPS connection, and switches the domain from epiccash.stackwallet.com to epic.stackwallet.com. The main security improvement is that wallet traffic to the default node is now protected from eavesdropping and tampering on the network. There is no direct evidence in the commit of an active attack or vulnerability disclosure.

AI review queueddependency update spreeby julian · b0528715 · Nov 17, 2025 · 24 filesMessage 28 · OpaqueLow 32Details
Commit message · julian

dependency update spree

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: broader security terminologysecond-pass: opaque commit messagesecond-pass: unusually broad changesecond-pass: security-sensitive path
AI analysis · Low 32/100

This commit is a routine bulk dependency and splash-screen refresh for a cryptocurrency wallet app. It updates many third-party libraries (including ones handling Ethereum, Stellar, encryption, and Bitcoin address derivation), switches some packages to CypherStack's own forks, and adjusts Android/iOS launch screen assets. The commit itself does not describe any security bug or fix, and the code changes visible in the diff are mostly mechanical API adjustments needed to match newer library versions. There is no direct evidence in the commit that a vulnerability was patched, but updating dependencies in a wallet app can indirectly affect security by pulling in upstream fixes or, conversely, introducing new bugs.

AI review queuedremove unused dependencyby julian · e593452f · Nov 14, 2025 · 2 filesMessage 28 · OpaqueInformational 15Details
Commit message · julian

remove unused dependency

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
second-pass: broader security terminologysecond-pass: opaque commit message
AI analysis · Informational 15/100

This commit simply removes an unused icon library called flutter_feather_icons from the project's dependency list. There is no indication of a security issue, bug fix, or behavior change. It is a routine cleanup change.

AI review queuedfeat(spl): cache local sol & spl txs and update txs as they confirmby sneurlax · c3a1cdcd · Nov 14, 2025 · 2 filesMessage 62 · AdequateLow 25Details
Commit message · sneurlax

feat(spl): cache local sol & spl txs and update txs as they confirm

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 25/100

This commit adds local caching of pending Solana and SPL token transactions so the wallet UI can show a 'Sending' state immediately, and later updates those records once the network confirms them. It is a feature/refactoring change, not an obvious security fix. There are no clear signs it was released to patch a vulnerability, and no independent researcher or CVE is mentioned.

AI review queuedfeat(spl): cache token transfersby sneurlax · aa87ab1d · Nov 14, 2025 · 2 filesMessage 57 · ThinInformational 16Details
Commit message · sneurlax

feat(spl): cache token transfers

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 16/100

This commit adds a feature that immediately records a pending Solana token transfer in the local wallet database before the blockchain confirms it. It is a normal UI/UX improvement so users see outgoing transactions faster. There is no direct security vulnerability in the diff, but the code silently ignores database write failures, which could in rare cases leave the wallet's transaction history inconsistent with what was actually broadcast.

AI review queuedupdate android buildby julian · f2b04635 · Nov 14, 2025 · 4 filesMessage 28 · OpaqueInformational 19Details
Commit message · julian

update android build

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 19/100

This commit updates the Android build tooling for the Stack Wallet app. It bumps the Gradle build tool, Android Gradle Plugin, NDK, and adds ProGuard keep/dontwarn rules needed for flutter_secure_storage. These are routine maintenance changes to keep the app building with newer Android tools; there is no direct evidence in the commit of a security vulnerability being fixed.

AI review queuedupdate min flutter versionby julian · 8f7822db · Nov 13, 2025 · 2 filesMessage 35 · OpaqueInformational 15Details
Commit message · julian

update min flutter version

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 simply bumps the minimum required Flutter and Dart versions and updates a few related package versions (including google_fonts and meta). There are no code changes affecting app logic, security controls, or user data handling. It is a routine dependency/maintenance update.