2.0.0-alpha.11
Alpha Alpha 11July 10, 2026
A days-to-expiration limit for auto strategies and smarter fractional cleanup, plus a broad round of parsing, portfolio, Telegram, and broker sign-in fixes.
New 4 items
See exactly which stocks a retrigger will buy or sell before it fires
The Retrigger button on a serverside strategy now shows the current batch of stocks first, instead of firing blind. Pick Buys, Sells, or Both and choose a broker, and the list updates as you go so you can see exactly what will go out. The button reads how many orders will fire, so you commit knowing the count. Nothing is sent until you press it.
Trade notifications now say what was done and how much
A fill notification used to show only the ticker and a Long or Short tag, so a buy looked the same as a trim. Each card now leads with the action, Bought, Sold, or Trimmed, and shows the quantity, the contracts or shares actually closed on a sell or trim, or the amount put in on a buy. When a trade is rejected or does nothing, the card now says what it was trying to do, so you are never left guessing.
Limit how far out an expiration a From signal strategy will take
When a strategy pulls the expiration straight from the signal, you can now set an optional day limit on it: cap how far out it can be (at most N days) or how soon (at least N days). The strategy then skips any contract outside that window. It stays off unless you set it, so nothing changes for strategies that pick a fixed expiration.
Stop chasing positions that will not sell
Fractional cleanup now gives up on a tiny leftover share after it fails to sell a few runs in a row, instead of retrying it forever. The ones it can never clear stop cluttering the run and burning attempts.
Fixed 13 items
Fidelity stays signed in instead of logging in over and over
Fidelity could sign in fine, then refresh a few times and sign in again, looping like that for hours and eventually showing offline. It was reading your positions right after login, and when that read came back empty the app treated a healthy, signed-in account as dead and started over. That read is now reliable, so once Fidelity is in it stays in. If reading positions ever does fail, the broker log now spells out exactly why instead of failing silently.
Robinhood buys go through on thin tickers instead of erroring out
A Robinhood market order on a ticker with no live quote at that moment used to fail with a cryptic error and retry itself several times for nothing. It now prices the order itself and sends it as a limit, so the trade actually lands. If no price can be found anywhere, it fails once with a clear reason instead of a confusing error.
A closing options trade that filled will never show as an error
When a Tradier option sell filled at the broker but a follow-up step hiccuped, the app used to show a red error and no fill, even though the position had actually closed. A confirmed fill is now always reported as filled, so what you see matches what happened at the broker.
An options strategy no longer trades a spread by mistake
A message that clearly describes a spread, like a put spread or an iron condor, is now only acted on by a Spreads strategy. An Options or Stocks strategy watching the same channel will skip it instead of trying to trade one leg of it.
Keyword filters now match whole words, not fragments
A must-contain keyword was matching on partial text, which could let signals through that you meant to block. Matching is tighter now, so your keyword rules do what they say.
Sells that close nothing show No action instead of a fake fill
On IBKR and Tradier, a sell or trim that had no matching position to close used to pop up as a green Filled. It now shows a neutral No action card with the broker's own reason, so you are never told a trade happened when it did not.
An empty OK from IBKR no longer counts as a fill
IBKR could answer a trade with a blank success and no order behind it, and the app took that as Filled even though nothing was placed. A trade now only reads as filled when IBKR actually confirms one. A blank answer is treated as no order placed, with a note to check the strategy's slippage setting and that your IBKR connection is up, and the alert stays free to fire again once it is fixed.
A trim on IBKR can no longer accidentally flip you short
When a trim on IBKR closed the whole position instead of part of it, the leftover stop-loss could keep working against a position you no longer held and fire, opening a short. After a trim fills, the app now re-checks that exact contract with the broker and, if it is actually flat, cancels that trade's own stop and take-profit so nothing is left resting. It only touches the trimmed contract, so other strikes on the same ticker are untouched.
An IBKR trade with a blank stop or take-profit no longer errors out
A strategy that left its Stop Loss or Take Profit box empty could make an IBKR trade fail with a confusing error and place nothing. An empty stop or take-profit is now read as off, so the trade goes through as intended.
Sign-in prompts appear reliably again
The Cloudflare check, app-approval, manual-login, and two-factor prompts now surface consistently across brokers when a sign-in needs your input, instead of getting stuck with nothing shown.
Closing a spread from a vague message keeps the right expiration
When you post a plain close-it style message for a spread, the app now carries over the expiration from the open it remembers, so it closes the contract you actually hold. A missing expiration is treated as missing rather than a real date.
A broker that times out on a trade now resolves instead of spinning forever
When a broker took too long to answer and the trade timed out, the broker's row could sit on dispatching with no result, looking stuck. It now closes out with a clear message that the order may not have been placed, so the row resolves and the alert is still free to re-fire.
Re-check on the cloud-sync banner actually retries the sign-in now
When strategies could not sync because of a brief cloud outage, the Re-check button only re-read the same error and did nothing. It now genuinely reconnects to the cloud, shows its progress while it works, and clears the banner once it is back, instead of leaving you clicking with no effect.
Brokers 15 items
A whole-broker manual trade reaches every login, not just the first
Placing a manual trade against a multi-login broker like Chase or Fidelity now sends it to all of your logins. Sub-account chips are also scoped to their own login so you are picking from the right accounts.
Chase and Fidelity fan out across accounts unless you pick one
A trade sent to Chase or Fidelity without a specific login targeted now goes to every account, and only pins to one when you deliberately choose it.
Chase shows the SMS code box when it asks for a text code
Chase sometimes routes sign-in to an enter-your-code text-message page instead of an in-app push. The app now detects that page and shows the code input, and it accepts Chase's 8-character letter-and-number codes.
Fidelity stops reporting a live account as signed out
Fidelity no longer tears down a healthy session or trades with a stale two-factor secret, so an account that is actually signed in is no longer stuck reporting session expired and refusing to trade.
Fidelity stops falsely reporting sign-in failed after a column rename
Fidelity changed the capitalization of the headers in its positions export, which broke the app's read of your holdings and surfaced as a bogus sign-in-failed, even though sign-in had worked and the data downloaded fine. The app now matches those columns regardless of casing, so a future header tweak will not break it, and it logs the real reason if a read ever does fail instead of blaming sign-in.
Fidelity no longer hangs forever on a fresh sign-in mid-trade
If Fidelity had to sign back in during a trade and then landed on a blank or half-loaded page, the trade could hang with no timeout and leave a submitting spinner that never resolved until the app gave up minutes later. Fidelity now fails fast on a wedged page and reports a clear result, so the trade ends properly instead of stalling.
Wellstrade recovers a stuck Starting browser sign-in
A wedged browser launch that left an account stuck forever, where Cancel did nothing, can now be cancelled, so a hung start no longer strands the account.
Wellstrade recovers on its own when its trade page loads blank or stale
Wellstrade's site sometimes comes up with the trade form missing or a page that never finishes loading, which used to make trades go silent or get refused as Unknown Account. It now waits a sensible amount of time, refreshes and retries, and restarts the browser and signs back in if needed, before giving up with a plain-English reason. Its hourly browser refresh also signs back in properly now, instead of quietly coming back logged out.
Wellstrade can read your holdings again to place sells
A new fixed footer on Wellstrade's site was covering the link the app clicks to read your positions, so holdings came back empty and every sell was refused. The app now works around the overlay, so it can see your positions and sell them.
Public keeps all your sub-accounts through a token refresh
Public rotates its account id on every token refresh, which could quietly collapse a multi-account scan down to one account mid-way. The scan survives the refresh now, so every sub-account is read.
Public round-up shares read as consolidating, not new buys
Round-up, reward, and corporate-action shares show up as position adjustments now, so fractional cleanup treats them correctly instead of mistaking them for purchases.
Public stops getting wedged on a corrupt saved session
If Public's saved session got corrupted by a crash or a sync race, the next start could fail to sign that account in until the file was cleared by hand. Public now saves its session safely and recovers a bad one on its own by signing in fresh, so it stops getting stuck.
Robinhood signs itself back in and shows the app-approval prompt
Robinhood could fail to sign back in on its own and never show the approve-in-your-Robinhood-app prompt, because it looked like a brand-new device on every re-login and got challenged each time. It now remembers the device across sign-ins so it stops re-challenging, and surfaces the app-approval prompt when it does need you. It also learns which of your accounts are closed or restricted and skips them, so those stop causing errors on every trade.
Robinhood sub-dollar orders actually fill now
On cheap, sub-dollar stocks, Robinhood's backup limit price could land just above the ask and never fill. It now prices those orders to cross the spread using Robinhood's real price increments, so sub-dollar buys go through instead of resting unfilled.
Brokers reach the cloud again on machines with an out-of-date security store
On some machines with a stale Windows certificate store, a couple of brokers could not reach our servers and failed with a certificate-expired error even though everything was current on our side. Those brokers now use their own bundled, up-to-date certificates, so they connect regardless of the machine's state.
