@@ -123,7 +123,7 @@ class LogViewerViewModel @Inject constructor(
123 schemaJob = viewModelScope.launch {
123 schemaJob = viewModelScope.launch {
124 when (val result = repository.getStreamSchema(streamName)) {
124 when (val result = repository.getStreamSchema(streamName)) {
125 is ApiResult.Success -> {
125 is ApiResult.Success -> {
126− val columns = result.data.fields.map { it.name }
126+ val columns = result.data.fields.map { it.name }.sorted()
127 _state.update { it.copy(columns = columns) }
127 _state.update { it.copy(columns = columns) }
129 is ApiResult.Error -> { /* Schema loading failure is non-fatal */ }
129 is ApiResult.Error -> { /* Schema loading failure is non-fatal */ }
@@ -486,7 +486,9 @@ class LogViewerViewModel @Inject constructor(
486 _state.update { it.copy(savedFilters = it.savedFilters.copy(isLoading = true, error = null)) }
486 _state.update { it.copy(savedFilters = it.savedFilters.copy(isLoading = true, error = null)) }
487 when (val result = repository.listFilters()) {
487 when (val result = repository.listFilters()) {
488 is ApiResult.Success -> {
488 is ApiResult.Success -> {
489+ val streamFilters = result.data
489− val streamFilters = result.data.filter { it.streamName == _state.value.streamName }
490+ .filter { it.streamName == _state.value.streamName }
491+ .sortedBy { it.filterName.lowercase() }
490 _state.update {
492 _state.update {
491 it.copy(savedFilters = it.savedFilters.copy(filters = streamFilters, isLoading = false))
493 it.copy(savedFilters = it.savedFilters.copy(filters = streamFilters, isLoading = false))