Skip to content

chore(deps): migrate Haze to 2.0.0-beta01 - #1257

Merged
bmc08gt merged 1 commit into
code/cashfrom
claude/haze-2-beta01-migration
Aug 20, 2026
Merged

chore(deps): migrate Haze to 2.0.0-beta01#1257
bmc08gt merged 1 commit into
code/cashfrom
claude/haze-2-beta01-migration

Conversation

@bmc08gt

@bmc08gt bmc08gt commented Aug 20, 2026

Copy link
Copy Markdown
Collaborator

Supersedes #1234 (Dependabot's 2.0.0-alpha03 -> 2.0.0-alpha04 bump).

Why beta01 and not alpha04

alpha04 is a hard break at every call site in this repo — I checked out #1234 and compiled it: 17 errors in :ui:components alone (Unresolved reference 'blurEffect', No value passed for parameter 'input', HazeState no longer accepted where a HazeEffectFactory is expected). So #1234 is not mergeable as-is regardless.

Given that, taking alpha04 means paying the migration cost twice: beta01 removes the alpha-era HazeBlurStyle(...) constructor shims and makes HazeColorEffect factory-only. beta01 also fixes a cross-window recomposition livelock that affects a HazeState shared between a host composable and a Dialog — which this app does.

API changes applied

Before (alpha03) After (beta01)
Modifier.hazeEffect(state) { blurEffect { style = s } } Modifier.hazeBlur(HazeInput.Sources(state), s)
HazeBlurStyle(blurRadius = …, backgroundColor = …, colorEffect = …) HazeBlurStyle { blurRadius(…); backgroundColor(…); colorEffects(listOf(…)) }
blurEffect { this.blurRadius = r; style = m } m.then { blurRadius(r) }

HazeState, rememberHazeState, hazeSource and HazeMaterials are unchanged.

One wrinkle worth flagging for future call sites: the HazeBlurStyle { } builder is not a @Composable scope, so CodeTheme.* reads have to be hoisted above it. Each migrated site now does that, with a comment.

Call sites migrated

  • ui/components/.../BlurredContent.kt — animated per-call blur radius now composed onto the material via then { }
  • ui/components/.../CircularIconButton.kt — app-bar glass icon buttons
  • apps/flipcash/core-ui/.../NavigationBar.kt — v2 nav pill
  • apps/flipcash/features/tokens/.../CurrencyInfoContentV2.kt — currency title pill
  • apps/flipcash/shared/tokens/.../CurrencyCreatorUpsellCard.kt
  • apps/flipcash/features/messenger/.../ChatBottomBar.kt — typing indicator + chat input
  • apps/flipcash/features/messenger/.../SendCashButton.kt

Verification

./gradlew :apps:flipcash:app:assembleDebug — green.

Still needed: a visual pass. Compiling proves the API migration, not that the glass still looks right. Worth eyeballing the v2 nav pill (including over the scanner tab), the currency title pill and creator upsell card, the chat input / send-cash bar mid-type, and the app-bar icon buttons.

Once this lands, #1234 can be closed.

@github-actions github-actions Bot added area: ui Compose UI, theme, components, resources area: build-system Gradle, convention plugins, build-logic area: tokens Token accounts, balances, token info type: chore Maintenance, config, CI/CD labels Aug 20, 2026
Supersedes Dependabot's 2.0.0-alpha03 -> 2.0.0-alpha04 bump (#1234). alpha04
is a hard break for every call site here, and beta01 breaks them again by
removing the alpha-era source shims, so migrating straight to beta01 absorbs
the churn once instead of twice. beta01 also fixes a cross-window recomposition
livelock that affects a HazeState shared between a host composable and a Dialog.

API changes applied:
- Modifier.hazeEffect { blurEffect { style = ... } } -> Modifier.hazeBlur(
  HazeInput.Sources(state), style)
- HazeBlurStyle(...) constructor -> HazeBlurStyle { } builder; colorEffect
  becomes colorEffects(List<HazeColorEffect>)
- BlurredContent's per-call blur radius override now composes onto the
  material via HazeBlurStyle.then { blurRadius(...) }

The HazeBlurStyle builder is not a @composable scope, so CodeTheme reads are
hoisted above it at each call site.

HazeState, rememberHazeState, hazeSource and HazeMaterials are unchanged.

Verified with :apps:flipcash:app:assembleDebug. The glass surfaces (v2 nav
pill, currency title pill, creator upsell card, chat input/send bar, app-bar
icon buttons) still need a visual pass.
@bmc08gt
bmc08gt force-pushed the claude/haze-2-beta01-migration branch from e9da3bb to c69fd17 Compare August 20, 2026 12:46
@bmc08gt
bmc08gt merged commit 9bf3c61 into code/cash Aug 20, 2026
3 checks passed
@bmc08gt
bmc08gt deleted the claude/haze-2-beta01-migration branch August 20, 2026 12:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: build-system Gradle, convention plugins, build-logic area: tokens Token accounts, balances, token info area: ui Compose UI, theme, components, resources type: chore Maintenance, config, CI/CD

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant