Skip to content

Failing to parse IPv6 addresses #31559

@yanivha6

Description

@yanivha6

Describe the bug

When I try to define an Application Gateway WAF custom rule with multiple Ipv6 addresses I'm getting an error.

This issue appears when using 2 IPv6 address. When using a single IPv6 address or using 2 IPv4 addresses, there is no error.

The IPv6 feature in Application Gateway WAF is currently in Private Preview, so please contact me for testing the issue/fix in production environment if necessary.

Related command

az network application-gateway waf-policy custom-rule match-condition add --resource-group rg_name --policy-name policy_name --name myrule1 --index 1 --match-variables RemoteAddr --operator IPMatch --values "[2001:0db8:85a3:0000:0000:8a2e:0370:1235,2001:0db8:85a3:0000:0000:8a2e:0370:1236]"

Errors

(ApplicationGatewayFirewallConditionNonIPMatchValues) Custom Rule 'myrule1' does not have a valid ip match value 'System.Collections.Generic.List1[System.String]' in its condition in context 'properties.customRules[0].matchConditions[1]'. Code: ApplicationGatewayFirewallConditionNonIPMatchValues Message: Custom Rule 'myrule1' does not have a valid ip match value 'System.Collections.Generic.List1[System.String]' in its condition in context 'properties.customRules[0].matchConditions[1]'.

Issue script & Debug output

