Web UI filters in node/service displays show "Missing translation" error when applied since 1.22.7
- Dominant language
- Go
- Stars
- 30.1k
- Forks
- 4.6k
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 43
Description
#### Overview of the Issue
When applying any filters in the webui error text like `Missing translation "components.consul.service.search-bar.status" for locale "en-us"
Missing translation "components.consul.service.search-bar.warning" for locale "en-us"
` is displayed in place of the strings which would normally indicate which filters are being applied.
This behavior started immediately after upgrade from 1.20.x rpm packaged non-enterprise releases to the most recent 1.22.7 release.
Clearing browser cache or interacting with the webui in an "incognito" browser window does not resolve the issue. This may be related to a similar rendering issue identified in https://github.com/hashicorp/consul/issues/23287 and https://github.com/hashicorp/consul/issues/23238).
---
#### Reproduction Steps
Configure a consul cluster with webui enabled, browse to the webui and apply a filter in either the service or node tabs. Observe rendering issue as described.
### Consul info for Server
Server info
```
agent:
check_monitors = 1
check_ttls = 0
checks = 2
services = 1
build:
prerelease =
revision = c18bcb9d
version = 1.22.7
version_metadata =
consul:
acl = enabled
bootstrap = false
known_datacenters = 2
leader = true
leader_addr =
server = true
raft:
applied_index = 32944488
commit_index = 32944488
fsm_pending = 0
last_contact = 0
last_log_index = 32944488
last_log_term = 111
last_snapshot_index = 32944006
last_snapshot_term = 111
latest_configuration =
latest_configuration_index = 0
num_peers = 2
protocol_version = 3
protocol_version_max = 3
protocol_version_min = 0
snapshot_version_max = 1
snapshot_version_min = 0
state = Leader
term = 111
runtime:
arch = amd64
cpu_count = 88
goroutines = 926
max_procs = 88
os = linux
version = go1.25.9
serf_lan:
coordinate_resets = 0
encrypted = true
event_queue = 0
event_time = 94
failed = 0
health_score = 0
intent_queue = 0
left = 0
member_time = 196421
members = 39
query_queue = 0
query_time = 1
serf_wan:
coordinate_resets = 0
encrypted = true
event_queue = 0
event_time = 1
failed = 0
health_score = 0
intent_queue = 0
left = 0
member_time = 19263
members = 6
query_queue = 0
query_time = 1
```
```
{
"datacenter": "devDC1",
"data_dir": "/var/lib/consul",
"log_level": "INFO",
"disable_update_check": true,
"node_name": "infranode001",
"advertise_addr": "{{ GetPrivateInterfaces | include \"type\" \"ipv4\" | sort \"default\" | limit 1 | join \"address\" \" \" }}",
"bind_addr": "{{ GetPrivateInterfaces | include \"type\" \"ipv4\" | sort \"default\" | limit 1 | join \"address\" \" \" }}",
"client_addr": "127.0.0.1",
"dns_config": {
"enable_truncate": true
},
"enable_local_script_checks": true,
"retry_join": [
"123.123.123.123",
"123.123.123.123",
"123.123.123.123"
],
"primary_datacenter": "devDC2",
"acl": {
"enabled": true,
"default_policy": "deny",
"down_policy": "extend-cache",
"enable_token_replication": true,
"enable_token_persistence": true
},
"encrypt": "BADDADDEADBEEF000000000000000000000000000000",
"server": true,
"ui_config": {
"enabled": true
},
"bootstrap_expect": 3,
"tls": {
"defaults": {
"verify_incoming": false,
"verify_outgoing": true,
"cert_file": "/etc/pki/tls/certs/consul.crt",
"ca_file": "/etc/pki/CA/certs/consul.crt",
"key_file": "/etc/pki/tls/private/consul.key"
},
"internal_rpc": {
"verify_incoming": true,
"verify_server_hostname": true
}
},
"addresses": {
"https": "0.0.0.0"
},
"ports": {
"https": 8501
},
"auto_encrypt": {
"allow_tls": true
},
"retry_join_wan": [
"123.123.123.123",
"123.123.123.123",
"123.123.123.123"
]
}
```
### Operating system and Environment details
$ cat /etc/redhat-release
AlmaLinux release 9.8 (Olive Jaguar)
$ rpm -q consul
consul-1.22.7-1.x86_64
Contributor guide
Research direction
Start by reproducing the issue in the Consul web UI service and node tabs, applying a filter and checking the reported translation keys. Trace where components.consul.service.search-bar.status and components.consul.service.search-bar.warning are used; done means the filter labels render normally instead of showing missing-translation errors.
Written by the indexing model from the issue text.
Assessment
- Domain
- frontend, web-dev
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 42/100