hashicorp / hashicorp/consul

Web UI filters in node/service displays show "Missing translation" error when applied since 1.22.7

Open
#23,677 0 comments 0 reactions 0 assignees View on GitHub
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.

Image

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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.