cli.knack.cli: Command arguments: ['network', 'application-gateway', 'waf-policy', 'custom-rule', 'match-condition', 'add', '--resource-group', 'yaniv_ipv6_rg', '--policy-name', 'Ps_waf_ipv6', '--name', 'myrule1', '--index', '1', '--match-variables', 'RemoteAddr', '--operator', 'IPMatch', '--values', '[2001:0db8:85a3:0000:0000:8a2e:0370:1235,2001:0db8:85a3:0000:0000:8a2e:0370:1236]', '--debug']
cli.knack.cli: init debug log:
Enable color in terminal.
Enable VT mode.
cli.knack.cli: Event: Cli.PreExecute []
cli.knack.cli: Event: CommandParser.OnGlobalArgumentsCreate [<function CLILogging.on_global_arguments at 0x018B2A78>, <function OutputProducer.on_global_arguments at 0x01AF1668>, <function CLIQuery.on_global_arguments at 0x01B12168>]
cli.knack.cli: Event: CommandInvoker.OnPreCommandTableCreate []
cli.azure.cli.core: Modules found from index for 'network': ['azure.cli.command_modules.network', 'azure.cli.command_modules.privatedns', 'azext_network_manager']
cli.azure.cli.core: Loading command modules:
cli.azure.cli.core: Name Load Time Groups Commands
cli.azure.cli.core: network 0.840 120 568
cli.azure.cli.core: privatedns 0.040 14 60
cli.azure.cli.core: Total (2) 0.879 134 628
cli.azure.cli.core: These extensions are not installed and will be skipped: ['azext_ai_examples', 'azext_next']
cli.azure.cli.core: Loading extensions:
cli.azure.cli.core: Name Load Time Groups Commands Directory
cli.azure.cli.core: virtual-network-manager 0.119 12 12 C:\Users\yanivhaddad.azure\cliextensions\virtual-network-manager
cli.azure.cli.core: Total (1) 0.119 12 12
cli.azure.cli.core: Loaded 144 groups, 640 commands.
cli.azure.cli.core: Found a match in the command table.
cli.azure.cli.core: Raw command : network application-gateway waf-policy custom-rule match-condition add
cli.azure.cli.core: Command table: network application-gateway waf-policy custom-rule match-condition add
cli.knack.cli: Event: CommandInvoker.OnPreCommandTableTruncate [<function AzCliLogging.init_command_file_logging at 0x03A6CF28>]
cli.azure.cli.core.azlogging: metadata file logging enabled - writing logs to 'C:\Users\yanivhaddad.azure\commands\2025-05-27.13-39-34.network_application-gateway_waf-policy_custom-rule_match-condition_add.33884.log'.
az_command_data_logger: command args: network application-gateway waf-policy custom-rule match-condition add --resource-group {} --policy-name {} --name {} --index {} --match-variables {} --operator {} --values {} --debug
cli.knack.cli: Event: CommandInvoker.OnPreArgumentLoad [<function register_global_subscription_argument..add_subscription_parameter at 0x03AA5028>]
cli.knack.cli: Event: CommandInvoker.OnPostArgumentLoad []
cli.knack.cli: Event: CommandInvoker.OnPostCommandTableCreate [<function register_ids_argument..add_ids_arguments at 0x03AA5348>, <function register_cache_arguments..add_cache_arguments at 0x03AE87F8>, <function register_upcoming_breaking_change_info..update_breaking_change_info at 0x03AE8848>]
cli.knack.cli: Event: CommandInvoker.OnCommandTableLoaded []
cli.knack.cli: Event: CommandInvoker.OnPreParseArgs []
cli.azure.cli.core.util: invalid decimal literal (, line 1)
cli.azure.cli.core.aaz._arg_action: Failed to parse string as JSON:
[2001:0db8:85a3:0000:0000:8a2e:0370:1235,2001:0db8:85a3:0000:0000:8a2e:0370:1236]
Error detail: Expecting ',' delimiter: line 1 column 6 (char 5)
cli.knack.cli: Event: CommandInvoker.OnPostParseArgs [<function OutputProducer.handle_output_argument at 0x01AF16B8>, <function CLIQuery.handle_query_parameter at 0x01B121B8>, <function register_ids_argument..parse_ids_arguments at 0x03AE87A8>]
cli.azure.cli.core.auth.persistence: build_persistence: location='C:\Users\yanivhaddad\.azure\msal_token_cache.bin', encrypt=True
cli.azure.cli.core.auth.binary_cache: load: C:\Users\yanivhaddad.azure\msal_http_cache.bin
urllib3.util.retry: Converted retries value: 1 -> Retry(total=1, connect=None, read=None, redirect=None, status=None)
msal.authority: Initializing with Entra authority: https://login.microsoftonline.com/********************************
msal.authority: openid_config("https://login.microsoftonline.com/********************************/v2.0/.well-known/openid-configuration") = {'token_endpoint': 'https://login.microsoftonline.com/********************************/oauth2/v2.0/token', 'token_endpoint_auth_methods_supported': ['client_secret_post', 'private_key_jwt', 'client_secret_basic'], 'jwks_uri': 'https://login.microsoftonline.com/********************************/discovery/v2.0/keys', 'response_modes_supported': ['query', 'fragment', 'form_post'], 'subject_types_supported': ['pairwise'], 'id_token_signing_alg_values_supported': ['RS256'], 'response_types_supported': ['code', 'id_token', 'code id_token', 'id_token token'], 'scopes_supported': ['openid', 'profile', 'email', 'offline_access'], 'issuer': 'https://login.microsoftonline.com/********************************/v2.0', 'request_uri_parameter_supported': False, 'userinfo_endpoint': 'https://graph.microsoft.com/oidc/userinfo', 'authorization_endpoint': 'https://login.microsoftonline.com/********************************/oauth2/v2.0/authorize', 'device_authorization_endpoint': 'https://login.microsoftonline.com/********************************/oauth2/v2.0/devicecode', 'http_logout_supported': True, 'frontchannel_logout_supported': True, 'end_session_endpoint': 'https://login.microsoftonline.com/********************************/oauth2/v2.0/logout', 'claims_supported': ['sub', 'iss', 'cloud_instance_name', 'cloud_instance_host_name', 'cloud_graph_host_name', 'msgraph_host', 'aud', 'exp', 'iat', 'auth_time', 'acr', 'nonce', 'preferred_username', 'name', 'tid', 'ver', 'at_hash', 'c_hash', 'email'], 'kerberos_endpoint': 'https://login.microsoftonline.com/********************************/kerberos', 'tenant_region_scope': 'WW', 'cloud_instance_name': 'microsoftonline.com', 'cloud_graph_host_name': 'graph.windows.net', 'msgraph_host': 'graph.microsoft.com', 'rbac_url': 'https://pas.windows.net'}
msal.application: Broker enabled? True
cli.azure.cli.core.auth.credential_adaptor: CredentialAdaptor.get_token: scopes=('https://management.core.windows.net//.default',), kwargs={}
cli.azure.cli.core.auth.msal_credentials: UserCredential.acquire_token: scopes=['https://management.core.windows.net//.default'], claims_challenge=None, kwargs={}
msal.application: Cache hit an AT
msal.telemetry: Generate or reuse correlation_id: 2cb03313-9aeb-4168-b8c0-b8f91207f05f
cli.azure.cli.core.sdk.policies: Request URL: 'https://management.azure.com/subscriptions/********************************/resourceGroups/yaniv_ipv6_rg/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/Ps_waf_ipv6?api-version=2024-03-01'
cli.azure.cli.core.sdk.policies: Request method: 'GET'
cli.azure.cli.core.sdk.policies: Request headers:
cli.azure.cli.core.sdk.policies: 'Accept': 'application/json'
cli.azure.cli.core.sdk.policies: 'x-ms-client-request-id': 'e095d2c1-3ae6-11f0-8613-d4f32dd2da7b'
cli.azure.cli.core.sdk.policies: 'CommandName': 'network application-gateway waf-policy custom-rule match-condition add'
cli.azure.cli.core.sdk.policies: 'ParameterSetName': '--resource-group --policy-name --name --index --match-variables --operator --values --debug'
cli.azure.cli.core.sdk.policies: 'User-Agent': 'AZURECLI/2.73.0 (MSI) azsdk-python-core/1.31.0 Python/3.12.8 (Windows-11-10.0.26100-SP0)'
cli.azure.cli.core.sdk.policies: 'Authorization': ''
cli.azure.cli.core.sdk.policies: Request body:
cli.azure.cli.core.sdk.policies: This request has no body
urllib3.connectionpool: Starting new HTTPS connection (1): management.azure.com:443
urllib3.connectionpool: https://management.azure.com:443 "GET /subscriptions/
/resourceGroups/yaniv_ipv6_rg/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/Ps_waf_ipv6?api-version=2024-03-01 HTTP/1.1" 200 1243
cli.azure.cli.core.sdk.policies: Response status: 200
cli.azure.cli.core.sdk.policies: Response headers:
cli.azure.cli.core.sdk.policies: 'Cache-Control': 'no-cache'
cli.azure.cli.core.sdk.policies: 'Pragma': 'no-cache'
cli.azure.cli.core.sdk.policies: 'Content-Length': '1243'
cli.azure.cli.core.sdk.policies: 'Content-Type': 'application/json; charset=utf-8'
cli.azure.cli.core.sdk.policies: 'Expires': '-1'
cli.azure.cli.core.sdk.policies: 'ETag': 'W/"a9a50a61-f8e6-4797-9e83-d193c314db9e"'
cli.azure.cli.core.sdk.policies: 'x-ms-request-id': '08cf255c-a446-48cd-bfdf-cfcbcd254e95'
cli.azure.cli.core.sdk.policies: 'x-ms-correlation-request-id': '8921ab80-2c1a-4191-b2a7-9427457802cb'
cli.azure.cli.core.sdk.policies: 'x-ms-arm-service-request-id': 'baa13145-cfaa-48c0-a6f5-3db538d30d6e'
cli.azure.cli.core.sdk.policies: 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains'
cli.azure.cli.core.sdk.policies: 'x-ms-ratelimit-remaining-subscription-reads': '1099'
cli.azure.cli.core.sdk.policies: 'x-ms-ratelimit-remaining-subscription-global-reads': '16499'
cli.azure.cli.core.sdk.policies: 'x-ms-routing-request-id': 'WESTEUROPE:20250527T103936Z:8921ab80-2c1a-4191-b2a7-9427457802cb'
cli.azure.cli.core.sdk.policies: 'X-Content-Type-Options': 'nosniff'
cli.azure.cli.core.sdk.policies: 'X-Cache': 'CONFIG_NOCACHE'
cli.azure.cli.core.sdk.policies: 'X-MSEdge-Ref': 'Ref A: 59AB568B99A6411D8FE75E5347B2AD41 Ref B: AMS231032607033 Ref C: 2025-05-27T10:39:35Z'
cli.azure.cli.core.sdk.policies: 'Date': 'Tue, 27 May 2025 10:39:35 GMT'
cli.azure.cli.core.sdk.policies: Response content:
cli.azure.cli.core.sdk.policies: {"name":"Ps_waf_ipv6","id":"/subscriptions/
/resourceGroups/yaniv_ipv6_rg/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/Ps_waf_ipv6","etag":"W/"a9a50a61-f8e6-4797-9e83-d193c314db9e"","type":"Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies","location":"westeurope","properties":{"provisioningState":"Succeeded","customRules":[{"name":"myrule1","priority":10,"ruleType":"MatchRule","action":"Block","matchConditions":[{"matchVariables":[{"variableName":"RemoteAddr"}],"operator":"IPMatch","negationConditon":true,"matchValues":["2001:0db8:85a3:0000:0000:8a2e:0370:7334"],"transforms":[]},{"matchVariables":[{"variableName":"RemoteAddr"}],"operator":"IPMatch","negationConditon":false,"matchValues":["2.2.2.2","1.1.1.1"],"transforms":[]}],"skippedManagedRuleSets":[],"state":"Enabled"}],"policySettings":{"requestBodyCheck":true,"maxRequestBodySizeInKb":128,"fileUploadLimitInMb":100,"state":"Enabled","mode":"Detection","requestBodyInspectLimitInKB":128,"fileUploadEnforcement":true,"requestBodyEnforcement":true},"managedRules":{"managedRuleSets":[{"ruleSetType":"Microsoft_DefaultRuleSet","ruleSetVersion":"2.1","ruleGroupOverrides":[]}],"exclusions":[]}}}
cli.azure.cli.core.sdk.policies: Request URL: 'https://management.azure.com/subscriptions/********************************/resourceGroups/yaniv_ipv6_rg/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/Ps_waf_ipv6?api-version=2024-03-01'
cli.azure.cli.core.sdk.policies: Request method: 'PUT'
cli.azure.cli.core.sdk.policies: Request headers:
cli.azure.cli.core.sdk.policies: 'Content-Type': 'application/json'
cli.azure.cli.core.sdk.policies: 'Accept': 'application/json'
cli.azure.cli.core.sdk.policies: 'Content-Length': '1118'
cli.azure.cli.core.sdk.policies: 'x-ms-client-request-id': 'e095d2c1-3ae6-11f0-8613-d4f32dd2da7b'
cli.azure.cli.core.sdk.policies: 'CommandName': 'network application-gateway waf-policy custom-rule match-condition add'
cli.azure.cli.core.sdk.policies: 'ParameterSetName': '--resource-group --policy-name --name --index --match-variables --operator --values --debug'
cli.azure.cli.core.sdk.policies: 'User-Agent': 'AZURECLI/2.73.0 (MSI) azsdk-python-core/1.31.0 Python/3.12.8 (Windows-11-10.0.26100-SP0)'
cli.azure.cli.core.sdk.policies: 'Authorization': '
'
cli.azure.cli.core.sdk.policies: Request body:
cli.azure.cli.core.sdk.policies: {"id": "/subscriptions//resourceGroups/yaniv_ipv6_rg/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/Ps_waf_ipv6", "location": "westeurope", "properties": {"customRules": [{"action": "Block", "matchConditions": [{"matchValues": ["2001:0db8:85a3:0000:0000:8a2e:0370:7334"], "matchVariables": [{"variableName": "RemoteAddr"}], "negationConditon": true, "operator": "IPMatch", "transforms": []}, {"matchValues": ["[2001:0db8:85a3:0000:0000:8a2e:0370:1235,2001:0db8:85a3:0000:0000:8a2e:0370:1236]"], "matchVariables": [{"variableName": "RemoteAddr"}], "operator": "IPMatch"}], "name": "myrule1", "priority": 10, "ruleType": "MatchRule", "state": "Enabled"}], "managedRules": {"exclusions": [], "managedRuleSets": [{"ruleGroupOverrides": [], "ruleSetType": "Microsoft_DefaultRuleSet", "ruleSetVersion": "2.1"}]}, "policySettings": {"fileUploadEnforcement": true, "fileUploadLimitInMb": 100, "maxRequestBodySizeInKb": 128, "mode": "Detection", "requestBodyCheck": true, "requestBodyEnforcement": true, "requestBodyInspectLimitInKB": 128, "state": "Enabled"}}}
urllib3.connectionpool: https://management.azure.com:443 "PUT /subscriptions/
/resourceGroups/yaniv_ipv6_rg/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/Ps_waf_ipv6?api-version=2024-03-01 HTTP/1.1" 400 283
cli.azure.cli.core.sdk.policies: Response status: 400
cli.azure.cli.core.sdk.policies: Response headers:
cli.azure.cli.core.sdk.policies: 'Cache-Control': 'no-cache'
cli.azure.cli.core.sdk.policies: 'Pragma': 'no-cache'
cli.azure.cli.core.sdk.policies: 'Content-Length': '283'
cli.azure.cli.core.sdk.policies: 'Content-Type': 'application/json; charset=utf-8'
cli.azure.cli.core.sdk.policies: 'Expires': '-1'
cli.azure.cli.core.sdk.policies: 'x-ms-request-id': 'ff600938-bf2e-496f-bbbe-985e1161a4df'
cli.azure.cli.core.sdk.policies: 'x-ms-correlation-request-id': '5ae37857-47e3-427a-8823-b173e48b97f6'
cli.azure.cli.core.sdk.policies: 'x-ms-arm-service-request-id': 'bb1fe532-6abb-48d7-a997-57b1c738bfff'
cli.azure.cli.core.sdk.policies: 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains'
cli.azure.cli.core.sdk.policies: 'x-ms-operation-identifier': 'tenantId=********************************,objectId=5886e21b-600f-4a25-9af9-31c6825620ff/westeurope/e9d1b3a1-0501-440c-9518-c7f78fbf3616'
cli.azure.cli.core.sdk.policies: 'x-ms-ratelimit-remaining-subscription-writes': '799'
cli.azure.cli.core.sdk.policies: 'x-ms-ratelimit-remaining-subscription-global-writes': '11999'
cli.azure.cli.core.sdk.policies: 'x-ms-routing-request-id': 'WESTEUROPE:20250527T103936Z:5ae37857-47e3-427a-8823-b173e48b97f6'
cli.azure.cli.core.sdk.policies: 'X-Content-Type-Options': 'nosniff'
cli.azure.cli.core.sdk.policies: 'X-Cache': 'CONFIG_NOCACHE'
cli.azure.cli.core.sdk.policies: 'X-MSEdge-Ref': 'Ref A: CF4D1B4B89694C59A69EE8FB08AB3CE6 Ref B: AMS231032607033 Ref C: 2025-05-27T10:39:36Z'
cli.azure.cli.core.sdk.policies: 'Date': 'Tue, 27 May 2025 10:39:36 GMT'
cli.azure.cli.core.sdk.policies: Response content:
cli.azure.cli.core.sdk.policies: {"error":{"code":"ApplicationGatewayFirewallConditionNonIPMatchValues","message":"Custom Rule 'myrule1' does not have a valid ip match value 'System.Collections.Generic.List1[System.String]' in its condition in context 'properties.customRules[0].matchConditions[1]'.","details":[]}} cli.azure.cli.core.azclierror: Traceback (most recent call last): File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/cli.py", line 233, in invoke File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 666, in execute File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 734, in _run_jobs_serially File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 703, in _run_job File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/aaz/_command.py", line 155, in __call__ File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure\cli\command_modules\network\aaz_compact\latest\network\application_gateway\waf_policy\custom_rule\match_condition\__cmds.py", line 45, in _handler File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure\cli\command_modules\network\aaz_compact\latest\network\application_gateway\waf_policy\custom_rule\match_condition\__cmds.py", line 136, in _execute_operations File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure\cli\command_modules\network\aaz_compact\latest\network\application_gateway\waf_policy\custom_rule\match_condition\__cmds.py", line 293, in __call__ File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/aaz/_operation.py", line 327, in on_error azure.core.exceptions.HttpResponseError: (ApplicationGatewayFirewallConditionNonIPMatchValues) Custom Rule 'myrule1' does not have a valid ip match value 'System.Collections.Generic.List1[System.String]' in its condition in context 'properties.customRules[0].matchConditions[1]'.
Code: ApplicationGatewayFirewallConditionNonIPMatchValues
Message: Custom Rule 'myrule1' does not have a valid ip match value 'System.Collections.Generic.List`1[System.String]' in its condition in context 'properties.customRules[0].matchConditions[1]'.

cli.azure.cli.core.azclierror: (ApplicationGatewayFirewallConditionNonIPMatchValues) Custom Rule 'myrule1' does not have a valid ip match value 'System.Collections.Generic.List1[System.String]' in its condition in context 'properties.customRules[0].matchConditions[1]'. Code: ApplicationGatewayFirewallConditionNonIPMatchValues Message: Custom Rule 'myrule1' does not have a valid ip match value 'System.Collections.Generic.List1[System.String]' in its condition in context 'properties.customRules[0].matchConditions[1]'.
az_command_data_logger: (ApplicationGatewayFirewallConditionNonIPMatchValues) Custom Rule 'myrule1' does not have a valid ip match value 'System.Collections.Generic.List1[System.String]' in its condition in context 'properties.customRules[0].matchConditions[1]'. Code: ApplicationGatewayFirewallConditionNonIPMatchValues Message: Custom Rule 'myrule1' does not have a valid ip match value 'System.Collections.Generic.List1[System.String]' in its condition in context 'properties.customRules[0].matchConditions[1]'.
cli.knack.cli: Event: Cli.PostExecute [<function AzCliLogging.deinit_cmd_metadata_logging at 0x03A6F0C8>]
az_command_data_logger: exit code: 1
cli.main: Command ran in 3.307 seconds (init: 0.439, invoke: 2.868)
telemetry.main: Begin splitting cli events and extra events, total events: 1
telemetry.client: Accumulated 0 events. Flush the clients.
telemetry.main: Finish splitting cli events and extra events, cli events: 1
telemetry.save: Save telemetry record of length 4578 in cache file under C:\Users\yanivhaddad.azure\telemetry\20250527133936445
telemetry.main: Begin creating telemetry upload process.
telemetry.process: Creating upload process: "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\python.exe C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\azure\cli\telemetry_init_.pyc C:\Users\yanivhaddad.azure C:\Users\yanivhaddad.azure\telemetry\20250527133936445"
telemetry.process: Return from creating process 15296
telemetry.main: Finish creating telemetry upload process.

Expected behavior

The command should pass.

Environment Summary

{
"azure-cli": "2.73.0",
"azure-cli-core": "2.73.0",
"azure-cli-telemetry": "1.1.0",
"extensions": {
"azure-devops": "1.0.1",
"virtual-network-manager": "1.3.1"
}
}

Additional context

No response

Metadata

Metadata

Assignees

Labels

Auto-AssignAuto assign by botAuto-ResolveAuto resolve by botNetworkaz network vnet/lb/nic/dns/etc...Service AttentionThis issue is responsible by Azure service team.questionThe issue doesn't require a change to the product in order to be resolved. Most issues start as that

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions