Skip to content

Synchronize master with api-v2#2996

Merged
imobachgs merged 31 commits intoapi-v2from
merge-master
Jan 9, 2026
Merged

Synchronize master with api-v2#2996
imobachgs merged 31 commits intoapi-v2from
merge-master

Conversation

@imobachgs
Copy link
Copy Markdown
Contributor

Synchronize both branches by merging master into api-v2.

gleidi-suse and others added 30 commits June 25, 2025 14:51
The OBS-Milestone allows, after setting the %current_milestone in the OBS project configuration, to have
correctly versioned artefacts.

Add the following (or equivalent code) to your project configuration:

%define current_milestone Snapshot-202506-1
%define beta_flag 1
Macros:
%current_milestone Snapshot-202506-1
%beta_flag 1
:Macros
Agama-weblate commit: e62c0416dab678ef1d0be857057801e0c9cd9cea
Updating the web translation files from the agama-weblate repository
## Problem

- https://bugzilla.suse.com/show_bug.cgi?id=1251846
- Agama does not build on i586
- The reason is that the dependant libsuseconnect does not support that
architecture (because of [this
line](https://github.com/SUSE/connect-ng/blob/5a200487c50d9c955708b34d0d35ebef47dc5a3e/internal/util/system.go#L24-L27))

## Solution

- Disable the same architectures also in Agama builds, use [the same
line](https://github.com/SUSE/connect-ng/blob/5a200487c50d9c955708b34d0d35ebef47dc5a3e/build/packaging/suseconnect-ng.spec#L42)
from libsuseconnect to be compatible with it (this also disables build
on PPC64-BE)
- I was wondering whether `ExcludeArch` is allowed for noarch packages
but the [Fedora packaging
documentation](https://docs.fedoraproject.org/en-US/packaging-guidelines/#_noarch_with_unported_dependencies)
actually suggests this approach exactly for this situation.

## Testing

- Tested manually with agama-web-ui, the package built fine locally
Just merging the SLE-16 branch to master, includes fixed translations
#2904

---------

Co-authored-by: Ancor Gonzalez Sosa <ancor@suse.de>
Co-authored-by: Ancor Gonzalez Sosa <ancorgs@gmail.com>
Co-authored-by: YaST Bot <yast-devel@opensuse.org>
Co-authored-by: Imobach González Sosa <igonzalezsosa@suse.com>
Co-authored-by: Martin Vidner <mvidner@suse.com>
Agama-weblate commit: 1736fe47622ba96dda54a3dacec4a77becc66c7f
Enabled eslint check to avoid this problems.
## Problem

- Some translatable texts in Agama contain indentation spaces, like
[here](https://github.com/agama-project/agama/blob/87a04f1769e5d83439f7b1298fc486908ef511da/web/src/components/storage/EncryptionSection.tsx#L50-L51).

Example:

```js
{
  {
    {
      const message = _("Some very long message \
        which spans across multiple lines.");
    }
  }
}
```

The problem is that the indentation on the second line is actually
included in the message text. The HTML collapses multiple spaces to a
single space when rendered in a browser so in the end it is not a
visible problem for users. But it still might be confusing for the
translators.

- See related
agama-project/eslint-plugin-agama-i18n#7

## Solution

- Enable eslint check
- Fix the reported problems

## TODO

- [ ] Manually fix the translations in Weblate using `sed` to avoid
invalidating the existing translations.
to run the type checks in parallel in a separate process
to not block the main webpack build process
)

## Problem

- The TypeScript type checks are disabled in development builds, they
run only in the production build
- The reason is probably the slowdown caused by the checks
  - Development build with type checks off (the default): ~10 seconds
- Development build with type checks on (explicitly enabled in the
config): ~15 seconds
  - So enabling the type checks increases the build time +50% 😟 

## Solution

- Use the
[fork-ts-checker-webpack-plugin](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin)
which runs the type checks in parallel in a separate process so the main
webpack build is not affected and runs with the disabled checks.

## Testing

- Tested manually
- With the type checks enabled the development build takes about 10
seconds, the same time as originally with type checks off. 👍 So there
should be no slowdown even with enabled checks.
- It helps to speed up the production builds as well:
  - Original production build: ~20 seconds
  - Production build with parallel type checks: ~15 seconds
  - So the production build is about 25% faster! 😃
# Problem

When importing the `services-manager` section from AutoYaST, the
`multi-user` value is not properly processed. It is not a problem
because it is the default value anyway, but we should handle it
properly.

# Solution

Use the proper value.
The OBS-Milestone allows, after setting the `%current_milestone` in the
OBS project configuration, to have correctly versioned artifacts.

Add the following (or equivalent code) to your project configuration:

```
%define current_milestone Snapshot-202506-1
Macros:
%current_milestone Snapshot-202506-1
:Macros
```

## Problem

SLES 16.0 Agama build artifacts don't have the correct milestone name
and break OBS releases.

Without all of the above 3 changes SLES Agama based PXE images do not have the correct filename, and release artifacts are manually renamed.

## Solution

Setting `OBS-Milestone` and the `%current_milestone` macro.
## Problem

- We already check that the React components for untranslated string
literals, e.g. `<Button>Close</Button>` reports an error in the eslint
check.
- Unfortunately it cannot check the texts passed as a component
attribute, e.g. `<Button label="Close" />`

## Solution

- Use the [type-fest](https://www.npmjs.com/package/type-fest) library,
it provides quite a lot of useful TypeScript types
- Inspired by [this blog post
article](https://idmontie.github.io/blog/post/2023-08-19-localization)
- Define a new `TranslatedString` type which holds a translated string
(a string which passed through the `_()` or `n_()` translation
functions)
- Require this new type in some core components
- Passing a plain string where a TranslatedString is expected results in
a type error reported by TypeScript.

## Testing

- Updated unit tests

Tested with this small code snippet:
```tsx
function foo(label: TranslatedString) {
  return <>{label}</>;
}
// this line fails the type check
foo("label");
```

The last line in the example fails with error "Argument of type 'string'
is not assignable to parameter of type 'TranslatedString'.
  Type 'string' is not assignable to type 'Tag<"Translated", never>'."

## Notes

- The texts marked for translation in the unit tests are ignored when
building the POT file. Those strings are not uploaded to Weblate.

## Performance impact

The input TypeScript source code
```tsx
function foo(label: TranslatedString) {
  return <>{label}</>;
}
function bar() {
  return foo(_("label"));
}
```

Is compiled into this JavaScript:

```js
function foo(label) {
    return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: label });
}
function bar() {
    return foo((0, i18n_1._)("label"));
}
```

As you can see there is zero overhead for the `TranslatedString` type,
the check is completely done at the compile time without any performance
effect at runtime.
Updating the web translation files from the agama-weblate repository
- caused by missing references to non-x86_64 NPM packages
- basically fixed regenerating the package-lock.json file
  with `npm install`
- the same applied also for the share/po/package-lock.json file
## Problem

- The `agama-web-ui package` does not build on architectures other than
x86_64, see the [s390x build
log](https://build.opensuse.org/package/live_build_log/systemsmanagement:Agama:Devel/agama-web-ui/openSUSE_Tumbleweed/s390x)
- The error is `Not Found - GET
http://localhost:35591/@unrs%2fresolver-binding-linux-s390x-gnu`

## Solution

- Caused by missing references to the non-x86_64 NPM packages, no idea
how they could have been lost... 🤔
- Basically fixed by regenerating the `package-lock.json` file with `npm
install`. This also updates the NPM dependencies to the latest
compatible versions.
- The same was applied also for the `share/po/package-lock.json` file to
update the dependencies
## Problem

- https://bugzilla.suse.com/show_bug.cgi?id=1252961
- The latest Firefox browser started to display a "Firefox automatically
sends some data to Mozilla..." notification at the top.
<img width="1280" height="800" alt="agama-ff-confirm-sharing"
src="https://github.com/user-attachments/assets/e29160ee-1b21-4c1b-b45f-f261b633e688"
/>

## Solution

- Disable the notification in the user preferences.

## Testing

- Tested manually with a locally built ISO, the notification is not
displayed anymore.
- jsonschema command is failing with schema references.
Copy link
Copy Markdown
Contributor

@joseivanlopez joseivanlopez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@imobachgs imobachgs merged commit 46653c4 into api-v2 Jan 9, 2026
15 of 16 checks passed
@imobachgs imobachgs deleted the merge-master branch January 9, 2026 15:45
imobachgs added a commit that referenced this pull request Jan 10, 2026
Merge the new HTTP API. Each PR has been already reviewed, so it should
be safe to merge it.

* #1829
* #2508
* #2772
* #2826
* #2848
* #2860
* #2863
* #2866
* #2867
* #2869
* #2870
* #2871
* #2872
* #2873
* #2874
* #2875
* #2876
* #2877
* #2880
* #2881
* #2882
* #2884
* #2885
* #2886
* #2891
* #2892
* #2893
* #2894
* #2895
* #2896
* #2897
* #2898
* #2899
* #2900
* #2901
* #2902
* #2903
* #2904
* #2908
* #2909
* #2910
* #2912
* #2913
* #2914
* #2915
* #2916
* #2917
* #2918
* #2920
* #2921
* #2923
* #2924
* #2926
* #2928
* #2929
* #2930
* #2933
* #2934
* #2935
* #2936
* #2938
* #2939
* #2942
* #2943
* #2944
* #2945
* #2946
* #2947
* #2948
* #2950
* #2951
* #2952
* #2954
* #2955
* #2956
* #2957
* #2958
* #2959
* #2960
* #2961
* #2963
* #2964
* #2965
* #2967
* #2968
* #2969
* #2970
* #2971
* #2972
* #2974
* #2975
* #2977
* #2978
* #2980
* #2982
* #2983
* #2984
* #2988
* #2989
* #2991
* #2992
* #2993
* #2994
* #2995
* #2996
* #2997
* #2999
@imobachgs imobachgs mentioned this pull request Mar 17, 2026
imobachgs added a commit that referenced this pull request Mar 17, 2026
Prepare to release version 19.

* #1829
* #2508
* #2772
* #2818
* #2826
* #2848
* #2860
* #2863
* #2864
* #2866
* #2867
* #2869
* #2870
* #2871
* #2872
* #2873
* #2874
* #2875
* #2876
* #2877
* #2880
* #2881
* #2882
* #2884
* #2885
* #2886
* #2891
* #2892
* #2893
* #2894
* #2895
* #2896
* #2897
* #2898
* #2899
* #2900
* #2901
* #2902
* #2903
* #2904
* #2908
* #2909
* #2910
* #2912
* #2913
* #2914
* #2915
* #2916
* #2917
* #2918
* #2920
* #2921
* #2923
* #2924
* #2926
* #2928
* #2929
* #2930
* #2933
* #2934
* #2935
* #2936
* #2937
* #2938
* #2939
* #2942
* #2943
* #2944
* #2945
* #2946
* #2947
* #2948
* #2949
* #2950
* #2951
* #2952
* #2954
* #2955
* #2956
* #2957
* #2958
* #2959
* #2960
* #2961
* #2963
* #2964
* #2965
* #2967
* #2968
* #2969
* #2970
* #2971
* #2972
* #2974
* #2975
* #2977
* #2978
* #2980
* #2981
* #2982
* #2983
* #2984
* #2988
* #2989
* #2990
* #2991
* #2992
* #2993
* #2994
* #2995
* #2996
* #2997
* #2998
* #2999
* #3000
* #3001
* #3002
* #3004
* #3005
* #3006
* #3007
* #3008
* #3009
* #3011
* #3012
* #3013
* #3014
* #3015
* #3016
* #3018
* #3019
* #3020
* #3021
* #3022
* #3023
* #3024
* #3025
* #3026
* #3027
* #3028
* #3029
* #3030
* #3031
* #3033
* #3034
* #3035
* #3036
* #3037
* #3039
* #3040
* #3041
* #3042
* #3043
* #3044
* #3045
* #3046
* #3047
* #3048
* #3049
* #3050
* #3051
* #3052
* #3053
* #3054
* #3055
* #3056
* #3057
* #3058
* #3060
* #3061
* #3062
* #3063
* #3064
* #3065
* #3066
* #3067
* #3068
* #3069
* #3070
* #3071
* #3072
* #3073
* #3074
* #3075
* #3076
* #3077
* #3078
* #3079
* #3086
* #3087
* #3088
* #3089
* #3090
* #3091
* #3092
* #3093
* #3094
* #3095
* #3096
* #3097
* #3098
* #3099
* #3100
* #3101
* #3102
* #3103
* #3104
* #3105
* #3106
* #3107
* #3108
* #3109
* #3110
* #3112
* #3113
* #3114
* #3115
* #3116
* #3117
* #3118
* #3119
* #3120
* #3122
* #3123
* #3124
* #3127
* #3128
* #3129
* #3130
* #3131
* #3133
* #3134
* #3135
* #3136
* #3137
* #3138
* #3139
* #3140
* #3141
* #3142
* #3143
* #3144
* #3145
* #3146
* #3147
* #3148
* #3149
* #3150
* #3151
* #3152
* #3153
* #3154
* #3155
* #3157
* #3158
* #3159
* #3160
* #3161
* #3162
* #3163
* #3164
* #3165
* #3166
* #3167
* #3168
* #3169
* #3170
* #3174
* #3175
* #3176
* #3177
* #3178
* #3179
* #3181
* #3182
* #3184
* #3185
* #3186
* #3188
* #3189
* #3190
* #3191
* #3192
* #3194
* #3195
* #3196
* #3197
* #3198
* #3199
* #3200
* #3201
* #3202
* #3203
* #3205
* #3206
* #3208
* #3209
* #3210
* #3213
* #3214
* #3215
* #3216
* #3217
* #3218
* #3219
* #3220
* #3222
* #3223
* #3224
* #3225
* #3226
* #3227
* #3228
* #3229
* #3230
* #3231
* #3232
* #3233
* #3234
* #3235
* #3236
* #3237
* #3238
* #3239
* #3240
* #3241
* #3242
* #3243
* #3244
* #3246
* #3247
* #3248
* #3250
* #3251
* #3252
* #3253
* #3254
* #3255
* #3256
* #3257
* #3258
* #3259
* #3260
* #3261
* #3262
* #3263
* #3265
* #3266
* #3267
* #3268
* #3269
* #3270
* #3271
* #3272
* #3273
* #3274
* #3275
* #3276
* #3277
* #3278
* #3279
* #3280
* #3281
* #3282
* #3283
* #3284
* #3285
* #3286
* #3287
* #3288
* #3289
* #3290
* #3291
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.

8 participants