"Topic policies cache have not init" randomly happen on different topics in the same namespace

Describe the bug
I think my bug is related to this issue https://github.com/apache/pulsar/issues/10231 but actually it's not because our Pulsar has disabled the brokerDeleteInactiveTopicsEnabled in broker level. And the issue "Topic policies cache have not init" happened on both  namespaces with "inactiveTopicPolicies" enabled and disabled.
We are all using partition topics.
Our full adjusted configs:
allowAutoTopicCreationType=partitioned
brokerDeleteInactivePartitionedTopicMetadataEnabled=true
brokerDeleteInactiveTopicsEnabled=false
clusterName=mycluster
configurationMetadataStoreUrl=zookeeper:2181
forceDeleteNamespaceAllowed=true
forceDeleteTenantAllowed=true
functionsWorkerEnabled=false
managedLedgerDefaultAckQuorum=2
managedLedgerDefaultEnsembleSize=3
managedLedgerDefaultWriteQuorum=3
metadataStoreUrl=zookeeper:2181
numHttpServerThreads=32
numIOThreads=8
systemTopicEnabled=true
topicLevelPoliciesEnabled=true

To Reproduce
Steps to reproduce the behavior:
I have no idea of how to reproduce this issue but it happens on our production environment and not in staging. May be it's related to production data
Expected behavior
We can set topic policies properly without exception that:
Message: Topic policies cache have not init.

Stacktrace:

org.apache.pulsar.broker.service.BrokerServiceException$TopicPoliciesCacheNotInitException: Topic policies cache have not init.
        at org.apache.pulsar.broker.service.SystemTopicBasedTopicPoliciesService.getTopicPolicies(SystemTopicBasedTopicPoliciesService.java:207)
        at org.apache.pulsar.broker.service.TopicPoliciesService.lambda$getTopicPoliciesAsyncWithRetry$0(TopicPoliciesService.java:100)
        at org.apache.pulsar.client.util.RetryUtil.executeWithRetry(RetryUtil.java:48)
        at org.apache.pulsar.client.util.RetryUtil.lambda$null$1(RetryUtil.java:57)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.base/java.lang.Thread.run(Thread.java:829)

Desktop (please complete the following information):

OS: Ubuntu with Pulsar 2.10.0

Additional context
Currently is there any Rest API for manually init the Topic Policies Cache or any way to check it via command line and manually init it?

Could you provide some broker logs when this error happens?

Could you provide some broker logs when this error happens?

Dear @Technoboy- ,
The broker logs has no more information than the exception
2022-06-02T09:36:44,454+0000 [pulsar-2-2] ERROR org.apache.pulsar.broker.admin.impl.PersistentTopicsBase - [null] Failed to perform setSubscriptionDispatchRate on topic persistent://public/ticdc/inbox_message

org.apache.pulsar.broker.service.BrokerServiceException$TopicPoliciesCacheNotInitException: Topic policies cache have not init.

	at org.apache.pulsar.broker.service.SystemTopicBasedTopicPoliciesService.getTopicPolicies(SystemTopicBasedTopicPoliciesService.java:207) ~[org.apache.pulsar-pulsar-broker-2.10.0.jar:2.10.0]

	at org.apache.pulsar.broker.service.TopicPoliciesService.lambda$getTopicPoliciesAsyncWithRetry$0(TopicPoliciesService.java:100) ~[org.apache.pulsar-pulsar-broker-2.10.0.jar:2.10.0]

	at org.apache.pulsar.client.util.RetryUtil.executeWithRetry(RetryUtil.java:48) ~[org.apache.pulsar-pulsar-client-original-2.10.0.jar:2.10.0]

	at org.apache.pulsar.client.util.RetryUtil.lambda$null$1(RetryUtil.java:57) ~[org.apache.pulsar-pulsar-client-original-2.10.0.jar:2.10.0]

	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]

	at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]

	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) [?:?]

	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]

	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]

	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [io.netty-netty-common-4.1.74.Final.jar:4.1.74.Final]

	at java.lang.Thread.run(Thread.java:829) [?:?]

2022-06-02T09:36:44,457+0000 [pulsar-2-2] INFO  org.eclipse.jetty.server.RequestLog - <IP_ADDRESS> - - [02/Jun/2022:09:36:29 +0000] "POST /admin/v2/persistent/public/ticdc/inbox_message/subscriptionDispatchRate?authoritative=false HTTP/1.1" 500 1277 "-" "curl/7.68.0" 14901

Could you provide some broker logs when this error happens?

Dear @Technoboy- ,
The broker logs has no more information than the exception
2022-06-02T09:36:44,454+0000 [pulsar-2-2] ERROR org.apache.pulsar.broker.admin.impl.PersistentTopicsBase - [null] Failed to perform setSubscriptionDispatchRate on topic persistent://public/ticdc/inbox_message

org.apache.pulsar.broker.service.BrokerServiceException$TopicPoliciesCacheNotInitException: Topic policies cache have not init.

	at org.apache.pulsar.broker.service.SystemTopicBasedTopicPoliciesService.getTopicPolicies(SystemTopicBasedTopicPoliciesService.java:207) ~[org.apache.pulsar-pulsar-broker-2.10.0.jar:2.10.0]

	at org.apache.pulsar.broker.service.TopicPoliciesService.lambda$getTopicPoliciesAsyncWithRetry$0(TopicPoliciesService.java:100) ~[org.apache.pulsar-pulsar-broker-2.10.0.jar:2.10.0]

	at org.apache.pulsar.client.util.RetryUtil.executeWithRetry(RetryUtil.java:48) ~[org.apache.pulsar-pulsar-client-original-2.10.0.jar:2.10.0]

	at org.apache.pulsar.client.util.RetryUtil.lambda$null$1(RetryUtil.java:57) ~[org.apache.pulsar-pulsar-client-original-2.10.0.jar:2.10.0]

	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]

	at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]

	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) [?:?]

	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]

	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]

	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [io.netty-netty-common-4.1.74.Final.jar:4.1.74.Final]

	at java.lang.Thread.run(Thread.java:829) [?:?]

2022-06-02T09:36:44,457+0000 [pulsar-2-2] INFO  org.eclipse.jetty.server.RequestLog - <IP_ADDRESS> - - [02/Jun/2022:09:36:29 +0000] "POST /admin/v2/persistent/public/ticdc/inbox_message/subscriptionDispatchRate?authoritative=false HTTP/1.1" 500 1277 "-" "curl/7.68.0" 14901

Can you search for any other error logs in this broker?

it happened to me and my team as well, we are currently testing topic policies(so topic policies are enabled) , this error pops up randomly for us (probably related to tests), the way around we found is to unload namespace, we also did not find a way to reproduce

It also happens to us when we try to determine a topic compaction threshold.
We use Pulsar 2.8.3.
Error when issuing command to get compaction threshold:
	root@rev-pulsar-toolset-0:/pulsar/bin# ./pulsar-admin topics get-compaction-threshold persistent://dbus/test/dummy-objects
	HTTP 500 Server Error

	Reason: HTTP 500 Server Error

Error seen on broker:
	10:02:50.919 [pulsar-io-4-4] INFO  org.apache.pulsar.broker.service.ServerCnx - [PersistentTopic{topic=persistent://dbus/dgt-time-series-point/status}][rev-pulsar-4-4116] Closed producer on cnx /<IP_ADDRESS>:33920. producerId=8040
	10:02:51.016 [pulsar-2-1] ERROR org.apache.pulsar.broker.admin.impl.PersistentTopicsBase - [null] Failed to perform getCompactionThreshold on topic persistent://dbus/test/dummy-objects
	org.apache.pulsar.broker.service.BrokerServiceException$TopicPoliciesCacheNotInitException: Topic policies cache have not init.
			at org.apache.pulsar.broker.service.SystemTopicBasedTopicPoliciesService.getTopicPolicies(SystemTopicBasedTopicPoliciesService.java:185) ~[org.apache.pulsar-pulsar-broker-2.8.3.jar:2.8.3]
			at org.apache.pulsar.broker.service.TopicPoliciesService.lambda$getTopicPoliciesAsyncWithRetry$0(TopicPoliciesService.java:83) ~[org.apache.pulsar-pulsar-broker-2.8.3.jar:2.8.3]
			at org.apache.pulsar.client.util.RetryUtil.executeWithRetry(RetryUtil.java:49) ~[org.apache.pulsar-pulsar-client-original-2.8.3.jar:2.8.3]
			at org.apache.pulsar.client.util.RetryUtil.lambda$executeWithRetry$1(RetryUtil.java:58) ~[org.apache.pulsar-pulsar-client-original-2.8.3.jar:2.8.3]
			at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
			at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
			at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) [?:?]
			at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
			at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
			at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [io.netty-netty-common-4.1.74.Final.jar:4.1.74.Final]
			at java.lang.Thread.run(Thread.java:829) [?:?]

Do you have schemaValidationEnforced turned on on a namespace level? I'm seeing the following in logs just before receiving the Topic policies cache have not init. exception.
2022-07-01T11:25:15,816+0000 [pulsar-io-4-5] WARN  org.apache.pulsar.client.impl.PulsarClientImpl - [persistent://showcase/user/__change_events] Failed to get create topic reader
java.util.concurrent.CompletionException: org.apache.pulsar.client.api.PulsarClientException$IncompatibleSchemaException: {"errorMsg":"Schema not found and schema auto updating is disabled.","reqId":4307185312891752491, "remote":"dev01-neuron-pulsar-broker-0.dev01-neuron-pulsar-broker.dev01-neuron-pulsar.svc.cluster.local/<IP_ADDRESS>:6650", "local":"/<IP_ADDRESS>:56456"}
	at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:331) ~[?:?]
	at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:346) ~[?:?]
	at java.util.concurrent.CompletableFuture$UniRun.tryFire(CompletableFuture.java:777) ~[?:?]
	at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506) [?:?]
	at java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2088) [?:?]
	at org.apache.pulsar.client.impl.ClientCnx.handleError(ClientCnx.java:715) [org.apache.pulsar-pulsar-client-original-2.9.2.jar:2.9.2]
	at org.apache.pulsar.common.protocol.PulsarDecoder.channelRead(PulsarDecoder.java:177) [org.apache.pulsar-pulsar-common-2.9.2.jar:2.9.2]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [io.netty-netty-transport-4.1.74.Final.jar:4.1.74.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [io.netty-netty-transport-4.1.74.Final.jar:4.1.74.Final]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [io.netty-netty-transport-4.1.74.Final.jar:4.1.74.Final]
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:327) [io.netty-netty-codec-4.1.74.Final.jar:4.1.74.Final]
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:299) [io.netty-netty-codec-4.1.74.Final.jar:4.1.74.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [io.netty-netty-transport-4.1.74.Final.jar:4.1.74.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [io.netty-netty-transport-4.1.74.Final.jar:4.1.74.Final]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [io.netty-netty-transport-4.1.74.Final.jar:4.1.74.Final]
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) [io.netty-netty-transport-4.1.74.Final.jar:4.1.74.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [io.netty-netty-transport-4.1.74.Final.jar:4.1.74.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [io.netty-netty-transport-4.1.74.Final.jar:4.1.74.Final]
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) [io.netty-netty-transport-4.1.74.Final.jar:4.1.74.Final]
	at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:795) [io.netty-netty-transport-classes-epoll-4.1.74.Final.jar:4.1.74.Final]
	at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:480) [io.netty-netty-transport-classes-epoll-4.1.74.Final.jar:4.1.74.Final]
	at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:378) [io.netty-netty-transport-classes-epoll-4.1.74.Final.jar:4.1.74.Final]
	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) [io.netty-netty-common-4.1.74.Final.jar:4.1.74.Final]
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [io.netty-netty-common-4.1.74.Final.jar:4.1.74.Final]
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [io.netty-netty-common-4.1.74.Final.jar:4.1.74.Final]
	at java.lang.Thread.run(Thread.java:829) [?:?]
