Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge for 1.6.17 #242

Merged
merged 2 commits into from
Sep 5, 2024
Merged

Merge for 1.6.17 #242

merged 2 commits into from
Sep 5, 2024

Conversation

kbairak
Copy link
Member

@kbairak kbairak commented Sep 5, 2024

No description provided.

Consider this scenario: Someone has in their config file:

```ini
[main]
lang_map = it: it-IT

[RESOURCE_ID]
lang_map = it: it_IT
```

Before we created a local-to-remote map that looked like this:

```json
{"it-IT": "it", "it_IT", "it"}
```

And then, to create the remote-to-local map, we reversed it. The problem
was that, since both values are the same, the key that ended up being
selected was random, so it could either be:

```json
{"it": "it-IT"}
```

or

```json
{"it": "it_IT"}
```

To fix the issue, we now create remote-to-local first, going over the
global configuration first and the resource-level configuration second
so that the resource-level will prevail and thus take preference, and
then we create the local-to-remote by reversing. So,

First, we will consume the global configuration:

```json
{"it": "it-IT"}
```

Then, as the resource-level configuration is consumed, it will replace
the old key:

```json
{"it": "it_IT"}
```

And then, the local-to-remote will end up being:

```json
{"it_IT": "it"}
```

This is the deterministic and the intended behaviour, since
resource-level configuration should take precedence.
@kbairak kbairak merged commit 30dac14 into master Sep 5, 2024
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants