how to get number of clients for a username in a message VPN - solace

after upgrade to SolOS 9.4
/SEMP/v2/monitor/msgVpns/vpn-xxx/clientUsernames
is giving output as
"aclProfileName":"",
"clientProfileName":"",
"clientUsername":"",
"dynamic":false,
"enabled":true,
"guaranteedEndpointPermissionOverrideEnabled":false,
"msgVpnName":"vpn-xxx",
"subscriptionManagerEnabled":false
earlier in 9.0 OS numClient was coming in response, which is not not coming in 9.4
"aclProfileName":"",
"authorizationGroup":"",
"clientProfileName":"",
"clientUsername":"",
"clientUsernameDeniedLoginClientUsernameShutdown":0,
"dynamicallyConfigured":false,
"enabled":true,
"guaranteedEndpointPermissionOverrideEnabled":false,
"maxConnections":200000,
"maxConnectionsServiceSmf":30000,
"maxConnectionsServiceWeb":200000,
"maxEndpoints":16000,
"msgVpnName":"vpn-xxx",
**"numClients":0,
"numClientsServiceSmf":0,
"numClientsServiceWeb":0,
"numEndpoints":37,**
"passwordConfigured":true,
"subscriptionManagerEnabled":false

In SolOS 9.0, the monitor API (SEMP/v2/monitor/...) was not yet released. The output referenced from 9.0 is part of the undocumented private API which was not supported and was subject to change. This is why the fields are no longer available on upgrade to SolOS 9.4.
In SolOS 9.4, this information can be obtained using legacy SEMP.

Related

error on agora package at flutter run ios

i have to problem with agora.
1: in ios i have error on flutter run:
config.encryptionKdfSalt = Data(bytes: encryptionKdfSalt)
^
/Users/iman/sdk/flutter/.pub-cache/hosted/pub.dartlang.org/agora_rtc_engine-4.2.1/ios/Classes/Base/Extensions.swift:121:22: warning: 'delay' is deprecated
"delay": delay,
^
/Users/iman/sdk/flutter/.pub-cache/hosted/pub.dartlang.org/agora_rtc_engine-4.2.1/ios/Classes/Base/RtcEngine.swift:684:31: warning: 'startAudioMixing(_:loopback:replace:cycle:)' is deprecated: use startAudioMixing(.., startPos) instead
callback.code(engine?.startAudioMixing(params["filePath"] as! String, loopback: params["loopback"] as! Bool, replace: params["replace"] as! Bool, cycle: (params["cycle"] as! NSNumber).intValue))
^
/Users/iman/sdk/flutter/.pub-cache/hosted/pub.dartlang.org/agora_rtc_engine-4.2.1/ios/Classes/Base/RtcEngine.swift:724:31: warning: 'getAudioMixingDuration()' is deprecated: use getAudioFileInfo:filePath instead.
2: in android voice call, after 5 minutes above, voice not transfer between clients.
For the first one, it looks like you're using a deprecated method. Make sure that you're using the latest version of the SDK and passing the correct parameters.
Can you please provide some more context for this? What channel profile are you using? Are you using tokens? It would be best if you could share the SDK logs.
You can also, ask your question on the Agora Developer Slack Community

runtime/cgo: could not obtain pthread_keys Simulator Error

