August 18th, 2025
August 18th, 2025
New
Improved

A new wrapper for Koffee.Setup() + Koffee.Init().
Wrap your root (or target) layout to configure Koffee in one place β stable across recompositions.
val myConfig = remember {
KoffeeDefaults.config.copy(
layout = { GlowingToast(it) },
dismissible = true,
maxVisibleToasts = 3,
position = ToastPosition.BottomCenter,
animationStyle = ToastAnimation.SlideUp,
durationResolver = ::customDurationResolver,
)
}
fun customDurationResolver(duration: ToastDuration): Long? = when (duration) {
ToastDuration.Short -> 5000L
ToastDuration.Medium -> 7000L
ToastDuration.Long -> 10000L
ToastDuration.Indefinite -> null
}
KoffeeBar(
modifier = Modifier.padding(innerPadding),
config = myConfig,
) {
NavHost()
}
toasts_suite)Two new demo toast layouts to inspire your own:
GlowingToast
GradientToast
Want yours featured? Open an issue + PR.
Linting β Added custom lint rules for marking experimental Koffee APIs.
Koffee.show(scope = β¦) is deprecated.
Before: You could pass a custom coroutine scope.
Now: Always call Koffee.show() without a scope β DefaultToastHostState runs on the main thread and uses mutex.withLock to ensure only one toast shows/dismisses at a time.
Donald O. Isoe β Creator & Maintainer
Full Changelog: 0.0.4 β 0.1.0
Built on β by Donald O. Isoe
test: Adds tests to project and workflow (closes #13) by @donald-okara in https://github.com/donald-okara/koffee/pull/19
docs: Adds inline documentation and markdowns (closes #14, #15) by @donald-okara in https://github.com/donald-okara/koffee/pull/20
chore: Deprecates unused scope from Koffee.show (closes #22) by @donald-okara in https://github.com/donald-okara/koffee/pull/23
docs: refactor readme to include maven central implementation (Fixes #28) by @donald-okara in https://github.com/donald-okara/koffee/pull/29
docs: add conventions to contributions md (Fixes #27) by @donald-okara in https://github.com/donald-okara/koffee/pull/30
feat: add custom lint rules (Fixes #24) by @donald-okara in https://github.com/donald-okara/koffee/pull/32
docs: add linting (closes #24, #25) by @donald-okara in https://github.com/donald-okara/koffee/pull/33
feat: add KoffeeBar to wrap composable using toasts (Fixes #34) by @donald-okara in https://github.com/donald-okara/koffee/pull/35
feat: merge branches to master by @donald-okara in https://github.com/donald-okara/koffee/pull/37
Full Changelog: https://github.com/donald-okara/koffee/compare/0.0.4...0.1.0