Troubleshooting
problems and their fixes.
Messages you may see, what they mean and what to do, grouped by where they appear. Tip: paste the exact message into the search box.
01Build and tests
product_identity_test fails with "git ls-files failed: not a git repository"
The test reads the list of tracked files from Git. Run git init, git add . and git commit in the project folder, then flutter test again (Installation).
product_identity_test fails after you changed the bundle ID
The test checks the shipped ID com.tideapp.app. Update the expected values in test/product_identity_test.dart to your own ID.
tide_theme_test fails after a colour change
A text colour no longer has enough contrast on its background. Adjust the colour in lib/ui/tide_colors.dart (Rebranding).
MissingPluginException or strange errors after changing packages
flutter clean
flutter pub getOn iOS also run pod install --repo-update in ios/.
"Expected to find fonts for (MaterialIcons, packages/cupertino_icons/CupertinoIcons)" during flutter build web
A warning from a plugin, not an error. TIDE's own screens do not use Cupertino icons, so nothing renders blank.
iOS: "No profiles for …" or signing errors
In Xcode select your own Team under Signing & Capabilities and register the bundle ID in your Apple Developer account.
Google Play rejects the bundle as debug-signed
Release is signed with the debug key until you add your own (how).
02Wallet and balances
Web build: SOL loads, token balances do not
The shipped public endpoint (solana-rpc.publicnode.com) refuses the getTokenAccountsByOwner call, and api.mainnet-beta.solana.com refuses any request from a browser. TIDE does not send the refused call and says so on the wallet screen. Fix: Operator panel → Endpoints and credentials → Solana RPC URL with your own endpoint. Android and iOS are not affected by the browser limit.
Balances or history load slowly, or fail with rate-limit errors
Public endpoints are shared and rate-limited. Set your own RPC URL.
I set a Helius API key and nothing changed
In 0.1.0 the Helius key field is stored but not used by any network call. Paste the full Helius URL into Solana RPC URL instead.
The feed does not update by itself
By design. The feed refreshes when you pull to refresh or press refresh, never on a timer: a timer across 25 followed wallets would exhaust a free RPC tier within minutes.
03Fee and earnings
The confirm sheet says "App fee: None"
The fee is off, the rate is 0, or the Solana fee wallet is empty or invalid. Check Operator panel → Swap fee and the warnings under Settings → About.
"Fee disabled: …" in the warnings
The fee guard found a blocking problem (no wallet, malformed address, placeholder-looking address, or a value above its cap). Nothing is charged until you fix it.
A swap fails after I switched the fee on
Check that your fee wallet's token account exists for the token being bought (Earnings → Where the fee lands).
My panel change did not take
Look at In force right now. A hosted document with admin_locked overrides the panel; otherwise the panel wins. Also check that you pressed Save and apply and that no field shows an error.
Setting evm_chain_enabled does nothing
Expected. Base is scaffolded without a quote source in 0.1.0.
04Operator panel
I cannot open the operator panel
It asks for the device's own unlock. Where the device cannot ask (web, phones without a screen lock), type OPERATOR in the dialog.
The panel is read-only
Your hosted document sets "admin_locked": true. Change the hosted document, or remove the key to hand control back to devices.