SwiftMiner 1.38
Each miner now explains itself in one place: a single operator panel, a queue that matches the summary above it, and a plain answer when there is no stream to watch.
🐝 Bug fixes
Fixes to queue rendering and timestamp clarity.
- A campaign can no longer appear twice in Campaign Queue when the miner’s current item and its scheduled candidates name it differently.
- Recent activity timestamps include AM/PM again, so an evening event is no longer indistinguishable from a morning one.
- Hardens campaign lookup against duplicate campaign IDs returned by Twitch.
- The game-account link reminder no longer disappears for the campaign a miner is currently mining. The reminder was keyed off a status that resolves to “watching” the moment a campaign becomes the active target, so the warning went quiet for exactly the campaign accruing watch time toward a reward that needs the link to be delivered. It now appears in Needs attention and in the sidebar and Dock badges whether the campaign is queued or being watched.
🩺 One operator panel per miner
Miner health and recovery history are no longer two separate cards to cross-reference.
- Recovery status, the live Twitch, campaign and drop-progress signals, and recent activity are combined into a single Status panel on each miner.
- A healthy miner presents as one quiet line with its readings alongside, instead of a troubleshooting checklist. The full panel appears when something actually needs attention, and names what it is.
- Recent activity uses the same wording, symbols and colours as the Activity Log, so an event means the same thing in both places.
- The panel narrows to a stacked layout rather than clipping its readings when the window is small.
📋 A queue that matches the summary
Campaign Queue and the mining summary above it are now built from one resolved order.
- Up next and Campaign Queue always agree. Previously each worked out its own ordering, so the queue could disagree with the summary printed directly above it.
- A prioritised campaign still awaiting a game-account link stays visible in the queue rather than disappearing from the schedule. It keeps its real scheduling status — the miner does watch and claim it — and carries a link marker noting that in-game delivery still needs the account linked. Muting that reminder stays in Needs attention, so the control is not repeated once per campaign.
📡 Clearer waiting-for-stream status
A waiting miner explains itself on its own card.
- A miner with no eligible stream live now says so on its card, names the campaign it is waiting on, and states that earning resumes automatically when a stream goes live.
- Drops goes back to being about campaigns. The waiting-for-stream banner has moved onto the miner it describes, which is where the answer was actually needed.
⚡ Clearer active-mining status
Active mining now looks like a status, not a playback control.
- Mining and watching status indicators use a gently pulsing bolt instead of a play button, while actual playback actions and the explicit channel-watching label keep their media symbols. The pulse stops when Reduce Motion is enabled.
- Debug builds add a per-miner Developer-menu state that shows a clearly labelled synthetic campaign with active drop progress, without touching Twitch or the real mining engine.
- Drops adds All and Prioritised filters. All restores the complete curated campaign feed, while Prioritised follows the active global or per-miner priority list.