fix(model): MoA row shows 'not loaded' on null temperatures (#1421)
This commit is contained in:
3 files changed
+45
-5
No files matched your search
@@ -25,14 +25,20 @@ data class MainModelAssignment(
|
||||
data class MoaModelSlot(
|
||||
val provider: String,
|
||||
val model: String,
|
||||
val reasoning_effort: String? = null,
|
||||
val enabled: Boolean = true,
|
||||
)
|
||||
|
||||
@Serializable
|
||||
data class MoaConfigPreset(
|
||||
val reference_models: List<MoaModelSlot>,
|
||||
val aggregator: MoaModelSlot,
|
||||
val reference_temperature: Double = 0.7,
|
||||
val aggregator_temperature: Double = 0.3,
|
||||
// null = omitted from API calls (provider default); the backend sends null when unset.
|
||||
val reference_temperature: Double? = null,
|
||||
val aggregator_temperature: Double? = null,
|
||||
val reference_timeout: Double? = null,
|
||||
val degraded_reference_policy: String = "loud",
|
||||
val fanout: String? = null,
|
||||
val max_tokens: Int = 4096,
|
||||
val enabled: Boolean = true,
|
||||
)
|
||||
@@ -44,8 +50,12 @@ data class MoaConfigResponse(
|
||||
val presets: Map<String, MoaConfigPreset> = emptyMap(),
|
||||
val reference_models: List<MoaModelSlot> = emptyList(),
|
||||
val aggregator: MoaModelSlot = MoaModelSlot("", ""),
|
||||
val reference_temperature: Double = 0.7,
|
||||
val aggregator_temperature: Double = 0.3,
|
||||
// null = omitted from API calls (provider default); the backend sends null when unset.
|
||||
val reference_temperature: Double? = null,
|
||||
val aggregator_temperature: Double? = null,
|
||||
val reference_timeout: Double? = null,
|
||||
val degraded_reference_policy: String = "loud",
|
||||
val fanout: String? = null,
|
||||
val max_tokens: Int = 4096,
|
||||
val enabled: Boolean = true,
|
||||
)
|
||||
|
||||
@@ -19,6 +19,7 @@ import androidx.compose.runtime.snapshotFlow
|
||||
import androidx.compose.ui.platform.ClipEntry
|
||||
import androidx.compose.ui.platform.LocalClipboard
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import androidx.lifecycle.LifecycleEventObserver
|
||||
@@ -146,7 +147,7 @@ fun ChatLifecycleEffects(
|
||||
|
||||
// Show error as snackbar
|
||||
val clipboard = LocalClipboard.current
|
||||
val copyLabel = context.getString(R.string.action_copy_error)
|
||||
val copyLabel = stringResource(R.string.action_copy_error)
|
||||
// Own scope + immediate clear: a later `errorMessage = null` elsewhere must not cancel a visible popup.
|
||||
val snackbarScope = rememberCoroutineScope()
|
||||
LaunchedEffect(errorMessage) {
|
||||
|
||||
Reference in new issue
Block a user