Detect NetworkManager connection add/remove events and maintain the internal state in sync#3244
Merged
teclator merged 6 commits intonetwork-202603from Mar 11, 2026
Merged
Conversation
7c9390f to
b2f44c1
Compare
b2f44c1 to
924953c
Compare
teclator
commented
Mar 11, 2026
Co-authored-by: Knut Alejandro Anderssen González <kanderssen@suse.de>
jreidinger
reviewed
Mar 12, 2026
| let result = match update { | ||
| NmChange::GeneralStateChanged => self.handle_general_state_changed().await, | ||
| NmChange::ConnectionAdded(path) => self.handle_connection_added(path).await, | ||
| NmChange::ConnectionRemoved(path) => self.handle_connection_removed(path).await, |
Contributor
There was a problem hiding this comment.
I failed to find where it reads connections...so it basically depends on reading it reactively. Do not make it sense to also have something like read_connections at the beginning or run?
Contributor
Author
There was a problem hiding this comment.
Probably makes sense.
dgdavid
added a commit
that referenced
this pull request
Mar 16, 2026
## Problem Beyond the usual enhancements, there was some pending work to make the network pages more useful for users. The following issues were identified as high priority: * Associated devices to connection: it is difficult to identify which devices belong to each connection. Improving the connection list to clearly show associated devices would make it easier for users to manage their networks. * Contextual actions for connections: Users can only click to view a connection and then edit it. Would be better providing a contextual menu with actions such as view details, edit, connect, or delete allows users to perform common tasks more efficiently. * Creating new connections: Users can only edit existing connections, which limits a lot the network configuration. Adding the ability to create new connections will address this gap and improve overall usability. Related to, - https://trello.com/c/jvgwGFIl/5581-8-bsc1247441-agama-ui-does-not-allow-to-add-or-remove-network-connections (protected link) - https://bugzilla.suse.com/show_bug.cgi?id=1247441 (protected link) - https://jira.suse.com/browse/PED-15913 (protected link) ## Solution * Backend enhancements: Added a backend improvement to notify the system about added or removed connections, as well as changes to devices, ensuring the internal state stays in sync (see PR #3244 ). * Connections table: Brought back the connections table, enhanced to give users more control and visibility over their connections. * Manage connections: Users can now add and remove connections directly from the UI. * IP settings improvements: Added the dnsSearchList field to the connection IPSettingsForm to support additional DNS configuration options (related to https://jira.suse.com/browse/PED-15913).
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
bmwiedemann
pushed a commit
to bmwiedemann/openSUSE
that referenced
this pull request
Mar 18, 2026
https://build.opensuse.org/request/show/1340718 by user IGonzalezSosa + anag_factory - Version 19 - Ensure the list of storage issues is correctly updated (gh#agama-project/agama#3291). - fix the ssh keys for first user (gh#agama-project/agama#3290) - Ensure storage system is probed before configuring DASD (bsc#1259354). - Extend the network service to monitor connections, access points, and general state changes, ensuring awareness of external modifications to the network. - Notify about System or Proposal changes when applying the configuration and added progress reporting. - Notify about System changes when devices change (gh#agama-project/agama#3244, gh#agama-project/agama#3247, gh#agama-project/agama#3276). - Fix method for getting zFCP issues (gh#agama-project/agama#3287). - Fix the sshPublicKeys alias (gh#agama-project/agama#3284). - jsc#PED-1543
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.
Problem
Currently Agama is not aware when new connections are added or removed by third party tools like the nmcli.
Solution
Testing