SyncAuthError and SyncBusyOverlay on same entity — auth error text is always invisible #20

Closed
opened 2026-05-19 18:43:05 +00:00 by funman300 · 0 comments
Owner

File

solitaire_engine/src/sync_setup_plugin.rs lines 684–691 (spawn), 416–418 (poll)

Description

The status line node is spawned with both SyncAuthError and SyncBusyOverlay components on the same entity. In poll_auth_task, on both success and error paths, the first operation is:

for mut vis in &mut busy_nodes {  // matches With<SyncBusyOverlay>
    *vis = Visibility::Hidden;
}

This hides the entity before the error text is written to it. The player never sees the error message — the entity is always invisible when errors occur.

Fix

Use two separate child entities: one bearing only SyncBusyOverlay (hidden on task completion), and one bearing only SyncAuthError (set to Visible when an error occurs).

## File `solitaire_engine/src/sync_setup_plugin.rs` lines 684–691 (spawn), 416–418 (poll) ## Description The status line node is spawned with **both** `SyncAuthError` and `SyncBusyOverlay` components on the same entity. In `poll_auth_task`, on both success and error paths, the first operation is: ```rust for mut vis in &mut busy_nodes { // matches With<SyncBusyOverlay> *vis = Visibility::Hidden; } ``` This hides the entity before the error text is written to it. The player never sees the error message — the entity is always invisible when errors occur. ## Fix Use two separate child entities: one bearing only `SyncBusyOverlay` (hidden on task completion), and one bearing only `SyncAuthError` (set to `Visible` when an error occurs).
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: funman300/Ferrous-Solitaire#20