I ran into this issue with Xcode 12.1 simulators running iOS 14.1. My code does compiles then I get the runtime error of
runtime/cgo: could not obtain pthread_keys
tried 0x118 0x119 0x11a 0x11b 0x11c 0x11d 0x11e 0x11f 0x120 0x121 0x122 0x123 0x124 0x125 0x126 0x127 0x128 0x129 0x12a 0x12b 0x12c 0x12d 0x12e 0x12f 0x130 0x131 0x132 0x133 0x134 0x135 0x136 0x137 0x138 0x139 0x13a 0x13b 0x13c 0x13d 0x13e 0x13f 0x140 0x141 0x142 0x143 0x144 0x145 0x146 0x147 0x148 0x149 0x14a 0x14b 0x14c 0x14d 0x14e 0x14f 0x150 0x151 0x152 0x153 0x154 0x155 0x156 0x157 0x158 0x159 0x15a 0x15b 0x15c 0x15d 0x15e 0x15f 0x160 0x161 0x162 0x163 0x164 0x165 0x166 0x167 0x168 0x169 0x16a 0x16b 0x16c 0x16d 0x16e 0x16f 0x170 0x171 0x172 0x173 0x174 0x175 0x176 0x177 0x178 0x179 0x17a 0x17b 0x17c 0x17d 0x17e 0x17f 0x180 0x181 0x182 0x183 0x184 0x185 0x186 0x187 0x188 0x189 0x18a 0x18b 0x18c 0x18d 0x18e 0x18f 0x190 0x191 0x192 0x193 0x194 0x195 0x196 0x197
The code runs fine on the iOS 13.5 simulators as well as on a physical device running iOS 14. I would like to have the simulators running and working. Does anyone have a solution for this issue to work on iOS 14 simulators? And if anyone might know if this issue would affect Apple Store submissions
I am assuming you are using a go library framework file with your iOS Project. We had a similar issue with our codebase. To answer your questions:
It won't affect Apple Store submissions/releases on the App Store - we have made few releases in the last few months and there have been no issues.
Regarding the issue itself, I assume this is because of the go version - you have not stated what go version you are using but this was prevalent if you were using an older version (1.10.x or previous).
Updating your go lib version to a newer release and building your framework file with that version should solve your problem
I haven't understood much on why the issue occurs but here's an answer that tries to explain something similar

Alamofire 'SecTrustCopyKey' is only available in iOS 14.0 or newer

I recently added pod 'Alamofire', '~> 5.4.0'
to my project but in ServerTrustEvaluation.swift line 603 there is an error:
return SecTrustCopyKey(createdTrust) //'SecTrustCopyKey' is only available in iOS 14.0 or newer
how can I fix this? should is use earlier version?
You could wrap that code in an #available-statement like so:
if #available(iOS 14, *)
{
return SecTrustCopyKey(createdTrust)
}
else
{
// Return something else here.
}
Obviously that means you won't be able to use SecTrustCopyKey() on devices running a lower iOS version.
Finding an equivalent for that function, which works for previous iOS versions, would be a solution. That can be used in the else { ... }.
you can change deployment target to 14 , if no requirement to support older version IOS

NSAttributedStringKey.attachment versus NSAttachmentAttributeName

I'm having problems with NSAttributedStringKey.attachment versus NSAttachmentAttributeName. Here's the relevant code:
var key: Any?
if #available(iOS 11, *) {
key = NSAttributedStringKey.attachment
}
else {
key = NSAttachmentAttributeName
}
One of two things are happening. In the actual place where I'm trying to use this code (a Cococapod of my own design, with a deployment target of iOS 8 and now building with Xcode 9), I get an error:
Type 'NSAttributedStringKey' (aka 'NSString') has no member 'attachment'
Or, if I just make a new example project and set the deployment target at iOS 8, I get:
'NSAttachmentAttributeName' has been renamed to 'NSAttributedStringKey.attachment'
This is not the behavior I'd expect with #available. Thoughts?
This String vs struct difference is between Swift 3 (uses Strings such as NSAttachmentAttributeName) and Swift 4 (uses struct static attributes such as NSAttributedStringKey.attachment), not between iOS <11 and iOS >=11. For instance, you can use NSAttributedStringKey.attachment and similar in any supporting version of iOS (e.g. .attachment is available since iOS 7) within a Swift 4 project. #available doesn't apply because it's a Swift language version difference rather than an OS version difference.
Ensure your pod is set to the correct Swift version and it should then work as expected. You can tell CocoaPods that by adding a .swift-version file at the top of your project:
$ echo 4.0 >.swift-version
This magical version file is mentioned in passing in a CocoaPods blog post from last year: http://blog.cocoapods.org/CocoaPods-1.1.0/

suddenly UIUserNotificationActionResponseTypedTextKey is unavailable

I don't understand this. Suddenly, I couldn't use the in iOS 9.0 introduced UIUserNotificationActionResponseTypedTextKey identifier for accessing text input messages in notifications. Xcode 7.1 says: "UIUserNotificationActionResponseTypedTextKey is unavailable".
But I can see this value in UIUserNotificationeSettings.h.
In Watchos2.0 I have this value.
Any Ideas?
I'm seeing the same exact thing in the release version of Xcode 7.2. Instead of using the key UIUserNotificationActionResponseTypedTextKey, I've gotten it working using the string version "UIUserNotificationActionResponseTypedTextKey".
So for me this is doing the trick:
if let response = responseInfo["UIUserNotificationActionResponseTypedTextKey"] as? String {
// Your code here
}

Resources