Caused by: org.apache.pulsar.client.api.PulsarClientException$IncompatibleSchemaException: {"errorMsg":"Schema not found and schema auto updating is disabled.","reqId":4307185312891752491, "remote":"dev01-neuron-pulsar-broker-0.dev01-neuron-pulsar-broker.dev01-neuron-pulsar.svc.cluster.local/<IP_ADDRESS>:6650", "local":"/<IP_ADDRESS>:56456"}
	at org.apache.pulsar.client.impl.ClientCnx.getPulsarClientException(ClientCnx.java:1170) ~[org.apache.pulsar-pulsar-client-original-2.9.2.jar:2.9.2]
	at org.apache.pulsar.client.impl.ClientCnx.handleError(ClientCnx.java:716) ~[org.apache.pulsar-pulsar-client-original-2.9.2.jar:2.9.2]
	... 20 more

And to me it suggest that the reader that the broker creates on this internal __change_events topic can't work in a namespace with schemaValidationEnforced enabled since it doesn't specify any schema.

It also happens to us just the same error as describe above.

It also happens to us when we try to determine a topic compaction threshold.
We use Pulsar 2.8.3.
Error when issuing command to get compaction threshold:
	root@rev-pulsar-toolset-0:/pulsar/bin# ./pulsar-admin topics get-compaction-threshold persistent://dbus/test/dummy-objects
	HTTP 500 Server Error

	Reason: HTTP 500 Server Error

