screenRender ends up rendering at encoder resolution

OpenGlView can be used record anything by drawing into the surface provided by OpenGlView.getSurface() (OpenGlView extends GlInterface).
File:
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/blob/24d3130e4aca3cbc39c1a4af464b29c5658731ec/rtplibrary/src/main/java/com/pedro/rtplibrary/view/OpenGlView.java#L127

cameraRender.draw() draws at preview resolution
baseFilterRender.draw() draws on top at the smaller encoder resolution
drawScreen(previewWidth, previewHeight) draws pixelated frame to screen

Reproduce steps

set a low resolution for the encoder.

openGlView.setEncoderSize(570, 270)

Add openGlView to the window

// fullscreen view
val matchParent = ViewGroup.LayoutParams.MATCH_PARENT
openGlView.layoutParams = ViewGroup.LayoutParams(matchParent, matchParent)

When surface is ready

openGlView.init()
openGlView.start()

getSurface() and start drawing into it

What resolution should the view be rendering at?
I would expect to see fullscreen resolution, full HD quality.
What actually happens is the view looks pixelated, the surface is rendering
at the encoder size!
Actual: Fullscreen view with setEncoderSize(570, 270)

Expected: looks good but setEncoderSize is same as preview size

Cause
When the drawing loop runs, I belive this happens:
  // OpenGlView.java
  @Override
  public void run() {
    ...
    // draw camera at preview size, then draw filters at encoder size
    managerRender.drawOffScreen();
    // now draw the output (last filter) at preview size
    // but wait, the filters were drawn at encoder size!
    managerRender.drawScreen(previewWidth, previewHeight, keepAspectRatio);
    ...
  }

Relevant code
Why does baseFilterRender get initialized with encoderWidth and encoderHeight?
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/blob/24d3130e4aca3cbc39c1a4af464b29c5658731ec/encoder/src/main/java/com/pedro/encoder/input/gl/render/ManagerRender.java#L51
Is there good reason for this behaviour?
I want to understand this line because I will be changing it in my fork.
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/blob/24d3130e4aca3cbc39c1a4af464b29c5658731ec/encoder/src/main/java/com/pedro/encoder/input/gl/render/ManagerRender.java#L51

First of all. Draw resolution depend of surfaceManager focused in that moment.

Focus to Preview surface (Surface from SurfaceView):
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/blob/master/rtplibrary/src/main/java/com/pedro/rtplibrary/view/OpenGlView.java#L125
Focus to VideoEncoder surface:
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/blob/master/rtplibrary/src/main/java/com/pedro/rtplibrary/view/OpenGlView.java#L137

This line is used to let filter know resolution of encoder and preview.
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/blob/master/encoder/src/main/java/com/pedro/encoder/input/gl/render/ManagerRender.java#L51
Preview resolution is necessary only in this filter:
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/blob/master/encoder/src/main/java/com/pedro/encoder/input/gl/render/filters/AndroidViewFilterRender.java#L88
Also encoder resolution is used in others filters like:
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/blob/master/encoder/src/main/java/com/pedro/encoder/input/gl/render/filters/PolygonizationFilterRender.java#L76
Or in FBO:
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/blob/master/encoder/src/main/java/com/pedro/encoder/input/gl/render/filters/BaseFilterRender.java#L41
About drawScreen. Resolution is necessary to set a correct aspect ratio and resolution. It depends on whether it is preview or encoder draw:
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/blob/master/encoder/src/main/java/com/pedro/encoder/input/gl/render/ScreenRender.java#L80
This means that the real resolution should be encoder resolution and preview is only an encoder resolution scaled to fit preview

This means that the real resolution should be encoder resolution and preview is only an encoder resolution scaled to fit preview

Ok understood. The goal is to render view at fullscreen resolution and draw into small sized encoder.
So maybe I can just swap the idea around:
The real resolution will be preview resolution and encoder resoluton would be preview scaled down to fit encoder.
I don't need to use filters, so maybe I can skip them since ManagerRender.cameraRender draws at preview resolution.
What to do at step 2?

draw the cameraRender into the preview surface
???
draw the screenRender into encoder surface scaled to fit


unable to push the app instance

2016-06-10T09:40:18.79-0700 [APP/0]      ERR Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ecsServiceInstanceBindingService': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.emc.ecs.cloudfoundry.broker.service.EcsService com.emc.ecs.cloudfoundry.broker.service.EcsServiceInstanceBindingService.ecs; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ecsService': Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: "segments" parameter is null.
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:334)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1214)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1192)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1116)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1014)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:813)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:741)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    ... 25 more
2016-06-10T09:40:18.79-0700 [APP/0]      ERR Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.emc.ecs.cloudfoundry.broker.service.EcsService com.emc.ecs.cloudfoundry.broker.service.EcsServiceInstanceBindingService.ecs; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ecsService': Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: "segments" parameter is null.
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:573)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:331)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    ... 37 more
2016-06-10T09:40:18.79-0700 [APP/0]      ERR Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ecsService': Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: "segments" parameter is null.
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:136)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:408)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1570)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1192)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1116)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1014)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:545)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    ... 39 more
2016-06-10T09:40:18.79-0700 [APP/0]      ERR Caused by: java.lang.IllegalArgumentException: "segments" parameter is null.
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at org.glassfish.jersey.uri.internal.JerseyUriBuilder.appendPath(JerseyUriBuilder.java:732)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at org.glassfish.jersey.uri.internal.JerseyUriBuilder.appendPath(JerseyUriBuilder.java:727)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at org.glassfish.jersey.uri.internal.JerseyUriBuilder.path(JerseyUriBuilder.java:357)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at org.glassfish.jersey.uri.internal.JerseyUriBuilder.path(JerseyUriBuilder.java:72)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at javax.ws.rs.core.UriBuilder.fromPath(UriBuilder.java:148)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at com.emc.ecs.management.sdk.Connection.getUriBuilder(Connection.java:147)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at com.emc.ecs.management.sdk.BaseUrlAction.list(BaseUrlAction.java:22)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at com.emc.ecs.cloudfoundry.broker.service.EcsService.lookupObjectEndpoints(EcsService.java:198)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at com.emc.ecs.cloudfoundry.broker.service.EcsService.initialize(EcsService.java:70)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at java.lang.reflect.Method.invoke(Method.java:497)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:354)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:305)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:133)
2016-06-10T09:40:18.79-0700 [APP/0]      ERR    ... 51 more

@tee33 The stack trace indicates that it's unable to lookup a base URL, which is the first call that the broker will make to the ECS on the back-end.  It looks like the base-url parameter isn't read.
I can be available to help troubleshoot this afternoon, but in the meantime, can you try setting the SPRING_ACTIVE_PROFILES environment variable to the same value as you've specified as the the "profile" seting in the application.yml.
Also, some info that I can double check for you:

the broker section of the application.yml (you can redact the usernames/passwords) -- or you can post the whole thing.
a screenshot of the following screens in the ECS UI:

Namespaces
Replication Groups
Base URLs

Thanks!

Thank you Aaron,
Let me know if we can work on this after 3PM PDT.
I can get Rob also.
broker:
#certificate: localhost.pem
namespace: f5
replication-group: cl-rg
management-endpoint: https://
#object-endpoint:
bse-url: DefaultBaseUrl
user:
password:
broker-api-version: 2.7
Thank you.
Thyya

