Documentation
Arbitration
How SpryUI decides which message to show when more than one message matches.
How winners are picked
Snippettext
Comparator order (highest precedence first):
1) priority (descending numeric)
2) type rank (MODAL > BANNER > TOAST)
3) message id (lexicographic)
4) stable sort fallback preserves original order for exact tiesSpryUI uses the same ordering each time, so a refresh does not randomly change which message wins.
Arbitration matrix
- Winning modal suppresses: other modals, toasts, and fixed banners in top/bottom rails.
- Fixed banners suppress centered fixed toast rails in the same top or bottom rail.
- Corner toasts are ordered by priority, then message id.
Modal exclusivity
Exactly one modal can be active. The highest-ranked modal is selected, and all suppressed competitors are recorded with explicit reasons.
Debug suppression metadata
Snippettext
Suppression reason keys:
- arbitration.modal.suppressed_by_modal
- arbitration.modal.suppresses_overlay
- arbitration.modal.suppresses_fixed_banner
- arbitration.rail.fixed_banner_suppresses_fixed_toastDebug overlay receives suppressed message IDs plus reason keys to make winner selection traceable.