Error seen on broker:
	10:02:50.919 [pulsar-io-4-4] INFO  org.apache.pulsar.broker.service.ServerCnx - [PersistentTopic{topic=persistent://dbus/dgt-time-series-point/status}][rev-pulsar-4-4116] Closed producer on cnx /<IP_ADDRESS>:33920. producerId=8040
	10:02:51.016 [pulsar-2-1] ERROR org.apache.pulsar.broker.admin.impl.PersistentTopicsBase - [null] Failed to perform getCompactionThreshold on topic persistent://dbus/test/dummy-objects
	org.apache.pulsar.broker.service.BrokerServiceException$TopicPoliciesCacheNotInitException: Topic policies cache have not init.
			at org.apache.pulsar.broker.service.SystemTopicBasedTopicPoliciesService.getTopicPolicies(SystemTopicBasedTopicPoliciesService.java:185) ~[org.apache.pulsar-pulsar-broker-2.8.3.jar:2.8.3]
			at org.apache.pulsar.broker.service.TopicPoliciesService.lambda$getTopicPoliciesAsyncWithRetry$0(TopicPoliciesService.java:83) ~[org.apache.pulsar-pulsar-broker-2.8.3.jar:2.8.3]
			at org.apache.pulsar.client.util.RetryUtil.executeWithRetry(RetryUtil.java:49) ~[org.apache.pulsar-pulsar-client-original-2.8.3.jar:2.8.3]
			at org.apache.pulsar.client.util.RetryUtil.lambda$executeWithRetry$1(RetryUtil.java:58) ~[org.apache.pulsar-pulsar-client-original-2.8.3.jar:2.8.3]
			at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
			at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
			at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) [?:?]
			at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
			at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
			at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [io.netty-netty-common-4.1.74.Final.jar:4.1.74.Final]
			at java.lang.Thread.run(Thread.java:829) [?:?]

It also happens to us just the same error as describe above. Also Pulsar 2.8.3.

Pulsar 2.9.2, same issue. #16331 won't help us because we have is_allow_auto_update_schema enabled

I solved my problem anyway.
I tracked the code and found that "Topic policies cache have not init" most likely because something wrong with the __change_events topic. The broker failed to consume the system topic. In this scene of mine, the system topic can not be loaded.
I checked the system topic and found that one partition (__change_events-partition-1) is terminated and the ledger had already beed deleted. I tried deleting the __change_events-partition-1 but failed. Finally I delete the znode /managed-ledgers/tenant/namespace/persistent/__change_events-partition-1 and restart the broker which is the owner of __change_events-partition-1, the broker created the partition (allowAutoTopicCreation=true) and then everything back to normal.

@dragonls thank for that, is it safe to manually update the znode. Do we have any document about metadata stored in the zk?

@dragonls thank for that, is it safe to manually update the znode. Do we have any document about metadata stored in the zk?

I'm not sure whether it is safe, but for my case, the topic has beed terminated and no ledgers left, which make the topic can not be loaded. I also reproduce my case in test env and do not see anything else wrong.
I do not see any document about metadata stored in the zk.

I solved my problem anyway.
I tracked the code and found that "Topic policies cache have not init" most likely because something wrong with the __change_events topic. The broker failed to consume the system topic. In this scene of mine, the system topic can not be loaded.
I checked the system topic and found that one partition (__change_events-partition-1) is terminated and the ledger had already beed deleted. I tried deleting the __change_events-partition-1 but failed. Finally I delete the znode /managed-ledgers/tenant/namespace/persistent/__change_events-partition-1 and restart the broker which is the owner of __change_events-partition-1, the broker auto created the partition (allowAutoTopicCreation=true) and then restart all brokers. Everything back to normal.

What do you mean the partition is terminated ?  Do you mean that the partition state is terminated which can't produce any messages but can consume ?

Yes, someone may have teminated the topic via pulsar admin.

I've the same issue in a production environment. It happened just after Pulsar upgrade from 2.6.3 to 2.9.2.
Strange enough I didn't see it happen on staging environment with the same configuration. Real difference between environments is traffic volume: streams much more used in production, some streams on staging aren't really used for long time...

Same the same issue today. Out of nowhere broker unable to create topic due to "Topic policy cache have not init".
I have enabled systemTopic and topic level policy, been using the same config for almost a month and suddenly this pops up in production.

Had to urgently pull down production pulsar cluster and disable systemTopic and topic level policy. And it works after.

Same the same issue today. Out of nowhere broker unable to create topic due to "Topic policy cache have not init".
I have enabled systemTopic and topic level policy, been using the same config for almost a month and suddenly this pops up in production.

Had to urgently pull down production pulsar cluster and disable systemTopic and topic level policy. And it works after.
Pulsar 2.10.1

@Raven888888 @diegosalvi @truong-hua
We have found the root cause and pushed out the fix https://github.com/apache/pulsar/pull/17562
Thanks for reporting the issue.

Awesome to hear that @Technoboy- appreciate it
Hope to use back topic level policy in the next release.

@Raven888888 @diegosalvi @truong-hua We have found the root cause and pushed out the fix #17562 Thanks for reporting the issue.

@Technoboy-
A similar issue is happening in 2.8.4. I see that fix was backported to 2.8 branch to be scheduled for 2.8.5 but such version was never released. Is branch 2.8.x unmaintained? Could version 2.8.5 be released? We are in an urgent situation here as it is too risky to update to 2.9.5 in our production systems.


Question About Data Processing for KPIs Task2

Dear Author,
I hope this message finds you well.
I couldn’t find the data processing part for KPIs Task2 in your GitHub repository or Docker image. The large size of the pathology images in Task2 makes it challenging to process and train the model directly. I was wondering if you could kindly share your approach to handling these images. It would be greatly appreciated if you could provide any references or related code as well.
Thank you for your time and support!

@DigitalImageProcessor
Thanks for your question!
If you visually check the WSIs of the KPIs data, you'll see that they have already been nicely pre-processed with the non-tissue areas removed. Therefore, no need to pre-process these WSIs for KPIs. Note that you might need to pre-process the WSIs for other datasets.
For your second question, training WSIs directly is not feasible, so we normally train a model (e.g., segmentation model) using the cropped patch images (as provided in Task 1 data of the KPIs challenge).
Please see a plotted WSI of KPIs below


"Incorrect values within SQLDA structure" connecting to FB4

Hello, I'm experiencing this error when I try to connect with FlameRobin to a DB hosted on a FB4 instance:

This problem occurs with any recent version of FlameRobin (included <IP_ADDRESS> Snapshot).
But occurs only on my machine, not on the machine where FB4 resides.
What should I do?
Thanks, kind regards

Hello, you are using some resources specifics to Fb4, but your fbclient.dll are from a older release
I recommend to you to update the DLL and also to read this issue: https://github.com/mariuz/flamerobin/issues/205 to garantee compatibility until Fr are 100% compatible

Thanks @arvanus. I tried upgrading fbclient.dll in C:\Windows\System32, taking it from C:\Program Files\Firebird\Firebird_4_0.
But the problem persist. Should I put it somewhere else?
Kind regards

Probably you have another DLL somewhere
Try putting directly inside Fr folder

Great, now it works, thank you very much!

Hi @bluish5
Could you please retest this issue on FlameRobin <IP_ADDRESS> and close it if it is no longer reproducible?
Thanks in advance,
Luciano

Hi @luronumen ,
I tried such version and it works, even if I don't know if it is because of this release... My FlameRobin was working also before...


Propose features

I would like to propose a features

Caddy instead of nginx + certbot. You can just add one container on top of them

We are an a path to probably drop support for web image (#245 #366). I let this issue in standby, but we will probably close it in the futur.

After read the previous discussions so far. Looking forward to see the next release.
Thank you for your response.


CLEANUP: Move an ESLint to global level once TS migration is over

Move the plugin:you-dont-need-lodash-underscore/all' ESLint plugin to the global level rule once the TS migration is over.

Migration is still going on

melvin, TS migration is still going

melvin, TS migration is still going


[FR] Look into support for importing/exporting in more common dataset formats

Here's what CVAT supports for exports:
We already support:

COCO, VOC, TF Records, CVAT Image

Things to look into:

Datumaro, LabelMe, MOT, YOLO

Things to support when we provide video support

CVAT Video

Updated to reflect formats that are now supported, as of October 27th


Added final variables

Final in inteefaces

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attirbution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request addresses a currently open issue, replace the XXXXX below with that issue number.
Closes #XXXXX

Just practicing OJCA 8

Hi nefigarcia,
Thanks for this pull request (PR).
Unfortunately, we are marking this PR invalid for hacktoberfest. We believe it does not follow the recommended guidelines:

Quality Standards
In line with Hacktoberfest value #2 (Quantity is fun, Quality is key), we have provided examples of the quality standards we encourage. This applies mainly to beginners.

PRs that are automated e.g. scripted opening PRs to remove whitespace / optimize images.
PRs that are disruptive e.g. taking someone else's branch/commits and making a PR.
PRs that are regarded by a project maintainer as a hindrance vs. helping.
Something that's clearly an attempt to simply +1 your PR count for October.

Learn more at https://hacktoberfest.digitalocean.com/details


Validation of Tutorials 1 & 2

Thank you for your contribution to the IC Developer Portal.
Before submitting your Pull Request, please make sure that:

[x] You have updated the .github/CODEOWNERS file according to your changes.
[x] You have registered new documents to /sidebars.js if any.

This is the first PR in my project involving validating the accuracy of each documentation page. This PR covers Tutorials 1&2 in the 'Tutorials' section of the developer docs. Edits to these pages include adding additional context for some concepts such as cycles wallets, adding a 'Next steps' section to pages that did not previously have it, and some minor rewording for clarity.

just one comment, approved otherwise

I've added a comment in the code. If the PR is already closed and merged, I can open a separate one.

I've added a comment in the code. If the PR is already closed and merged, I can open a separate one.

Hey Pascal, please open a new PR for the edit. Thank you!

Thanks @jessiemongeon1. I've created the PR here: https://github.com/dfinity/portal/pull/1526


Put images inside folder

I think will better if put images inside folders, not in the same directory of css.

While this is something I usually also do on most of my projects, we will not be moving the images to a separate folder on this repo since we're aiming to preserve the same theme structure as the default jsTree theme.
Another problem with moving the files (images/fonts) is that not everyone has the same folder structure so it would be next to impossible to make everyone happy using relative or absolute URLs.
Also it's a very easy change for anyone who wants to change the image paths. All you need to do is to edit the style.css to find all the lines containing url(" which point to image files and alter the path. There are just a few of those.


Incomplete user profile data

When retrieving data via the 'User.Read' scope, I am only seeing data for the 'businessPhones', 'displayName', 'givenName', 'id', 'jobTitle', 'mail', 'mobilePhone', 'officeLocation', 'preferredLanguage', 'surname' and 'userPrincipalName' properties.
Is there a way to modify this tutorial to include ALL of the properties of the Microsoft.Graph.User object?  I have seen this accomplished in a couple of .Net Core demos but I'm not ready for .Net Core just yet.  As always, any assistance is greatly appreciated.

You won't be able to access all properties by default if you querying to V1.0 Graph. You have to use $select query parameter to enumerate the properties or any extended attributes like below,
https://graph.microsoft.com/v1.0/me?$select=displayName,officeLocation, assignedLicenses,extendedAttribute1,extendedAttribute2
Reference - https://docs.microsoft.com/en-us/graph/query-parameters

@hanifmulani is correct. Getting the user without any parameters to the call returns a default set of properties, as documented here: https://docs.microsoft.com/en-us/graph/api/user-get?view=graph-rest-1.0&tabs=http
To request additional props, you need to explicitly ask for them. So in this sample, instead of:
return await graphClient.Me.Request().GetAsync();

You would do:
return await graphClient.Me.Request().Select("displayName,officeLocation").GetAsync();

Replace the string parameter to the Select method with a comma-delimited list of the properties you want.

Thanks Jason.  I have implemented this change and it works well.  I was able to modify your 'graph-tutorial' demo and it worked perfectly.
I found another demo using .Net Core 2.2 and the Graph beta endpoint.  In the demo, all of the properties of the of Graph.User object were available, apparently by default, without any sort of explicit call.
I am new to MVC and am definitely not ready for .Net Core.  Forgive my ignorance, but what do I need to do to redirect your .Net 4.6 'graph-tutorial' to the Graph beta endpoint?
As an aside, I have greatly appreciated your training videos.  They have become an invaluable resource to me.
Thanks again,
Randall Powell
Get Outlook for Androidhttps://aka.ms/ghei36
[cid:gw_6a5cf058-0b5b-46eb-8ba1-d614a42b779c.PNG]      Randall Powell
System Integrator
GW Communication Solutions, LLC
801 Hammond Street, Suite 350, Coppell, TX 75019
www.unitekglobalservices.comhttp://www.unitekglobalservices.com/
Important: Neither Unitek Global Services, Inc. nor its affiliates (together, “Unitek”), wish to receive, on a non-solicited basis, directly or indirectly, any non-public information related to any public issuer. Additionally, this e-mail may contain information that is confidential, privileged or otherwise protected from disclosure. If you are not an intended recipient of this e-mail, do not duplicate or redistribute it by any means. Please delete it and any attachments and notify the sender that you have received it in error. Unintended recipients are prohibited from taking action on the basis of information in this e-mail. Unitek reserves the right, to the extent and under circumstances permitted by applicable law, to review, retain, monitor and intercept e-mail messages to and from its systems. Unitek may also retain and reproduce electronic messages for state, federal, or other regulatory agencies as required by applicable law.

From: Jason Johnston<EMAIL_ADDRESS>Sent: Friday, August 30, 2019 10:59:30 AM
To: microsoftgraph/msgraph-training-aspnetmvcapp<EMAIL_ADDRESS>Cc: Randall Powell<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [microsoftgraph/msgraph-training-aspnetmvcapp] Incomplete user profile data (#36)
@hanifmulanihttps://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fhanifmulani&data=02|01|randall.powell%40glassandwire.com|681f261ce9a14927da7008d72d630b66|108b413fe870457bb41f2570accad4c9|0|0|637027775730180445&sdata=O3%2BJ0qG0n99S34J%2BMRT8OFhXN02YD3HQ6AKgaT42An4%3D&reserved=0 is correct. Getting the user without any parameters to the call returns a default set of properties, as documented here: https://docs.microsoft.com/en-us/graph/api/user-get?view=graph-rest-1.0&tabs=httphttps://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fgraph%2Fapi%2Fuser-get%3Fview%3Dgraph-rest-1.0%26tabs%3Dhttp&data=02|01|randall.powell%40glassandwire.com|681f261ce9a14927da7008d72d630b66|108b413fe870457bb41f2570accad4c9|0|0|637027775730180445&sdata=IBh133fB16MVGkUnz4fWKwUvQquiaN7Dp6jhgZi5ucE%3D&reserved=0
To request additional props, you need to explicitly ask for them. So in this sample, instead of:
return await graphClient.Me.Request().GetAsync();
You would do:
return await graphClient.Me.Request().Select("displayName,officeLocation").GetAsync();
Replace the string parameter to the Select method with a comma-delimited list of the properties you want.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoftgraph%2Fmsgraph-training-aspnetmvcapp%2Fissues%2F36%3Femail_source%3Dnotifications%26email_token%3DAM64VMXD3SIU2WPUD2PRZP3QHE7WFA5CNFSM4ISI5JRKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5SCB4Y%23issuecomment-526655731&data=02|01|randall.powell%40glassandwire.com|681f261ce9a14927da7008d72d630b66|108b413fe870457bb41f2570accad4c9|0|0|637027775730190434&sdata=gnELrPwxtTn%2FibzR1rUixxqbkOYE%2BdQblwUhJHmfzcE%3D&reserved=0, or mute the threadhttps://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAM64VMR5MGXTUOQ2NOVBK6DQHE7WFANCNFSM4ISI5JRA&data=02|01|randall.powell%40glassandwire.com|681f261ce9a14927da7008d72d630b66|108b413fe870457bb41f2570accad4c9|0|0|637027775730190434&sdata=x%2F%2FARpN2H%2FdFCK46hBNeBJKbpca9NM6b35kM417T%2Fc8%3D&reserved=0.

Glad to hear you got it modified for your needs. To switch to the beta endpoint, you'd want to use the beta SDK instead of the "regular" SDK that the sample currently uses.

Jason,
I have been experimenting with your tutorial and thought it might be a good idea to update the NuGet packages to their latest versions.  Bad idea.
I now have a number of errors to resolve which seem to be primarily associated with the upgrade from Microsoft.Identity.Client "2.1.0-preview" to version "4.3.1".  The most onerous of these errors has to do with the following statement taken from the GraphHelper.GetAuthenticatedClient() method:
                    var idClient = new ConfidentialClientApplication(appId, redirectUri, new ClientCredential(appSecret), tokenStore.GetMsalCacheInstance(), null);

I am now being advised this method is obsolete and I am being instructed to utilize ‘ConfidentialClientApplicationBuilder’ instead.  I admit, I am stumped.  I have yet to find an example that would allow me to replace the (now broken) method within your tutorial with this new constructor.
Any pointers, redirection or assistance would be greatly appreciated.
Best regards,
Randall Powell
(rpowell6)
[cid:gw_6a5cf058-0b5b-46eb-8ba1-d614a42b779c.PNG]      Randall Powell
System Integrator
GW Communication Solutions, LLC
801 Hammond Street, Suite 350, Coppell, TX 75019
www.unitekglobalservices.comhttp://www.unitekglobalservices.com/
Important: Neither Unitek Global Services, Inc. nor its affiliates (together, “Unitek”), wish to receive, on a non-solicited basis, directly or indirectly, any non-public information related to any public issuer. Additionally, this e-mail may contain information that is confidential, privileged or otherwise protected from disclosure. If you are not an intended recipient of this e-mail, do not duplicate or redistribute it by any means. Please delete it and any attachments and notify the sender that you have received it in error. Unintended recipients are prohibited from taking action on the basis of information in this e-mail. Unitek reserves the right, to the extent and under circumstances permitted by applicable law, to review, retain, monitor and intercept e-mail messages to and from its systems. Unitek may also retain and reproduce electronic messages for state, federal, or other regulatory agencies as required by applicable law.
From: Jason Johnston<EMAIL_ADDRESS>Sent: Tuesday, September 3, 2019 10:33 AM
To: microsoftgraph/msgraph-training-aspnetmvcapp
Cc: Randall Powell; Author
Subject: Re: [microsoftgraph/msgraph-training-aspnetmvcapp] Incomplete user profile data (#36)
Glad to hear you got it modified for your needs. To switch to the beta endpoint, you'd want to use the beta SDKhttps://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoftgraph%2Fmsgraph-beta-sdk-dotnet&data=02|01|randall.powell%40glassandwire.com|e3fb9b859b734ffece9808d730840ced|108b413fe870457bb41f2570accad4c9|0|0|637031216017065301&sdata=HzE8WSJ4vadjShujEKtMCGWqE05gMbDw1bL0n3CflYU%3D&reserved=0 instead of the "regular" SDK that the sample currently uses.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoftgraph%2Fmsgraph-training-aspnetmvcapp%2Fissues%2F36%3Femail_source%3Dnotifications%26email_token%3DAM64VMTP3YJKE5CD2JUSULLQHZ7T7A5CNFSM4ISI5JRKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5YTHMQ%23issuecomment-527512498&data=02|01|randall.powell%40glassandwire.com|e3fb9b859b734ffece9808d730840ced|108b413fe870457bb41f2570accad4c9|0|0|637031216017065301&sdata=pAQANmMgYbiJQvbXIw8vUGqyeuz06fKUzpPXoo%2BtE2E%3D&reserved=0, or mute the threadhttps://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAM64VMRBQ7U3WHGYR6L75RDQHZ7T7ANCNFSM4ISI5JRA&data=02|01|randall.powell%40glassandwire.com|e3fb9b859b734ffece9808d730840ced|108b413fe870457bb41f2570accad4c9|0|0|637031216017075292&sdata=EJkH6dVeqZD9A3o%2BEf%2Fcxoq%2F5lK6gS06GYKErOjSj1w%3D&reserved=0.

You must be using an older version, this sample was updated to MSAL 4 in June :). The Azure folks who maintain that library did introduce breaking changes between 2 and 4 so that's not unexpected. Take a look at the current code which should point you in the right direction. For example: https://github.com/microsoftgraph/msgraph-training-aspnetmvcapp/blob/e41046f3b54f418ac94de5a1d1d032b7fce6aa83/Demos/03-add-msgraph/graph-tutorial/App_Start/Startup.Auth.cs#L87-L90

Thank you sir!  I will take a look later today.
[cid:gw_6a5cf058-0b5b-46eb-8ba1-d614a42b779c.PNG]      Randall Powell
System Integrator
GW Communication Solutions, LLC
801 Hammond Street, Suite 350, Coppell, TX 75019
www.unitekglobalservices.comhttp://www.unitekglobalservices.com/
Important: Neither Unitek Global Services, Inc. nor its affiliates (together, “Unitek”), wish to receive, on a non-solicited basis, directly or indirectly, any non-public information related to any public issuer. Additionally, this e-mail may contain information that is confidential, privileged or otherwise protected from disclosure. If you are not an intended recipient of this e-mail, do not duplicate or redistribute it by any means. Please delete it and any attachments and notify the sender that you have received it in error. Unintended recipients are prohibited from taking action on the basis of information in this e-mail. Unitek reserves the right, to the extent and under circumstances permitted by applicable law, to review, retain, monitor and intercept e-mail messages to and from its systems. Unitek may also retain and reproduce electronic messages for state, federal, or other regulatory agencies as required by applicable law.
From: Jason Johnston<EMAIL_ADDRESS>Sent: Thursday, September 5, 2019 8:18 AM
To: microsoftgraph/msgraph-training-aspnetmvcapp
Cc: Randall Powell; Author
Subject: Re: [microsoftgraph/msgraph-training-aspnetmvcapp] Incomplete user profile data (#36)
You must be using an older version, this sample was updated to MSAL 4 in June :). The Azure folks who maintain that library did introduce breaking changes between 2 and 4 so that's not unexpected. Take a look at the current code which should point you in the right direction. For example: https://github.com/microsoftgraph/msgraph-training-aspnetmvcapp/blob/e41046f3b54f418ac94de5a1d1d032b7fce6aa83/Demos/03-add-msgraph/graph-tutorial/App_Start/Startup.Auth.cs#L87-L90https://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoftgraph%2Fmsgraph-training-aspnetmvcapp%2Fblob%2Fe41046f3b54f418ac94de5a1d1d032b7fce6aa83%2FDemos%2F03-add-msgraph%2Fgraph-tutorial%2FApp_Start%2FStartup.Auth.cs%23L87-L90&data=02|01|randall.powell%40glassandwire.com|e8f69dda76714a51bc6408d732038691|108b413fe870457bb41f2570accad4c9|0|0|637032863033204822&sdata=qeUujLZWAiCelnrKPjSguiJEwrk7wkgGjbTlNv9xpGo%3D&reserved=0
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoftgraph%2Fmsgraph-training-aspnetmvcapp%2Fissues%2F36%3Femail_source%3Dnotifications%26email_token%3DAM64VMTTJRWU4EUWEA3CRXTQIEBJZA5CNFSM4ISI5JRKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD57B46I%23issuecomment-528359033&data=02|01|randall.powell%40glassandwire.com|e8f69dda76714a51bc6408d732038691|108b413fe870457bb41f2570accad4c9|0|0|637032863033214812&sdata=SknP1ZeRLaagieLGhdOyeq8V8evAEfdJGBacTYiRUJY%3D&reserved=0, or mute the threadhttps://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAM64VMVUUY7NI2MY6JBREFLQIEBJZANCNFSM4ISI5JRA&data=02|01|randall.powell%40glassandwire.com|e8f69dda76714a51bc6408d732038691|108b413fe870457bb41f2570accad4c9|0|0|637032863033214812&sdata=MkMlkWPcSszlywK9LlK%2FjCbMgXU736gLPT0nq3EHHVs%3D&reserved=0.

Jason,
I was able to make use of your updated “03-add-msgraph” tutorial and the sample app is working well.  Thank you for directing me to this resource.
I have been tasked with upgrading several WebForms apps in order to bring them up to MSAL and to integrate the use of Microsoft Graph.  Using your working sample as a template, we are hoping to maintain the customer’s investment in the WebForms applications they currently have in place while taking advantage of the enhanced functionality of MS Graph and MSAL.  To that end, we have taken a methodical, step-by-step approach to migrating your MVC C# app to WebForms and VB.  This has, for the most part, gone very smoothly.
However, we have encountered an issue with the OnAuthenticationFailedAsync() and OnAuthorizationCodeReceivedAsync() Tasks in the WebForms app that I’m hoping you might be able to clarify.  I have posted the issue to both GitHub and StackOverflow but have yet to hit upon a workable resolution.  It appears the UseOpenIdConnectAuthentication() method, when instantiated at Startup, creates Notification parameters for these two Tasks to be called in the event of authentication success or failure.  So far, so good.
In following through your MVC C# code, the GetOwinContext().Authentication.Challenge() method is utilized at sign-in to initiate the call to Azure AD for a hall pass (ID token).  Once an ID token has been received, the OnAuthorizationCodeReceivedAsync() Task is called at which point the user’s details are retrieved and, subsequently, then stored in the token cache.
In attempting to replicate this behavior in our WebForms app, we have also instantiated the UseOpenIdConnectAuthentication() method at startup and have concurrently created the two Notifications along with their associated OnAuthenticationFailedAsync() and OnAuthorizationCodeReceivedAsync() Tasks.
Using the GetOwinContext().Authentication.Challenge() method to sign in appears to work fine.  All of the prompts for user account, password and login persistence are presented as expected.   The Azure AD endpoint, subsequently, redirects to the “login.microsoftonline.com/kmsi” URL.  Again, this is expected behavior.  However, this where the application hangs indefinitely and must be restarted.
In debugging earlier today, we were able to confirm that neither of the two Tasks were being called.  Herein lies the problem.  Stated differently, it seems two possibilities exist: (a) either they were called but were not available; or (b) they were never called at all.  We have yet to find a means of debugging in order to determine which case is true.
We have looked at dozens of samples and walk-throughs but all are utilizing the MVC action-derived paradigm as opposed to the WebForms event-driven model.   My opinion is that the Azure AD authentication code is being returned to the client but the OnAuthorizationCodeReceivedAsync() Task is not reacting.  Question is, why not?  Unfortunately, I have yet to find a way to validate these suspicions.
At this point, converting thirteen application from WebForms to either MVC or Core is not a viable option.  Our VB code pages are attached.   Any insight you might be able to provide into this issue would be greatly appreciated.
Best regards,
Randall Powell
[cid:gw_6a5cf058-0b5b-46eb-8ba1-d614a42b779c.PNG]      Randall Powell
System Integrator
GW Communication Solutions, LLC
801 Hammond Street, Suite 350, Coppell, TX 75019
www.unitekglobalservices.comhttp://www.unitekglobalservices.com/
Important: Neither Unitek Global Services, Inc. nor its affiliates (together, “Unitek”), wish to receive, on a non-solicited basis, directly or indirectly, any non-public information related to any public issuer. Additionally, this e-mail may contain information that is confidential, privileged or otherwise protected from disclosure. If you are not an intended recipient of this e-mail, do not duplicate or redistribute it by any means. Please delete it and any attachments and notify the sender that you have received it in error. Unintended recipients are prohibited from taking action on the basis of information in this e-mail. Unitek reserves the right, to the extent and under circumstances permitted by applicable law, to review, retain, monitor and intercept e-mail messages to and from its systems. Unitek may also retain and reproduce electronic messages for state, federal, or other regulatory agencies as required by applicable law.
From: Jason Johnston<EMAIL_ADDRESS>Sent: Thursday, September 5, 2019 8:18 AM
To: microsoftgraph/msgraph-training-aspnetmvcapp
Cc: Randall Powell; Author
Subject: Re: [microsoftgraph/msgraph-training-aspnetmvcapp] Incomplete user profile data (#36)
You must be using an older version, this sample was updated to MSAL 4 in June :). The Azure folks who maintain that library did introduce breaking changes between 2 and 4 so that's not unexpected. Take a look at the current code which should point you in the right direction. For example: https://github.com/microsoftgraph/msgraph-training-aspnetmvcapp/blob/e41046f3b54f418ac94de5a1d1d032b7fce6aa83/Demos/03-add-msgraph/graph-tutorial/App_Start/Startup.Auth.cs#L87-L90https://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoftgraph%2Fmsgraph-training-aspnetmvcapp%2Fblob%2Fe41046f3b54f418ac94de5a1d1d032b7fce6aa83%2FDemos%2F03-add-msgraph%2Fgraph-tutorial%2FApp_Start%2FStartup.Auth.cs%23L87-L90&data=02|01|randall.powell%40glassandwire.com|e8f69dda76714a51bc6408d732038691|108b413fe870457bb41f2570accad4c9|0|0|637032863033204822&sdata=qeUujLZWAiCelnrKPjSguiJEwrk7wkgGjbTlNv9xpGo%3D&reserved=0
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoftgraph%2Fmsgraph-training-aspnetmvcapp%2Fissues%2F36%3Femail_source%3Dnotifications%26email_token%3DAM64VMTTJRWU4EUWEA3CRXTQIEBJZA5CNFSM4ISI5JRKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD57B46I%23issuecomment-528359033&data=02|01|randall.powell%40glassandwire.com|e8f69dda76714a51bc6408d732038691|108b413fe870457bb41f2570accad4c9|0|0|637032863033214812&sdata=SknP1ZeRLaagieLGhdOyeq8V8evAEfdJGBacTYiRUJY%3D&reserved=0, or mute the threadhttps://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAM64VMVUUY7NI2MY6JBREFLQIEBJZANCNFSM4ISI5JRA&data=02|01|randall.powell%40glassandwire.com|e8f69dda76714a51bc6408d732038691|108b413fe870457bb41f2570accad4c9|0|0|637032863033214812&sdata=MkMlkWPcSszlywK9LlK%2FjCbMgXU736gLPT0nq3EHHVs%3D&reserved=0.
Imports Microsoft.Identity.Client
Imports Microsoft.IdentityModel.Clients.ActiveDirectory
Imports Microsoft.IdentityModel.Protocols.OpenIdConnect
Imports Microsoft.IdentityModel.Tokens
Imports Microsoft.Owin.Security
Imports Microsoft.Owin.Security.Cookies
Imports Microsoft.Owin.Security.Notifications
Imports Microsoft.Owin.Security.OpenIdConnect
Imports Owin
Imports System.Configuration
Imports System.Threading.Tasks
Imports System.Web
Imports System.Security.Claims
Imports Microsoft_Graph_Tutorial___VB_WebForms.TokenStorage
Partial Public Class Startup
Private Shared appId As String = ConfigurationManager.AppSettings("ida:AppId")
Private Shared appSecret As String = ConfigurationManager.AppSettings("ida:AppSecret")
Private Shared redirectUri As String = ConfigurationManager.AppSettings("ida:RedirectUri")
Private Shared graphScopes As String = ConfigurationManager.AppSettings("ida:AppScopes")
Private Shared sAzureAdInstance As String = ConfigurationManager.AppSettings("ida:AADInstance")
Private Shared sTenant As String = ConfigurationManager.AppSettings("ida:TenantID")
Private Shared sAuthority As String = sAzureAdInstance & sTenant
Public Sub ConfigureAuth(ByVal app As IAppBuilder)
    System.Diagnostics.Debug.WriteLine(vbLf & "Startup.Auth.vb ConfigureAuth() - STARTED" & vbLf)

    app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType)
    app.UseCookieAuthentication(New CookieAuthenticationOptions())
    app.UseOpenIdConnectAuthentication(New OpenIdConnectAuthenticationOptions With {
        .ClientId = appId,
        .Scope = $"openid email profile offline_access {graphScopes}",
        .Authority = sAuthority,
        .RedirectUri = redirectUri,
        .PostLogoutRedirectUri = redirectUri,
        .ResponseType = OpenIdConnectResponseType.IdToken,
        .TokenValidationParameters = New TokenValidationParameters With {
            .ValidateIssuer = False
        },
        .Notifications = New OpenIdConnectAuthenticationNotifications With {
            .AuthenticationFailed = AddressOf OnAuthenticationFailedAsync,
            .AuthorizationCodeReceived = AddressOf OnAuthorizationCodeReceivedAsync
        }
    })
    System.Diagnostics.Debug.WriteLine(vbLf & "Startup.Auth.vb ConfigureAuth() - COMPLETED" & vbLf)
End Sub

Private Shared Function OnAuthenticationFailedAsync(ByVal notification As AuthenticationFailedNotification(Of OpenIdConnectMessage, OpenIdConnectAuthenticationOptions)) As Task
    System.Diagnostics.Debug.WriteLine(vbLf & "Startup.Auth.vb OnAuthenticationFailedAsync() - STARTED" & vbLf)
    notification.HandleResponse()
    Dim redirect As String = $"~/Views/ErrorPage?message={notification.Exception.Message}"

    If notification.ProtocolMessage IsNot Nothing AndAlso Not String.IsNullOrEmpty(notification.ProtocolMessage.ErrorDescription) Then
        redirect += $"&debug={notification.ProtocolMessage.ErrorDescription}"
    End If

    notification.Response.Redirect(redirect)
    Return Task.FromResult(0)
End Function

Private Async Function OnAuthorizationCodeReceivedAsync(ByVal notification As AuthorizationCodeReceivedNotification) As Task
    System.Diagnostics.Debug.WriteLine(vbLf & "Startup.Auth.vb OnAuthorizationCodeReceivedAsync()" & vbLf)
    'Dim signedInUser As String = notification.AuthenticationTicket.Identity.FindFirst(ClaimTypes.NameIdentifier).Value
    'Dim idClient As IConfidentialClientApplication = ConfidentialClientApplicationBuilder.Create(appId).WithRedirectUri(redirectUri).WithClientSecret(appSecret).Build()
    'Dim tokenStore As SessionTokenStore = New SessionTokenStore(signedInUser, TryCast(notification.OwinContext.Environment("System.Web.HttpContextBase"), HttpContextBase))
    Dim signedInUser = New ClaimsPrincipal(notification.AuthenticationTicket.Identity)
    Dim idClient As IConfidentialClientApplication = ConfidentialClientApplicationBuilder.Create(appId).WithRedirectUri(redirectUri).WithClientSecret(appSecret).Build()
    Dim tokenStore As SessionTokenStore = New SessionTokenStore(idClient.UserTokenCache, HttpContext.Current, signedInUser)

    Try
        Dim scopes As String() = graphScopes.Split(" "c)
        'Dim ClientCredential = New Microsoft.IdentityModel.Clients.ActiveDirectory.ClientCredential(appId, appSecret)
        'Dim authResult = idClient.AcquireTokenByAuthorizationCode(scopes, notification.Code)
        'Dim userDetails = Await Helpers.GraphHelper.GetUserDetailsAsync(authResult.AccessToken)
        Dim authResult = Await idClient.AcquireTokenByAuthorizationCode(scopes, notification.Code).ExecuteAsync()
        Dim userDetails = Await Helpers.GraphHelper.GetUserDetailsAsync(authResult.AccessToken)
        Dim cachedUser = New CachedUser() With {
            .DisplayName = userDetails.DisplayName,
            .Email = If(String.IsNullOrEmpty(userDetails.Mail), userDetails.UserPrincipalName, userDetails.Mail),
            .Avatar = String.Empty,
            .CompanyName = userDetails.CompanyName
        }
        tokenStore.SaveUserDetails(cachedUser)
    Catch ex As MsalException
        Dim message As String = "AcquireTokenByAuthorizationCodeAsync threw an exception"
        notification.HandleResponse()
        notification.Response.Redirect($"~/Views/ErrorPage?message={message}&debug={ex.Message}")
    Catch ex As Microsoft.Graph.ServiceException
        Dim message As String = "GetUserDetailsAsync threw an exception"
        notification.HandleResponse()
        notification.Response.Redirect($"~/Views/ErrorPage?message={message}&debug={ex.Message}")
    End Try

End Function

End Class
Imports Microsoft.Owin
Imports Owin
<Assembly: OwinStartupAttribute(GetType(Startup))>
Partial Public Class Startup
Public Sub Configuration(app As IAppBuilder)
System.Diagnostics.Debug.WriteLine(vbCrLf & "Startup.vb Configuration()" & vbCrLf)
ConfigureAuth(app)
End Sub
End Class
Imports Microsoft.Owin.Security
Imports Microsoft.Owin.Security.Cookies
Imports Microsoft.Owin.Security.OpenIdConnect
Imports System.Security.Claims
Imports System.Web
Imports Microsoft_Graph_Tutorial___VB_WebForms.TokenStorage
Namespace SignInSignOut
Public Class AccountController

    Public Shared Sub SignIn()
        System.Diagnostics.Debug.WriteLine("AccountController.vb SignIn()")
        If Not HttpContext.Current.Request.IsAuthenticated Then
            System.Diagnostics.Debug.WriteLine("Check Point -- User is not authenticated")
            HttpContext.Current.Request.GetOwinContext().Authentication.Challenge(New AuthenticationProperties With {
                .RedirectUri = "/"
            }, OpenIdConnectAuthenticationDefaults.AuthenticationType)
        End If
    End Sub

    Public Shared Sub SignOut()
        System.Diagnostics.Debug.WriteLine("AccountController.vb SignOut()")
        If HttpContext.Current.Request.IsAuthenticated Then
            Dim tokenStore = New SessionTokenStore(Nothing, HttpContext.Current, ClaimsPrincipal.Current)
            tokenStore.Clear()

            'from Graph Tutorial
            HttpContext.Current.Request.GetOwinContext().Authentication.SignOut(CookieAuthenticationDefaults.AuthenticationType)

            'from UniTekDailies
            'HttpContext.Current.GetOwinContext().Authentication.SignOut(OpenIdConnectAuthenticationDefaults.AuthenticationType, CookieAuthenticationDefaults.AuthenticationType)

        End If
    End Sub

End Class

End Namespace

Honestly what little Visual Basic skills I had went bad years ago, and I've only dabbled with Web Forms. I would recommend if you don't get any insight from Stack Overflow that you consider contacting our Developer Support team. You should be able to open a ticket via the Azure portal.
For debugging yourself, I find with auth issues a network trace (Fiddler, etc.) can be helpful to see if you're getting the redirect back from Azure after signing in. See this for details on what HTTP traffic you should see for the auth code flow.

I haven’t received anything of benefit from StackOverflow as of yet.  Thanks for the Developer Support tip.  I will see if I can track down contact information.
Thanks again!
[cid:gw_6a5cf058-0b5b-46eb-8ba1-d614a42b779c.PNG]      Randall Powell
System Integrator
GW Communication Solutions, LLC
801 Hammond Street, Suite 350, Coppell, TX 75019
www.unitekglobalservices.comhttp://www.unitekglobalservices.com/
Important: Neither Unitek Global Services, Inc. nor its affiliates (together, “Unitek”), wish to receive, on a non-solicited basis, directly or indirectly, any non-public information related to any public issuer. Additionally, this e-mail may contain information that is confidential, privileged or otherwise protected from disclosure. If you are not an intended recipient of this e-mail, do not duplicate or redistribute it by any means. Please delete it and any attachments and notify the sender that you have received it in error. Unintended recipients are prohibited from taking action on the basis of information in this e-mail. Unitek reserves the right, to the extent and under circumstances permitted by applicable law, to review, retain, monitor and intercept e-mail messages to and from its systems. Unitek may also retain and reproduce electronic messages for state, federal, or other regulatory agencies as required by applicable law.
From: Jason Johnston<EMAIL_ADDRESS>Sent: Monday, September 9, 2019 7:19 AM
To: microsoftgraph/msgraph-training-aspnetmvcapp
Cc: Randall Powell; Author
Subject: Re: [microsoftgraph/msgraph-training-aspnetmvcapp] Incomplete user profile data (#36)
Honestly what little Visual Basic skills I had went bad years ago, and I've only dabbled with Web Forms. I would recommend if you don't get any insight from Stack Overflow that you consider contacting our Developer Support team. You should be able to open a ticket via the Azure portal.
For debugging yourself, I find with auth issues a network trace (Fiddler, etc.) can be helpful to see if you're getting the redirect back from Azure after signing in. See thishttps://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fazure%2Factive-directory%2Fdevelop%2Fv2-oauth2-auth-code-flow&data=02|01|randall.powell%40glassandwire.com|89abc5833a7d4c65c43208d7351fdfb4|108b413fe870457bb41f2570accad4c9|0|0|637036283336931968&sdata=lzH0dbB8BAiYyNakkvz38VvZb0BetCzgiqdv9uQZE3M%3D&reserved=0 for details on what HTTP traffic you should see for the auth code flow.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoftgraph%2Fmsgraph-training-aspnetmvcapp%2Fissues%2F36%3Femail_source%3Dnotifications%26email_token%3DAM64VMQQN44XZWGABH73TZTQIY5KVA5CNFSM4ISI5JRKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6HLGMA%23issuecomment-529445680&data=02|01|randall.powell%40glassandwire.com|89abc5833a7d4c65c43208d7351fdfb4|108b413fe870457bb41f2570accad4c9|0|0|637036283336931968&sdata=AUPjLPRA%2FdvxGUjg5n2S%2B%2F4EUjtvo0yYG%2FQ%2BC0%2BErPM%3D&reserved=0, or mute the threadhttps://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAM64VMWTSZPMECKZDGO5XFDQIY5KVANCNFSM4ISI5JRA&data=02|01|randall.powell%40glassandwire.com|89abc5833a7d4c65c43208d7351fdfb4|108b413fe870457bb41f2570accad4c9|0|0|637036283336931968&sdata=rIdSe6SK%2BJAivkksugbhwmZnp1pO7Xggxs6N7x7gMy0%3D&reserved=0.


Flag more column lists as unstable-ordered

Rationale
Many TableSelector methods require a "stable-ordered" column list, meaning they are held in a collection that has predictable iteration order. For example, getValueMap() populates a map, treating the first column as the key and the second column as the value. Any method that returns or operates on ResultSets or Results needs predictable column ordering as well, since these interfaces include methods that accept column indexes. Passing a column list as (say) a HashSet and using one of these methods will likely lead to unpleasant surprises, so TableSelector checks and throws if one of the designated methods is used with an unstable-ordered column collection.
The current stable-ordered check rejects HashSet except when its size is < 2. On the surface, the size check makes total sense... a collection of size one (or zero) definitely has predictable ordering. However, this exception contributed to a recent issue where a new scenario caused code that had previously always selected a single column to start selecting more columns. That triggered the unstable-ordered exception. Removing the size check means we'll now fail any time a HashSet is passed, which may uncover lurking bugs similar to the one we just fixed.
This PR also restricts the set implementations that are considered stable-ordered. It switches to an allow list that includes LinkedHashSet, Collections.emptySet() (used to specify all columns), and Collections.singleton(). Everything else is designated as unstable. Note that Set.of() is tempting to use for fixed column lists, but it's clearly documented as not guaranteeing any particular iteration order, so it's now rejected.
I plan to run a large number of test suites on this PR before merging.
Changes

Disallow HashSet and Set.of() column lists
Remove custom module sorting on credits page - no need to treat core as special here
Trim cache creation stack traces to pinpoint the actual cache creation line

The suites below plus the Daily, Git, Module, Custom Modules, and External Modules suites are all clear


Update experiments

Keeping this PR small, follow-ups to come.

btw: There's is no need to use WIP in the title. In the Reviewers section you have the Convert to draft flag... So now it's no longer a draft but still WIP?

I think the constraint is
constraints.append(c >= 0)


Fix Android support

Fix for #227

Why are you removing ASIO_HAS_MOVE? @esteve introduces it in the past to support Android. Is it supported now by Android?

I pushed to GitHub last night a branch I had been working on (https://github.com/esteve/Fast-RTPS/commits/portable), and what a coincidence Mickael submits this right away after I hit push... This is not the first time that Mickael doees this, he has a tendency of copying other people's code and attributing it to himself (see https://github.com/ros2java-alfred/ros2_java/issues/7)
Anyway, this pull request is incomplete, there's a couple of other things to fix support for Android that need to be worked on before submitting for review. @richiware could you close this PR and I'll submit another one that's complete? Thanks.

Sorry @esteve pure coincidence. My Travis Jobs was reject last day ( https://travis-ci.org/ros2java-alfred/ros2_android/builds/393878796 )...
I just fixed the "eprosima_find_thirdparty" (first commit) but build reject, I just remove ASIO_HAS_MOVE to work...
@richiware, You can close/reject this PR, if Esteve can push most complete PR.


Errors after upgrading to Netbox 3.3.4

NetBox version
What version of NetBox are you currently running?
3.3.4 in Docker
Describe the bug
A clear and concise description of what the bug is.
NetBox will not load.
To Reproduce
Steps to reproduce the behavior:
Update the from field in my dockerfile to: FROM netboxcommunity/netbox:v3.3.4
run docker-compose build --no-cache (Check Portainer to see if new image has been created)
In Portainer, delete the running netbox containers
In Portainer, update my NetBox stack to redeploy new NetBox app containers.
Watch the logs on the NetBox container.
Container gets stuck on final error line (below).
Comment out netbox_bgp from plugins.py file
Container/NetBox loads just fine.
Readd netbox_bgp to plugins.py file
Issue returns (but without all the full migrations entries)
Readd comment to plugins.py to get NetBox working.
Expected behavior
NetBox to load on current version with Plugins.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
I watched the logs go through and apply migrations.
Logs:
🧬 loaded config '/etc/netbox/config/plugins.py' Operations to perform:   Apply all migrations: admin, auth, circuits, contenttypes, dcim, django_rq, extras, ipam, netbox_bgp, netbox_dns, netbox_documents, sessions, social_django, taggit, tenancy, users, virtualization, wireless Running migrations: Traceback (most recent call last):   File "/opt/netbox/netbox/./manage.py", line 10, in <module>     execute_from_command_line(sys.argv)   File "/opt/netbox/venv/lib/python3.10/site-packages/django/core/management/__init__.py", line 446, in execute_from_command_line     utility.execute()   File "/opt/netbox/venv/lib/python3.10/site-packages/django/core/management/__init__.py", line 440, in execute     self.fetch_command(subcommand).run_from_argv(self.argv)   File "/opt/netbox/venv/lib/python3.10/site-packages/django/core/management/base.py", line 414, in run_from_argv     self.execute(*args, **cmd_options)   File "/opt/netbox/venv/lib/python3.10/site-packages/django/core/management/base.py", line 460, in execute     output = self.handle(*args, **options)   File "/opt/netbox/venv/lib/python3.10/site-packages/django/core/management/base.py", line 98, in wrapped     res = handle_func(*args, **kwargs)   File "/opt/netbox/venv/lib/python3.10/site-packages/django/core/management/commands/migrate.py", line 290, in handle     post_migrate_state = executor.migrate(   File "/opt/netbox/venv/lib/python3.10/site-packages/django/db/migrations/executor.py", line 131, in migrate     state = self._migrate_all_forwards(   File "/opt/netbox/venv/lib/python3.10/site-packages/django/db/migrations/executor.py", line 163, in _migrate_all_forwards     state = self.apply_migration(   File "/opt/netbox/venv/lib/python3.10/site-packages/django/db/migrations/executor.py", line 248, in apply_migration     state = migration.apply(state, schema_editor)   File "/opt/netbox/venv/lib/python3.10/site-packages/django/db/migrations/migration.py", line 131, in apply     operation.database_forwards(   File "/opt/netbox/venv/lib/python3.10/site-packages/django/db/migrations/operations/special.py", line 193, in database_forwards     self.code(from_state.apps, schema_editor)   File "/opt/netbox/venv/lib/python3.10/site-packages/netbox_bgp/migrations/0026_netbox_bgp.py", line 20, in use_core_asn     bgpsession.local_as = CoreASN.objects.get(asn=old_local_as).id   File "/opt/netbox/venv/lib/python3.10/site-packages/django/db/models/manager.py", line 85, in manager_method     return getattr(self.get_queryset(), name)(*args, **kwargs)   File "/opt/netbox/venv/lib/python3.10/site-packages/django/db/models/query.py", line 496, in get     raise self.model.DoesNotExist( __fake__.ASN.DoesNotExist: ASN matching query does not exist.

I also have this issue after trying to upgrade to netbox 3.3.5.  Any solution?

Since 0.8.0 plugin ASN model was replaced to Core ASN model. Before upgrade to 0.8.1 you should create Core ASN's objects  for all BGP Sessions.

Thanks for replying.  So I should take all of the ASNs I have created under Plugins > BGP > AS Numbers and re-create them under IPAM > ASNs?  Do I need to remove the old ASNs under the BGP plugin, or does the update take care of that?

I just went through the upgrade process again, after creating all the ASNs under IPAM > ASNs and receive the same error, is there something else I need to do here?
  Applying netbox_bgp.0026_netbox_bgp...Traceback (most recent call last):
  File "netbox/manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/opt/netbox-3.3.0/venv/lib/python3.8/site-packages/django/core/management/__init__.py", line 446, in execute_from_command_line
    utility.execute()
  File "/opt/netbox-3.3.0/venv/lib/python3.8/site-packages/django/core/management/__init__.py", line 440, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/opt/netbox-3.3.0/venv/lib/python3.8/site-packages/django/core/management/base.py", line 414, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/opt/netbox-3.3.0/venv/lib/python3.8/site-packages/django/core/management/base.py", line 460, in execute
    output = self.handle(*args, **options)
  File "/opt/netbox-3.3.0/venv/lib/python3.8/site-packages/django/core/management/base.py", line 98, in wrapped
    res = handle_func(*args, **kwargs)
  File "/opt/netbox-3.3.0/venv/lib/python3.8/site-packages/django/core/management/commands/migrate.py", line 290, in handle
    post_migrate_state = executor.migrate(
  File "/opt/netbox-3.3.0/venv/lib/python3.8/site-packages/django/db/migrations/executor.py", line 131, in migrate
    state = self._migrate_all_forwards(
  File "/opt/netbox-3.3.0/venv/lib/python3.8/site-packages/django/db/migrations/executor.py", line 163, in _migrate_all_forwards
    state = self.apply_migration(
  File "/opt/netbox-3.3.0/venv/lib/python3.8/site-packages/django/db/migrations/executor.py", line 248, in apply_migration
    state = migration.apply(state, schema_editor)
  File "/opt/netbox-3.3.0/venv/lib/python3.8/site-packages/django/db/migrations/migration.py", line 131, in apply
    operation.database_forwards(
  File "/opt/netbox-3.3.0/venv/lib/python3.8/site-packages/django/db/migrations/operations/special.py", line 193, in database_forwards
    self.code(from_state.apps, schema_editor)
  File "/opt/netbox-3.3.0/venv/lib/python3.8/site-packages/netbox_bgp/migrations/0026_netbox_bgp.py", line 20, in use_core_asn
    bgpsession.local_as = CoreASN.objects.get(asn=old_local_as).id
  File "/opt/netbox-3.3.0/venv/lib/python3.8/site-packages/django/db/models/manager.py", line 85, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/opt/netbox-3.3.0/venv/lib/python3.8/site-packages/django/db/models/query.py", line 496, in get
    raise self.model.DoesNotExist(
__fake__.DoesNotExist: ASN matching query does not exist.

In case anyone stumbles on this later, this was caused by attempting to update directly from BGP Plugin 0.6.0 to 0.8.1.  What I needed to do was.

Update BGP Plugin to 0.7.0
Migrate ASNs using the Migrate button in the GUI.  Simply creating the ASNs did not work, I needed to explicitly push the Migrate button
Update BGP Plugin to 0.8.0
Update netbox to 3.3.0 and BGP plugin to 0.8.1
Update Netbox to 3.3.10

I found that any other method failed (such as upgrading to 3.3.10 directly).  Hopefully this helps someone else down the road.

That's  not best solution for migration to Core ASN model which was made. I was expecting some side effects but due to time limit didn't more tests. Anyway thanks for reporting.

Howdy,
I did end up getting it fixed on 3.3 by editing the database directly and deleting the reference ASNs. I forget exactly what table I edited.
I think that @chris-windscribe method would be the better method to fix it.


ClosureTree inside other gem

Hi @mceachen,
Im working on  Hierarchical access management system with roles inheritance gem and I want to use your solution. But...
When I have sth like (example bellow) inside my gem's model file
require 'closure_tree'

class Hierarchy < ActiveRecord::Base
  has_closure_tree
end

I always get:

/usr/local/lib/ruby/gems/2.2.0/gems/activerecord-<IP_ADDRESS>/lib/active_record/connection_adapters/abstract/connection_pool.rb:570:in `retrieve_connection': No connection pool for Hierarchy (ActiveRecord::ConnectionNotEstablished)
	from /usr/local/lib/ruby/gems/2.2.0/gems/activerecord-<IP_ADDRESS>/lib/active_record/connection_handling.rb:113:in `retrieve_connection'
	from /usr/local/lib/ruby/gems/2.2.0/gems/activerecord-<IP_ADDRESS>/lib/active_record/connection_handling.rb:87:in `connection'
	from /usr/local/lib/ruby/gems/2.2.0/gems/closure_tree-6.0.0/lib/closure_tree/support_attributes.rb:60:in `quoted_hierarchy_table_name'
	from /usr/local/lib/ruby/gems/2.2.0/gems/closure_tree-6.0.0/lib/closure_tree/model.rb:14:in `block in <module:Model>'
	from /usr/local/lib/ruby/gems/2.2.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/concern.rb:120:in `class_eval'
	from /usr/local/lib/ruby/gems/2.2.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/concern.rb:120:in `append_features'
	from /usr/local/lib/ruby/gems/2.2.0/gems/closure_tree-6.0.0/lib/closure_tree/has_closure_tree.rb:25:in `include'
	from /usr/local/lib/ruby/gems/2.2.0/gems/closure_tree-6.0.0/lib/closure_tree/has_closure_tree.rb:25:in `has_closure_tree'

Do you maybe know how can I fix it? I will be very appreciate :)

@Exelord seems you came across something similar to what I'm currently experiencing in https://github.com/mceachen/closure_tree/issues/223 -- were you able to track down / fix your issue?

Yep, fortunately :)
Please take a look at my gem: Monarchy
I cannot initialize closure_tree during gem loading cuz of no database connection, so I moved the part with acts_as_tree to an app folder, which is automatically merged with project's app folder.
And it is working very well :)

hm...  this is already in the app directory tree, not being packaged by a gem.
i did a bit of troubleshooting late yesterday -- a my original proof-of-concept code worked (but was a sinatra app, it's now a CLI app).  I got the new app working when I added sinatra-activerecord to the Gemfile.  Presumably that's adding some necessary initialization, haven't figured out what that might be, yet.


Update team with write permissions

Hey @oubiwann, the Lodox team only has read permissions on this repo. Can you fix it?

Done.

Thanks!

Confirmed.


Various updates following recently added features

Improve distance function table (Section 2.2.6)
Add paragrpah on edge constraints (Section 3.4)
Add before and after read listener (Section 7.2.7)
Add embedded type constraint to SQL CREATE PROPERTY (Section 8.4)

Great, thanks!


DragDrop Default action - Give the user a choice

Is your feature request related to a problem? Please describe.
Partially related to a "problem".
The default action (in the native explorer) when dragging files/folders to another location is to MOVE the file if it is the same logical drive or COPY if dragging to a different logical drive.
In this app, the only action it performs is a MOVE, which may Not be the users intention.
Describe the solution you'd like
Either - change the behaviour to function like the native explorer DragDrop.
OR
Provide a setting to allow the user to choose the behaviour.
Describe alternatives you've considered
N/A
Additional context
Test this with 2 fixed logical drives on your system to see what I am describing.

Thanks for this suggestion!
As an alternative / in addition we should also support overwriting the default action when the user presses shift or control key:

Ctrl+Drag will copy the file
Shift+Drag will move the file (in situations where copy is the default)
Alt+Drag will create a shortcut to the file in the new location

It should show the move or copy options if you drag and drop with the right click, like in native file explorer

Merging with #1396.

Merging with #1396.


Add es6 executable

Current behavior
Currently harmony flags are ignored if supplied.
Proposed solution
Duplicate https://github.com/db-migrate/node-db-migrate/blob/master/bin/db-migrate and create db-migrate-es6 which allows using harmony flags.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/29957277-add-es6-executable?utm_campaign=plugin&utm_content=tracker%2F73887&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F73887&utm_medium=issues&utm_source=github).

Closed in favour of plugins.


[migrations] Fix time grain SQLA

This PR adds a migration associated with https://github.com/apache/incubator-superset/pull/4821 which replaces the form-data time_grain_sqla  key with the associated Time Column value to None. Previously without the change the cache key was misaligned between a slice within a dashboard vs. within explorer view.
Note @mistercrunch the upgrade isn't overly performant as it's doing a merge/commit per record (I copied this pattern from previous migrations). I'm open to suggestions as to how best to optimize.
to: @betodealmeida @GabeLoins @michellethomas @mistercrunch

Codecov Report

Merging #5135 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #5135   +/-   ##
=======================================
  Coverage   77.51%   77.51%
=======================================
  Files          44       44
  Lines        8734     8734
=======================================
  Hits         6770     6770
  Misses       1964     1964

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update d2bc4ec...5b26d81. Read the comment docs.


Dependency on net 5

Is it possible to make Version not dependent on net 5.0 to
be compatible with Version 3.1? For Example .netstandard 2.1?

Hello thanks for asking :-)
It should be possible to make a netstandard  2.1 package.... at least for the main SoloX.BlazorJsonLocalization project!
What is your use case exactly? Do you also use the SoloX.BlazorJsonLocalization.ServerSide and or the SoloX.BlazorJsonLocalization.WebAssembly extension projects as well?

Right now i am working on a project based on mobile blazor bindings,
so i dont really know if its more webassembly or serverside since that one is based on xamarin forms.
I tried to move to net maui but there always too much bugs to migrate
to it. So i am stuck with .net 3.1 and bindings ...
Yesterday i found
https://github.com/jsakamoto/Toolbelt.Blazor.I18nText.
Maybe thats easier for me to use since bindings seems to be
buggy with resx files...
It try with that first thank you for your answer, i hope i can ask you again if
i fail to use that one.
But would it be a lot of work?

Actually, I don't think this is a lot of work. I will have a look this WE but in the worst case I will need to split the project.

I have published a package that is compatible with Net Standard 2.1 and Net Core 3.1.
Here it is: https://www.nuget.org/packages/SoloX.BlazorJsonLocalization/1.0.1-alpha.1
It would be very kind if you could try it and let me know if it solved your compatibility issue.

Just to give a quick answer. Have downloaded and installed that one without any errors.
Tried a quick setup but failed maybe because i choose the wrong folder structure.
That https://github.com/dotnet/MobileBlazorBindings structure is not really clearly understandable
for me. Question is where to put that Resources folder ?

I wrote an article explaining how to use the lib:
https://medium.com/younited-tech-blog/how-to-use-blazorjsonlocalizer-a0bb3fc4b48c
but basically let's say that you've got:
a project: 'MyProject'
a project folder: 'MyFolder'
and in the folder a component: 'MyComponent'
Giving us this file structure:
MyProject/MyFolder/MyComponent.cs
In that case you can put the localization files mapped on this structure:
MyProject/Resources/MyFolder/MyComponent.json
MyProject/Resources/MyFolder/MyComponent-fr.json
MyProject/Resources/MyFolder/MyComponent-de.json
and you can setup the localizer services with:
services.AddServerSideJsonLocalization(
    builder =>
    {
        builder.UseEmbeddedJson(options =>
        {
            options.ResourcesPath = "Resources";
        });
    });

finally make sure that your json resources files are registered as EmbeddedResource.
I hope this help...

Your articles are superb also your explainations, but it still does not work.
If i take a look at the debug log i see:
[0:] SoloX.BlazorJsonLocalization.Services.Impl.EmbeddedJsonLocalizationExtensionService: Warning: Embedded File Resources/WebUI/Pages/Index-en.json does not exist

In this screenshot you see that the file is here. Maybe again the wrong folder??

Ok from what I can see in your solution, your 'Resources' sub folder is in the 'wwwroot' folder. You can move it directly in your project folder:
from AssetQueryApp/wwwroot/Resources/WebUI/Pages/Index-en.json
to AssetQueryApp/Resources/WebUI/Pages/Index-en.json
And don't forget to set the EmbeddedResource on the json file properties.
like this:


Extending from an abstract class bloats the tscn file with properties with default values

Tested versions
Godot Engine v4.2.1
System information
Godot v4.2.1.stable (b09f793f5) - Freedesktop SDK 23.08 (Flatpak runtime) - X11 - GLES3 (Compatibility) - AMD Radeon Vega 8 Graphics (radeonsi, raven, LLVM 17.0.6, DRM 3.42, 5.15.0-91-generic) () - AMD Ryzen 5 3500U with Radeon Vega Mobile Gfx (8 Threads)
Issue description
As the title suggests.
The following is the (partial) content of the tscn file that I got when I did the steps to reproduce below:
[gd_scene load_steps=2 format=3 uid="uid://c0rcsci2apet4"]

[ext_resource type="Script" path="res://test1.gd" id="1_iw8vt"]

[node name="Test" type="Control"]
layout_mode = 3
anchors_preset = 0

[node name="TestClass" type="BaseButton" parent="."]
_import_path = NodePath("")
unique_name_in_owner = false
process_mode = 0
process_priority = 0
process_physics_priority = 0
process_thread_group = 0
editor_description = ""
visible = true
modulate = Color(1, 1, 1, 1)
self_modulate = Color(1, 1, 1, 1)
show_behind_parent = false
top_level = false
clip_children = 0
light_mask = 1
visibility_layer = 1
z_index = 0
z_as_relative = true
y_sort_enabled = false
texture_filter = 0
texture_repeat = 0
material = null
use_parent_material = false
clip_contents = false
custom_minimum_size = Vector2(0, 0)
layout_direction = 0
layout_mode = 0
anchors_preset = 0
anchor_left = 0.0
anchor_top = 0.0
anchor_right = 0.0
anchor_bottom = 0.0
offset_left = 0.0
offset_top = 0.0
offset_right = 40.0
offset_bottom = 40.0
(and so on)

Steps to reproduce

Create a new script with the following code:

class_name TestClass
extends BaseButton		# I only tested BaseButton & Range

Create a new scene, then add the TestClass as a child node.

Minimal reproduction project (MRP)
n/a

Chasing all the way down to ClassDB::class_get_default_property_value (_save_sceme => pack => _parse_node => get_property_default_vaule):
It seems 'BaseButton' just dont have default value and thus ti decides to record all of them.


Adapting different testing image shapes?

I got an error below:
Traceback (most recent call last):
File "main.py", line 63, in
m = Model(input=[x, x_maps], output=sam_resnet([x, x_maps]))
File "/Users/Terry/Documents/Memorix/sam-master/models.py", line 140, in sam_resnet
concateneted = merge([att_convlstm, priors1], mode='concat', concat_axis=1)
File "/Users/Terry/anaconda3/envs/python27/lib/python2.7/site-packages/keras/engine/topology.py", line 1528, in merge
name=name)
File "/Users/Terry/anaconda3/envs/python27/lib/python2.7/site-packages/keras/engine/topology.py", line 1186, in init
node_indices, tensor_indices)
File "/Users/Terry/anaconda3/envs/python27/lib/python2.7/site-packages/keras/engine/topology.py", line 1253, in _arguments_validation
'Layer shapes: %s' % (input_shapes))
Exception: "concat" mode can only merge layers with matching output shapes except for the concat axis. Layer shapes: [(None, 512, 113, 180), (None, 16, 30, 40)]
Is it because of my testing images are 1440x900? If so, How do I configure the input shape of the model?
--
Update I tested pics with

The issue is you did not set your ~/.keras/keras.json file properly.
You need to have "image_dim_ordering" set to "th".
Note, that there is also another parameter "image_data_format" which comes with more recent version of Keras. You may have changed the wrong one by going quickly into the configuration of the platform ;)


Honda Brake Pump fix and Adjusted Standstill Brake pressure

Comma.ai's honda brake pump fix for less noise during braking and adjusted brake pressure during standstill for easier starts and less pump on duration after stopping.

Took the first one :-)


Fix for #202

This change adds a check to see if the request is being forwarded from one Zetta server to another using HTTP or HTTPS.  If so, it sets headers accordingly and makes sure event link URLs come back with ws(s):// schemes.  If the connection is SPDY, it will use http(s):// schemes for events.  Tests included.

Signed-off-by: Adam T Magaluk pending greenlight on Travis.


Apollo 2.0 Server Integration

Is there a way to integrate this with the new structure of Apollo Server 2.0?

apollo-upload-server is built in to Apollo Server v2, so no setup is required! Here is the official guide: https://www.apollographql.com/docs/guides/file-uploads.html

Ah yes, thats great!
A followup question on this, when i try to upload something I get the following error on the server:
FileStreamDisconnectUploadError: Request disconnected during file upload stream parsing.     at IncomingMessage.request.on (/mnt/e/Dev/AdaptiveStreamToolBox/server/node_modules/apollo-server-express/node_modules/apollo-upload-server/lib/middleware.js:151:15)     at IncomingMessage.emit (events.js:182:13)     at IncomingMessage.EventEmitter.emit (domain.js:442:20)     at resOnFinish (_http_server.js:564:7)     at ServerResponse.emit (events.js:182:13)     at ServerResponse.EventEmitter.emit (domain.js:442:20)     at onFinish (_http_outgoing.js:683:10)     at afterWrite (_stream_writable.js:480:3)     at process._tickCallback (internal/process/next_tick.js:63:19) Emitted 'error' event at:     at IncomingMessage.request.on (/mnt/e/Dev/AdaptiveStreamToolBox/server/node_modules/apollo-server-express/node_modules/apollo-upload-server/lib/middleware.js:149:32)     at IncomingMessage.emit (events.js:182:13)     [... lines matching original stack trace ...]     at process._tickCallback (internal/process/next_tick.js:63:19)

FileStreamDisconnectUploadError means that either the client aborted while the file upload stream was being parsed (can happen if an impatient user presses browser refresh) or if the server sends a response back to the client before the file upload stream has finished.
In your case, it is most likely that your resolver is not awaiting the file upload stream to finish before returning/resolving. When all GraphQL resolvers have resolved the GraphQL server middleware sends a response.
Note that in apollo-upload-server v5, there were nasty bugs where some errors could not be caught properly in resolvers and it would end up crashing the server. v6 fixes these bugs, so chances are if you could upgrade such errors would be easier to handle.
Unfortunately, if you use apollo-server, you might not be able use the updated apollo-upload-server for some time because it's an internal dependency. Apollo intend to support Node.js v6, but the new version of apollo-upload-server supports Node.js v8.5+. For this reason, it might be a long time before Apollo updates. It's a dilemma 😓

Hmm I believe the issue is coming from the client side, since when i try a dummy upload with graphiql file : "text.png" it will be processed, but using an input box with an actual file fails.

The client will only send a multipart request if the query/mutation contains actual File (or a few other file-like type) instances.

Here is an example of awaiting an upload stream to complete: https://github.com/jaydenseric/apollo-upload-examples/blob/master/api/resolvers.mjs#L21

Hmm the error I have is indeed the client and I believe it has to do with combining uploadlink with persisted query.
Before using the uploadlink, when defining ApolloClient, I had a apollo-link split to separate a websocket link (for subscriptions) and a link which combined an httplink, auth and persisted query middlewares.
If I just replace the httpLink with the uploadLink, this is when it fails.
If I remove one of the persisted query mw, it will start working again.
Would it make sense that i separate uploadlink from the persisted query? Or should it theoretically work as is.

I don't have quick answers for you as I don't use persisted queries, sorry.
People have investigated usage with persisted queries before (see https://github.com/jaydenseric/apollo-upload-client/issues/75) but I'm not sure conclusions were shared.
There are #apollo-client, #apollo-link and #uploads channels in the Apollo Slack team for asking general questions or picking brains; I get notifications when the keyword "upload" is used.
We can pick this up in a new apollo-upload-client issue if it turns out to be a bug.

Alright, thanks for the quick feedback! I'll have to pass on persisted queries until i have more time to investigate.

@Victordmdb did you ever figure this out? Currently running into the same conclusions but with one caveat. The file upload works if the query is saved in the cache db but if it isn't then apollo client continues the request without the file variables. Everything works without the persisted queries link.


FIles are removed rather than copied

I have been finding that sometimes the files deposited on my server are only 2K in size, and since they are purged from the PI there is no recovery.  Given that these may contain important video the default should be to preserve it on the Pi and just copy to the file server, then if there are any problems the originals are still available.

The problem here is that the Tesla cuts the power to the drive before completes writing to the drive. So, the data beyond that 2K is just lost, and the file is actually just 2K in size.
The Tesla won't start writing to a file that was previously written to, that time has already passed.
So, copying the file instead of moving it would just copy a corrupt file instead of moving one.
There are a couple of things we could try to reduce the corruption:

Apply the "sync" option to the /backingfiles mountpoint in /etc/fstab
Periodically issue "sync" commands to the filesystem.

The second options seems like a hack. The first option requires using ext3 for the backingfiles partition, I think, since it's my understanding that ext4 doesn't support the sync option.

Just not deleting files is my request, not the 2K aspect.  If there is a minor accident (no ambulance and cars can still drive), I want the maximum chance of not losing files, so a copy instead of a move would be preferred.

I suspect that, whether or not the file is deleted, it will still just be 2K in size.
We know that files aren't deleted until they're fully transferred. You can confirm this by writing a large file into the TeslaCam directory and naming it, say, saved-1.blob. You can watch your network share to see it start to copy. While it's copying, pull the power from the Pi. Then plug the Pi in, again. It'll start copying the file, again, and copy the whole thing to the share, if you let it, overwriting the bad file with the whole good file. If you do the same thing, deleting the partial file from the share before you plug the Pi back in, you'll see the whole file get copied to the share. So, none of the data in the file was removed from the Pi until the whole file was on the share.
The advantage of this move operation over a copy operation is that the system automatically reclaims space. If we copy instead of move, we have to implement some process to free up space.
It looks like we're going to be adding a partition which is read/write on the SD card. We can move the logs to that partition and we can record the file sizes of the files before they're moved. If we find that the file sizes are different from what we're seeing transferred then we'll know that we're not getting the data. If the file sizes are the same, though, we'll know that copying instead of moving won't provide a benefit.
In the mean time, if you'd like to try running with copy instead of move, you can edit /root/bin/archive-clips.sh and replace the mv command with a cp command.

If you're going to copy the files instead of move them you might also want to implement some way of avoiding copying files that have already been completely copied.

My thinking on that was to copy them, then rename from saved* to copied* or stored*

The archiveloop.log file now persists between power cycles at /mutable/archiveloop.log


How to use it with a different SHM

Hi,
I have a HSM which can be set up a PKCS11 provider. I was wondering would this library run out of box with the provided PKCS11(after configuring pkcs11 location) or would we need some modifications?
Any pointers would be helpful.
Thanks

TL;DR: yes, just point to that module and you are good to go.
That is the general idea of course. SoftHSM is only used as a testing harness as it becomes very impractical/impossible for me to test against different hardware.
The team around SoftHSM has done a very good job to implement the PKCS#11 standard according to the required business logic and it goes far beyond simple mocking. So it is ideal to test this rust library.
In my experience developing in general against SoftHSM first gives you confidence into your own HSM dependant code, however, moving to a "real" HSM usually always requires additional considerations that one often does not think about. Nonetheless it is a good starting point.
Also, the behaviour between different HSMs is often very different and also depends on the configuration of the HSM itself.
To complicate things even further: not al HSMs have very "clean" implementations of pkcs11 themselves, so things that work and should work with one device, are not guaranteed to work on another and vice versa.
Does that answer your question?

btw, if you are successful in using this HSM with this library, please shoot me a note. I'd like to start to keep a compatibility list.

JFYI: I'm experimenting with the library on the Nitrokey HSM 2, which uses a CardConnect SmartCard-HSM internally.
I'll let you know if I run into any problems (and should be able to fix and upstream many of them myself 🙂).

Closing this now. Please reopen if this did not answer your question.


Add an attestation elements and NOC CSR parser to chip tool.

Problem
For certification validation of the attestation elements response and NOC CSR elements response, there is no way to validate the response payloads.
Change overview
Adds an attestation elements response parser to chip-tool.
Adds a CSR NOC elements response parser to chip-tool.
Testing

Compiled
Tested malformed payload to trigger error.
Tested parsing from an attestation elements response.
Tested parsing from a NOC CSR elements response.

Closing this PR https://github.com/project-chip/connectedhomeip/pull/18893 addresses this.


ORV2-2293 Create/Manage Credit Accounts

Description
Implements the create/hold/close and manage users interface for FIN users accessing credit accounts.
This covers the following tickets:  ORV2-2293: FIN Create credit account, ORV2-2350: FIN hold credit account, ORV2-2352: FIN close credit account and ORV2-2354: FIN manage credit account users.
Fixes [ORV-2293, ORV2-2350, ORV2-2352, ORV2-2354]
Type of change

[x] New feature (non-breaking change which adds functionality)

Checklist

[x] I have read the CONTRIBUTING doc
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have already been accepted and merged

Thanks for the PR!
Deployments, as required, will be available below:

Frontend
Vehicles
Dops
Policy
Scheduler

Please create PRs in draft mode.  Mark as ready to enable:

Analysis Workflow

After merge, new images are promoted to:

Merge Workflow

Thanks for the PR!
Deployments, as required, will be available below:

Frontend
Vehicles
Dops
Policy
Scheduler

Please create PRs in draft mode.  Mark as ready to enable:

Analysis Workflow

After merge, new images are promoted to:

Merge Workflow

Approved for FE code


cleanup: fix portable Ruby behaviour.

Better match the macOS behaviour in ruby.sh.
Fixes #9469

Review period will end on 2020-12-10 at 11:34:29 UTC.

Review period skipped due to critical label.


When can we expect v0.2.4 release?

Those min_width/min_height methods would be extremely helpful to use in some projects. Can we get a roadmap of when we can expect a release?

alas it seems this project is semi abandoned, lots of people are using it, pull requests are piling up
any feedback @troolee? maybe you could allow other committers?

More committers would be wonderful. That needs to happen.

+1

Hey guys, I'm trying to clean all the mess now :)


Bump to 0.8.1

Current dependencies on/for this PR:

main

PR #54   👈

This stack of pull requests is managed by Graphite.

Merge activity

Jan 16, 4:05 PM: @zhenlu merged this pull request with Graphite.


sha initail lr is 1e-4 and crop size is 256x256? can not reproduce the res when i train from scatch

Hrnet(pretrain). mse | MAE 66.049 |  | MSE 105.703

Hello @knightyxp.

this baseline code don't provide I-SSIM loss -> your baseline, according to the paper for L2 loss is 62.1 MSE.
As you can see the training process is unstable -> you should try several random seed and check val mse every epoch.

I got 62.2  on 1160 epoch, seed was 89.
May be warmup or mean count value for several thresholds (for example instead 100 you can try range(95, 106) and mean) can improve stability


Reinstate arm/v7 support for docker images

Commit https://github.com/usememos/memos/commit/0a811e19ba1b2575719fbe18471cbab53917df4e removed support for docker images on the arm/v7 platform with no reason given.
I was using this on my raspberry pi and can't get updates anymore. If there is no functional reason behind this decision, I'd ask to reinstate arm/v7 support.

Having same issue as well on my raspberry pi. I would like this as well. @boojack

Sorry, tried to add it back but the build failed due to missing dependencies.
https://github.com/usememos/memos/actions/runs/6593960554/job/17917230538#step:9:1145


1.4 Backports 2018-12-20

#6468
#6475
#6483
#6484

This change is

test-me-please

test-missed-k8s

test-docs-please


Support for batch user deleting on Backend UserManager

This commit adds the ability to batch user deleting on Backend UserManager

Thanks @Shyim :+1:


Is it possible to use Microsoft translator API ?

I am trying to utilize bot to convert the real time audio conversation into translated text of my language. Is it possible to extend the functionality. If yes please inform where do i need to make adjustments in code ?

Hi @Aakanksha345,
Here are a few suggestions. You could use the Microsoft Translator Speech API for speech to text translation: https://docs.microsoft.com/en-us/azure/cognitive-services/translator-speech/overview
You could also use the Azure Speech Service which is in public preview: https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/overview
In both cases, you would need to feed to the speech/translation APIs the audio received by your bot via the AudioSocket.AudioMediaReceived event handler. You can take a look at the HueBot for an example of speech recognition usage.
Thanks
Francois