Methods
(static) backgroundWriteIsStale(activeSubtype, owningSubtype) → {boolean}
backgroundWriteIsStale: true when a global-backdrop write should be SUPPRESSED because the writing screen is no longer the active routed view.
The app has a SINGLE global backdrop node (JRScene.imageFader, last-writer-wins, no ownership guard). A view whose async data lands AFTER it has been backgrounded can otherwise clobber the foreground view's backdrop. The concrete case: on a cold deep-link launch the app routes Home -> ItemDetails, but Home's row Tasks finish loading LATE and its rowItemFocused observer fires a backdrop write after ItemDetails is already showing — blanking the item the user was deep-linked to. Warm navigation doesn't hit this because Home's rows are already loaded before it is backgrounded.
Suppress only when a DIFFERENT valid view owns the screen. An unset/empty active subtype (early mount, before m.global.activeRoutedView is assigned) is allowed through, so a legitimate first paint is never dropped. Pure so the rule is unit-testable.
NOTE (tech-debt: backdrop-ownership-guard): the durable fix is to move this check INTO JRScene.setBackgroundImage keyed to m.global.activeRoutedView, so EVERY late writer (not just Home) is guarded. This helper is the isolated fix for the observed HomeRows cold-launch clobber.
| Name | Type | Description |
|---|---|---|
activeSubtype | dynamic | m.global.activeRoutedView.subtype() (or invalid when none/unset) |
owningSubtype | string | the subtype of the screen attempting the write (e.g. "Home") |
- Source
- true to SUPPRESS the write (a different view is active)
- Type:
- boolean
(static) resolveShowBackdrop(userSettings, userConfig) → {boolean}
resolveShowBackdrop: Resolves whether to show backdrop images
Checks JellyRock override setting first, then falls back to web client setting. Ensures a valid boolean is always returned.
| Name | Type | Description |
|---|---|---|
userSettings | object | JellyfinUserSettings node (JellyRock settings) |
userConfig | object | JellyfinUserConfiguration node (web client settings) |
- Source
- True to show backdrops, false to hide them
- Type:
- boolean