@@ -1206,21 +1206,8 @@ function UserModal({ isDialogOpen, onOpenChange, form, editingUser, editingUserI
12061206 [ form , handleFieldChange ] ,
12071207 )
12081208
1209- /** Preserves blank lines so Enter works in the textarea; empty entries are stripped on save via cleanProxySettings. */
12101209 const parseWireGuardPeerIps = React . useCallback ( ( value : string ) => {
1211- const lines = value . split ( '\n' )
1212- const result : string [ ] = [ ]
1213- for ( const line of lines ) {
1214- const parts = line . split ( ',' ) . map ( s => s . trim ( ) ) . filter ( Boolean )
1215- if ( parts . length === 0 ) {
1216- if ( line . trim ( ) === '' ) {
1217- result . push ( '' )
1218- }
1219- continue
1220- }
1221- result . push ( ...parts )
1222- }
1223- return result
1210+ return value . split ( '\n' )
12241211 } , [ ] )
12251212
12261213 const hasMeaningfulProxyValue = React . useCallback ( ( value : unknown ) : boolean => {
@@ -1246,7 +1233,18 @@ function UserModal({ isDialogOpen, onOpenChange, form, editingUser, editingUserI
12461233 const cleanedProtocolSettings = Object . entries ( settings as Record < string , unknown > ) . reduce (
12471234 ( protocolAcc , [ key , value ] ) => {
12481235 if ( Array . isArray ( value ) ) {
1249- const cleanedList = value . map ( item => ( typeof item === 'string' ? item . trim ( ) : item ) ) . filter ( item => hasMeaningfulProxyValue ( item ) )
1236+ const cleanedList = value
1237+ . flatMap ( item => {
1238+ if ( typeof item !== 'string' ) {
1239+ return [ item ]
1240+ }
1241+ if ( protocol === 'wireguard' && key === 'peer_ips' ) {
1242+ return item . split ( ',' )
1243+ }
1244+ return [ item ]
1245+ } )
1246+ . map ( item => ( typeof item === 'string' ? item . trim ( ) : item ) )
1247+ . filter ( item => hasMeaningfulProxyValue ( item ) )
12501248
12511249 if ( cleanedList . length > 0 ) {
12521250 protocolAcc [ key ] = cleanedList
@@ -2807,4 +2805,4 @@ function UserModal({ isDialogOpen, onOpenChange, form, editingUser, editingUserI
28072805 )
28082806}
28092807
2810- export default UserModal
2808+ export default UserModal
0 commit comments