Fix black screen when per-chat wallpaper fails to download#1370
Open
GeiserX wants to merge 1 commit intoovertake:masterfrom
Open
Fix black screen when per-chat wallpaper fails to download#1370GeiserX wants to merge 1 commit intoovertake:masterfrom
GeiserX wants to merge 1 commit intoovertake:masterfrom
Conversation
When a channel has a custom wallpaper that isn't cached locally, themeWallpaper emits .loading, then moveWallpaperToCache may complete without emitting a value if the resource never fully downloads. The .loading case in the presentation update handler was a no-op (break), which meant the presentation theme was never set. Since the TableView background is .clear and no BackgroundView overlay was created, the chat rendered as a completely black/blank screen. Apply the base theme during .loading so there is always a visible background while the wallpaper is being fetched. Fixes overtake#1369
Author
Fix verified ✅Built the patched client locally (Debug, Xcode 26) and confirmed the fix resolves the issue. The channel that was rendering a completely black message area now displays correctly. Before: Blank/black message area (see issue screenshot) The one-line change — applying the base theme presentation during the |
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary
themeWallpaperemits.loadingfollowed bymoveWallpaperToCache. If the wallpaper resource never fully downloads,moveWallpaperToCachereturns.complete()without emitting a value (CoreExtension.swift:2845), so.result(...)is never delivered..loadingcase in the presentation update handler (ChatController.swift:3270) was a no-op (break), meaning the presentation theme was never applied.TableViewbackground is.clearand noBackgroundViewoverlay was created without a theme, the chat rendered as a completely black/blank screen.Fix
Apply the base theme with emoticon themes during
.loading(same call as the.resultpath at line 3257), so there is always a visible background while the wallpaper is being fetched. Once the wallpaper finishes downloading, the.resultcase fires and applies the wallpaper on top — no change in behavior for the happy path.Reproduction
Fixes #1369