From: Aaron Spiegel<EMAIL_ADDRESS>Sent: Friday, June 10, 2016 11:14 AM
To: emccode/ecs-cf-service-broker
Cc: Ung, Thyya; Mention
Subject: Re: [emccode/ecs-cf-service-broker] unable to push the app instance (#61)
@tee33https://github.com/tee33 The stack trace indicates that it's unable to lookup a base URL, which is the first call that the broker will make to the ECS on the back-end. It looks like the base-url parameter isn't read.
I can be available to help troubleshoot this afternoon, but in the meantime, can you try setting the SPRING_ACTIVE_PROFILES environment variable to the same value as you've specified as the the "profile" seting in the application.yml.
Also, some info that I can double check for you:

the broker section of the application.yml (you can redact the usernames/passwords) -- or you can post the whole thing.
a screenshot of the following screens in the ECS UI:
*   Namespaces
*   Replication Groups
*   Base URLs

Thanks!
�
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/emccode/ecs-cf-service-broker/issues/61#issuecomment-225256268, or mute the threadhttps://github.com/notifications/unsubscribe/AKs2j7rPp_ashQTyMxswlBuo_q1y09Ucks5qKal9gaJpZM4IzK2d.

This message may contain confidential or proprietary information intended only for the use of the
addressee(s) named above or may contain information that is legally privileged. If you are
not the intended addressee, or the person responsible for delivering it to the intended addressee,
you are hereby notified that reading, disseminating, distributing or copying this message is strictly
prohibited. If you have received this message by mistake, please immediately notify us by
replying to the message and delete the original message and any copies immediately thereafter.
Thank you.

CLLD

@tee33 Sure thing, I can be available at 3PM PDT.
I think I see a typo in the broker section.  bse-url should be base-url  That alone should not cause the issue, since it should pick up the default.
As a trouble-shooting step, we can also try setting these parameters via environment variables In order of appearance in application.yml, which takes precedence, they would look like:
BROKER_NAMESPACE
BROKER_REPLICATION_GROUP
BROKER_MANAGEMENT_ENDPOINT
BROKER_BASE_URL
BROKER_USER
BROKER_PASSWORD
BROKER_BROKER_API_VERSION

Hello Aaron,
Same issue.
Let me know how i can reach you?
Thanks.
Thyya

From: Aaron Spiegel<EMAIL_ADDRESS>Sent: Friday, June 10, 2016 11:47 AM
To: emccode/ecs-cf-service-broker
Cc: Ung, Thyya; Mention
Subject: Re: [emccode/ecs-cf-service-broker] unable to push the app instance (#61)
@tee33https://github.com/tee33 Sure thing, I can be available at 3PM PDT.
I think I see a typo in the broker section. bse-url should be base-url That alone should not cause the issue, since it should pick up the default.
As a trouble-shooting step, we can also try setting these parameters via environment variables In order of appearance in application.yml, which takes precedence, they would look like:
BROKER_NAMESPACE
BROKER_REPLICATION_GROUP
BROKER_MANAGEMENT_ENDPOINT
BROKER_BASE_URL
BROKER_USER
BROKER_PASSWORD
BROKER_BROKER_API_VERSION
�
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/emccode/ecs-cf-service-broker/issues/61#issuecomment-225264459, or mute the threadhttps://github.com/notifications/unsubscribe/AKs2j66hb4FVe6gYulTv4tsRRnSx6Chuks5qKbEQgaJpZM4IzK2d.

This message may contain confidential or proprietary information intended only for the use of the
addressee(s) named above or may contain information that is legally privileged. If you are
not the intended addressee, or the person responsible for delivering it to the intended addressee,
you are hereby notified that reading, disseminating, distributing or copying this message is strictly
prohibited. If you have received this message by mistake, please immediately notify us by
replying to the message and delete the original message and any copies immediately thereafter.
Thank you.

CLLD

@tee33 Just sent an email to your corporate address.  Let me know if you don't get it.

@spiegela, got it to push the instance now.  When i do the following,
CF_TRACE=true cfsb create-service ecs-bucket unlimited my_bucket
FAILED
Server error, status code: 502, error code: 10001, message: Service broker error: com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused
Any where in the instance, i can check the log to get more info where it's trying to connect, is it going to our API url?
Thank you.

I think that it's likely trying to connect to port 9021 rather than 443 from your LTM. You can override that behavior with the BROKER_OBJECT_ENDPOINT environment variable in the manifest.yml.
application:
...
env:
...
BROKER_OBJECT_ENDPOINT: https://s3.corelogic.net

You should be able to see the API calls from the broker by running cf logs ecs-broker and then re-running the create-service command in another shell.
Thanks,
-Aaron
On Jun 10, 2016, 8:07 PM -0500, Thyya<EMAIL_ADDRESS>wrote:

@spiegela(https://github.com/spiegela), got it to push the instance now. When i do the following,
CF_TRACE=true cfsb create-service ecs-bucket unlimited my_bucket
FAILED
Server error, status code: 502, error code: 10001, message: Service broker error: com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused
Any where in the instance, i can check the log to get more info where it's trying to connect, is it going to our API url?
Thank you.
—
You are receiving this because you were mentioned.
Reply to this email directly,view it on GitHub(https://github.com/emccode/ecs-cf-service-broker/issues/61#issuecomment-225327885), ormute the thread(https://github.com/notifications/unsubscribe/AAAMjJyuUs4VVhr0m12JpFXSAgacJC6Aks5qKgptgaJpZM4IzK2d).

@spiegela  that is it. It's working now.
Thank you.
Attention: The plan unlimited of service ecs-bucket is not free.  The instance my_bucket will incur a cost.  Contact your administrator if you think this is in error.

Awesome. Glad to hear it!
Thanks,
-Aaron
On Jun 10, 2016, 8:38 PM -0500, Thyya<EMAIL_ADDRESS>wrote:

@spiegela(https://github.com/spiegela)that is it. It's working now.
Thank you.
Attention: The planunlimitedof serviceecs-bucketis not free. The instancemy_bucketwill incur a cost. Contact your administrator if you think this is in error.
—
You are receiving this because you were mentioned.
Reply to this email directly,view it on GitHub(https://github.com/emccode/ecs-cf-service-broker/issues/61#issuecomment-225329600), ormute the thread(https://github.com/notifications/unsubscribe/AAAMjKnl27_N70BUTRYkoYIAFeF8eMPUks5qKhF_gaJpZM4IzK2d).


Add a datastore sample.

For https://cloud.google.com/appengine/docs/flexible/php/using-cloud-datastore

Did we look into using tomwalder/php-gds at all for this sample?

I didn't look at using using tomwalder/php-gds.  I haven't seen us use third-party code like this in samples before.  But that library looks good.  Should I try using it in a follow-up PR?

LGTM

@SurferJeffAtGoogle I think it's worth looking into for a follow up PR. If we did use php-gds, we'd want to factor our other usages of datastore in pubsub and datastore as well.
This is definitely LGTM!


Need ability to add legend for onset picker fieldsets

Bug Report
While attempting to resolve accessibility issues for site examples for https://github.com/cerner/terra-ui/issues/46 the onset picker examples were not accessible as the fieldsets have no name associated to them available to accessibility APIs. Consumers should have the ability to add a legend for onset picker field sets for accessibility.

Duplicate #461


Wildcard modifier for HTML standalone tags

The wildcard behavior for HTML autocomplete is a great feature. I'm running into the issue however that for standalone tags the autocomplete will run unnecessarily. Also, the wildcard is smart enough already to avoid the attributes in the tag, which is perfect, and makes me think there might already be a way to do this.
Example:
<input>                       --completes to-->                 <input></input>                                             (great)
<input type='text'>    --completes to-->                 <input type='text'></input>         (great)
<input type='text' />  --completes to-->                 <input type='text' /></input>     (unnecessary)
<input type='text' />  --completion cancelled-->   <input type='text' />     (desired behavior)
Any suggestions on a way to detect the trailing / and cancel autocompletion?

Hm, not able to reproduce this. Can you show the output of echo b:pear_tree_pairs while editing an HTML file?
In the default ftplugin, input tags will not auto-close by default, and for other tags I see that adding / cancels auto-closing
<test> becomes <test></test>
<test type='text'> becomes <test type='text'></test>
<test type='text' /> becomes <test type='text' />


Troubleshooting unoconvert Network Connection Error on Ubuntu 22.04 with Python 3.10 and LibreOffice <IP_ADDRESS> in a Closed Network Environment

Traceback (most recent call last):
File "/usr/local/bin/unoconvert", line 8, in
sys.exit(converter_main())
File "/usr/local/lib/python3.10/dist-packages/unoserver/client.py", line 248, in converter_main
result = client.convert(
File "/usr/local/lib/python3.10/dist-packages/unoserver/client.py", line 87, in convert
result = proxy.convert(
File "/usr/lib/python3.10/xmlrpc/client.py", line 1122, in call
return self.__send(self.__name, args)
File "/usr/lib/python3.10/xmlrpc/client.py", line 1464, in __request
response = self.__transport.request(
File "/usr/lib/python3.10/xmlrpc/client.py", line 1166, in request
return self.single_request(host, handler, request_body, verbose)
File "/usr/lib/python3.10/xmlrpc/client.py", line 1178, in single_request
http_conn = self.send_request(host, handler, request_body, verbose)
File "/usr/lib/python3.10/xmlrpc/client.py", line 1291, in send_request
self.send_content(connection, request_body)
File "/usr/lib/python3.10/xmlrpc/client.py", line 1321, in send_content
connection.endheaders(request_body)
File "/usr/lib/python3.10/http/client.py", line 1278, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/usr/lib/python3.10/http/client.py", line 1038, in _send_output
self.send(msg)
File "/usr/lib/python3.10/http/client.py", line 976, in send
self.connect()
File "/usr/lib/python3.10/http/client.py", line 942, in connect
self.sock = self._create_connection(
File "/usr/lib/python3.10/socket.py", line 845, in create_connection
raise err
File "/usr/lib/python3.10/socket.py", line 833, in create_connection
sock.connect(sa)
I got a this message, what should I check? Please help me.
tried cmd : unoconvert --convert-to pdf target.docx result.pdf
ubuntu 22.04 LTS
python 3.10
LibreOffice <IP_ADDRESS> 30
** closed network

Did you start the unoserver first? Otherwise you will get an error there: ConnectionRefusedError: [Errno 111] Connection refused

Did you start the unoserver first? Otherwise you will get an error there: ConnectionRefusedError: [Errno 111] Connection refused

root@thumbnail:~# ls -l total 2664 -rw-r--r-- 1 root root   12309 Nov 10 02:48 aaa.docx -rw-r--r-- 1 root root    5433 Nov 13 07:35 aaa.pdf -rw-r--r-- 1 root root   12513 Nov 22 01:37 box.docx -rw-r--r-- 1 root root   12270 Nov 13 07:39 error.docx -rw-r--r-- 1 root root    4792 Nov 13 07:39 error.pdf -rw-r--r-- 1 root root    2156 Nov 13 06:25 find_uno.py -rw-r--r-- 1 root root 2632263 Oct 21 11:30 get-pip.py -rw-r--r-- 1 root root   12309 Nov 10 05:49 please.docx -rw-r--r-- 1 root root    5433 Nov 13 07:35 please.pdf drwx------ 3 root root    4096 Nov  6 06:26 snap root@thumbnail:~# unoconvert --convert-to pdf box.docx box.pdf Traceback (most recent call last):   File "/usr/local/bin/unoconvert", line 8, in <module>     sys.exit(converter_main())   File "/usr/local/lib/python3.10/dist-packages/unoserver/client.py", line 248,            in converter_main     result = client.convert(   File "/usr/local/lib/python3.10/dist-packages/unoserver/client.py", line 87, i           n convert     result = proxy.convert(   File "/usr/lib/python3.10/xmlrpc/client.py", line 1122, in __call__     return self.__send(self.__name, args)   File "/usr/lib/python3.10/xmlrpc/client.py", line 1464, in __request     response = self.__transport.request(   File "/usr/lib/python3.10/xmlrpc/client.py", line 1166, in request     return self.single_request(host, handler, request_body, verbose)   File "/usr/lib/python3.10/xmlrpc/client.py", line 1178, in single_request     http_conn = self.send_request(host, handler, request_body, verbose)   File "/usr/lib/python3.10/xmlrpc/client.py", line 1291, in send_request     self.send_content(connection, request_body)   File "/usr/lib/python3.10/xmlrpc/client.py", line 1321, in send_content     connection.endheaders(request_body)   File "/usr/lib/python3.10/http/client.py", line 1278, in endheaders     self._send_output(message_body, encode_chunked=encode_chunked)   File "/usr/lib/python3.10/http/client.py", line 1038, in _send_output     self.send(msg)   File "/usr/lib/python3.10/http/client.py", line 976, in send     self.connect()   File "/usr/lib/python3.10/http/client.py", line 942, in connect     self.sock = self._create_connection(   File "/usr/lib/python3.10/socket.py", line 845, in create_connection     raise err   File "/usr/lib/python3.10/socket.py", line 833, in create_connection     sock.connect(sa) ConnectionRefusedError: [Errno 111] Connection refused root@thumbnail:~# ps -ef | grep uno root       49499       1  0 Nov20 ?        00:00:07 /usr/bin/python3 /usr/local/           bin/unoserver root       53360   53184  0 01:39 pts/4    00:00:00 grep --color=auto uno

start first command "unoserver &"
try convert command "unoconvert convert-to pdf {targetFile} {resultFile}
got an error message

when I kill all processes related to unoserver and try again, it works.
But I don't know the difference between it working and not working.
I'm trying to start unoserver as a background process all the time.
So I'm running it with a & after the command.
What should I do?

Try opening unoserver in a separate terminal and see what output it gives you, maybe it shows some error message after a while?

Thank you for your kindness.
You have been a great help to me, thank you.
Thank you so much for making this open source.

Did you resolve it?

Yes, thank you, it has been resolved well


Decide on ID schema and ID management for PCL

We currently have IDs like this:
http://www.jcvi.org/cl_ext/mtg_cluster/pCL54
We should probably move to something that is not specific to some experiment (mtg_cluster) and uses a more conventional padded short_form (PCL_0000054 ?).
Should we stick with http://www.jcvi.org/cl_ext as the base for now?
Options for more conventional PURLs.

Request obolibrary membership.

Create a PCL domain underneath http://purl.obolibrary.org/obo/CL/

This would allow us to use PURL resolution to point to release files like this.
http://purl.obolibrary.org/obo/CL/PCL/pcl.owl
We could use this to roll IDs like this http://purl.obolibrary.org/obo/CL/ PCL/PCL_0000054 - although we don't have any architecture in place to make sure these resolve.
CC @scheuerm @BAevermann

Closing as redoing everything using ODK


Fabric complaining with binascii.Error: Incorrect padding

When I try to deploy using Fabric, the following error occurs. I've defined the Fabric settings in my local_settings.py file.
# fab all
[appsembler.com] Executing task 'all'

---
all

---

-------
install
-------

$ cat /etc/default/locale ->

Traceback (most recent call last):
  File "/Users/nateaune/appsembler/web-env/lib/python2.7/site-packages/fabric/main.py", line 717, in main
    *args, **kwargs
  File "/Users/nateaune/appsembler/web-env/lib/python2.7/site-packages/fabric/tasks.py", line 299, in execute
    multiprocessing
  File "/Users/nateaune/appsembler/web-env/lib/python2.7/site-packages/fabric/tasks.py", line 198, in _execute
    return task.run(*args, **kwargs)
  File "/Users/nateaune/appsembler/web-env/lib/python2.7/site-packages/fabric/tasks.py", line 112, in run
    return self.wrapped(*args, **kwargs)
  File "/Users/nateaune/appsembler/appsembler_website/appsembler_website/fabfile.py", line 153, in logged
    return func(*args, **kawrgs)
  File "/Users/nateaune/appsembler/appsembler_website/appsembler_website/fabfile.py", line 418, in all
    install()
  File "/Users/nateaune/appsembler/appsembler_website/appsembler_website/fabfile.py", line 153, in logged
    return func(*args, **kawrgs)
  File "/Users/nateaune/appsembler/appsembler_website/appsembler_website/fabfile.py", line 264, in install
    if locale not in sudo("cat /etc/default/locale"):
  File "/Users/nateaune/appsembler/appsembler_website/appsembler_website/fabfile.py", line 145, in sudo
    return _sudo(command)
  File "/Users/nateaune/appsembler/web-env/lib/python2.7/site-packages/fabric/network.py", line 463, in host_prompting_wrapper
    return func(*args, **kwargs)
  File "/Users/nateaune/appsembler/web-env/lib/python2.7/site-packages/fabric/operations.py", line 937, in sudo
    user=user)
  File "/Users/nateaune/appsembler/web-env/lib/python2.7/site-packages/fabric/operations.py", line 819, in _run_command
    stdout, stderr, status = _execute(default_channel(), wrapped_command, pty,
  File "/Users/nateaune/appsembler/web-env/lib/python2.7/site-packages/fabric/state.py", line 340, in default_channel
    chan = connections[env.host_string].get_transport().open_session()
  File "/Users/nateaune/appsembler/web-env/lib/python2.7/site-packages/fabric/network.py", line 84, in __getitem__
    self.connect(key)
  File "/Users/nateaune/appsembler/web-env/lib/python2.7/site-packages/fabric/network.py", line 76, in connect
    self[key] = connect(user, host, port)
  File "/Users/nateaune/appsembler/web-env/lib/python2.7/site-packages/fabric/network.py", line 265, in connect
    client.load_system_host_keys()
  File "/Users/nateaune/appsembler/web-env/lib/python2.7/site-packages/ssh/client.py", line 152, in load_system_host_keys
    self._system_host_keys.load(filename)
  File "/Users/nateaune/appsembler/web-env/lib/python2.7/site-packages/ssh/hostkeys.py", line 155, in load
    e = HostKeyEntry.from_line(line)
  File "/Users/nateaune/appsembler/web-env/lib/python2.7/site-packages/ssh/hostkeys.py", line 67, in from_line
    key = RSAKey(data=base64.decodestring(key))
  File "/usr/local/homebrew/Cellar/python/2.7.2/lib/python2.7/base64.py", line 321, in decodestring
    return binascii.a2b_base64(s)
binascii.Error: Incorrect padding

@natea , 5 years later you saved my time :-D

Glad my comment was helpful! :)
On Thu, Jun 29, 2017 at 9:46 AM, Alex<EMAIL_ADDRESS>wrote:

@natea https://github.com/natea , 5 years later you saved my time :-D
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/stephenmcd/mezzanine/issues/392#issuecomment-312025207,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAHQyHtuQmhI5rjfUG-fQtl9kcdFAml3ks5sI9TmgaJpZM4AIo8F
.

--
Website: http://www.appsembler.com
Blog: http://www.appsembler.com/blog
Twitter: http://twitter.com/natea
LinkedIn: http://linkedin.com/in/natea
Phone: +1<PHONE_NUMBER>


Prune feature is implemented.

Hi.
The latest docker has new feature, prune and so I implemented it to your gem.
It helps us manage unused docker resources.
https://docs.docker.com/engine/reference/commandline/system_prune/
https://docs.docker.com/engine/api/v1.29/#operation/ContainerPrune
https://docs.docker.com/engine/api/v1.29/#operation/ImagePrune
https://docs.docker.com/engine/api/v1.29/#operation/NetworkPrune
https://docs.docker.com/engine/api/v1.29/#operation/VolumePrune

Conflict to master is resolved.

Released in v1.34.0


Split README file into separate files

The idea is to split off separate files per plugin and then create an index (table) of plugins with links to doc file and a relevant command definitions contrib file.

Place within docs path in subdirs based on plugin name, or individual files in a flat docs/ layout?
Needs further thought.


Skip STRIDES translation if patient MRN is not in STRIDES database

This is in response to a pilot issue that recently came up. The React Dashboard threw an error when running a non-production patient against the version of the code that uses the STRIDES database.
It looks like our translate.js code gracefully skips the STRIDES mapping if the patient does not have an MRN (the case for the Logica patients I have been testing), but if they do have an MRN but it is not in the STRIDES database (the case for the test patients UMMC is testing) then an error is thrown by translate.js line 326.
This does two things:

Skips STRIDES translation if patient has MRN that is not in the STRIDES database.
Adds "Medical Record Number" as a Patient.identifier.type.text that could qualify as a patient MRN. This is used by the sandbox patients in the SMART App Launcher.

@yunwwang The changes you added look good to me! I was able to replicate the newest error caused by a Patient with no DiagnosticReports by using the SMART App launcher to test a patient against the pilot branch, deleting all of their DiagnosticReports in the very beginning of the mapStrideResult function. When I instead ran that patient against this branch, the error was fixed.
This PR now:

Fixes error thrown by a patient who has an MRN that is not in the STRIDES database
Fixes error thrown by a patient who has an MRN that is in the STRIDES database, but has no DiagnosticReports.
Adds "Medical Record Number" as one of the Patient.identifier.type.text values that could represent an MRN.

@yunwwang Since I am the one who opened this PR, can you give a final review/approval when you have a moment? Thanks.


New-SSHShellStream: how to figure out when a command has finished executing?

$stream = New-SSHShellStream -SSHSession $ssh
$stream.writeline("someLongRunningCommand")
$stream.read()
I have a simple script that calls a long running script such as ansible playbook that takes a long time to run and outputs different tasks until it's done.  How can I tell when the command has finished running?  I see the $stream contains properties CanRead, DataAvailable, and CanWrite.  CanRead and CanWrite is always True throughout the script running.  DataAvailable changes from false to true as data is available to read so then I can call $stream.read() to get the data.  So I want to write a loop that can output any data available as the script is running and sleep 1 second between checking for DataAvailable before outputting the data.  But I don't know when to break the loop since I don't know when the script has finished executing.  I could check the data for the ending line of the script, but if an error occurs in the script and never outputs the expected last line then I'll be stuck in a loop.  Any ideas?

https://gist.github.com/darkoperator/93fc457ca1c2de14c3a62a55d98020eb


util.go : getAddress() choose default client automatically

Do not ask for candidate IP, when filtered IPs only have one option. References issue https://github.com/claudiodangelis/qr-filetransfer/issues/43 .

Oh, thanks for this @gs0510! It looks good on a first glance, I will give it a run later and merge it.


clearOnDefault doesn't work with createSerializer

Context
What's your version of nuqs?
"nuqs": "1.19.1"

Next.js information (obtained by running next info):
Operating System:
  Platform: darwin
  Arch: arm64
  Version: Darwin Kernel Version 23.3.0: Wed Dec 20 21:30:59 PST 2023; root:xnu-10002.81.5~7/RELEASE_ARM64_T6030
  Available memory (MB): 36864
  Available CPU cores: 11
Binaries:
  Node: 20.11.1
  npm: 10.2.4
  Yarn: 1.18.0
  pnpm: N/A
Relevant Packages:
  next: 14.2.11 // There is a newer version (14.2.12) available, upgrade recommended!
  eslint-config-next: N/A
  react: 18.2.0
  react-dom: 18.2.0
  typescript: 5.5.4
Next.js Config:
  output: N/A
 ⚠ There is a newer version (14.2.12) available, upgrade recommended!
   Please try the latest canary version (`npm install next@canary`) to confirm the issue still exists before creating a new issue.
   Read more - https://nextjs.org/docs/messages/opening-an-issue

Are you using:

✅ The app router
❌ The pages router
❌ The basePath option in your Next.js config
❌ The experimental windowHistorySupport flag in your Next.js config

Description
The clearOnDefault option does not seem to work when using createSerializer. Seeing as TS was happy I expected it to work. I love this feature from the hooks so would be amazing getting it to work!
Let me know if I should attempt adding/fixing this and I'll take a stab at it :)
Reproduction

I skipped creating a CodeSandbox playground since it's very easy to explain. Let me know if I still should create one 😄
const serialize = createSerializer({
    int: parseAsInteger.withOptions({ clearOnDefault: true }).withDefault(0)
})
const result = serialize({ int: 0 })
//    ^ Result is `?int=0`

Ah yes, that would make sense for the serializer to follow this setting. If you want to open a PR, that'd be great, thanks!

Ah yes, that would make sense for the serializer to follow this setting. If you want to open a PR, that'd be great, thanks!

Awesome! I've opened https://github.com/47ng/nuqs/pull/642 where I've fixed it, but haven't figured out how to type it properly yet so it has some @ts-expect-error directives right now. Can continue looking into it when I have some more time!


PAI on Azure can't work with openmind

The problem: can't upload code to hdfs.
Cause:
HDFS listen on internal ip, for example: hdfs://<IP_ADDRESS>:9000. That url is not available from internet.

closed as it is resolved by pylon.


[MLIR][DISC] bufferize DynamicReshape and DynamicBroadcastInDim

1, add hlo-to-lhlo support for DynamicReshape and DynamicBroadcastInDim
2, add a flag convert-to-lmhlo-only to seperate following two case:

hlo-to-lhlo only. Simply lowers all mhlo ops to their lmhlo
counterparts, do not apply any optimization (e.g. elide any
buffer copy). Buffer optimization is not easy in dynamic
shape world especially when involving control flow, thus we
leave this to another dedicated pass.

hlo-to-lhlo-or-memref-directly. Lowers some metadata-only mhlo
ops (e.g. reshape) to memref dialect directly and Lowers others
to their lmhlo counterparts.

@joker-eph I see you remove the tag ready to pull. Is there something wrong about the CI again？Or simply because this pr need another round of review?

@joker-eph I see you remove the tag ready to pull. Is there something wrong about the CI again？Or simply because this pr need another round of review?

We have infrastructure issues around the automation driving all the integration, I was trying to force it to restart its process...


ISPN-5520 Hot Rod client XSite failover support

https://issues.jboss.org/browse/ISPN-5520

This initial implementation supports dealing with entire clusters
failing, and falling back on cluster information defined in Hot Rod
configuration.
It's necessary for at least a single server's IP address to be
provided in the cluster definition, and from that the rest of the
topology can be deduced.
Once a node has connected to a different site cluster, it remains
connected to that site until the cluster becomes unavailable, in which
case it failovers to next cluster.
If all cluster sites become unavailable, as a last resort the initial
server configuration is tried.

@tristantarrant Added cluster name

Something strange going on with this, CI build log is around 2GB! Checking....

Closing this PR, I'm resending it for a different branch.


<EMAIL_ADDRESS>

This is just an update to the enforce dependency, supporting the new gTLDs.

Released in version 3.2.3


import doc about user accounts and roles

creation of the main page

Thanks for putting this together @paolini78. I've left a bunch of suggestions, most if not all are just minor updates that should have been made to the wiki but weren't 😞.
users-roles/managing-accounts/_index.md and service-endpoints/_index.md could do with a more extensive refresh, so I'll do those as a PR against paolini78-patch-6.

users-roles/managing-accounts/_index.md and service-endpoints/_index.md could do with a more extensive refresh, so I'll do those as a PR against paolini78-patch-6.

See #483 and #484


Custom menu bar: "Hide" in right-click menu of activity bar unresponsive

Issue Type: Bug
From https://github.com/Microsoft/vscode/issues/52284

Set "window.titleBarStyle": "custom"
Right click on view in activity bar and click "Hide" from the resulting menu

Nothing happens
VS Code version: Code - Insiders 1.25.0-insider (f2fa6bea46bde9856e6a593e4d4c5af2b303ac66, 2018-06-27T05:18:12.763Z)
OS version: Windows_NT x64 10.0.17134

Duplicate of https://github.com/Microsoft/vscode/issues/52355


az dls download doesn't work for multiple files in directory

Using the az dls download command to download all the content of a directory into Data Lake Store, all the hierarchy of the folder into the Data Lake has been downloaded, instead of only the files contained into the source folder, into the local folder where the command is executed, so ignoring the --destination-path option.
Machine OS: RHEL 7.5
Data Lake:
-test
-folder1
file1.txt
file2.txt
-folder2
Local path:
-localFolder1
-localFolder2
Command:
cd /localFolder1
az dls fs download --source-path /test/folder1/* --destination-path "/localFolder2"
Result:
-localFolder1
-test
-folder1
file1.txt
file2.txt

@egallo90 Can you mention the datalake-store version you were using? The following command should work.
$ pip show azure-datalake-store

Please close this. I can't proceed without version information.


Log errors and informative events

Add debugging logs at key points:

on load, indicate if the browser is supported.
getUserMedia(...)/getDisplayMedia(...) failed, show the error code.
enumerateDevices(...) failed, show the error message.
On change event, show stat summary of changes.

In retrospect, I don't think this was a good idea. After using this library for a while in a personal project, I'm more convinced that logging should be done entirely in the application code, especially if it avoids another dependency.


[BUG] Need retry logic around curl in detect_repo

Describe the bug

We've spotted that failures might occur around curl commands in detect_repo during node upgrades due to network issues. This leads to the total failure of the node upgrade Pod because we have set -e in the upgrade scripts.
node-0:/home/rancher # kubectl -n harvester-system logs hvst-upgrade-52qzw-post-drain-mike-2vl7p
+++ dirname /usr/local/bin/upgrade_node.sh
++ cd /usr/local/bin
++ pwd
+ SCRIPT_DIR=/usr/local/bin
+ source /usr/local/bin/lib.sh
++ UPGRADE_NAMESPACE=harvester-system
++ UPGRADE_REPO_URL=http://upgrade-repo-hvst-upgrade-52qzw.harvester-system/harvester-iso
++ UPGRADE_REPO_VM_NAME=upgrade-repo-hvst-upgrade-52qzw
++ UPGRADE_REPO_RELEASE_FILE=http://upgrade-repo-hvst-upgrade-52qzw.harvester-system/harvester-iso/harvester-release.yaml
++ UPGRADE_REPO_SQUASHFS_IMAGE=http://upgrade-repo-hvst-upgrade-52qzw.harvester-system/harvester-iso/rootfs.squashfs
++ UPGRADE_REPO_BUNDLE_ROOT=http://upgrade-repo-hvst-upgrade-52qzw.harvester-system/harvester-iso/bundle
++ UPGRADE_REPO_BUNDLE_METADATA=http://upgrade-repo-hvst-upgrade-52qzw.harvester-system/harvester-iso/bundle/metadata.yaml
++ CACHED_BUNDLE_METADATA=
++ HOST_DIR=/host
+ UPGRADE_TMP_DIR=/host/usr/local/upgrade_tmp
+ mkdir -p /host/usr/local/upgrade_tmp
+ case $1 in
+ command_post_drain
+ wait_repo
++ get_repo_vm_status
++ kubectl get virtualmachines.kubevirt.io upgrade-repo-hvst-upgrade-52qzw -n harvester-system '-o=jsonpath={.status.printableStatus}'
+ [[ Running == \R\u\n\n\i\n\g ]]
+ curl -sfL http://upgrade-repo-hvst-upgrade-52qzw.harvester-system/harvester-iso/harvester-release.yaml
+ echo 'Wait for upgrade repo ready...'
Wait for upgrade repo ready...
+ sleep 5
+ curl -sfL http://upgrade-repo-hvst-upgrade-52qzw.harvester-system/harvester-iso/harvester-release.yaml
+ echo 'Wait for upgrade repo ready...'
+ sleep 5
Wait for upgrade repo ready...
+ curl -sfL http://upgrade-repo-hvst-upgrade-52qzw.harvester-system/harvester-iso/harvester-release.yaml
+ echo 'Wait for upgrade repo ready...'
+ sleep 5
Wait for upgrade repo ready...
+ curl -sfL http://upgrade-repo-hvst-upgrade-52qzw.harvester-system/harvester-iso/harvester-release.yaml
+ echo 'Wait for upgrade repo ready...'
+ sleep 5
Wait for upgrade repo ready...
+ curl -sfL http://upgrade-repo-hvst-upgrade-52qzw.harvester-system/harvester-iso/harvester-release.yaml
+ echo 'Wait for upgrade repo ready...'
+ sleep 5
Wait for upgrade repo ready...
+ curl -sfL http://upgrade-repo-hvst-upgrade-52qzw.harvester-system/harvester-iso/harvester-release.yaml
+ echo 'Wait for upgrade repo ready...'
+ sleep 5
Wait for upgrade repo ready...
+ curl -sfL http://upgrade-repo-hvst-upgrade-52qzw.harvester-system/harvester-iso/harvester-release.yaml
+ echo 'Wait for upgrade repo ready...'
+ sleep 5
Wait for upgrade repo ready...
+ curl -sfL http://upgrade-repo-hvst-upgrade-52qzw.harvester-system/harvester-iso/harvester-release.yaml
+ echo 'Wait for upgrade repo ready...'
+ sleep 5
Wait for upgrade repo ready...
+ curl -sfL http://upgrade-repo-hvst-upgrade-52qzw.harvester-system/harvester-iso/harvester-release.yaml
+ echo 'Wait for upgrade repo ready...'
+ sleep 5
Wait for upgrade repo ready...
+ curl -sfL http://upgrade-repo-hvst-upgrade-52qzw.harvester-system/harvester-iso/harvester-release.yaml
+ echo 'Wait for upgrade repo ready...'
Wait for upgrade repo ready...
+ sleep 5
+ curl -sfL http://upgrade-repo-hvst-upgrade-52qzw.harvester-system/harvester-iso/harvester-release.yaml
harvester: v1.1.0
harvesterChart: 1.1.0
os: Harvester v1.1.0
kubernetes: v1.24.7+rke2r1
rancher: v2.6.9
monitoringChart: 100.1.0+up19.0.3
loggingChart: 100.1.3+up3.17.7
kubevirt: 0.54.0-1504<IP_ADDRESS>
minUpgradableVersion: 'v1.0.3'
rancherDependencies:
  fleet:
    chart: 100.1.0+up0.4.0
    app: 0.4.0
  fleet-crd:
    chart: 100.1.0+up0.4.0
    app: 0.4.0
  rancher-webhook:
    chart: 1.0.6+up0.2.7
    app: 0.2.7
+ detect_repo
++ mktemp --suffix=.yaml
+ release_file=/tmp/tmp.4auA9YNfqw.yaml
+ curl -sfL http://upgrade-repo-hvst-upgrade-52qzw.harvester-system/harvester-iso/harvester-release.yaml -o /tmp/tmp.4auA9YNfqw.yaml

To Reproduce
Steps to reproduce the behavior:

Do upgrade on the cluster of any number of nodes
Do something to break the connection between the upgrade-repo VM and the apply-manifest or upgrade-node Pod before detect_repo is being called, e.g. remove the Service resource of the upgrade-repo
The upgrade will be marked as failed

Expected behavior

Should do retries until the curl commands succeed.
Support bundle

Environment

Harvester ISO version:
Underlying Infrastructure (e.g. Baremetal with Dell PowerEdge R630):

Additional context
Add any other context about the problem here.

@starbops I guess we also need this on squash image fetching:

https://github.com/harvester/harvester/blob/a4872361145e0d0b99c4afeb6052f344acd48f30/package/upgrade/upgrade_node.sh#L426
https://github.com/harvester/harvester/blob/a4872361145e0d0b99c4afeb6052f344acd48f30/package/upgrade/upgrade_node.sh#L477

@bk201 yeah, that's a good catch! There are multiple places that use curl to download crucial files in the upgrade scripts. Maybe we should drag them out to form a download function or try to leverage some of the retry-related options provided by curl. I'll do some tests on that.

Verified not fixed on master-0f590757-head. Move to Implement stage.
Result
Encounter the Connection timed out  after the curl retry in the single node post-drain pod
Downloading the file from "http://upgrade-repo-hvst-upgrade-5jnvr.harvester-system/harvester-iso/rootfs.squashfs" to "/host/usr/local/upgrade_tmp/tmp.3XEMOhNAMQ"...
+ echo 'Downloading the file from "http://upgrade-repo-hvst-upgrade-5jnvr.harvester-system/harvester-iso/rootfs.squashfs" to "/host/usr/local/upgrade_tmp/tmp.3XEMOhNAMQ"...'
+ curl -sSfL --retry 10 --retry-connrefused http://upgrade-repo-hvst-upgrade-5jnvr.harvester-system/harvester-iso/rootfs.squashfs -o /host/usr/local/upgrade_tmp/tmp.3XEMOhNAMQ
curl: (7) Failed to connect to upgrade-repo-hvst-upgrade-5jnvr.harvester-system port 80: Connection timed out

Test Information

Test Environment: 1 node1 Harvester local kvm machine
Harvester version: v1.1.0 with upgrade image contains the chages

Verify Steps

Prepare a v1.0.3 Harvester cluster with any number of nodes
Prepare an upgrade image contains the PR
Kickstart the upgrade to v1.1.0 GA
Wait until the upgrade entering phase 4: node upgrade
Check the apply-mainifest job completed kubectl -n harvester-system get po | grep manifes

harv103upd:~ # kubectl -n harvester-system get po | grep manifest
hvst-upgrade-5jnvr-apply-manifests-d6rzj

Copy the output of the upgrade repo VM's Service resource with kubectl -n harvester-system get svc upgrade-repo-hvst-upgrade-5jnvr -o yaml > upgrade-repo-svc.yaml
Apply the upgrade image contains the PR with ctr -n k8s.io image import harvester-upgrade-v1.1.0.tar
Check the logs of pos-draind pod kubectl -n harvester-system get po | grep single
Run kubectl logs hvst-upgrade-5jnvr-single-node-upgrade-harv103upd-wlffk -n harvester-system -f
Resume the upgrade by putting back the Service resource with kubectl apply -f upgrade-repo-svc.yaml

The curl retry is not working in the pod so we're going to fall back to the traditional while loop to do the retry.

Verified fixed on v1.1.0. Close this issue.
Result

Can trigger th retry logic in 10 seconds interval while unable to download the requested repo file
+ [[ 9 -lt 100 ]]
+ curl -sSfL http://upgrade-repo-hvst-upgrade-l9stq.harvester-system/harvester-iso/rootfs.squashfs -o /host/usr/local/upgrade_tmp/tmp.P1W3fCiK7o
curl: (6) Could not resolve host: upgrade-repo-hvst-upgrade-l9stq.harvester-system
+ echo 'Failed to download the requested file from "http://upgrade-repo-hvst-upgrade-l9stq.harvester-system/harvester-iso/rootfs.squashfs" to "/host/usr/local/upgrade_tmp/tmp.P1W3fCiK7o" with error code: 6, retrying (9)...'
+ sleep 10
Failed to download the requested file from "http://upgrade-repo-hvst-upgrade-l9stq.harvester-system/harvester-iso/rootfs.squashfs" to "/host/usr/local/upgrade_tmp/tmp.P1W3fCiK7o" with error code: 6, retrying (9)...
+ i=10
+ [[ 10 -lt 100 ]]
+ curl -sSfL http://upgrade-repo-hvst-upgrade-l9stq.harvester-system/harvester-iso/rootfs.squashfs -o /host/usr/local/upgrade_tmp/tmp.P1W3fCiK7o
curl: (6) Could not resolve host: upgrade-repo-hvst-upgrade-l9stq.harvester-system
Failed to download the requested file from "http://upgrade-repo-hvst-upgrade-l9stq.harvester-system/harvester-iso/rootfs.squashfs" to "/host/usr/local/upgrade_tmp/tmp.P1W3fCiK7o" with error code: 6, retrying (10)...
+ echo 'Failed to download the requested file from "http://upgrade-repo-hvst-upgrade-l9stq.harvester-system/harvester-iso/rootfs.squashfs" to "/host/usr/local/upgrade_tmp/tmp.P1W3fCiK7o" with error code: 6, retrying (10)...'

Can resume the download after connection recovered
Failed to download the requested file from "http://upgrade-repo-hvst-upgrade-l9stq.harvester-system/harvester-iso/rootfs.squashfs" to "/host/usr/local/upgrade_tmp/tmp.P1W3fCiK7o" with error code: 6, retrying (18)...
+ i=19
+ [[ 19 -lt 100 ]]
+ curl -sSfL http://upgrade-repo-hvst-upgrade-l9stq.harvester-system/harvester-iso/rootfs.squashfs -o /host/usr/local/upgrade_tmp/tmp.P1W3fCiK7o
+ break
+ shutdown_all_vms
+ kubectl get vmi -A -o json
+ jq -r '.items[] | [.metadata.name, .metadata.namespace] | @tsv'
+ IFS='	'
+ read -r name namespace
+ '[' -z upgrade-repo-hvst-upgrade-l9stq ']'
+ echo 'Stop harvester-system/upgrade-repo-hvst-upgrade-l9stq'
+ virtctl stop upgrade-repo-hvst-upgrade-l9stq -n harvester-system
Stop harvester-system/upgrade-repo-hvst-upgrade-l9stq
VM upgrade-repo-hvst-upgrade-l9stq was scheduled to stop

And finish the upgrade process

Test Information

Test Environment: 4 nodes Harvester bare machines
Harvester version: master-0f590757-head

Verify Steps
Ref to https://github.com/harvester/harvester/issues/3079#issuecomment-1303007551


raspi cannot read sdm when rs485 is 1st serial

searching some time for that, if you rs485 is the 1st serial in your raspi the kernel / init starts a console on it.
after that no real comminication with sdm is possible.
i  had to remove the console serial stuff from /boot/cmdline.txt
Only for the docs

Does this affect only the real serial console (on GPIO) or 'console=tty1' in cmdline.txt too? My RS-485 adapter is /dev/ttyUSB0.

Does this affect only the real serial console (on GPIO) or 'console=tty1' in cmdline.txt too? My RS-485 adapter is /dev/ttyUSB0.

Do you have any problem with Zdev/ttyUSB0? Working for me.

No Problems so far i know. But thinking about the posibility this causes Problems getting all Values from the meter. Working with 24008N1 or 24008E1 all the same. L3=L2 and some doubled (calculated) so it can't be useful.


[SPARK-19567][CORE][SCHEDULER] Support some Schedulable variables immutability and access

What changes were proposed in this pull request?
Some Schedulable Entities(Pool and TaskSetManager) variables need refactoring for immutability and access modifiers levels as follows:

From var to val (if there is no requirement): This is important to support immutability as much as possible.

Sample => Pool: weight, minShare, priority, name and taskSetSchedulingAlgorithm.

Access modifiers: Specially, vars access needs to be restricted from other parts of codebase to prevent potential side effects.

TaskSetManager: tasksSuccessful, totalResultSize, calculatedTasks etc...

This PR is related with #15604 and has been created seperatedly to keep patch content as isolated and to help the reviewers.
How was this patch tested?
Added new UTs and existing UT coverage.

Can one of the admins verify this patch?

cc @kayousterhout @markhamstra @squito

@srowen These refactorings of unnecessary vars to vals is something that we've noted in the discussions of a few other PRs as something that could and probably should be done in a separate PR (i.e. this one).
@erenavsarogullari There is another such refactoring that can be rolled into this PR.  See the changes that I've made to rootPool in TaskSchedulerImpl, DAGSchedulerSuite and ExternalClusterManagerSuite here: https://github.com/markhamstra/spark/commit/e11fe2a9817559492daee03c8c025879dc44d346

Thanks @markhamstra and @srowen for the quick reviews.
I will address them asap by covering the additional patch suggested by Mark.

Hi All,
All comments are addressed and this is ready for re-review.
@markhamstra, if it is suitable, i plan to address removing SchedulingMode.NONE via separated PR. In the light of this, the following new added unit test cases(using NONE) can be removed from this PR:

PoolSuite: Pool should throw IllegalArgumentException when schedulingMode is not supported
TaskSchedulerImplSuite: TaskScheduler should throw IllegalArgumentException when schedulingMode is not supported

WDYT?

Hi @markhamstra,
Do you have chance to review this PR and my latest comment?
Thanks in advance ;)

ok to test

Thanks @markhamstra.
I think jenkins needs to be triggered.

If Jenkins is listening to me, that should have allowed you to trigger test for this PR.
test this please

Thanks @markhamstra.
I encounter the same problem in my every PR and tech-ops team helps to trigger Jenkins. Problem may be related with Github Jenkins PR Builder plugin.
Also it still looks not triggered.

Jenkins test this please

@erenavsarogullari the reason this was happening on past PRs is that Imran and I weren't on the Jenkins whitelist (which neither of us realized -- and has since been fixed).  I think Mark is on the whitelist so this is probably a transient issue... we'll see if my triggering works.

Test build #73232 has started for PR 16905 at commit 589ef36.

Test build #73232 has finished for PR 16905 at commit 589ef36.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/73232/
Test FAILed.

Merged build finished. Test FAILed.

@shaneknapp is @markhamstra on the Jenkins whitelist?  Wanted to double check since his attempt to trigger the build above didn't work

nope, he's not in the admin list.  i'll add him now.

Awesome thanks Shane!

Thanks, Shane & Kay!

Many thanks @kayousterhout and @markhamstra.
Also minor scala style issue is fixed with new patch.

Jenkins, retest this please.

Jenkins this is OK to test

Thanks @kayousterhout. However, it still looks not triggered.

retest this please

Test build #73299 has started for PR 16905 at commit a580a2f.

Test build #73299 has finished for PR 16905 at commit a580a2f.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/73299/
Test PASSed.

Hi @markhamstra, @kayousterhout and @squito
This PR is ready for final review and merge if there is no concern.
All feedbacks are welcome. Thanks in advance ;)

Thanks @kayousterhout and @squito for review this ;)
Last comment is also addressed via last commit: 18657d4.

Jenkins test this please

Test build #74620 has started for PR 16905 at commit 18657d4.

Thanks again @kayousterhout and @squito.
Merge conflict has been fixed and this PR is ready to build on jenkins and merge (if there is no concern).

Jenkins retest this please

Test build #74629 has started for PR 16905 at commit 479c01d.

Test build #74620 has finished for PR 16905 at commit 18657d4.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class FakeSchedulerBackend extends SchedulerBackend

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/74620/
Test FAILed.

Test build #74629 has finished for PR 16905 at commit 479c01d.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class FakeSchedulerBackend extends SchedulerBackend

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/74629/
Test FAILed.

reopened https://issues.apache.org/jira/browse/SPARK-7420 for the failure
Jenkins, retest this please

Thanks again @kayousterhout and @squito ;)
Jenkins needs to be retriggered.

Test build #3600 has started for PR 16905 at commit 479c01d.

@shaneknapp I had to trigger jenkins manually via spark-prs.  Every once in a while I encounter a pr for which tests are never triggered via comments.  Its pretty rare, so its not a big deal, but I thought I'd point you at this in case you want to take a look.

Test build #3600 has finished for PR 16905 at commit 479c01d.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class FakeSchedulerBackend extends SchedulerBackend

Test build #3601 has started for PR 16905 at commit 479c01d.

Test build #3601 has finished for PR 16905 at commit 479c01d.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class FakeSchedulerBackend extends SchedulerBackend

Hi @squito,
I think jenkins can be triggered again. Last unrelated build - UT issue looks fixed(https://issues.apache.org/jira/browse/SPARK-19988)
Thanks in advance ;)

Jenkins, this is ok to test

Jenkins test this please

Test build #75070 has started for PR 16905 at commit 479c01d.

Jenkins add to whitelist

Test build #75072 has started for PR 16905 at commit 479c01d.

Test build #75070 has finished for PR 16905 at commit 479c01d.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class FakeSchedulerBackend extends SchedulerBackend

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/75070/
Test PASSed.

Merged build finished. Test PASSed.

Test build #75072 has finished for PR 16905 at commit 479c01d.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class FakeSchedulerBackend extends SchedulerBackend

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/75072/
Test PASSed.

LGTM merged into master


[Business Approvals Kit - BUG] Webresource does not exist

Describe the issue
cat_businessapproval_designerinstructions  There is no web resource with this name,

Expected Behavior
Web resource must be present in the solution.
What solution version are you using?
Whichever is the latest
What app or flow are you having the issue with?
None
Steps To Reproduce
No response
Anything else?
No response
AB#1913

Closing as the issue was fixed with the Jan-24 release


Cannot back up database starting with underscore character

Bug report
System info:
Influxdb version (Remote): 1.0.0
Operating system name (Remote): Ubuntu, 14.04.4 LTS (AWS EC2 instance)
Influxdb version (Local): 1.3.0
Operating system name (Local): macOS
Steps to reproduce:
Start influxd on remote machine
Start influxd on local machine
Run backup service on local machine to backup remote database
influxd backup -database _TEST -host <host>:8088 /path/to/backup
Expected behavior:
Database should back up normally. All databases not starting with an underscore character back up without any issues.
Actual behavior:
Influxdb fails to back up databases starting with an underscore character.
Additional info:
Relevant logs:
2017/07/17 02:24:13 backing up db=_TEST since 0001-01-01 00:00:00 +0000 UTC
2017/07/17 02:24:13 backing up metastore to /path/to/backup
2017/07/17 02:24:14 backing up db=_TEST rp=autogen shard=294 to /path/to/backup since 0001-01-01 00:00:00 +0000 UTC
...
2017/07/17 02:24:14 Download shard 10 failed copy backup to file: err=<nil>, n=0.  Retrying (0)...
2017/07/17 02:24:15 Download shard 10 failed copy backup to file: err=<nil>, n=0.  Retrying (1)...
...
2017/07/17 02:24:25 backup failed: copy backup to file: err=<nil>, n=0
backup: copy backup to file: err=<nil>, n=0

related.
https://github.com/influxdata/influxdb/issues/7642

Hi @e-dard Is this still an issue worth to contribute? Thanks!


{opt.py}

Hi again,
I have a question regarding the parameter "phase_list" in opt.py!!!
Why do we have two identical sub variable: "run_info" inside the "phase_list" ?

Thank you

If you refer to the paper, we train the network in 2 stages: i) freeze the imagenet weights in encoder and train the decoders for 50 epochs, 2) unfreeze the entire network and train all layers. Each dict refers to the run_info for each of these stages.

Thank you very much
I got the idea
👍


varianttable.py: add feature ID and nucleotide modification code to ANN format field printed entries

Another little pull-request to enhance the ANN format field parsing:
varianttable.py: In the parsed ANN format field, add feature ID (e.g. transcript ID) and the nucleotide modified code to the displayed text in the igv-reports table. Especially the feature ID is more useful, if you can copy-paste it for further in-depth searches, which is not possible from the tooltip.

@jrobinso Just a quick bump-up, so that this doesn't get overlooked.

@dlaehnemann Sorry it had been overlooked.   Could you point me to documentation for this field?  Also, could you attach a small example file  (or add it to the test/data directory)?     Thanks.

@dlaehnemann Is the array order of the ANN field guaranteed, for example is feature_id always at position 6, etc?
 feature_id = ann[6]

Documentation is here, noting it for future reference as field order is hardcoded:  http://snpeff.sourceforge.net/VCFannotationformat_v1.0.pdf

@jrobinso, sorry for the slow response -- meant to answer, now. But that is exactly the documentation I based the changes on, should've included those in the original PR message.
The field order is hard-coded, e.g. snpeff generates the following VCF header line to describe it:
##INFO=<ID=ANN,Number=.,Type=String,Description="Functional annotations: 'Allele | Annotation | Annotation_Impact | Gene_Name | Gene_ID | Feature_Type | Feature_ID | Transcript_BioType | Rank | HGVS.c | HGVS.p | cDNA.pos / cDNA.length | CDS.pos / CDS.length | AA.pos / AA.length | Distance | ERRORS / WARNINGS / INFO'">

For jannovar it's:
##INFO=<ID=ANN,Number=1,Type=String,Description="Functional annotations:'Allele|Annotation|Annotation_Impact|Gene_Name|Gene_ID|Feature_Type|Feature_ID|Transcript_BioType|Rank|HGVS.c|HGVS.p|cDNA.pos / cDNA.length|
CDS.pos / CDS.length|AA.pos / AA.length|Distance|ERRORS / WARNINGS / INFO'">

(Should also be Number=., this should be consistent in future jannovar versions: https://github.com/charite/jannovar/pull/455)
So, in theory the parsing could also be done based on the header line, if the fixed order should ever change. But for now, the fixed indexing should be fine. I'll also add two minimal VCF files with the ANN annotations for snpeff and jannovar before this PR is ready to merge.

So, here come two minimal testable files for snpeff and jannovar, on which tests could be based. But I'm not sure where a test would go?

Thanks for the test files.  I'll write some minimal test that at least parses them and checks for errors.  I was initially concerned with all the hardcoded positions,  but that's how it's documented so that's how we have to parse it.

Sounds good to me, I'll delete the branch to keep the repo tidy.


enable inject related_obj into reconciler

Would you like to work on this feature?
yes
What problem are you trying to solve?
The reconciler callback function of the Controller does not currently support getting the related object.
Describe the solution you'd like
Defining a trait Reconciler and implement it for fn(Arc<K>, Arc<Ctx>), fn(Arc<K>, Arc<Ctx>, Option<Box<ObjectRef<DynamicObject>>>) and fn(Arc<K>, Arc<Ctx>, ReconcileRequest<K>)
Then the code can be like
async fn reconcile(
    generator: Arc<ConfigMapGenerator>,
    ctx: Arc<Data>,
    // without `related_obj` is also ok, this param will be injected by the applier
    related_obj: Option<Box<ObjectRef<DynamicObject>>>,
) -> Result<Action, Error> {
  todo!()
}

Controller::new(cmgs, ListParams::default())
    .owns(cms, ListParams::default())
    .reconcile_all_on(reload_rx.map(|_| ()))
    .shutdown_on_signal()
    .run_with_injection(reconcile, error_policy, Arc::new(Data { client }))
    .for_each(|res| async move {
        match res {
            Ok(o) => info!("reconciled {:?}", o),
            Err(e) => warn!("reconcile failed: {}", e),
        }
    })
    .await;

Describe alternatives you've considered
None
Documentation, Adoption, Migration Strategy
No response
Target crate for feature
kube-runtime

Hey. Thanks for starting a discussion on this. I do have some reservations about this as it stands;
First; Option<Box<ObjectRef<DynamicObject>>> does feel like a pretty awkward type to work with, but at least you've made it an opt-in thing to the reconciler future by creating a different run method.
Second; this does not actually help the user that much? They still have to fetch the object, and they have to dig this out of a pretty awkward new Api object made from ObjectRef<DynamicObject>.
Are we doing this to save on network traffic? If so, I am wondering if what we really want is to expose caches for the related objects instead?
Are we doing this to figure out "what work we need to do in the reconciler"? This is a type of error prone optimisation that kubernetes warns against doing in the first place. Make the reconciler idempotent and check everything.

Yeah, I'm with @clux on this one. We explicitly don't expose the reason for the reconciliation to the reconciler, since often there will be more than one reason batched together.
This would also not be reliably useful, since:

Most of the time, the same "root" object can have multiple related objects (maybe even multiple related object types!)
If there are multiple related objects then which object "caused" the reconciliation is going to vary between reconciliations, which is likely to cause unpredictable or even flapping/looping reconciliation behaviour
Many reasons don't have a related object at all (root object was updated, re-reconciliation timer expired, etc), even if the reconciler expects one to exist

What use-case are you trying to solve with this?

That makes sense. I misunderstood the reconciler.
Appreciate your patience in replying


Fix for clock-sync-test

First described in https://github.com/microsoft/mixed-reality-extension-sdk/issues/529
I didn't elaborate enough as to why it fails.
Playing the animation before the animation's object-spawned payload is returned means that animation.update is overwritten with undefined.
Simply have to await animData.bind()

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: norybiak sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Top attribute (train)

For top attribute, there seems to be labels with the value 0. Is this intentionally implemented or a mistake?

Thank you. You are right. It is our mistake.
@vana77  Could you check the annotation again?
For example, 'duke_attribute.train.top(166)' is zero.


Add type guard for optional types

This PR implements basic type guard (like the one in TypeScript) for optional types.
It narrows down the type of the variable being tested in the if statement as follows.
# x : optional(int)
if x is None:
    # x : NoneType
else:
    # x : int

# x : NoneType
if x is None:
    # x : NoneType
else:
    # x : a (fresh TyVar)

# x : int
if x is None:
    # x : NoneType
else:
    # x : int

/test

lgtm!


Display sample name for each track of variants

Backend part done

We found that the display for the filename of the vcf seems to be cut-off at the margins.
Please find attached is the screenshot with the display marked with red rectangular.

Thank you in advance. We look forward to hearing from you.
Kind regards,
Ricky Lim

Thanks @rlim19 ! This is actually a pileup.js issue. I have a PR here: https://github.com/hammerlab/pileup.js/pull/458
Once that is merged in a can integrate the changes here.

Fixed with https://github.com/hammerlab/pileup.js/pull/458


Syntax highlighting doesn't work with JSX

JSX syntax is basically JavaScript,
but apparently ".jsx" file is not associated with that syntax scheme.

I have the same question. Searched for an option to link the jsx-ending in the settings.json (like specifying the tabsize and stuff like that). Maybe the creator of micro can help or make it happen in the future.

If you only need plain JS highlighting for JSX, you can place this gist in ~/.config/micro/syntax/jsx.yaml and it'll work.
It lacks the syntax rules for the subset JSX adds on top of JS, tho... I haven't found the time and interest to add it to the gist. 🤷

Hey, three years later I'm having the same problem, only that link you shared @wh0am1-dev doesn't work anymore. Does anyone want to share their jsx.yaml, or share another link?

update: I just took the javascript sytax file from https://github.com/zyedidia/micro/blob/master/runtime/syntax/javascript.yaml and replaced
filetype: javascript

detect:
    filename: "(\\.js$|\\.es[5678]?$|\\.mjs$)"
    header: "^#!.*/(env +)?node( |$)"

with
filetype: jsx

detect:
    filename: "(\\.jsx$|\\.esx[5678]?$|\\.mjsx$)"

No idea if anyone's ever used the extension esx or mjsx, but figured it couldn't hurt. This actually works pretty well on the html sections of my jsx, just by chance.


Automated Package Upgrade

:tada: This PR is included in version 25.6.105 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


bug(dropdown) not accessible

you cannot tab to any part of the dropdown
it should be able to be opened with enter and closed with enter (from the original spot) or possibly with escape from within the dropdown
the dropdown should be built around a native select box for device compatability
it should get css to represent these states, however that is second to actually being able to attain these states

You can navigate with arrow keys within the dropdown to select items. With enter you can submit. With escape you can close the dropdown. The trigger is missing keyboard events. As far as the dropdown can be managed by keyboard I would not build it on top of native selects.


Added corpus reader for n-gram frequencies

Hi there, I've created a corpus reader for n-gram frequencies provided by the "An Crubadan" project.
As suggested by @stevenbird on https://github.com/nltk/nltk/issues/107 the reader can load individual language data (or all of them) and provide its corresponding n-gram distribution in a FreqDist. There are also multiple helper functions to map between Crubadan, ISO 639-3, and "human friendly" language names. Feedback appreciated.

Thanks @avitalp. It's great to have this corpus reader. I've merged this into the crubadan branch. I've also renamed the corpus file to crubadan.
I'm getting the following error. Would you please take a look at this, and also add some documentation to nltk/test/corpus.doctest, and submit a new PR to the crubadan branch?
>>> from nltk.corpus import crubadan
>>> crubadan.fileids()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/nltk-3.0.2-py3.4.egg/nltk/corpus/util.py", line 99, in __getattr__
    self.__load()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/nltk-3.0.2-py3.4.egg/nltk/corpus/util.py", line 67, in __load
    corpus = self.__reader_cls(root, *self.__args, **self.__kwargs)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/nltk-3.0.2-py3.4.egg/nltk/corpus/reader/crubadan.py", line 45, in __init__
    self._load_lang_mapping_data()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/nltk-3.0.2-py3.4.egg/nltk/corpus/reader/crubadan.py", line 156, in _load_lang_mapping_data
    mapper_file = self.root + '/' + self._LANG_MAPPER_FILE
TypeError: unsupported operand type(s) for +: 'ZipFilePathPointer' and 'str'

Thanks @stevenbird.
The error is due to "self.root" being a ZipFilePointer instead of FileSystemPathPointer, this is set by CorpusReader which the reader subclasses. This module assumes that the Crubadan data is installed (unzipped). Would you mind installing the data and retrying?
I've submitted a PR on crubadan.xml in the nltk_data repo to set the unzip to default on this corpus (https://github.com/avitalp/nltk_data/commit/befd49dc1a1f2f54060699a875a9ae1ba7f5ed08).
Meanwhile, I will add code to handle the not-installed case as well as some documentation and submit a PR.

Hi @stevenbird, I just submitted a PR addressing above: https://github.com/nltk/nltk/pull/884

This PR was inadvertently closed when I recreated the develop branch.

I've done some clean-up work on the corpus reader, and made sure it works with Python 3 (https://github.com/nltk/nltk/commit/9c5fd33dd25b5e192a97ddab32bac55defd2b001). However, I see the initializer loads all languages. In common with other corpus readers, we should only load required languages on demand.
So I propose that the initializer create an empty dictionary _all_lang_freq which is not private (i.e. not documented in crubadan.doctest), and just treated like a cache. When any method requires access to data for a particular language lang, a language-specific version of _load_lang_mapping_data is called to make sure it is loaded, then _all_lang_freq[lang] is accessed.

@stevenbird: clean-up looks good both in the code and docs, thank you :)
I'll re-code it with _all_lang_freq private, serving as a cache, populated as langs get added.
I would have to do it differently than you've described though:
The var  _load_lang_mapping_data must remain the same as it contains info about any potential language we may want to load on demand. It holds the contents of table.txt, a tiny txt file, so I don't see any performance benefit there.
Instead, I would modify lang_freq to check the cache, if not in there, I'd follow up with a call to _load_lang_ngrams and a cache update. Obviously I'd remove _load_all_ngrams from the initializer, that's the slowest part of the module.
Would it be reasonable to load English by default, so that the module is "ready-to-go" after instantiation?

I agree that it's fine to load the language mapping data at initialization. But no need to load a language file until it is needed, and no need to treat English specially.

Ok, great, I'll change it as described without special treatment to English and resubmit a PR.

@stevenbird I've submitted a PR with the changes discussed above.

Superseded by #924


blinks directory/.csv not present

Dear authors
We would like to use your dataset. In the top-level README, a blinks directory and corresponding .csv file(s) (presumably listing frames during which the user blinks) are mentioned - unfortunately, I cannot find these files in either the downloaded dataset or the repository. Could you make it available?
Thanks and best regards,
Georg Rutishauser

Looking into this, thank you for pointing it out.

Hi Georg,
I looked through with my collaborators and we couldn't find this file -- and it's not in the gitignore, so I'm not sure it ever existed.  In other words, I think the error was in the README, as we may have had plans to implement blink detection but never did.
To resolve, I removed the line about blinks in the README because it looks like we never implemented that feature. However, you can look at the paper to see how we do blink detection.  Basically, we fit an ellipse to the processed frame, and if it has sufficiently extreme eccentricity (ratio of major/minor axes), then we identify it as a blink.
Hope that helps!  Sorry for the README error.
Best,
Anastasios


Select disableUnderline

in Select component, property inputProps={{       disableUnderline: true }}
doesn't do anything, it doesn't disable input's underline, but I can disable it somehow, indicating clearly
input={<Input disableUnderline />}, I think its a bug, can you fix it?

@bife1 If seeing this fixed is important to you, please feel free to submit a PR.

@bife1 The Select component inherited the properties of the Input component. disabledUnderline is implemented by the Input component. So the answer to your problem is:
<Select disableUnderline />

https://codesandbox.io/s/84jkyqpvp0

@bife1 The Select component inherited the properties of the Input component. disabledUnderline is implemented by the Input component. So the answer to your problem is:
<Select disableUnderline />

https://codesandbox.io/s/84jkyqpvp0
Maybe you could add this to the doc, Select API page? I ran into the same issue, read the docs, tried inputProps which didn't work, then googled this solution.

vote +1 to add this to doc

Was looking for this for a while!! Please add this to the docs!

Agree with @itsmichaeldiego , should be added to docs

@oliviertassinari  Just saying, 2+ years later, I just had to search the interwebs until I found this closed issue because disableUnderline is not documented as a prop of <Select />. That would save some people some time and pain.


[BUG] AGC fixed after first convergence in libcamera-still

libcamera-stilll -t 0 --timelapse 1000 --raw 1 --wrap 100 --verbose 1 -o /mnt/ramdisk/%05d.jpeg
gain and shutter speed are calculated until convergence then appear to be fixed.  Capture image(s) saturates or becomes dark
with changing lighting conditions.

Are you running libcamera-still as installed in the original Bullseye image? If so it might just be that 1000ms isn't long enough to save everything and do all the camera mode switches, as it's trying to make that the shot-to-shot time. We could consider making that the time for which the preview runs, but then the shot-to-shot time would be longer. (Does it work if you lengthen that time to, say, 3 seconds?)

I have tried running this myself, using a v1 camera and --timelapse 1 to be sure I was avoiding any preview frames. I found that the AGC does seem to adapt as we would expect, only it changes quite slowly as it's now managing to run through its update loop about once per second (instead of 30 times per second). Do you think this is what you've been seeing?
Another possible fix would be to try and stick to the shot-to-shot interval as we do now, but always to force just a few preview frames (maybe half a dozen or so). Would that work?

Closing this now due to inactivity.  Please re-open if you need more assistance.


Applying diffrentiable communication to my custom env

Hi, I'd like to apply your implementation of learnable communication to my custom env env . I believe the first step is to create a wrapper similar to the pettingzoo example. What would be the next steps to integrate a communication channel between my agents?

Hi, it would really depend on what sort of communication you'd like to implement. But yes, you'd first need a custom wrapper for your environment. If you're looking for simple differentiable communication something similar to DIAL (Foerster 2016), the easiest way to implement it is by having a custom executor and trainer. With this, its probably best to keep your communication separate to the environment itself and handle it with the executor entirely (although you could implement it with the environment through extras)
Alternatively you can use our own DIAL based implementations (see example here). In this example we initialise our system as using recurrent MADQN with communication:
program = madqn.MADQN(
    ...
    trainer_fn=madqn.training.MADQNRecurrentCommTrainer,
    executor_fn=madqn.execution.MADQNRecurrentCommExecutor,
    ...
)

The current differentiable communication implementation uses a sort of shared differentiable recurrent state between each agent. We also apply a channel function before providing the message state as input to the agents in the next time-step (see communication module). Finally, a custom network architecture is also used (see here). This acts as a generic communicating agent allowing input and output of communication tensors.
Hope this helps.

Also here are the basic instructions on creating your own env wrapper.

Thank you. I'll go ahead with creating a wrapper and then use your DIAL based implementations.

Hi would you recommend I use the tests here to test the env wrapper before moving on ? Thank you!

Hi @kiranikram  :wave:
So running the wrapper tests like this pytest tests/wrappers/wrapper_test.py -s would be a good step forward, but you would need to add your env wrapper to the tests by adding it here (https://github.com/instadeepai/Mava/blob/ec3c173c905136ba92369b93a953f55604b343ec/tests/wrappers/wrapper_test.py#L51) and by updating functions in the conftest.py (e.g. https://github.com/instadeepai/Mava/blob/7350cca643772da8dc474d5183552e8b8fdd2bf2/tests/conftest.py#L88 ). This maps a config or parameterized test to your wrapper.
We have tried to make our wrapper tests general purpose, but some tests might be irrelevant for your environment. Here is an example on how to skip irrelevant tests:
if env_spec.env_source == EnvSource.OpenSpiel:
    pytest.skip("Open Spiel does not use the .last() method")

Once you have done this / and want to continue, you need to create a function that returns your environment like this https://github.com/instadeepai/Mava/blob/3159ed45bce4936c8298085cad1bdefbac50160f/mava/utils/environments/debugging_utils.py#L29 and then find/copy a relevant example and update the environment factory to call the func that returns your environment https://github.com/instadeepai/Mava/blob/3159ed45bce4936c8298085cad1bdefbac50160f/examples/debugging/simple_spread/feedforward/decentralised/run_mad4pg.py#L52
Please let me know if you have any other questions.


Different versions of config files cause errors

If the holodeck code is a different version than a downloaded world (ex new code has Pixel camera but the world has Rgb camera), then you cannot use that code even if you're not using that world. Just having that world downloaded means you can't use any downloaded worlds.

Fixed in #188


[Idea] Consider adding a "generic, componentized editor" to the whole glimmer suite (in addition to gladiator, or, perhaps extending gladiator's use cases to also include simple editor variants) [update: focus on Glimmer DSL for LibUI only]

So this suggestion is a tiny bit more "serious", but, as always the disclaimer
is to please feel free to ignore/close/modify in any way shape or form.
Before I describe it in more details, let me also preface that evidently your time is
limited and you have been doing tons of stuff lately in regards to glimmer - your
comparison to shoes (I think we can call why's original shoes more like as
a basic first step towards DSL-syntax), glimmer + video stuff (widget)
and glimmer + wxruby3. On gladiator you also point out that your goal is NOT
to write a mega-super-feature-rich editor with a billion features.
This suggestion here is a bit more on a per-app specific suggestion, a bit
like kojix2 libui-radio widget focusing on playing audio files, but I will focus
on ... an editor.
I'll explain that in a moment, but I would also like to point out that
you have that editor widget via SWT called "gladiator":
https://github.com/AndyObtiva/glimmer-cs-gladiator
You also provide a screenshot on windows, so I assume that it works very
well on windows - this already covers one "use case necessity" I have
with my suggestion here, which I will explain in a moment:
https://github.com/AndyObtiva/glimmer-cs-gladiator/raw/master/images/glimmer-gladiator-windows.png
I do not know how easy it is to customize your editor. The more customizable
the better, I think.
I believe that one small issue may be that users may need java and swt
on windows too, right? It is probably not a big deal, but I mention it
just in case, since this can provide a small obstacle to some folks
(even though you tend to provide excellent documentation, which I think
is always good, even if it may sometimes appear "too much" - personally
I ALWAYS prefer projects that rather have too much documentation than
projects that lack documentation. In my experience the latter tend to
be abandoned more easily too, but I digress, so back onto the topic.)
For instance, in the past I did not even know how to install java - it took me
a while how to figure that out, and lateron I was using just Graalvm's
java variant, which works fine on windows too.
I was not doing much libui-related stuff in the last 6 or 8 weeks or so, but
lately my interest has increased again, in part due to the video-widget thing
you showed.
I still want some kind of mega-IDE or platform via libui-ng+ruby
on windows - like all apps would have something that can relate
to libui too! And we could use these on windows without necessarily
needing windows. (Or on all platforms, actually - the glimmer desktop!) :D
Anyway.
Yesterday I looked at kojix2' libui bindings again, and in the examples
I noticed the simple editor:
https://github.com/kojix2/LibUI/blob/main/examples/simple_notepad.rb
Well, it does not really have any features, but actually I think this
is also not bad, IF we can think of this as a "componentized editor".
With that I kind of mean to allow the user to declare/define how
feature-rich an editor is.
Now let's for a moment assume it were possible to have an editor
like gladiator via libui-ng one day, just for the sake of
the idea here.
People could kind of declare how feature-rich that editor would
be.
In pseudo-syntax from glimmer commandline, say this:
glimmer --simple-editor
glimmer --medium-editor
glimmer --gladiator # as means to just start the gladiator editor,
                    # through bin/glimmer or whatever the name of
                    # the executable would be; as an example how to
                    # start any glimmer-app actually, so if we'd
                    # have a "glimmestore" like an "appstore",
                    # we could still use the glimmer executable
                    # to start any of these, and integrate the
                    # installed stuff into the --help display for
                    # bin/glimmer as well as include that
                    # functionality, like "glimmer --tetris" and
                    # so forth. I hope you understand my idea,
                    # where we can start any glimmer-app from the
                     # commandline too,
                    # but this is the smaller idea, so let's
                    # continue with the main editor

The basic idea here is to be able to offer a "componentized editor"
as much as possible via glimmer, in as many different GUIs as
possible, including the www stack. Again, this is just an idea -
please don't assume it is my attempt to say "I'm gonna use Andy's
spare time because I myself am too lazy to do it". :)
So, what could be a slightly more feature-rich editor?
Three small examples:

Offer a save-buffer functionality (per tab)
Offer tabs on the editor to allow user to modify multiple files
Offer a second widget keeping track of the line numbers

And so on and so forth, increasing the feature set, until it
eventually reaches the complex feature set that gladiator allows.
So the idea here is that the user could ideally have as many
or as few components possible, while still having an editor.
Like a really adjustable editor.
The primary focus here I'd see is on windows. On Linux I tend
to use an ancient editor, but on windows I sometimes just
need notepad, and notepad is mega-simple really. I think
libui-ng could be used as a notepad replacement too, but
even as a more extended editor. (Obviously you already
cover that use case via gladiator on windows, but I am
thinking more in terms of libui-ng or any other feature
set here, including the www stack, perhaps via opal too.
Having it work on the browser would be kind of cool too, like
we could have an editor that we could use in the browser. In
practice this may be a bit difficult since browsers tend to be
in a sandbox environment, but, if it were possible to save
files via a browser easily that would be great. Perhaps node/npm
allows for that already; I know too little about that to be able to
tell. I am more thinking about this in terms of "as many platforms
and areas as possible")
So why do I think that an editor would be important and useful?
Why should it go and become part of a "glimmer apps spec"?
You already offer several applications, including games -
like snake game, tetris game and so forth. So you kind
of have an "appstore" already, if we look at these as
apps - the "glimmerstore". :D (I can already envision a
logo for that ... anything that sparkles with glimmer
and like a candybox hehehe... or like a loot box or
a treasure box or something. Anyway.)
I believe that an editor could be useful to have for the
glimmer suite in the long run. And, starting with a
SIMPLE one, like a "clone" of notepad.exe to keep it
simple too. But, if a user wants more features, to also
offer that.
Now writing a complicated, feature-rich editor can be
a lot of work - we see that via vim and emacs. I am
not proposing that this goes over-board really, so
my idea is also to CONFINE it to specific "components"
that are used in many different editors.
Technically this can all use the same code base - well,
glimmer kind of does that, yes? We can shuffle and
exchange code and it may work for many things, like,
again a contrived example:
glimmer --gtk --editor
glimmer --wxruby --editor
glimmer --tk --editor
glimmer --libui --editor
glimmer --libui-ng --editor

Or, say, with an existing code base like tetris:
glimmer --gtk --tetris
glimmer --wxruby --tetris
glimmer --tk --tetris
glimmer --libui --tetris
glimmer --libui-ng --tetris

I hope you can kind of see a bit what I mean here.
Having an editor available then means that people
could write code in ruby, even on windows (again,
it's already possible via gladiator I assume, but
I am thinking like of a SIMPLE editor with a FEW
features, say, 5 ones at max to keep it simple,
and then have THAT editor work on as many different
ways as possible).
If we abstract away things then we could also say
that glimmer could be a general specification
irrespective of the language. So right now glimmer
focuses on ruby and java I assume, but in theory
we could say all languages could use it and adjust
to the DSL (and the DSL then eventually being a
specification; I see that you are improving it as
you go anyway, e. g. your recent entry in the
todo file handling events via "on_event_NAME"
or something like that). And then eventually call it,
one day, the glimmer DSL or glimmer specification
(and perhaps version it, to allow users to refer to
it for stable applications).
Anyway. I'll finish that idea here. I hope it makes some
sense. I kind of envision a mega-meta-glimmer one day,
like where different people may use different languages
but even just describe what they want, without necessarily
needing to be ABLE to write code, and still have useful
features. Of course we could say that EVERY application
may be useful, and I do not disagree, but I think an
editor may be a little more important from a usability
point of view than a game (even though, of course, we
can argue that more people may enjoy playing a game
than using an editor, so I don't disagree with that;
I just consider an editor to be rather important because
I tend to write a lot of code, and I assume you in general
also tend to write a lot considering the wealth of documentation
and code. So I assume an editor is also important for your
own use case.)

BTW, there are another editor being development/maintained actively which use Crystal.
https://github.com/hugopl/tijolo
It can be built into a static binary, and much better performance.

Thanks for sharing. The Crystal version has awful XML code though. The point of this editor was just an experiment demonstrating a Ruby DSL for building GUI that is a lot more readable than XML.
That said, I’ll keep the Crystal edition in mind.