Skip to content

Stop the divider defaulting its background to black#526

Merged
DROOdotFOO merged 1 commit into
DROOdotFOO:masterfrom
merklebonsai:pr/divider-no-default-black-bg
Jul 15, 2026
Merged

Stop the divider defaulting its background to black#526
DROOdotFOO merged 1 commit into
DROOdotFOO:masterfrom
merklebonsai:pr/divider-no-default-black-bg

Conversation

@merklebonsai

Copy link
Copy Markdown
Collaborator

One-line fix, same class as #520.

render_visible_element(%{type: :divider, ...}) in ui_renderer.ex defaulted
bg to :black when no style was set. Every other element in the paint path
(element_renderer, border_renderer) went through this fix in #520; the
divider clause was outside that sweep and kept the old default.

Visible effect: a divider inside a modal punches an opaque black cell through
the modal's :surface fill, instead of showing it — see ADR-0029 rule 2 (an
unpainted background means "show what is beneath", not "paint black").

bg = Map.get(style, :bg, :black)   # before
bg = Map.get(style, :bg)           # after -- nil, inherits the fill beneath

No test pinned the old default. Full suite: 4712/4715 — the 3 failures are
pre-existing env-leak flakes (TERM/metrics timing), unrelated and present
on master too.

ADR-0029 rule 2: an unpainted background emits no background. This
clause defaulted bg to :black on its own, unlike every other element
in the paint path -- element_renderer and border_renderer both went
through this fix already (DROOdotFOO#520), the divider was missed.

Visible on a modal: the surface fills its interior with the theme's
:surface colour, but the divider punched a black cell through it
because :black overrides the fill instead of showing it.
@DROOdotFOO
DROOdotFOO merged commit 26af860 into DROOdotFOO:master Jul 15, 2026
27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants