Active Collab 6 Notifications API throws exception - activecollab

We are running a self-hosted ActiveCollab 6.0.7 instance.
When trying to request the notification API GET https://[host]/api/v1/notifications with our API token it returns a Status 500 Internal Server Error with the following data:
{
"type": "ReflectionException",
"message": "Class does not exist",
"code": -1,
"file": "/activecollab/6.0.7/angie/frameworks/notifications/models/UserNotificationsCollection.php",
"line": 115,
"trace": "#0 /activecollab/6.0.7/angie/frameworks/notifications/models/UserNotificationsCollection.php(115): ReflectionClass->__construct('')\n#1 /activecollab/6.0.7/angie/frameworks/notifications/models/UserNotificationsCollection.php(94): UserNotificationsCollection->preloadCounts(Array)\n#2 /activecollab/6.0.7/angie/src/Angie/Http/Encoder/Encoder.php(207): UserNotificationsCollection->execute()\n#3 /activecollab/6.0.7/angie/src/Angie/Http/Encoder/Encoder.php(110): Angie\\Http\\Encoder\\Encoder->encodeDataCollection(Object(UserNotificationsCollection), 0)\n#4 /activecollab/6.0.7/angie/src/Angie/Http/Encoder/Encoder.php(90): Angie\\Http\\Encoder\\Encoder->encodeDataToJson(Object(UserNotificationsCollection), Object(Angie\\Http\\Response))\n#5 /activecollab/6.0.7/angie/src/Angie/Middleware/ActionResultEncoderMiddleware.php(46): Angie\\Http\\Encoder\\Encoder->encode(Object(UserNotificationsCollection), Object(Angie\\Http\\Request), Object(Angie\\Http\\Response))\n#6 [internal function]: Angie\\Middleware\\ActionResultEncoderMiddleware->__invoke(Object(Angie\\Http\\Request), Object(Angie\\Http\\Response), Object(Closure))\n#7 /activecollab/6.0.7/vendor/activecollab/middlewarestack/src/MiddlewareStack.php(90): call_user_func_array(Object(Angie\\Middleware\\ActionResultEncoderMiddleware), Array)\n#8 /activecollab/6.0.7/angie/src/Angie/Middleware/ControllerActionMiddleware.php(110): ActiveCollab\\MiddlewareStack\\MiddlewareStack->ActiveCollab\\MiddlewareStack\\{closure}(Object(Angie\\Http\\Request), Object(Angie\\Http\\Response))\n#9 [internal function]: Angie\\Middleware\\ControllerActionMiddleware->__invoke(Object(Angie\\Http\\Request), Object(Angie\\Http\\Response), Object(Closure))\n#10 /activecollab/6.0.7/vendor/activecollab/middlewarestack/src/MiddlewareStack.php(90): call_user_func_array(Object(Angie\\Middleware\\ControllerActionMiddleware), Array)\n#11 /activecollab/6.0.7/angie/src/Angie/Middleware/RouterMiddleware.php(72): ActiveCollab\\MiddlewareStack\\MiddlewareStack->ActiveCollab\\MiddlewareStack\\{closure}(Object(Angie\\Http\\Request), Object(Angie\\Http\\Response))\n#12 [internal function]: Angie\\Middleware\\RouterMiddleware->__invoke(Object(Angie\\Http\\Request), Object(Angie\\Http\\Response), Object(Closure))\n#13 /activecollab/6.0.7/vendor/activecollab/middlewarestack/src/MiddlewareStack.php(90): call_user_func_array(Object(Angie\\Middleware\\RouterMiddleware), Array)\n#14 /activecollab/6.0.7/angie/src/Angie/Middleware/EtagMiddleware.php(74): ActiveCollab\\MiddlewareStack\\MiddlewareStack->ActiveCollab\\MiddlewareStack\\{closure}(Object(Angie\\Http\\Request), Object(Angie\\Http\\Response))\n#15 [internal function]: Angie\\Middleware\\EtagMiddleware->__invoke(Object(Angie\\Http\\Request), Object(Angie\\Http\\Response), Object(Closure))\n#16 /activecollab/6.0.7/vendor/activecollab/middlewarestack/src/MiddlewareStack.php(90): call_user_func_array(Object(Angie\\Middleware\\EtagMiddleware), Array)\n#17 /activecollab/6.0.7/angie/src/Angie/Middleware/CsrfValidationMiddleware.php(77): ActiveCollab\\MiddlewareStack\\MiddlewareStack->ActiveCollab\\MiddlewareStack\\{closure}(Object(Angie\\Http\\Request), Object(Angie\\Http\\Response))\n#18 [internal function]: Angie\\Middleware\\CsrfValidationMiddleware->__invoke(Object(Angie\\Http\\Request), Object(Angie\\Http\\Response), Object(Closure))\n#19 /activecollab/6.0.7/vendor/activecollab/middlewarestack/src/MiddlewareStack.php(90): call_user_func_array(Object(Angie\\Middleware\\CsrfValidationMiddleware), Array)\n#20 /activecollab/6.0.7/vendor/activecollab/authentication/src/Authentication.php(106): ActiveCollab\\MiddlewareStack\\MiddlewareStack->ActiveCollab\\MiddlewareStack\\{closure}(Object(Angie\\Http\\Request), Object(Angie\\Http\\Response))\n#21 [internal function]: ActiveCollab\\Authentication\\Authentication->__invoke(Object(Angie\\Http\\Request), Object(Angie\\Http\\Response), Object(Closure))\n#22 /activecollab/6.0.7/vendor/activecollab/middlewarestack/src/MiddlewareStack.php(90): call_user_func_array(Object(Angie\\Authentication), Array)\n#23 /activecollab/6.0.7/angie/src/Angie/Middleware/ApplicationEnvironmentMiddleware.php(29): ActiveCollab\\MiddlewareStack\\MiddlewareStack->ActiveCollab\\MiddlewareStack\\{closure}(Object(Angie\\Http\\Request), Object(Angie\\Http\\Response))\n#24 [internal function]: Angie\\Middleware\\ApplicationEnvironmentMiddleware->__invoke(Object(Angie\\Http\\Request), Object(Angie\\Http\\Response), Object(Closure))\n#25 /activecollab/6.0.7/vendor/activecollab/middlewarestack/src/MiddlewareStack.php(90): call_user_func_array(Object(Angie\\Middleware\\ApplicationEnvironmentMiddleware), Array)\n#26 /activecollab/6.0.7/angie/src/Angie/Middleware/FirewallMiddleware.php(71): ActiveCollab\\MiddlewareStack\\MiddlewareStack->ActiveCollab\\MiddlewareStack\\{closure}(Object(Angie\\Http\\Request), Object(Angie\\Http\\Response))\n#27 [internal function]: Angie\\Middleware\\FirewallMiddleware->__invoke(Object(Angie\\Http\\Request), Object(Angie\\Http\\Response), Object(Closure))\n#28 /activecollab/6.0.7/vendor/activecollab/middlewarestack/src/MiddlewareStack.php(90): call_user_func_array(Object(Angie\\Middleware\\FirewallMiddleware), Array)\n#29 /activecollab/6.0.7/angie/src/Angie/Middleware/IpAddressMiddleware.php(107): ActiveCollab\\MiddlewareStack\\MiddlewareStack->ActiveCollab\\MiddlewareStack\\{closure}(Object(Angie\\Http\\Request), Object(Angie\\Http\\Response))\n#30 [internal function]: Angie\\Middleware\\IpAddressMiddleware->__invoke(Object(Angie\\Http\\Request), Object(Angie\\Http\\Response), Object(Closure))\n#31 /activecollab/6.0.7/vendor/activecollab/middlewarestack/src/MiddlewareStack.php(90): call_user_func_array(Object(Angie\\Middleware\\IpAddressMiddleware), Array)\n#32 /activecollab/6.0.7/angie/src/Angie/Middleware/UserAgentMiddleware.php(67): ActiveCollab\\MiddlewareStack\\MiddlewareStack->ActiveCollab\\MiddlewareStack\\{closure}(Object(Angie\\Http\\Request), Object(Angie\\Http\\Response))\n#33 [internal function]: Angie\\Middleware\\UserAgentMiddleware->__invoke(Object(Angie\\Http\\Request), Object(Angie\\Http\\Response), Object(Closure))\n#34 /activecollab/6.0.7/vendor/activecollab/middlewarestack/src/MiddlewareStack.php(90): call_user_func_array(Object(Angie\\Middleware\\UserAgentMiddleware), Array)\n#35 [internal function]: ActiveCollab\\MiddlewareStack\\MiddlewareStack->ActiveCollab\\MiddlewareStack\\{closure}(Object(Angie\\Http\\Request), Object(Angie\\Http\\Response))\n#36 /activecollab/6.0.7/vendor/activecollab/middlewarestack/src/MiddlewareStack.php(137): call_user_func_array(Object(Closure), Array)\n#37 /activecollab/6.0.7/vendor/activecollab/middlewarestack/src/MiddlewareStack.php(49): ActiveCollab\\MiddlewareStack\\MiddlewareStack->callMiddlewareStack(Object(Angie\\Http\\Request), Object(Angie\\Http\\Response))\n#38 /activecollab/6.0.7/angie/src/Angie/Http/RequestHandler/RequestHandler.php(164): ActiveCollab\\MiddlewareStack\\MiddlewareStack->process(Object(Angie\\Http\\Request), Object(Angie\\Http\\Response))\n#39 /activecollab/6.0.7/angie/classes/application/AngieApplication.class.php(4013): Angie\\Http\\RequestHandler\\RequestHandler->handleRequest(Object(Angie\\Http\\Request), Object(Angie\\Http\\Response))\n#40 /activecollab/6.0.7/angie/classes/application/AngieApplication.class.php(3978): AngieApplication::executeHttpMiddlewareStack(Object(Angie\\Http\\Request), Object(Angie\\Http\\Response))\n#41 /public/api.php(19): AngieApplication::handleHttpRequest()\n#42 {main}"
}
The API documentation hasn't been updated in a while, so is this still supposed to work or is the notification API deprecated?

Related

I was migrating angular JS from 1.3.2 to 1.8.2 and came through an error "TypeError: formctrl.$addcontrol is not a function"

The 1.3.2 developer has not used formctrl.$addcontroller anywhere in the code. Its onavailable in agular.js . But it thrown an error
TypeError: formctrl.$addControl is not a function at Object.ngModelPretink (angular.js:31549:20)
angular.js:15697
at angular.js:1391:18 at invokeLinkFn (angular.js:11376:9) at nodeLinkFn (angular.js:10672:11)
at compositeLinkFn (angular.js:9942:13) at compositeLinkFn (angular.js:9945:13)
at compositeLinkFn (angular.js:9945:13)
at compositeLinkFn (angular.js:9945:13)
at publicLinkFn (angular.js:9807:30) at lazycompilation (angular.js:10221:25) <textarea name="email messag
e" cols="41" rows="5" ng-model="sparent.$parent.$parent.sparent.selectedTe mplatecopy.content" aria-label."(('email.messageTitle' | translate}}" styl
e="height:140px;" class="ng-pristine ng-untouched ng-valid">"
I tried to upgrade the version of this application from v1.3.2 to 1.8.2 and its showing this error for multiple templates

Spring data r2dbc mysql can not fetch the inserted id

I am trying to migrate my sample to the lates Spring Data R2dbc 1.0.0.RELEASE.
<dependency>
<groupId>org.springframework.boot.experimental</groupId>
<artifactId>spring-boot-starter-data-r2dbc</artifactId>
</dependency>
<dependency>
<groupId>dev.miku</groupId>
<artifactId>r2dbc-mysql</artifactId>
<version>0.8.0.RELEASE</version>
</dependency>
Schema.sql
CREATE TABLE IF NOT EXISTS posts (
id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255),
content VARCHAR(255)
);
My initialziation codes failed.
#Component
#Slf4j
class DataInitializer {
private final DatabaseClient databaseClient;
public DataInitializer(DatabaseClient databaseClient) {
this.databaseClient = databaseClient;
}
#EventListener(value = ContextRefreshedEvent.class)
public void init() {
log.info("start data initialization ...");
this.databaseClient.insert()
.into("posts")
//.nullValue("id", Integer.class)
.value("title", "First post title")
.value("content", "Content of my first post")
.map((r, m) -> r.get("id", Integer.class)).all()
.log()
.thenMany(
this.databaseClient.select()
.from("posts")
.orderBy(Sort.by(desc("id")))
.as(Post.class)
.fetch()
.all()
.log()
)
.subscribe(null, null, () -> log.info("initialization is done..."));
}
}
There is an exception when the application is started.
java.util.NoSuchElementException: column name 'id' does not exist in [LAST_INSERT_ID]
at dev.miku.r2dbc.mysql.InsertSyntheticRow.assertValidName(InsertSyntheticRow.java:151) ~[r2dbc-mysql-0.8.0.RELEASE.jar:0.8.0.RELEASE]
at dev.miku.r2dbc.mysql.InsertSyntheticRow.get(InsertSyntheticRow.java:72) ~[r2dbc-mysql-0.8.0.RELEASE.jar:0.8.0.RELEASE]
at com.example.demo.DataInitializer.lambda$init$0(DataInitializer.java:38) ~[classes/:na]
at dev.miku.r2dbc.mysql.MySqlResult.lambda$map$2(MySqlResult.java:98) ~[r2dbc-mysql-0.8.0.RELEASE.jar:0.8.0.RELEASE]
at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:100) ~[reactor-core-3.3.1.RELEASE.jar:3.3.1.RELEASE]
at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:192) ~[reactor-core-3.3.1.RELEASE.jar:3.3.1.RELEASE]
at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1630) ~[reactor-core-3.3.1.RELEASE.jar:3.3.1.RELEASE]
at reactor.core.publisher.MonoProcessor.onNext(MonoProcessor.java:317) ~[reactor-core-3.3.1.RELEASE.jar:3.3.1.RELEASE]
at dev.miku.r2dbc.mysql.MySqlResult.lambda$null$3(MySqlResult.java:115) ~[r2dbc-mysql-0.8.0.RELEASE.jar:0.8.0.RELEASE]
at reactor.core.publisher.LambdaSubscriber.onNext(LambdaSubscriber.java:160) ~[reactor-core-3.3.1.RELEASE.jar:3.3.1.RELEASE]
at reactor.core.publisher.FluxWindowPredicate$WindowFlux.drainRegular(FluxWindowPredicate.java:650) ~[reactor-core-3.3.1.RELEASE.jar:3.3.1.RELEASE]
at reactor.core.publisher.FluxWindowPredicate$WindowFlux.drain(FluxWindowPredicate.java:728) ~[reactor-core-3.3.1.RELEASE.jar:3.3.1.RELEASE]
at reactor.core.publisher.FluxWindowPredicate$WindowFlux.onNext(FluxWindowPredicate.java:770) ~[reactor-core-3.3.1.RELEASE.jar:3.3.1.RELEASE]
at reactor.core.publisher.FluxWindowPredicate$WindowPredicateMain.onNext(FluxWindowPredicate.java:228) ~[reactor-core-3.3.1.RELEASE.jar:3.3.1.RELEASE]
at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:192) ~[reactor-core-3.3.1.RELEASE.jar:3.3.1.RELEASE]
at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:192) ~[reactor-core-3.3.1.RELEASE.jar:3.3.1.RELEASE]
at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.innerNext(FluxConcatMap.java:274) ~[reactor-core-3.3.1.RELEASE.jar:3.3.1.RELEASE]
at reactor.core.publisher.FluxConcatMap$ConcatMapInner.onNext(FluxConcatMap.java:851) ~[reactor-core-3.3.1.RELEASE.jar:3.3.1.RELEASE]
at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onNext(FluxPeekFuseable.java:203) ~[reactor-core-3.3.1.RELEASE.jar:3.3.1.RELEASE]
at reactor.core.publisher.FluxHandleFuseable$HandleFuseableSubscriber.onNext(FluxHandleFuseable.java:178) ~[reactor-core-3.3.1.RELEASE.jar:3.3.1.RELEASE]
at reactor.core.publisher.FluxContextStart$ContextStartSubscriber.onNext(FluxContextStart.java:103) ~[reactor-core-3.3.1.RELEASE.jar:3.3.1.RELEASE]
at dev.miku.r2dbc.mysql.util.DiscardOnCancelSubscriber.onNext(DiscardOnCancelSubscriber.java:65) ~[r2dbc-mysql-0.8.0.RELEASE.jar:0.8.0.RELEASE]
at reactor.core.publisher.MonoFlatMapMany$FlatMapManyInner.onNext(MonoFlatMapMany.java:242) ~[reactor-core-3.3.1.RELEASE.jar:3.3.1.RELEASE]
at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:192) ~[reactor-core-3.3.1.RELEASE.jar:3.3.1.RELEASE]
at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:192) ~[reactor-core-3.3.1.RELEASE.jar:3.3.1.RELEASE]
at reactor.core.publisher.FluxHandle$HandleSubscriber.onNext(FluxHandle.java:112) ~[reactor-core-3.3.1.RELEASE.jar:3.3.1.RELEASE]
at reactor.core.publisher.FluxConcatArray$ConcatArraySubscriber.onNext(FluxConcatArray.java:176) ~[reactor-core-3.3.1.RELEASE.jar:3.3.1.RELEASE]
at reactor.core.publisher.EmitterProcessor.drain(EmitterProcessor.java:426) ~[reactor-core-3.3.1.RELEASE.jar:3.3.1.RELEASE]
at reactor.core.publisher.EmitterProcessor.onNext(EmitterProcessor.java:268) ~[reactor-core-3.3.1.RELEASE.jar:3.3.1.RELEASE]
at reactor.core.publisher.LambdaSubscriber.onNext(LambdaSubscriber.java:160) ~[reactor-core-3.3.1.RELEASE.jar:3.3.1.RELEASE]
at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:192) ~[reactor-core-3.3.1.RELEASE.jar:3.3.1.RELEASE]
at reactor.core.publisher.FluxHandle$HandleSubscriber.onNext(FluxHandle.java:112) ~[reactor-core-3.3.1.RELEASE.jar:3.3.1.RELEASE]
at reactor.netty.channel.FluxReceive.drainReceiver(FluxReceive.java:218) ~[reactor-netty-0.9.2.RELEASE.jar:0.9.2.RELEASE]
at reactor.netty.channel.FluxReceive.onInboundNext(FluxReceive.java:351) ~[reactor-netty-0.9.2.RELEASE.jar:0.9.2.RELEASE]
at reactor.netty.channel.ChannelOperations.onInboundNext(ChannelOperations.java:348) ~[reactor-netty-0.9.2.RELEASE.jar:0.9.2.RELEASE]
at reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:89) ~[reactor-netty-0.9.2.RELEASE.jar:0.9.2.RELEASE]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) ~[netty-transport-4.1.43.Final.jar:4.1.43.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) ~[netty-transport-4.1.43.Final.jar:4.1.43.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) ~[netty-transport-4.1.43.Final.jar:4.1.43.Final]
at dev.miku.r2dbc.mysql.client.MessageDuplexCodec.channelRead(MessageDuplexCodec.java:96) ~[r2dbc-mysql-0.8.0.RELEASE.jar:0.8.0.RELEASE]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) ~[netty-transport-4.1.43.Final.jar:4.1.43.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) ~[netty-transport-4.1.43.Final.jar:4.1.43.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) ~[netty-transport-4.1.43.Final.jar:4.1.43.Final]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:326) ~[netty-codec-4.1.43.Final.jar:4.1.43.Final]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:300) ~[netty-codec-4.1.43.Final.jar:4.1.43.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) ~[netty-transport-4.1.43.Final.jar:4.1.43.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) ~[netty-transport-4.1.43.Final.jar:4.1.43.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) ~[netty-transport-4.1.43.Final.jar:4.1.43.Final]
at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1478) ~[netty-handler-4.1.43.Final.jar:4.1.43.Final]
at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1227) ~[netty-handler-4.1.43.Final.jar:4.1.43.Final]
at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1274) ~[netty-handler-4.1.43.Final.jar:4.1.43.Final]
at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:503) ~[netty-codec-4.1.43.Final.jar:4.1.43.Final]
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:442) ~[netty-codec-4.1.43.Final.jar:4.1.43.Final]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:281) ~[netty-codec-4.1.43.Final.jar:4.1.43.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) ~[netty-transport-4.1.43.Final.jar:4.1.43.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) ~[netty-transport-4.1.43.Final.jar:4.1.43.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) ~[netty-transport-4.1.43.Final.jar:4.1.43.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1422) ~[netty-transport-4.1.43.Final.jar:4.1.43.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) ~[netty-transport-4.1.43.Final.jar:4.1.43.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) ~[netty-transport-4.1.43.Final.jar:4.1.43.Final]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:931) ~[netty-transport-4.1.43.Final.jar:4.1.43.Final]
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) ~[netty-transport-4.1.43.Final.jar:4.1.43.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:700) ~[netty-transport-4.1.43.Final.jar:4.1.43.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:635) ~[netty-transport-4.1.43.Final.jar:4.1.43.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:552) ~[netty-transport-4.1.43.Final.jar:4.1.43.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:514) ~[netty-transport-4.1.43.Final.jar:4.1.43.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$6.run(SingleThreadEventExecutor.java:1050) ~[netty-common-4.1.43.Final.jar:4.1.43.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.43.Final.jar:4.1.43.Final]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.43.Final.jar:4.1.43.Final]
at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]
The complete source codes is here. In the early version, I was using the jasync based r2dbc-mysql driver, it worked, but after I followed the official doc to use dev.miku:r2dbc-mysql at this time, it failed.
Resovled: Use the index instread of column name, see the comments in this issue
.map((r, m) -> r.get(0, Integer.class))

Nested Angular Material Menu

I am new to angular and I'm creating a dynamic/nested menu based from my data below. I include the codes that I started with. Any help is appreciated.
Below is my json data:
dataList = [
{List: 'List 1', Client: 'Client A', Program: 'Client A Program 1'},
{List: 'List 2', Client: 'Client A', Program: 'Client A Program 1'},
{List: 'List 3', Client: 'Client A', Program: 'Client A Program 2'},
{List: 'List 4', Client: 'Client A', Program: 'Client A Program 2'},
{List: 'List 5', Client: 'Client B', Program: 'Client B Program 1'},
{List: 'List 6', Client: 'Client B', Program: 'Client B Program 1'},
];
Here's what I've started so far:
<ng-container *ngFor="let item of dataList>
<div class="clientList">
<button mat-menu-item [routerLink]="['/home']" color="primary" (click)="menuClick()"><i class="fa object_group"
aria-hidden="true"></i> {{item.Client}}</button>
</div>
</ng-container>
I would like to have an angular material menu that looks like this:
https://imgur.com/a/WGpYRlK

If using formGroup in angular 6 some errors are showing

By using this in reactive forms
<form #branchForm [formGroup]='branchForm'>
I got some errors as
Error: Uncaught (in promise): Error: Template parse errors:
Can't bind to 'formGroup' since it isn't a known property of 'form'. ("
<div class="box">
<div class="box-body">
<form #branchForm [ERROR ->][formGroup]='branchForm'>
<div class="row">
<div class="form-group" [ngClass]="): ng:///BranchManagementRoutingModule/BranchManagementComponent.html#63:26
Error: Template parse errors:
Can't bind to 'formGroup' since it isn't a known property of 'form'. ("
<div class="box">
<div class="box-body">
<form #branchForm [ERROR ->][formGroup]='branchForm'>
<div class="row">
<div class="form-group" [ngClass]="): ng:///BranchManagementRoutingModule/BranchManagementComponent.html#63:26
at syntaxError (compiler.js:1021)
at TemplateParser.push../node_modules/#angular/compiler/fesm5/compiler.js.TemplateParser.parse (compiler.js:14830)
at JitCompiler.push../node_modules/#angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate (compiler.js:24018)
at JitCompiler.push../node_modules/#angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate (compiler.js:24005)
at compiler.js:23948
at Set.forEach (<anonymous>)
at JitCompiler.push../node_modules/#angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents (compiler.js:23948)
at compiler.js:23858
at Object.then (compiler.js:1012)
at JitCompiler.push../node_modules/#angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndComponents (compiler.js:23857)
at syntaxError (compiler.js:1021)
at TemplateParser.push../node_modules/#angular/compiler/fesm5/compiler.js.TemplateParser.parse (compiler.js:14830)
at JitCompiler.push../node_modules/#angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate (compiler.js:24018)
at JitCompiler.push../node_modules/#angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate (compiler.js:24005)
at compiler.js:23948
at Set.forEach (<anonymous>)
at JitCompiler.push../node_modules/#angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents (compiler.js:23948)
at compiler.js:23858
at Object.then (compiler.js:1012)
at JitCompiler.push../node_modules/#angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndComponents (compiler.js:23857)
at resolvePromise (zone.js:814)
at resolvePromise (zone.js:771)
at zone.js:873
at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:421)
at Object.onInvokeTask (core.js:3811)
at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:420)
at Zone.push../node_modules/zone.js/dist/zone.js.Zone.runTask (zone.js:188)
at drainMicroTaskQueue (zone.js:595)
I have imported all the necessary modules such as ReactiveFormsModule,Fromgroup etc
import { FormsModule, ReactiveFormsModule } from '#angular/forms';
and included these in imports also
import ReactiveFormsModule from #angular/formsĀ 
Is needed to be imported into your components module and added to your imports as well.
import { ReactiveFormsModule } from '#angular/forms';
#NgModule({
imports: [
// other imports ...
ReactiveFormsModule
],
})
export class AppModule { }
To fix this error, you just need to import ReactiveFormsModule from #angular/forms in your module.

Angular 4 error formating Date field in ISO format with DatePipe

In an angular 4 / nodejs application, I am retrieving the following date field from MongoDB:
"2018-06-14T03:00:00.000Z"
Here is my HTML:
<div *ngIf="this.Lacador.dataAssociacao">
<p style="margin-top: 10px" type="text"> <label style="font-weight: normal"> {{ this.Lacador.dataAssociacao | date:"dd/MM/yyyy" }} </label></p>
</div>
In the screen, the date is displayed (as per image), but I have an error in the console which messes with all the scripts of the page:
ERROR Error: InvalidPipeArgument: 'function Date() { [native code] }' for pipe 'DatePipe'
at invalidPipeArgumentError (common.es5.js:2610)
at DatePipe.webpackJsonp.../../../common/#angular/common.es5.js.DatePipe.transform (common.es5.js:3506)
at checkAndUpdatePureExpressionInline (core.es5.js:11665)
at checkAndUpdateNodeInline (core.es5.js:12370)
at checkAndUpdateNode (core.es5.js:12303)
at debugCheckAndUpdateNode (core.es5.js:13167)
at debugCheckRenderNodeFn (core.es5.js:13146)
at Object.eval [as updateRenderer] (LacadoresViewComponent.html:96)
at Object.debugUpdateRenderer [as updateRenderer] (core.es5.js:13131)
at checkAndUpdateView (core.es5.js:12275)
Date displayed correctly:
Any clues on why it throws an exception, even through it formats the field as I want?
Edit: Added a missing quote.