Synchronize with the api-v2 branch#2866
Merged
imobachgs merged 14 commits intosoftware-servicefrom Nov 12, 2025
Merged
Conversation
By using react-router and react-router/dom imports as stated in documentation https://reactrouter.com/upgrading/v6#upgrade-to-v7
By using the right imports/mocks
After migrating to React Router v7, the test suite fails with the following error: > ReferenceError: TextEncoder is not defined This appears to be due to an unimplemented TextEncoder in jsdom. To resolve this, we follow the same workaround as React Router, as outlined in remix-run/react-router#12363 (comment)
It was introduced to work around React Router v6's issue of not encoding parameters in the generatePath function. However, after migrating to v7, tests began failing due to double encoding. This revealed that React Router v7 already handles encoding parameters in generatePath. See remix-run/react-router#13530 Thus, this commit reverts the changes made in #2576
In TypeScript, TextEncoder and TextDecoder are global types when targeting the DOM environment, causing conflicts when importing these classes from Node’s util module. To avoid these conflicts, TextEncoder and TextDecoder from util have been imported with different names (NodeTextEncoder, NodeTextDecoder) and assigned to globalThis with explicit type assertions. * MDN - https://developer.mozilla.org/en-US/docs/Web/API/TextEncoder - https://developer.mozilla.org/en-US/docs/Web/API/TextDecoder * StackOverflow - https://stackoverflow.com/a/77752064 * TypeScript types - https://github.com/microsoft/TypeScript/blob/efca03ffed10dccede4fbc8dd8a624374e5424d9/src/lib/dom.generated.d.ts#L32378
To fix an issue with React Router v7 types > src/index.tsx:25:32 - error TS2307: Cannot find module 'react-router/dom' or its corresponding type declarations. > There are types at 'node_modules/react-router/dist/development/dom-export.d.mts', > but this result could not be resolved under your current 'moduleResolution' setting. > Consider updating to 'node16', 'nodenext', or 'bundler'. As per TypeScript documentation, https://www.typescriptlang.org/tsconfig/#moduleResolution > 'bundler' for use with bundlers. Like node16 and nodenext, this mode > supports package.json "imports" and "exports", but unlike the Node.js > resolution modes, bundler never requires file extensions on relative > paths in imports.
## Problem React Router v7 was released almost a year now (see https://reactrouter.com/changelog#v700), but it has not been updated in Agama yet. In addition to the obvious benefit of keeping dependencies up-to-date, updating it might help to address some limitations we have found with the v6 version, like 06d858c ## Solution Migrate React Router dependency to its latest version. ## Testing - Adapted existing tests. ## Notes This migration has been straightforward, and as of now, Agama is using Data Mode (see https://reactrouter.com/start/modes). However, this could change in the future if we find advantages in switching to Declarative or Framework Mode. Before making any decisions, we’ll need to work on `src/App.tsx` along with the changes planned for the api-v2 branch that this PR is based on. ## Documentation * https://reactrouter.com/upgrading/v6 * remix-run/react-router#12363 (comment) * remix-run/react-router#13530 (`generatePath` now encodes URL params by default, related to #2576) * https://www.typescriptlang.org/tsconfig/#moduleResolution
Co-authored-by: Imobach González Sosa <igonzalezsosa@suse.com>
## Problem There is a new config based HTTP API and all the services needs to be adapted. The aim of this PR is to adapt the network backend service (replace #2840). - #2715 ## Solution In the new architecture all the Agama modules will live in its own package implementing the actors/service as described in (#2715), but as network was already using a actors model using an enums approach it was decided to use the current service in the first iteration of changes. ### Changes done - Added the actions for getting the system, proposal and current network configuration using the actual actions passing messages system based on enums. - All the structs or types that are related to the API (needs to be serialized) has been moved to agama-utils, it was decided to not depend on agama-lib anymore. The types will be re-exported to be used by agama-network when needed. - As the current merge is concatenating the connections array, the patch **(updateConfig)** will replace the connections with the given one when present, but is something we need to revisit and decide how to do it in a better way. - Removed the network web service. - As the proposal, system info and config contains similar collections and just change the absence or presence of some of them we have introduced the **NetworkCollection** and **NetworkConnectionCollections** in order to do the conversion between them. ### TODO - Move to the actors/service model using traits instead of enums and adding the issues and progress monitor to the network service. - Remove all the actions which are not needed anymore (old network web service). - Add unit tests covering the new approach.
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
Merged
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Another synchronization of
api-v2andsoftware-service.