Recall app overrides status code from controllers

Environment

Ruby 3.1.3
Rails <IP_ADDRESS>
Devise 4.9.0

Current behavior
Version 4.8.1 FailureApp#recall relied on response statuses from controllers. Version 4.9.0 overrides response status with Devise.responder.error_status. This leads to redirects with 200 code when controller's action responds with redirect after authenticate call fails.
Sudo code:
def new
  # Fallback action when `authenticate` from `create` fails
  redirect_to 'some url'  # this should redirect with normal 302 status, instead of being rewritten to 200
end

def create
  self.resource = authenticate(:our_custom_strategy)
  sign_in_resource
end

Expected behavior
Devise::FailureApp#recall should not override response's statuses as recall_app executes normal controller's action so response statues should be changed in controllers to make them Turbo compatible.

It seems extremely uncommon (to my knowledge, at least) to have the new action redirect there... that's generally used to present a form to sign in, which is why the recall logic calls it again... it's essentially doing a render :new call in that context. Doesn't your app have a view being displayed in the new action?
The controller was never meant to handle the response status of authentication failures. Ideally to redirect after authentication failures, you'd have to create a custom failure app and override recall to simply redirect. In other words, a method like this in a custom failure app:
  def recall
    redirect
  end

or alternatively/more broadly
  def respond
    redirect
  end

This would ensure recall does a redirect... you do lose some things like the flash message set by Devise though, but you could potentially add that yourself too.

Version 4.8.1 FailureApp#recall relied on response statuses from controllers.

This was a bit of an unintended side-effect of how it was implemented, but not necessarily meant to be like that, since the failure app should be the one in control of handling the authentication failure.

response statues should be changed in controllers to make them Turbo compatible.

You shouldn't have to change the response status in the controller new action for a failure to submit the session/login form... for example, in a "normal" Rails create action, you'd have a simple if..else controlling the responses, e.g.:
if something_successful
  redirect_to some_path
else
  render :new, status: :unprocessable_entity
end

This is essentially what Devise is trying to reproduce, but via Warden and a failure app there. So the status is controlled via the failure app. Redirecting in the else block does work for Turbo as well, but you might lose some context in the process.

redirect_to 'some url'  # this should redirect with normal 302 status, instead of being rewritten to 200

It's also not required to redirect to make this work with Turbo, you can respond with a 422 to have Turbo re-render the HTML that's being sent back... this is what Devise + responders are doing, if you are setting up the statuses as outlined in the changelog. Please note that the status is a change not only for authenticating, but a few other actions too that need to respond similarly for Turbo.
I would be willing to consider not overriding the response status if we get back a redirect on recall, but it does seem like a very unexpected / unique use case. Would using the more standard config responding with 422 instead of redirecting work for you?

@carlosantoniodasilva thank you for detailed reply.
Actually I re-thought my design and I was able to find a workaround. I decided to use Devise.responder.error_status to set redirect status (:found) globally and in a single controller that need to behave differently, I defined custom responder. It's simpler than overriding FailureApp.

@lcmen okay. Just keep in mind that this will be the response for places like a failed reset password or confirmation form submission as well, but may not contain a redirect location, not sure if it could have other unintended side-effects for your use case. Thanks!

@carlosantoniodasilva yes, I'm aware of that.
Since we have multi-steps login form in our app, redirects suit us better. For a password reset, I already have custom controller (for small customization) so I just defined different responder.

@carlosantoniodasilva thanks once again for your help! I really appreciate it!

Hey @lcmen , just a heads up that in the end I'm making a change to respect redirect statuses (based on the configured option too) here: https://github.com/heartcombo/devise/pull/5573. There was another completely different use case but that also relied on the redirect status being set from the recall flow, so I thought this change would make sense and be less of a "breaking" one.

Hey @carlosantoniodasilva , thank you for getting back to me with the update! It's good too see this change being implemented, it will definitely help me with my usecase (I had to make a few more changes than I initially thought).


[WFCORE-6728] Utility to reload servers started by testsuite to a desired stability level

https://issues.redhat.com/browse/WFCORE-6728
Proposal: https://github.com/wildfly/wildfly-proposals/pull/557

@kabir I changed this to a Feature Request.
Re "I'm opening this as a draft for now. If it looks good, I'll add something similar for domain mode." -- This comment might be out of date, but if not I suggest not, not for this iteration. The key use case is testing, and for that use case domain mode is a minor consideration. Better IMHO to just do the standalone bit and come back later for more.  As long as you can write an analysis with a clear use case and a solution that logically can be carried forward to other use cases without incompatible change, that's a good target. The more you go beyond that the more time will be needed from others and the longer it will take to get in.

Core -> Full Integration Build 13615 outcome was UNKNOWN using a merge of b1438fc6a28a2ee49ba1e63c5367a995a88d24b8
Summary: Canceled (Error while applying patch; cannot find commit 365c4190665eb7fe8d414e09a79cb29830a7af9d in the https://github.com/wildfly/wildfly-core.git repository, possible reason: refs/pull/5895/merge branch was updated and the commit selected for the ... Build time: 00:00:38

Core -> Full Integration Build 13368 outcome was UNKNOWN using a merge of b1438fc6a28a2ee49ba1e63c5367a995a88d24b8
Summary: Canceled (Error while applying patch; cannot find commit 365c4190665eb7fe8d414e09a79cb29830a7af9d in the https://github.com/wildfly/wildfly-core.git repository, possible reason: refs/pull/5895/merge branch was updated and the commit selected for the ... Build time: 00:00:18

Core -> Full Integration Build 13370 outcome was FAILURE using a merge of b1438fc6a28a2ee49ba1e63c5367a995a88d24b8
Summary: Exit code 1 (Step: Build core (Maven)) (new) Build time: 00:02:00

Core -> WildFly Preview Integration Build 13427 outcome was FAILURE using a merge of b1438fc6a28a2ee49ba1e63c5367a995a88d24b8
Summary: Exit code 1 (Step: Build core (Maven)) (new) Build time: 00:01:40

Core -> Full Integration Build 13616 outcome was FAILURE using a merge of b1438fc6a28a2ee49ba1e63c5367a995a88d24b8
Summary: Exit code 1 (Step: Build core (Maven)) (new) Build time: 00:02:08

Core -> Full Integration Build 13617 outcome was FAILURE using a merge of ed3dc9d78ff6b39c7cf59814d00221db683d0148
Summary: Exit code 1 (Step: Build core (Maven)) Build time: 00:01:52

Core -> Full Integration Build 13375 outcome was UNKNOWN using a merge of fb9a583212539502154ea08a3afa42898cc169a6
Summary: Canceled (Error while applying patch; cannot find commit 830a058f649b11b9f4ccdb54d47253e0d6b45cbd in the https://github.com/wildfly/wildfly-core.git repository, possible reason: refs/pull/5895/merge branch was updated and the commit selected for the ... Build time: 00:00:33

Core -> WildFly Preview Integration Build 13432 outcome was UNKNOWN using a merge of fb9a583212539502154ea08a3afa42898cc169a6
Summary: Canceled (Error while applying patch; cannot find commit 830a058f649b11b9f4ccdb54d47253e0d6b45cbd in the https://github.com/wildfly/wildfly-core.git repository, possible reason: refs/pull/5895/merge branch was updated and the commit selected for the ... Build time: 00:00:17

Core -> WildFly Preview Integration Build 13434 outcome was UNKNOWN using a merge of fb9a583212539502154ea08a3afa42898cc169a6
Summary: Canceled (Error while applying patch; cannot find commit db969e10147b11f08c2a78f4da69ae53b5e29417 in the https://github.com/wildfly/wildfly-core.git repository, possible reason: refs/pull/5895/merge branch was updated and the commit selected for the ... Build time: 00:00:08

Core -> Full Integration Build 13619 outcome was FAILURE using a merge of 7817dd62c590097780f79cf8ee5b490e6ad6ae45
Summary: Tests failed: 1 (1 new), passed: 7593, ignored: 132 Build time: 05:32:40
Failed tests
org.wildfly.extension.opentelemetry.SubsystemTransformersTestCase.testTransformerEAPXP4: java.lang.RuntimeException: org.eclipse.aether.resolution.ArtifactResolutionException: Could not transfer artifact org.jboss.eap:wildfly-opentelemetry:jar:4.0.0.GA-redhat-00018 from/to repo0 (http://nexus.wildfly.int/nexus/repository/public/): Connect to nexus.wildfly.int:80 timed out
	at org.jboss.as.model.test.MavenUtil.createMavenGavURL(MavenUtil.java:125)
	at org.jboss.as.model.test.ChildFirstClassLoaderBuilder.addMavenResourceURL(ChildFirstClassLoaderBuilder.java:181)
	at org.jboss.as.subsystem.test.SubsystemTestDelegate$LegacyKernelServiceInitializerImpl.addMavenResourceURL(SubsystemTestDelegate.java:691)
	at org.wildfly.extension.opentelemetry.SubsystemTransformersTestCase.buildKernelServices(SubsystemTransformersTestCase.java:51)
	at org.wildfly.extension.opentelemetry.SubsystemTransformersTestCase.testTransformation(SubsystemTransformersTestCase.java:41)
	at org.wildfly.extension.opentelemetry.SubsystemTransformersTestCase.testTransformerEAPXP4(SubsystemTransformersTestCase.java:33)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: Could not transfer artifact org.jboss.eap:wildfly-opentelemetry:jar:4.0.0.GA-redhat-00018 from/to repo0 (http://nexus.wildfly.int/nexus/repository/public/): Connect to nexus.wildfly.int:80 timed out
	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:422)
	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:224)
	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:201)
	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:260)
	at org.jboss.as.model.test.MavenUtil.createMavenGavURL(MavenUtil.java:123)
	... 35 more
Caused by: org.eclipse.aether.transfer.ArtifactTransferException: Could not transfer artifact org.jboss.eap:wildfly-opentelemetry:jar:4.0.0.GA-redhat-00018 from/to repo0 (http://nexus.wildfly.int/nexus/repository/public/): Connect to nexus.wildfly.int:80 timed out
	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:52)
	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:365)
	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:75)
	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:583)
	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:259)
	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:498)
	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:399)
	... 39 more
Caused by: org.apache.http.conn.ConnectTimeoutException: Connect to nexus.wildfly.int:80 timed out
	at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:123)
	at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180)
	at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:326)
	at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:605)
	at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:440)
	at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835)
	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72)
	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)
	at org.apache.http.impl.client.DecompressingHttpClient.execute(DecompressingHttpClient.java:164)
	at org.eclipse.aether.transport.http.HttpTransporter.execute(HttpTransporter.java:296)
	at org.eclipse.aether.transport.http.HttpTransporter.implGet(HttpTransporter.java:252)
	at org.eclipse.aether.spi.connector.transport.AbstractTransporter.get(AbstractTransporter.java:67)
	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.runTask(BasicRepositoryConnector.java:453)
	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:360)
	... 44 more

Core -> Full Integration Build 13626 outcome was FAILURE using a merge of 7817dd62c590097780f79cf8ee5b490e6ad6ae45
Summary: Tests failed: 1 (1 new), passed: 7754, ignored: 118 Build time: 06:09:42
Failed tests
org.jboss.as.clustering.jgroups.subsystem.JGroupsTransformersTestCase.testRejectionsEAP740: java.lang.RuntimeException: org.eclipse.aether.resolution.ArtifactResolutionException: Could not transfer artifact org.jboss.eap:wildfly-clustering-jgroups-extension:jar:7.4.0.GA-redhat-00005 from/to repo0 (http://nexus.wildfly.int/nexus/repository/public/): Connect to nexus.wildfly.int:80 timed out
	at org.jboss.as.model.test.MavenUtil.createMavenGavURL(MavenUtil.java:125)
	at org.jboss.as.model.test.ChildFirstClassLoaderBuilder.addMavenResourceURL(ChildFirstClassLoaderBuilder.java:181)
	at org.jboss.as.subsystem.test.SubsystemTestDelegate$LegacyKernelServiceInitializerImpl.addMavenResourceURL(SubsystemTestDelegate.java:691)
	at org.jboss.as.clustering.jgroups.subsystem.JGroupsTransformersTestCase.testRejections(JGroupsTransformersTestCase.java:120)
	at org.jboss.as.clustering.jgroups.subsystem.JGroupsTransformersTestCase.testRejectionsEAP740(JGroupsTransformersTestCase.java:107)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: Could not transfer artifact org.jboss.eap:wildfly-clustering-jgroups-extension:jar:7.4.0.GA-redhat-00005 from/to repo0 (http://nexus.wildfly.int/nexus/repository/public/): Connect to nexus.wildfly.int:80 timed out
	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:422)
	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:224)
	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:201)
	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:260)
	at org.jboss.as.model.test.MavenUtil.createMavenGavURL(MavenUtil.java:123)
	... 34 more
Caused by: org.eclipse.aether.transfer.ArtifactTransferException: Could not transfer artifact org.jboss.eap:wildfly-clustering-jgroups-extension:jar:7.4.0.GA-redhat-00005 from/to repo0 (http://nexus.wildfly.int/nexus/repository/public/): Connect to nexus.wildfly.int:80 timed out
	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:52)
	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:365)
	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:75)
	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:583)
	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:259)
	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:498)
	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:399)
	... 38 more
Caused by: org.apache.http.conn.ConnectTimeoutException: Connect to nexus.wildfly.int:80 timed out
	at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:123)
	at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180)
	at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:326)
	at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:605)
	at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:440)
	at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835)
	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72)
	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)
	at org.apache.http.impl.client.DecompressingHttpClient.execute(DecompressingHttpClient.java:164)
	at org.eclipse.aether.transport.http.HttpTransporter.execute(HttpTransporter.java:296)
	at org.eclipse.aether.transport.http.HttpTransporter.implGet(HttpTransporter.java:252)
	at org.eclipse.aether.spi.connector.transport.AbstractTransporter.get(AbstractTransporter.java:67)
	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.runTask(BasicRepositoryConnector.java:453)
	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:360)
	... 43 more

Core -> Full Integration Build 13630 outcome was UNKNOWN using a merge of 7817dd62c590097780f79cf8ee5b490e6ad6ae45
Summary: Canceled (Error while applying patch; cannot find commit 471a24dbb92ee502e4c47010f7120ecf9fe7ed50 in the https://github.com/wildfly/wildfly-core.git repository, possible reason: refs/pull/5895/merge branch was updated and the commit selected for the ... Build time: 00:00:29

@bstansberry The full failures seem environmental and not related but I have started a new run anyway to try to get a clean run

Just a general comment about the ServerReload stuff. We've got the https://github.com/wildfly/wildfly-plugin-tools project which has some reload helper methods. Would it make sense to move the ServerReload stuff there so it can be shared across the various projects?

Thanks @kabir, @yersan, @jamezp and @pferraro


Adds Snapchat support to DB

This adds a Snapchat icon to the Networks DB.

Ping @jaketrent  😃

@iMerica thanks for the ping.  Published in v2.7.0. :)


add nc plot module in daccess

merge to prepare the update of master brach

branch updated with the latest version available of mtplot module from bluecloud-seastat repository


Update Readme for Kali/Ubuntu Instructions

Updated readme instructions to create a virtual environment as projects uses python2

RsaCtfTool is now fully python3 compatible. no more python2.7 :)

This piece of the readme should indeed be updated.
I usually do python3 -m venv venv to create a new virtualenv in the venv subdirectory. Then the user doesn't have to apt install the virtualenv package.
The source keyword is bash specific, where . works in most shells. So I would prefer . bin/activate to source bin/activate.
I guess calling RsaCtfTool.py could just be done with ./RsaCtfTool.py.


chore: Fix the code snippets for multi account deployments

Feature or Bugfix

Documentation

Detail

Fix the code snippets for multi account deployments

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

AWS CodeBuild CI Report

CodeBuild project: DDKIntegrationTestsD8472609-5SCHWjldmWcf
Commit ID: 4aead06db0d256d6a35ed311fbc2bec0411b1212
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository


Issue with consolidateCitations and BibTeX (author: "and null")

I encountered an issue when parsing citations with consolidateCitations enabled (v 0.7.0). The author field contains several "and null" parts. This is BibTeX specific, it is not the case when retrieving TEI instead. The issue occurs in processReferences and processCitation (I did not test it for other services). It can be reproduced with the following code:
curl -X POST -H "Accept: application/x-bibtex" -d "consolidateCitations=1&citations=Abbasi, A., Zhou, Y., Deng, S., and Zhang, P. 2018. “Text Analytics to Support Sense-Making in Social Media: A Language-Action Perspective,” MIS Quarterly (42:2), pp. 427-464." localhost:8070/api/processCitation

Output:
@article{-1,
  author = {Abbas, Ahmed and null and Zhou, Yilu and Deng, Shasha and Zhang, Pengzhu and null and null and null},
  title = {Text Analytics to Support Sense-Making in Social Media: A Language-Action Perspective},
  journal = {MIS Quarterly},
  publisher = {MIS Quarterly},
  year = {2018},
  pages = {427-464},
  volume = {42},
  number = {2},
  doi = {10.25300/misq/2018/13239}
}

Hello @geritwagner !
Thank you for the issue.
I am testing with current master version,  as the null are not visible:
lopez@smallbook:~/tmp$ curl -X POST -H "Accept: application/x-bibtex" -d "consolidateCitations=1&citations=Abbasi, A., Zhou, Y., Deng, S., and Zhang, P. 2018. “Text Analytics to Support Sense-Making in Social Media: A Language-Action Perspective,” MIS Quarterly (42:2), pp. 427-464." localhost:8070/api/processCitation
@article{-1,
  author = {Abbas, Ahmed and Zhou, Yilu and Deng, Shasha and Zhang, Pengzhu},
  title = {Text Analytics to Support Sense-Making in Social Media: A Language-Action Perspective},
  journal = {MIS Quarterly},
  publisher = {MIS Quarterly},
  date = {2018-02-02},
  year = {2018},
  month = {2},
  day = {2},
  pages = {427-464},
  volume = {42},
  number = {2},
  doi = {10.25300/misq/2018/13239}
}

Hello @kermitt2,
thank you for looking into this, and sorry for not testing the latest master version. I am using Docker and would wait for the next version then. The issue can be closed.

@geritwagner actually, FYI there is a temporary docker version 0.7.1-SNAPSHOT which is 2 weeks old.


Fix/service monitor sync problem

Rendered manifests for certain ServiceMonitor objects look like this:
spec:
  endpoints:
    - interval: 30s
      metricRelabelings:
        - replacement: https://my-url
          sourceLabels:
            - instance
          targetLabel: instance
        - replacement: http
          sourceLabels:
            - target
          targetLabel: target

The prometheus operator adds certain fields, which causes a sync error:
spec:
  endpoints:
  - interval: 30s
    metricRelabelings:
    - action: replace        # <-- here
      replacement: https://my-url
      sourceLabels:
      - instance
      targetLabel: instance
    - action: replace        # <-- here
      replacement: http
      sourceLabels:
      - target
      targetLabel: target

Checklist

[ ] PR contains a single logical change (to build a better changelog).
[ ] Update the documentation.
[x] Categorize the PR by setting a good title and adding one of the labels:
bug, enhancement, documentation, change, breaking, dependency
as they show up in the changelog.
[ ] Link this PR to related issues or PRs.

In general, I'd prefer fixing the actual manifests over ignoring changes in the resulting objects on the cluster, but short-term this is probably good enough.

This is mainly a helm chart. Or do you mean postprocessing the generated templates?

I would probably have implemented a post-processing filter to fix the ServiceMonitor manifest


os: MkdirAll fails when creating top-level UNC paths on Windows

Go 1.4, Windows
When the top-level folder of a Windows UNC path does not exist, the os.MkdirAll function goes one step too deep in recursion. This is illustrated in the following scenario:

Make sure C:\Test does not exist
Try to create a new folder with arbitrary depth os.MkdirAll("\\\\?\\C:\\Test", 0700) using UNC (we use UNC to support long paths).
This fails with The filename, directory name, or volume label syntax is incorrect. This is due to a bug in the Go library. The callstack reveals that it tries to create the folder \\?, which should not happen.

(Related to https://github.com/syncthing/syncthing/issues/1822)

See also #3358.
If you want to use UNC paths to workaround path length constrains,
you'd better to implement your own MkdirAll.

I figured this issue is different because we use explicitly use the UNC paths (where https://github.com/golang/go/issues/3358 tries to automatically support long paths for all functions).
We'll implement a custom MkdirAll if this seems out of scope for the moment, thanks.

@minux @ianlancetaylor I think it's a predecessor of #22230 and can be safely closed.

@DmitriyMV, thanks, closing. Fixed by https://github.com/golang/go/commit/7a1347a1a1f6e99627a8e9bf098351c13162e5d6


MM should concat the property names together when it is doing flatten_object

For instance, we have a definition:
      - !ruby/object:Api::Type::NestedObject
        name: 'virtualMachineScaleSet'
        description: 'Specifies information about the virtual machine scale set that the virtual machine should be assigned to. Virtual machines specified in the same virtual machine scale set are allocated to different nodes to maximize availability. Currently, a VM can only be added to virtual machine scale set at creation time. An existing VM cannot be added to a virtual machine scale set.

This property cannot exist along with a non-null properties.availabilitySet reference.

Minimum api‐version: 2019‐03‐01'
        required: false
        azure_sdk_references: ['/virtualMachineScaleSet', '/properties/virtualMachineScaleSet']
        properties:
          - !ruby/object:Api::Type::String
            name: 'id'
            description: 'Resource Id'
            required: false
            azure_sdk_references: ['/virtualMachineScaleSet/id', '/properties/virtualMachineScaleSet/id']

I can conveniently flatten this object by writing a terraform.yaml:
      virtualMachineScaleSet: !ruby/object:Provider::Azure::Terraform::PropertyOverride
        flatten_object: true

But by doing this, the schema name will only contain id, the name of virtualMachineScaleSet is lost. This behaviour will easily cause conflict of the same keys in schema.

Actually, this could be done by adding another entry in terraform.yaml:
      virtualMachineScaleSet.id: !ruby/object:Provider::Azure::Terraform::PropertyOverride
        name: 'virtualMachineScaleSetId'


Decimals in Color Scale

I have re-worded my comment.
Since the color threshold scale is based on percentages, is it possible to have decimals (i.e.: 0.5%)?
If not, would there be an option to add thresholds based on bits/sec?

Added for release with v0.3.0.


Project structure

Currently, the project structure is not ideal, for instance, we have all the Python files in the server directory and the logic for the Client and the ConnectionManager in main.py.
A more complex project structure may not be required, but that would be a good improvement.
Any changes can be discussed below.

Are you thinking about separating the client from main.py?

Are you thinking about separating the client from main.py?

Yes, the ConnectionManager as well. I've done just that in #46 .

Perhaps rename the connection_manager file to just manager as it manages more than just the connection.


Refactoring contrasts

This follows discussions in #350 and #416.
Contrasts structure is used for

FirstLevelModel.compute_contrast() function
SecondLevelModel specification
reporting (1st and 2nd level model)

As discussed with @jeromedockes contrast specification spans three dimensions: contrast x session x column. The question is how to encode this structure
I think that the only good structure is that of a dictionary, where contrasts are indexed by a key,
and get values for different sessions: these values are either numerical vectors (e.g. [-1 0 1 0 ... 0]) or strings ('shape - face') that can be interpreted by our model.
If there are multiple runs, but only one value for a given contrast, this means that the value holds for all runs. If there are multiple values specified for a given contrast, these should match the number of runs considered in the GLM.
Now practically, this entails some APi change, that may better take place in nilearn.stats than in nistats.
Any opinion on this ?

I think API you suggest and the plan of making the breaking change in
nilearn.stats are good ideas. Some example valid contrasts would then be
{"shape - face": "shape - face"}

# same columns in all design matrices
{"shape - face": [-1, 1, 0], "face": [1, 0, 0]}

# specify contrast for each run
{
    "left hand": [[1, 0, 0], [0, 1, 0, 0]],
    "right hand": [[0, 1, 0], [0, 0, 1, 0]]
}


Apt-key error in Ubuntu 14.04

In Ubuntu 14.04 we get this error every Puppet run:
Warning: /Apt_key[Add key: 79EA5ED4 from Apt::Source zabbix]: The id should be a full fingerprint (40 characters), see README.
The fingerprint should be:
Key fingerprint = FBAB D5FB 2025 5ECA B22E  E194 D13D 58E4 79EA 5ED4

Hi HielkeJ,
Thank you for making time to create this issue!
Will take a look at it.
Kind regards,
Werner

Hi,
The user @exptom just created an Pull request for this issue and I just accepted this request.
So issue should be solved now.
Kind regards,
Werner


Head > Adding preload

It's going to add a preload of our 2 main scripts, JS and CSS. This below is an explanation about how it's improve the load time.
https://web.dev/preload-critical-assets/

Thanks @rafaelstz, sorry about the super long delay!


High-level methods need to be able to set feature map hyperparameters (e.g. num_qubits, num_layers)

Problem could e.g. arise in ProjectedKernel which already create a circuit when initialized (which can happen before it is fed into a high-level ML method)

Same for projected kernel length-scale parameter?

Implemented in #90 #99 and #107


Unsupported TGA file

I'm having problems with one .tga file (attached), texconv.exe fails to read it. It opens normally with paint.net and I'm not sure what the problem is.
F:\DirectXTex-master\Texconv\Bin\Desktop_2017\Win32\Debug>texconv.exe bad_file.tga
Microsoft (R) DirectX Texture Converter (DirectXTex version)
Copyright (C) Microsoft Corp. All rights reserved.
*** Debug build ***

reading bad_file.tga FAILED (80070032)

F:\DirectXTex-master\Texconv\Bin\Desktop_2017\Win32\Debug>

bad_file.zip

I have a little utility for dumping out the header information I use for debugging purposes (found here). For your file it outputs:
TGA bad_file.tga
ColorMap Type = 1
ImageType = 1   TGA_COLOR_MAPPED
ColorMap First = 0
ColorMap Length = 256
ColorMap Entry Size = 24
Origin 0, 0
Size: 4096 by 4096
Bits Per Pixel 8
Image descriptor 00
ExtensionOffset = 0
DeveloperOffset = 0
Signature= TRUEVISION-XFILE.

As noted on the wiki the TGA reader does not support color-mapped (i.e. palette) files which are uncommon for TGA (since the main value of that format is being able to encode 24bpp images). I do have an open issue for a possible way to handle them since there are no paletted DXGI formats. See 38


docs: fix guides rendering

This will fix guides rendering, as right now the Table of Contents is being shifted to the bottom of the page because of flex properties.

@vikram-dagger
Before merging, we should check how much we want to shrink the codeblocks, as IMO it worsens the UX to have wide lines of code that require constant horizontal scrolling.

@vikram-dagger
Asked @marcosnils for emergency review because we should merge this ASAP. Currently the images of this guide are being rendered like this.


Please Add Mutation Example

I saw the examples for juniper but only for query and I don't see any mutation example

@alresarena2021 it's not much difference between declaring query and mutations. The only difference is that a mutation should be declared in a Mutation root object.

See an example here: https://graphql-rust.github.io/juniper/master/quickstart.html#schema-example


require.js support for locale bootstrapping

i've been trying for a long while to make requirejs load in moment js properly. I had it working but i wanted to add that whenever moment.js is loaded in the locale is set properly (based on language setting of the website).
since my website will have plugins from third parties i want require(['moment'].. to directly export the moment with the right locale set.
First i made a wrapper js file. but this didnt work since momentjs needs to be required with the alias moment.
I tried the init function but this one is not called since momentjs uses require.js's define.amd
For now i made the hack  that one of the first scripts sets the moment locale appropriately. but it could still mean (since everything is loaded async) that this will fire later than another script using moment.js.
Can you not give us require.js developers some slack providing a better way to boostrap the right locale onto momentjs?
I also don't want to expose moment js with alias moment because this might lead to miss use by third party developers.
The scenarios i described i tested on v 2.10.6 of momentjs

Want to try to help you with this, but we have no require expertise on the moment team. Because we have quite a few Require.js issues, I just put an issue on their repo asking for help. See requirejs/requirejs#1554

@joelharkes if you look at that issue on the Require repo, they give a very good explanation of how to do this.

I see yes, read this morning about require.js's map functionality. it ain't neat but it will do the trick. Thanks


Ukraine template banner change to hires images and primary hover color

What does this change?
This PR corrects the 'Ukraine One Year On Banner Moment', higher resolution images and primary cta hover colour
[Trello]
https://trello.com/c/JVglKX6P/1088-update-images-and-hover-button-in-ukraine-banner
Images
Post->

375px
740px
980px
1300+px

Hover->

 Update images and hover button in Ukraine banner


Review notes on background-size

background-size has several notes which should be checked and likely updated. For example, "in Firefox 43, as opposed to Chrome 52" - has one browser implementation won out, are they both still conflicting, or has something changed altogether.
https://developer.mozilla.org/en-US/docs/Web/CSS/background-size

Note content fixed; closing: https://github.com/mdn/content/commit/462142b2b8f9fc58c7b0aad3defb914ec91b5635


Impossible to add a chart to column

It is impossible to just lay a chart in a column.
@override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.start,
          children: <Widget>[
              child: LineChart(getData()),
          ],
        ),
      ),
    );
  }

this results in exception as parent has height = infinity (And it can not be converted to int)
It can be solved in many ways, but it is a little inconvenient...

Wrap LineChart in Expanded
This is not a fl_charts error.
It's just a mistake in the construction of your widget.
@override
Widget build(BuildContext context) {
  return Scaffold(
    body: Center(
      child: Column(
        mainAxisAlignment: MainAxisAlignment.start,
        children: <Widget>[
          Expanded(
            child: LineChart(getData()),
          ),
        ],
      ),
    ),
  );
}
```


Fix vpn_ip segment

This fixes #701
Hey @magicalraccoon and @swatalla could you give this branch a shot?

Hah! It looks so simple!
@magicalraccoon @swatalla - Look good from your side?

Thanks, @dritter =)


feat: Add knowledge graph results

This pr implements support for knowledge graph results.
Query example: "Interstellar" should return information about the movie in a separate panel.

Tests are passing for knowledge graph. merging as translations patches are not yet ready


Missed translation of text from *.glade files using gtk::Builder

Sorry, I'm not very familiar with the GTK, but it seems that there is no support for text translation using gettext and gtk::Builder. I think this method from GTK documentation related to the problem, and it is not implemented yet.
At the moment, I need to manually re-set the text for the elements made in the Glade, wrapping it in gettext call (from gettext-rs crate) in my Rust code. Perhaps there is another way or this feature will appear in future?

@EPashkin: The function isn't in the .gir definition?

It present, but not in manual builder.rs

Want to add it or should I? Or maybe do you want to do it @fludardes?

@GuillaumeGomez, I currently don't have idea how to test this.
@fludardes, can you check this code? Need add to src/builder.rs of gtk
    pub fn set_translation_domain(&self, label: &str) {
        unsafe {
            ffi::gtk_builder_set_translation_domain(self.to_glib_none().0, label.to_glib_none().0);
        }
    }

@EPashkin, Thanks a lot! It works!

@fludardes, can you make PR?

@EPashkin, I'm rather new to git and GitHub, it will take some time. If you agree, I'll try.

NP, we can wait
Anyway currently your CI checks (travis and appveyor) in bad state so approving PR can also take some time.

Done.


Exposing downlevel interface similar to D3D9on12

This is a feature suggestion with fairly low priority, but I imagine it could be useful in some isolated cases, especially revolving around modding.
As it stands there seems to be no way for the application to determine whether it's running with "real" D3D or with DXVK, since there is no way to query for it via QueryInterface. Both D3D9On12 and D3D11On12 implement such interfaces, so applications can do things like:

Checking for downlevel availability
Obtaining underlying D3D12 device
Obtaining underlying resources

As of now, it doesn't seem to be possible with DXVK - do you think it's worth expanding wrapped devices with a new interface like this?

There are already interfaces for this purpose, which are used in Proton's OpenVR bridge:
https://github.com/doitsujin/dxvk/blob/ae01bd8bd40cd8dbcc35dfedbabe9624d31fa72e/src/dxgi/dxgi_interfaces.h#L154
These are less generic and currently there's no way to interact with Vulkan buffers, but if you have a use case I'll consider adding that.

Oh nice, I have not checked DXGI and only checked D3D9. Good to know!
I don't have a specific use case as of now, but I imagine it could be useful for projects like ReShade, which could use this to leverage features not available from D3D9/D3D10/D3D11 by default.

I have something that does let you do a little interop in a patch you can apply here: https://github.com/Joshua-Ashton/d9vk/commit/e249399ccff4a397ce8ee9565954554ac55fa1d0
As for something more verbose and in master, I do not, no.

I have something that does let you do a little interop in a patch you can apply here: Joshua-Ashton/d9vk@e249399
As for something more verbose and in master, I do not, no.

Will check! As for use cases, a more relevant use case would be to allow software (most notably emulators) for easier migration to Vulkan. Two examples are Cxbx-R (xbox emulator, currently using DX9) and PCSX2 (PS2 emulator, currently offering DX11) - with such downlevel interfaces they could technically implement native Vulkan step by step, with the application working at all times.

I would really not reccomend porting like this.

and PCSX2 (PS2 emulator, currently offering DX11)

PCSX2 also has an OpenGL renderer which is what the developers recommend you to use on Windows too.

I would really not reccomend porting like this.

PCSX2 also has an OpenGL renderer which is what the developers recommend you to use on Windows too.

That's not the point, the point is they are contemplating adding Vulkan eventually and a downlevel interface like this could potentially help.

That's why you try/test things as you go. Seeing those successes will also motivate you to continue with the project.
Using DXVK + some interop to port is not going to end well or result in anything clean.


ARTEMIS-1722 Reduce pooled Netty ByteBuf usage

Given the temporary nature of the ProtonServerSenderContext, the Netty heap pool can be avoided by reusing (enlarging if needed) a lazy local buffer instance.

This one, together with https://github.com/apache/activemq-artemis/pull/1916 aims to reduce the memoty footprint (improving scalability by different angles) of AMQP on the broker.
I need a review from @clebertsuconic  and @tabish121 for the mechanics that I've used to reuse the same send buffer: the mechanics is solid but if ProtonServerSenderContext.deliverMessage would be already uncontended/single-threaded it could be simplified avoiding the AtomicReference usage.

I see two problems here..
i - There's a buffer sitting on the ProtonSenderContext now that may be unused for a while. What if you had 1000 connections at one time.. and then all of them go inactive?  I don't understand how this will be Reducing footprint. I see quite the contrary here.
ii - It is not clear to me when the buffer would be busy, since the ProtonSenderContext represents a single consumer. Maybe it would.. but it shouldn't. if that's happening you will be sending a large heap buffer to GC.

I won't be able to look into this before Tuesday.. Please don't merge this without me... :)

@clebertsuconic Yep , don't worry I'm glad that you have taken a look on it! Will answer inline..

i - There's a buffer sitting on the ProtonSenderContext now that may be unused for a while. What if you had 1000 connections at one time.. and then all of them go inactive? I don't understand how this will be Reducing footprint. I see quite the contrary here.

I think that optimizing for the common case would be the bigger fish, but I don't know if what you have described is the common pattern...it is? If yes you're right, but consider that although Netty will release it to the pool, the memory footprint won't goes away. To solve it I will use SoftReference that will react on memory pressure demands, just to be safe.
Re memory footprint, it helps due to how Netty heap pools work: just allocating 10 bytes on it from any thread will trigger all the netty heap arenas to be allocated: that means to have more than (using the default config) 16 MB * 16 = 250 MB of allocated heaps just sitting to perform buffer copies.
And the sad fact is that it will add a constant memory footprint to Artemis when the broker is idle for real too.
Let me show you it...
That's on master (with the patch of Tim), after forcing a Full GC: 250 MB of Netty arena remaining allocated

That's is with this patch (and Tim commit too): all the allocated bytes disappear

For the graph is not visible the throughput improvement and we can just focus just on memory: it is pretty visbile that the memory used is lower than with pooled Netty ByteBuf too and that's because with too many threads (producers/consumers) the Netty pool isn't able to scale and will fallback to produce garbage.
I hope to have explained my concerns.

ii - It is not clear to me when the buffer would be busy, since the ProtonSenderContext represents a single consumer. Maybe it would.. but it shouldn't. if that's happening you will be sending a large heap buffer to GC.

That's why I needed you and @tabish121 :P : if it is uncontended the logic could be made much simpler.
From my tests (with 64 pairs of producers/consumers) seems uncontended so I have supposed that the "busy" case is the uncommon one and just having one byte[] created that will die very soon isn't a big deal for any GC (if is uncommon). Re how much big, with G1 (our defualt GC) -XX:G1HeapRegionSize is 2 MB AFAIK and any byte[] allocation > 50% of it ie 1MB is "less optimized".
Let me re-write it with SoftReference and without 'AtomicReference` (it isn't contended) and it could address all your point, thanks!!

  It usually let you OME before it’s released.
What about having a pool somewhere else? Or a smaller pool from Netty?
I’m out today and Monday.  Can we talk about this when I get back on Tuesday?

@franz1981 It doesn't look like the buffer could be contended unless perhaps the consumer was able to be subscribed to more than one queue at a time via some sort of composite type subscription but I don't think that is possible ?  otherwise the broker should be dispatching serially if I understand correctly but I'd defer to @clebertsuconic on that one.
It isn't entirely uncommon for consumers to be subscribed to low volume queues or topics where they might sit idle for a longer period of time so having each consumer hold onto memory like that indefinitely could lead to quick resource exhaustion on the broker in the case of 1000s of connections (think IoT)

@clebertsuconic

SoftReference sucks. It usually let you OME before it’s released.

I know and i was too hurried to say that it could be used :P you're right :+1:

What about having a pool somewhere else? Or a smaller pool from Netty?

It could be a solution: TBH if we found together a solution that doesn't require much (Netty) config from the user pov, would be even better!

I’m out today and Monday. Can we talk about this when I get back on Tuesday?

Sure buddy, this is not a fix so we can arrive on it taking the right time
@tabish121

It doesn't look like the buffer could be contended

On Tuesday with @clebertsuconic will be confirmed, but thanks...the code was really too complex for just a simple behaviour ie reuse a buffer.

It isn't entirely uncommon for consumers to be subscribed to low volume queues or topics where they might sit idle for a longer period of time so having each consumer hold onto memory like that indefinitely could lead to quick resource exhaustion on the broker in the case of 1000s of connections (think IoT)

That's important to know, yes, it makes sense!
So a solution could be to use a scheduled sweeper that check the alive consumers, but idle for "too long" and deallocate their buffers or maybe making use of something that the AMQP protocol itself probably provide (a keepalive, tick or similar, don't know) to do the same.
Just thinking loud; anyway, I will let this PR rest a bit and we could have a chat together next week if something here could be done :+1:

@franz1981 @clebertsuconic I've sent an alternate PR #1928 which performs the send without any buffer copy unless necessary due to message redelivery or existence of original delivery annotations.  Proton will be copying those bytes anyway so an intermediate isn't really needed on the common path.
It could be argued that you could further change things beyond what I did and just keep a single ReadableBuffer instance around in the consumer and give it the outbound buffer to send as the proton send method will take that readable buffer and call get(array, offset, length) on it to get a copy which means netty should perform the most efficient write.

I'm closing this one and helping @tabish121 to validate https://github.com/apache/activemq-artemis/pull/1928, that is 100% the best approach, because it avoid completly the copy in the common case


Strange type rendering issue with Chrome 55 / Mac 10.10.5

Hi I'm wondering if you can reproduce the issue I'm seeing below:
https://landofwomen.com/pages/united-states-stores
Notice in the screenshot attached "Arizona", the first accordion section title, appears a lighter weight font. It's fairly consistent on this page but I've noticed it elsewhere less consistently. The issue goes away if I resize the browser window or toggle certain .accordion css attributes using the inspector tool (like backface-visibility and transform), but actually commenting them out does nothing after a full page refresh.

I'm running Chrome 55.0.2883.95 on Mac OS 10.10.5.
Let me know if you have any thoughts!
Thanks

I should clarify that in this example, "Arizona" is the only section title that is rendering correctly — all the other heavier titles should actually appear as light as that first one does.

Hey mate!
I'm afraid I can't reproduce this on my end; it looks perfectly fine:

This is on Chrome 55.0.2883.95, Mac OS 10.12.2. I'm using a double-density MacBook pro, though... what pixel density is yours?

I'm seeing it both on my external display which is standard pixel density and also on my internal Macbook Pro retina display (though it's much less pronounced on the retina display). It's really strange! I wonder if it's a Yosemite-related bug. Just to be sure maybe you could refresh once or twice to make sure you're not seeing it?

I refreshed several times, and each yielded the same result, I'm afraid. :(
Is the Arizona element receiving a style attribute that applies a 3D transform? The opening tag should look like this when closed:
<div class="region closed" style="transform: translate3d(0px, 0px, 0px); height: 55px;">

Yes it is getting that - I think it may have something to do with the 3d transform — check this out:
http://stackoverflow.com/questions/8024061/webkit-blurry-text-with-css-scale-translate3d
But I just tried testing on Browserstack and couldn't reproduce even with Yosemite/Chrome 55, which is strange because I'm seeing it on 3 different computers. Maybe it could even be linked to the hardware graphics card.
Anyway thanks for looking into it!

Well, the only other thing I can think of is that it's a problem with the font being used to render the text... :\
For me, the page is loading two fonts, both WOFF2:

I trust there's nothing amiss?

I've seen this on other projects as well, with different fonts being loaded — on one the only solution was to turn off the smooth transitions as the accordion sections open (the client was seeing it too so I had no alternative, even though that sort of defeats the purpose of this library). It may have something to do with the webfont kits that myfonts.com prepares, but it's definitely not specific to the Land of Women fonts.

That's possible.
As a kludge, you could try dispatching a bogus resize event on the window after initialising the widget (perhaps with a brief delay), if just to get every element looking more even (since you said the effect goes away if the window is resized). Other than that, I'm afraid I can't be of much help here. :( This issue looks to be well beyond the scope of this component.

@blimpmason How did you progress? Did you end up resolving this issue? =)
I'm about to cut a patch release in the next day or two, so if there are any modifications needed on my end, I can get them published with v2.1.1.

Hey, thanks for following up and sorry for the slow response. I ended up disabling the CSS3 animations as that was causing the type rendering issue, but obviously not the most ideal solution.  Were you ever able to reproduce it? In the meantime I've reverted to this old jQuery plugin:
https://github.com/danielstocks/jQuery-Collapse
Though I'd much rather be using Accordion!

Ah no, sorry... I'm still uncertain as to whether or not it's CSS-related, or font-related. Did you witness a similar phenomenon with other typefaces? Also, is the rendering bug still affecting this page? I can't see any change to the CSS that's used to animate the sections.

Though I'd much rather be using Accordion!

Haha, thank you! I'd rather you were, too. ;)
Though I'd much rather be using Accordion!

The bug is still affecting the landofwomen.com page (only on Mac OS 10.10.5 and Chrome 55), but I disabled the animations on this other project and the rendering issue went away:
https://www.flyby.co/pages/faq

It's definitely some interaction between Accordion, Chrome, and the OS. I thought it might be related to this issue that sometimes happens to elements whose parents also have animation transitions:
https://stackoverflow.com/questions/12502234/how-to-prevent-webkit-text-rendering-change-during-css-transition

Do you get a different result if you enable noTransforms?


Add io-compat feature for AsyncRead/AsyncWrite

Added a shim for converting a type which implements both Spawn and SpawnExt into an executor, which is a bit fiddly, but should still be usable.


asserts on Quaternions now consistently cast the threshold to scalar type

The asserts to check whether a quaternion is a unit quaternion etc. use a tolerance. This tolerance was inconsistently (implicitly) defined as a double (see e.g. include/kindr/rotations/RotationQuaternion.hpp:115) or explicitly static_cast'ed to SCALAR type  see e.g. include/kindr/rotations/RotationQuaternion.hpp:106).
This fix consistently casts them to SCALAR type and changes the parameter of the macro helper function to SCALAR type.
I believe this is better than using double as a tolerance since comparing two SCALARs does not necessarily yield a double but more likely a SCALAR.

@gehrinch Please take a look if this makes sense.

lgtm


Replace explicit wrapping and unwrapping of newtypes by coercions

This adds Coercible superclasses to Newtype in order to implement most combinators with coerce.
Newtype constructors have to be exported for them to be unwrapped when solving Coercible constraints so this means that Newtype instances for types with hidden constructors won’t be usable anymore outside of their module of definition. This is mitigated by https://github.com/purescript/purescript/pull/3907 which emits a warning for such types (this warning would be turned into an error by the pull request updating the compiler support for Newtype instances deriving) and https://github.com/purescript/purescript/pull/3927 which suggests to export hidden newtype constructors when a Coercible constraint fails to solve because of that.
This also means that Newtype instances can only de declared for representationally equal types.
I reckon that releasing this along with the next compiler release is perhaps too reckless but at least it should provide more context and motivation for the mentioned warnings.

Is there a particular reason not to do this now? I think if we're going to do it at all, then the sooner the better.

I’d like to release this with the v0.14.0 too but this depends on and implies a few things:

We should merge https://github.com/purescript/purescript/pull/3930 first so we can drop one of the Coercible superclasses.
We should also merge https://github.com/purescript/purescript/pull/3907 and https://github.com/purescript/purescript/pull/3927 (which depends on the more critical https://github.com/purescript/purescript/pull/3937) for helpful warnings.
We should then update the compiler support for deriving Newtype instances. I have prepared a pull request but it depends on https://github.com/purescript/purescript/pull/3907 (to turn the warning into an error for types with hidden constructors but Newtype instances) and a new version of this package to be released (to update tests/support/bower.json in the compiler repository).

 In that case I think we should leave this out for now. If we manage to do all those things before we're ready to release v0.14.0 then that's fine, but otherwise I don't think this is an important enough change to hold v0.14.0 up.

Of the PRs @kl0tl mentioned above that need to be merged before this PR can be merged, only https://github.com/purescript/purescript/pull/3927 hasn't yet been merged (but looks like it will be soon).

I think https://github.com/purescript/purescript/pull/3927 isn't even a hard requirement for merging this, it's just a change to make certain compiler errors more helpful, so I'd be in favour of going ahead and merging this now.

Do we need to rebase this on top of current master to make GH Actions run rather than Travis?

I think so, yes.

CI is failing with this error:
[1/1 NoInstanceFound] src/Data/Newtype.purs:42:1

  42  instance newtypeMultiplicative :: Newtype (Multiplicative a) a
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  No type class instance was found for

    Prim.Coerce.Coercible (Multiplicative a0)
                          a0

  while checking that expression #dict Coercible
    has type Coercible$Dict @Type (Multiplicative a0) a0
  in value declaration newtypeMultiplicative

  where a0 is a rigid type variable
          bound at (line 0, column 0 - line 0, column 0)

           Src   Lib   All
Warnings   0     0     0
Errors     1     0     1

That will probably be because the Multiplicative constructor is not in scope, we’ll need to import it in that module.


fix some stuff discovered by PyCharm

also add more python classifiers to setup.py

ping

I am typing this from mobile, so I don't really know why you e.g. removed some filters. Will take a closer look this evening.

I've applied the most important stuff to master.


[SC] Fix for IO Exception

Fix for Could not save blocks to the block repository. Exiting due to 'Transaction commit failed on table "Common"!'
We should synchronize all tables that are modified as part of the same transaction as per https://github.com/hhblaze/DBreeze/issues/15. Currently, we only sync BlockTableName and  TransactionTableName which can lead to IO exception. SaveTipHashAndHeight call modifies Common table and therefore should be added to a sync call.

@fenix2222 well spotted! I'm going to run this fix as a patch on the test tool before merging.


Parse and typecheck pattern matching

Codecov Report
Attention: 4 lines in your changes are missing coverage. Please review.

Comparison is base (cbd67a6) 78.45% compared to head (4e59927) 78.83%.

Files
Patch %
Lines

src/Escalier.TypeChecker/Infer.fs
84.00%
4 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #85      +/-   ##
==========================================
+ Coverage   78.45%   78.83%   +0.38%
==========================================
  Files          16       16
  Lines        4693     4740      +47
  Branches      569      573       +4
==========================================
+ Hits         3682     3737      +55
+ Misses       1011     1003       -8

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Reading scenario proto format

How can we extra the scenario proto from the tf.records. Tried to follow the method used for frames in the (tutorial)[https://github.com/waymo-research/waymo-open-dataset/blob/master/tutorial/tutorial.ipynb] But I get the following error.
AttributeError: module 'waymo_open_dataset.protos.scenario_pb2' has no attribute 'ParseFromString'
I installed from precompiled pip

My mistake, it does work


[Suggestion] Auto-generate mdx files for components

Since we probably want the same output over React component files, including the prop table, description, remarks, etc., how about adding a config flag to automatically produce them?
Maybe we could still use a dedicated PropTable component that should be passed as config too, and then we could have a default implementation.
I could help with that if you will.

This would be a cool feature! I'd love some help on this 🚀

Sure, count on me!


Create a Privacy Plan

Explain how we handle PII data

This is internal to the Cloud API part, not much for the OSS SDK, closing this issue.


Custom date format not being used in format-message

I've added a custom date formatter to simply display the short form of a week-day, but that doesn't seem to be being used in a message. It's working with format-date but not with format-message.
Here's an example repo containing an Ember app with the code below:
Eg:
export default {
  date: {
    shortWeekDay: {
      weekday: "short"
    }
  }
};

This is then used in a message:
import Locale from 'ember-intl/models/locale';

export default Locale.extend({
  locale: 'en',
  messages: {
    test: "should be a week-day initial: {day, date, shortWeekDay}"
  }
});

When displaying this in a template I'd expect the same date format to be shown:

format-date: {{format-date date format="shortWeekDay"}}

format-message: {{format-message (intl-get "messages.test") day=date}}

But instead I get the following:

FWIW - I'm seeing the same thing happen with time formats too, {{format-time}} works fine, but using the same custom format in {{format-message}} doesn't work.

You're absolutely correct, they should be returning the same results.  I'll do some digging tonight as to what is going on.

Ah, found the problem.  So day is more or less a "reserved" format option.  I should probably document this somewhere, so I'll keep it opened as a bug.  But good news is no patch is needed to get this to work.
{{format-message '{dayOfWeek, date, shortWeekDay}' dayOfWeek=yesterday}}

1.1.4 published which will resolve this

Awesome, thanks. Trust me to pick a reserved word for my first experiment!

Just updated to 1.1.4 and can confirm this resolves the issue in my app. Thanks.


Set node labels from kontena-agent container labels

Currently setting node labels is cumbersome:
$ cat > /etc/docker/daemon.json <<DOCKERCONFIG
{
  "labels": ["region=<name_here>"],
  "insecure-registries": ["<IP_ADDRESS>/16"]
}
DOCKERCONFIG

or cloud-init...
Let's be awesome and take node labels from kontena-agent ! wohoo!

Would the KONTENA_NODE_LABELS env in #2590 also be acceptable?

@spcomb yes, that’s better


Error alias_method on install

After installing the plugin in Redmine 4.0.1 on Rails 5.2.2 and Ruby 2.5.3 using Mysql2:
bundle exec rake redmine:plugins:migrate RAILS_ENV=production
rake aborted!
NoMethodError: undefined method alias_method_chain' for User (call 'User.connection' to establish a connection):Class Did you mean?  alias_method /home/redmine/live/plugins/event_notifications/lib/event_notification/patches/user_patch.rb:11:in block in included'
/home/redmine/live/plugins/event_notifications/lib/event_notification/patches/user_patch.rb:9:in class_eval' /home/redmine/live/plugins/event_notifications/lib/event_notification/patches/user_patch.rb:9:in included'
/home/redmine/live/plugins/event_notifications/lib/event_notification/patches/user_patch.rb:183:in include' /home/redmine/live/plugins/event_notifications/lib/event_notification/patches/user_patch.rb:183:in <top (required)>'
/home/redmine/live/plugins/event_notifications/init.rb:4:in <top (required)>' /home/redmine/live/lib/redmine/plugin.rb:173:in block in load'
/home/redmine/live/lib/redmine/plugin.rb:164:in each' /home/redmine/live/lib/redmine/plugin.rb:164:in load'
/home/redmine/live/config/initializers/30-redmine.rb:21:in <top (required)>' /home/redmine/live/config/environment.rb:14:in <top (required)>'
/usr/bin/bundle:23:in load' /usr/bin/bundle:23:in '
Tasks: TOP => redmine:plugins:migrate => environment
(See full trace by running task with --trace)
I found that the alias_method_chain is depreceated and have to be replaced.
I really like to use your plugin, can you fix the bug?
with kind regards,
Marcel

same here. Ubuntu 18.4, ruby 2.5.1p57, rails 5.2.2

is there any solution? thanks

Also same issue. Ubuntu 18.04, ruby 2.5.1.p57, rails 5.2.3, Redmine 4.0.4

It seems @jrupesh is no longer active. This ticket is a duplicate to #45
Maybe there is someone with required ruby skills to step in for this project to migrate the code for redmine 4 / latest ruby?
The code should be refactored anyway since the patches contain copied code which has been changed in 4.0.

The method alias-method-chain is depracated. More info on https://www.justinweiss.com/articles/rails-5-module-number-prepend-and-the-end-of-alias-method-chain/

Anyone has a fix?

i've changed a lot things, now installed without errors, not tested yet
plugins->event_notifications->lib->event_notification->patches
in each *.rb need to rewrite alias_method_chain into alias_method
Like:
user.rb:

    #alias_method_chain 'notified_project_ids=', 'events'

    #alias_method_chain :update_notified_project_ids, :events

    #alias_method_chain :notify_about?, :event

   alias_method :update_notified_project_ids_without_events, :update_notified_project_ids

   alias_method :update_notified_project_ids, :update_notified_project_ids_with_events

   alias_method :notify_about_without_event?, :notify_about?

   alias_method :notify_about?, :notify_about_with_event?

project_patch.rb

     #alias_method_chain :notified_users, :events

     alias_method :notified_users_without_events, :notified_users

     alias_method :notified_users, :notified_users_with_events

journal_patch.rb

    # alias_method_chain  :notified_users, :events

     alias_method :notified_users_without_events, :notified_users

     alias_method :notified_users, :notified_users_with_events

as well need to uncomment def notified_users_with_events all lines
Please check all rb files in patches, there is more alias_method_chain..
Both migrate files need add version: (DB-->MIGRATE-->001* and 002*

#class AddEventColToMembers < ActiveRecord::Migration

class AddEventColToMembers < ActiveRecord::Migration[4.2]

init.rb

#ActionDispatch::Callbacks.to_prepare do

ActiveSupport::Reloader.to_prepare do

I've just changed some methods, installed withoud errors, but not tested yet..
I'm not programmer, i hope someone remake normal,
because i need only receive emails on any new task in one project when i've checked: only for things i watch or i'm involved in
plugins->event_notifications->lib->event_notification->patches
in each *.rb need to rewrite alias_method_chain into alias_method
Like:
user.rb:
#alias_method_chain 'notified_project_ids=', 'events' -This one i dont know how to replace
#alias_method_chain :update_notified_project_ids, :events
#alias_method_chain :notify_about?, :event
      alias_method :update_notified_project_ids_without_events, :update_notified_project_ids
      alias_method :update_notified_project_ids, :update_notified_project_ids_with_events

      alias_method :notify_about_without_event?, :notify_about?
      alias_method :notify_about?, :notify_about_with_event?

project_patch.rb
#alias_method_chain :notified_users, :events
alias_method :notified_users_without_events, :notified_users
alias_method :notified_users, :notified_users_with_events
journal_patch.rb
# alias_method_chain  :notified_users, :events
alias_method :notified_users_without_events, :notified_users
alias_method :notified_users, :notified_users_with_events
AND
aswell need to uncoment def notified_users_with_events all lines
Please check other .rb files in patches
Both migrate files need add version: (DB-->MIGRATE-->001* and 002*
#class AddEventColToMembers < ActiveRecord::Migration
class AddEventColToMembers < ActiveRecord::Migration[4.2]
init.rb
#ActionDispatch::Callbacks.to_prepare do
ActiveSupport::Reloader.to_prepare do

Hello,
I changed acc. latest post all files and remine starts, but some issues results in an 404er when I try to open.
If I remove the event_notification plugin all works.
If I only DISABLE in configuration also 404 happens.


README doesn't say what this is for

What is this project? The title initialize is very vague. :)

Ya I am writing it now :)

fixed in https://github.com/dart-lang/initialize/commit/111818c76a02b8f38bb50298a90c613730f40f03


Precompile failure?

Running a test, SimpleNonlinearSolve fails to precompile, throwing error LoadError: UndefVarError: NonlinearLeastSquaresProblem not defined breaking downstream precompilation.
Stacktrace can be found here https://github.com/SciML/MethodOfLines.jl/actions/runs/6711389565/job/18403689020?pr=285

Some lower bound bumps were missed. Fixed by https://github.com/JuliaRegistries/General/pull/94886


Order "Programming Languages" alphabetically

Duplicate of #166

Sorry, didn't catch that PR when I looked for dupes.


Release cb-network-0.0.2

cb-log has been applied.
gofmt, golint, whitespace, and unused linters are mainly used.
lint-on-push.yml is updated.

@jihoon-seo
SonarCloud bot이 돌기 시작했네요? ㅎㅎ

@jihoon-seo
SonarCloud bot이 돌기 시작했네요? ㅎㅎ


How to achieve zero touch provisioning using netopeer2

Hi All
I want to ask How to achieve zero touch provisioning using netopeer2 ?
Please give your feedback or steps to achieve this activity
Thanks in Advance

I have not checked the exact specification but this is not implemented so you would likely have to add full support for it, which would include changing netopeer2 code.

Thanks @michalvasko for quick response.
Could you please tell me how can I achieve this, as I don't have no idea how to achieve this

If you have no idea how to achieve it then I suggest you do not even attempt to, it would not be a simple feature to add.


DisableCompression is ignored in http2 requests

When retrieving a resource via http2, fhttp library always decompresses the body, even if DisableCompression is set to true. According to the option description this should not happen:
	// DisableCompression, if true, prevents the Transport from
	// requesting compression with an "Accept-Encoding: gzip"
	// request header when the Request contains no existing
	// Accept-Encoding value. If the Transport requests gzip on
	// its own and gets a gzipped response, it's transparently
	// decoded in the Response.Body. However, if the user
	// explicitly requested gzip it is not automatically
	// uncompressed.

I looked into parts which read body in http1 and http2 and compared them. http1 has addedGzip flag which is checked before calling DecompressBody function (https://github.com/bogdanfinn/fhttp/blob/959a7f72d1ca6d6319e1ed82a26eea431658d3b3/transport.go#L2190). In http2 we have requestedGzip flag, which acts in similar way. However, requestedGzip is not checked (https://github.com/bogdanfinn/fhttp/blob/master/http2/transport.go#L2259).
The following change seem to solve the issue https://github.com/bogdanfinn/fhttp/commit/8237b3b211da3c741ce9d3fe20a5187e5bb7a694

@jsnjack thank you for supplying the fix for that.
will include that in the next release and i think about adding an option to the tlsclient itself to be able to set DisableCompression to either true or false.

Thanks!
By the way, tlsclient already has this option. It can be set via TransportOptions

https://github.com/bogdanfinn/tls-client/releases/tag/v1.3.10


Manual block production in standalone

This PR replaces the consensus pallet in the standalone binary from aura to manual-seal. The standalone mode can only serve the purpose of testing henceforth.
Not sure if this requires bumping the minor or the major SemVer version?

See also: https://github.com/paritytech/substrate/issues/10239

I tested without docker again, but finalization still isn't working properly. I did some debugging and narrowed down the problem to the author_extrinsicUpdate message not being sent to the client with the finalized status, see https://github.com/paritytech/substrate/issues/10279


Is there a typo?

https://github.com/rwightman/pytorch-image-models/blob/master/timm/data/config.py#L82
in function:
def get_mean_by_model(model_name):
    model_name = model_name.lower()
    if 'dpn' in model_name:
        return IMAGENET_DPN_STD
    elif 'ception' in model_name or ('nasnet' in model_name and 'mnasnet' not in model_name):
        return IMAGENET_INCEPTION_MEAN
    else:
        return IMAGENET_DEFAULT_MEAN

expected IMAGENET_DPN_MEAN?

Yes, it is a mistake. Won't impact normal train/val functionality because it is a fallback for when the model checkpoint cfg doesn't specify, or cmd line doesn't. I'll fix as low priority


Is SML ready to be used in production?

I'm currently in the process of evaluating different options for implementing a rather complex state machine for an embedded target. This library seems to be the most polished one so far, using modern language concepts. Also I watched two talks about Boost.SML and was quite impressed.
However I'm a bit concerned about the current state of development with the latest version being 1.0.1, released more than a year ago. Therefore I would like to ask you if you could honestly recommend using this library in production for an embedded target (Atmel SAMD21, thus quite memory and performance restrained).

Sooo... I'll guess not that ready to be used in production? :D

We've been used in production for about year and half. We use it for the http state machine in our http cache proxy. Also for the state machines in the caching subsystem of the proxy.
However, I use limited set of it's features: initial sate, states, events, guards and orthogonal regions.
In addition, I've added external error handling for the case when there is no transition on given event. I couldn't get the author attention at the time (See: 'A question about the behavior of unexpected_event<> vs unexpected_event<some_event>. #85' and 'Another question about the behavior of unexpected_event<> vs unexpected_event<some_event> #86').
This is important feature, for me, which is present in the MSM library. I use it to ensure at run time that there are no hidden bugs in my transition tables.
Although I've used MSM in other projects, for this one it was really no go for me especially for the HTTP state machine due to the compilation time. In addition, I find the syntax of SML much cleaner due to the new C++ features.

@ooxi , have you tried boost sml in production for an embedded target ?

@sjtuhjh I have not, since I received mixed feedback on this issue. While I'm very impressed with this library and would like to use it, betting on it for an embedded project is a huge liability.
I might have to take over maintaining this library, if the API changes drastically or support is dropped.

I've been using it in production as the basis of my networking library where the protocol state machines are implemented using SML.
@ooxi I added an example of the hierarchical machine in one of the protocols to #185.

Have you ever considered using QP (https://www.state-machine.com/) for embedded applications?

Thanks for the suggestion @edobez, I have not heard of QP before. While it looks like a comprehensive framework, the state machine part does not look too appealing.
Are you familiar with QP? Most likely I'm overlooking something, but a state machine definition like in this blinky example does not look very maintainable, at least compared to the Boost.SML version. Or was this source code generated from a DSL?

I'm a bit familiar with QP since I am evaluating it right now for an application at my company.
I have to agree that the appearance of QP state machines is not on par with Boost.SML, but I think that in part it is intentional.
Since QP is targeted at embedded developers which are mostly used to C programming, the framework could not be developed using too much modern C++, otherwise it would have been perceived with something not understandable by its user base. Please note that this is only my opinion.
Also, it would be interesting to see some performance comparisons between the two.
The example you cite is not generated by a DSL, but there is a tool called QM, part of QP, that can generate the state machine code from a graphical representation, similar to UML.
At the beginning reading through the state machine code can be a little confusing but I have to say that once you understand it, it becomes clear and quite simple to use.

QP is great, whether you use the entire framework or just the state machine part.  I used the whole framework, including QP-nano which is an extremely tiny scheduler.  I highly recommend it.  My main interest in Boost.SML is that it won't require a commercial license as QP does but should still scale all the way down to extremely small microcontroller footprints.


get_obj() on very large grids

When using get_obj() on very large grids, powfacpy seemingly freezes (but actually just takes very long).
This is due to the use powerfactory's GetContents() method.
There are two solutions:

When using GetCalcRelevantObject(), it is much faster.
specifying a parent_folder in get_object() also speeds things up

I regularly forget and run into this "freezing" when working with large models, having to restart PowerFactory. Especially with password protection, this is cumbersome.
And often it's hard to tell how long a search is going to take.
Hence the idea to implement some kind of catch.
for example:

interrupt and return a warning if get_obj() takes longer than 10s
block the use of GetContents if powfypy.PFBaseInterface(large_model=True)
other ideas?

Does this make sense? It's rather a suggestion.
BR!
.M

Some thoughts on the example solutions:

"interrupt and return a warning if get_obj() takes longer than 10s" -> then get_obj() cannot be used when execution time takes longer than 10s
"block the use of GetContents if powfypy.PFBaseInterface(large_model=True)" -> the connection between the attribute 'large_model' and how it affects the behaviour of get_obj() is all but obvious

Suggestion: add a method get_obj_with_timeout() which takes an additional 'timeout' argument and simply calls get_obj() with a time out implemented in this method. The advantage is that get_obj() does not need to be changed and its performance is not affected (this method is used very often and we should keep its performance in mind).
However, the former solutions (except for the one where a timeout is implemented directly in get_obj) all have the same disadvantage that the user must be careful to not simply call get_obj() but has to set an attribute beforehand or needs use a different method. One can argue that the current implementation which requires to set the 'parent_folder' argument is an (almost) equally good solution. Or simply use GetCalcRelevantObject() if its more performant.
BTW I think you can automate password protection using GetApplicationExt().

thanks for your answer.
I would say let's see whether the need of such a feature increases, otherwise we'll drop it.
Thoughts on your thoughts 😉 :
a the large_model=True option could also activate the use of a timeout on get_obj and has to be actively set at instantiation of pfbi.
The 10s would be a settable parameter, of course -- and only active if proactively set.
I find GetCalcRelevantObject not so handy if you want to use powfacpy to handly powerfactory. You need to know it exists / read into the powerfactory python api to find it.
Using GetApplicationExt() still needs username and password to start powerfactory. I would not recommend to hard-code passwords into scripts. Better use a password prompt.

"a the large_model=True option could also activate the use of a timeout on get_obj and has to be actively set at instantiation of pfbi." -> I understood that. I just think there might be a more direct approach to activate the timeout, so that the user does not need to make the connection between "I want get_obj to use a time out" and the attribute "large_model", which is not obvious.
In general, it would be interesting to compare the performance of the various approaches.

"Using GetApplicationExt() still needs username and password to start powerfactory. I would not recommend to hard-code passwords into scripts. Better use a password prompt." -> Maybe you can create a local json file with your password and access that. This will never be shared with others. Then you need switch to using prompts only when you share the script with others (or they also use a json file).


[BUG] koordlet close cgroup file error and cannot collect cycles

What happened:
While using koordlet version v1.3.0, and after activating the performance collector feature, an error arises during the closure of cgroup files upon perf data collection. The error message is as follows:
E0822 17:41:55.375473 1723326 performance_collector_linux.go:156] PerfCollector cleanup err : close cgroupFile /host-cgroup/kubepods.slice/xxx.scope, err : close /host-cgroup/kubepods.slice/xxx.scope: file already closed

and the result of cycles is 0(the result of instructions is not 0)
koordlet_container_cpi{container_id="containerd://xxx",container_name="xxx",cpi_field="cycles",node="xxx",pod_name="xxx",pod_namespace="xxx",pod_uid="xxx"} 0
koordlet_container_cpi{container_id="containerd://xxx",container_name="xxx",cpi_field="instructions",node="xxx",pod_name="xxx",pod_namespace="xxx",pod_uid="xxx"} 3.46941397e+09

What you expected to happen:
No Error, the result of cycles is not 0.
How to reproduce it (as minimally and precisely as possible):

Create a ns and create a deployment which has 100 nginx instances.
Install koordinator and enable CPI, PSI.
Use kubectl get the log of koordlet. Use curl get the metrics.
Anything else we need to know?:
Use perf can get right result.
Environment:

App version: v1.3.0
Kubernetes version (use kubectl version): v1.27.2
Install details (e.g. helm install args): helm install koordinator koordinator-sh/koordinator --version 1.3.0
Node environment (for koordlet/runtime-proxy issue):

Containerd/Docker version:1.7.1
OS version:Ubuntu 22.04
Kernal version:5.15.0-79-generic
Cgroup driver: cgroupfs

Others:

PTAL @songtao98

I think part of the error is caused by perf collector Cleanup twice[1][2].

The another error is caused by this pr. Sorry for this error orz.

I think part of the error is caused by PerfCollector Cleanup twice[1][2].

Yes, and I recall that the initial implementation intends to CleanUp the perfCollector outside the profile function(at the [2] position), thus making profile function do only the profile job. I think the CleanUp at [[1] ]((https://github.com/koordinator-sh/koordinator/blob/bb9907d1ca683f6f3d43d8b5d7c9a2dfe573efb2/pkg/koordlet/metricsadvisor/collectors/performance/performance_collector_linux.go#L198)is redundant.

nice job! @bowen-intel


rc5 update

I've been enjoying your build for a long time now, but the newest update from Angular Team (RC5) is giving me nightmares. Will you update the repo to rc5, or can you give me few hints on how to structure my app using ngModule?
Thanks.

Right, sorry. I'm part of the angular team, and I was exhausted.
Will update today, promise.
El 12 ago. 2016 14:58, "Adam Przeździecki"<EMAIL_ADDRESS>escribió:

I've been enjoying your build for a long time now, but the newest update
from Angular Team (RC5) is giving me nightmares. Will you update the repo
to rc5, or can you give me few hints on how to structure my app using
ngModule?
Thanks.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/preboot/angular2-webpack/issues/133, or mute the
thread
https://github.com/notifications/unsubscribe-auth/ABCZ1Serp0T0VGDaESYrVNtIoRAizmbwks5qfG3ZgaJpZM4JjDx3
.

@PunkDog hi, you can check this pull request Rc.5


fix(install by kubectl): provide a temporary command to install

Signed-off-by: Abser ari<EMAIL_ADDRESS>

This should not have been published yet. reverted in https://github.com/cert-manager/website/pull/430
/close


Include clearance test matchers

In spec/support/clearance.rb, I'd like:
require 'clearance/testing'

We'll then have access to methods like:
sign_in
sign_in_as(user)
sign_out

And matchers like:
deny_access

Example:
context "a visitor" do
  before { get :show }
  it     { should deny_access }
end

context "a user" do
  before do
    sign_in
    get :show
  end

  it { should respond_with(:success) }
end

I thought suspenders autoloaded lib, in which case this is already available.  sign_in_as has always worked in rspec for my suspenders-based projects.

Oh, I'm sorry, it's loaded by spec/support/authorization.rb in the example I was looking at.

@croaky, +1 for this. I wanted to use sign_in_as yesterday and it took too long to find.

OK


Javascript target support

Hello again,
What would the challenges be if you/we were to implement support for the Javascript target for chrobot? I can see some use cases (outside of my own) where it would be useful, namely if you were writing a lustre webapp targetting js and want to test the front end automatically.
Your last update helped me massively, and I got it installed successfully, however I forgot about the whole 'one target at a time' nature of gleam, and sadly my project has to target js 😅
Thanks!

By targeting JS you mean a runtime like node/bun/deno?
Tbh if you are running on a JS runtime like that, I would just recommend using Playwright or Puppeteer. These libraries are much more mature and have a lot of engineering resources maintaining them.
My goal with this library was basically building something similar like Puppeteer that doesn't require need to run on a JS runtime.
The core stuff uses Gleam Actors and an Erlang port to interact with the Browser, you can take a look at this module to get an idea:
https://github.com/JonasGruenwald/chrobot/blob/main/src/chrome.gleam
Of course it would theoretically be possible to rewrite these parts in JavaScript but as there are such great, well-maintained browser automations for JS already I feel like it would be a bit of a waste of time?
I'm open to anything though :) Why does your project have to target js? Are you running on something like Cloudflare Workers?

As a project to learn Gleam, I'm writing some bindings for WebGL with the end goal being the creation of a simple game development framework similar to pygame or MonoGame. Sadly, WebGL is a front-end feature, so I have to focus on the JS runtimes.
Also, because this is my attempt to learn Gleam, I'm trying to do as much of it in Gleam as possible. I have pnpm set up on the project, but that's currently only for linting the mjs files the project will have. I really want to stick to the gleam test setup, because I love how testing is baked into the language. If I have to figure out integrating Playwright or Puppeteer, it wouldn't be the end of the world, but the idea of being able to spin up a server with gleam_http and test pages with chrobot for each test is really cool to me.
From some quick searching, I believe ports are currently experimental in JS, so I understand if you don't want to go that route, and I also get your point about Playwright and Puppeteer being more mature projects.
All this to say, I just think it'd be neat to be able to build, test, and deploy a website/app without leaving the Gleam ecosystem, but I understand why it isn't feasible.

Oh! Well you won't be able to run Chrobot or any other browser automation library in the browser itself along with your code targeting WebGL, so why not just run Chrobot on Erlang for your tests?
I think that's very feasible, could be that you will have to do a monorepo with two Gleam projects for it, I'm not sure, but that's also a pretty common approach from Gleam client/server apps from what I understand.

The way I was planning on setting it up was to use gleam_http to serve a test site, then use chrobot to access that website and act as the browser and user. I could then use birdie to capture the output of chrobot's actions at the end. All of this could be done per function in testing, i.e.: create page for test x -> serve on server -> test with chrobot and birdie -> shutdown server -> repeat with test y, etc.

Sure thing, sounds like a good plan!
So as I said, I would just run your integration tests on the Erlang target.
It seems like you have to do that anyways with your current plan, since you want to use gleam_http, and from what I can tell all the servers that support gleam_http (except the cgi one) also only run on Erlang (https://github.com/gleam-lang/http?tab=readme-ov-file#server-adapters).
Is there any specific problem with this setup? Might also be something to ask about in the Gleam Discord if you are stuck with this, I think it's not really a chrobot-specific issue, a lot of common packages like Mist / Wisp are Erlang-only and folks may want to use them in tests for JS-only projects.

I think I understand what you're saying. This might just be growing pains, and maybe a little ambitious for a first project 😅 I'll ask in the Gleam discord like you suggest. Thanks!

For sure, good luck with you project!


color_threshold seems not to be working

Good day,
I fancy a graph for a temperature sensor, which displays a line or area whose color depends on the value. (e.g. Low values blue, turning to green for 'medium' and turning to red for high values)
I copied the exact example for how to use the color_threshold, only changing the colors and starting values, but do not get the result I wanted.
In the screenshot you can see that the area is red also for the low value times. Seems like it distributes all colors over the area, no matter what the values are.
Version of the card
V2.0.4
Configuration
type: custom:apexcharts-card
experimental:
  color_threshold: true
header:
  show: true
  title: ApexCharts-Card
  show_states: true
series:
  - entity: sensor.0xa4c138853544701c_temperature
    type: area
    stroke_width: 1
    color_threshold:
      - value: 15
        color: blue
      - value: 20
        color: green
      - value: 25
        color: red

Screenshot

Expectation
I expect the area to be red only when values are above 25, but it seems to act like a percentage or something.
It shows both in the iOS app and Chrome.
What am I doing wrong here :)

@RomRider , something you can explain very easily maybe? thanks!

Did you ever have this improve? I have this happen intermittenly. For the first several days I was using them, the colors always appeared correctly, fading properly from one to the next on line and area graphs. Then suddenly, I started seeing similar effects to you when enabled.
The first time, shortening the span duration

Actually, this can be resolved with a simple tweak!
Try adding fill_raw: last as a series parameter. Fixed it for me!
https://github.com/RomRider/apexcharts-card/issues/305#issuecomment-1060836878
https://github.com/RomRider/apexcharts-card/discussions/202


Fix go-cmp Links

Fix two broken links within the Go styleguide.
Great work by the way :)

Thanks for the patch! This repo is managed internally but I'll apply it there. Expect this to be merged some time this week.

The fix has been applied upstream and pushed. Thanks again; I'm closing the pull request now.


Custom handle causing confusing error

I have created a custom handle for my brush, following some of the V4 examples, but when I click on the handle to manipulate it when the selection has the same values, it gives an error.
EXCEPTION: Cannot read property '0' of null
If I go to the source, seems to be caused in this area of the d3 code, at the w0 variable area.
    if (type === "overlay") {
      state.selection = selection$$1 = [
        [w0 = dim === Y ? W : point0[0], n0 = dim === X ? N : point0[1]],
        [e0 = dim === Y ? E : w0, s0 = dim === X ? S : n0]
      ];
    } else {
      w0 = selection$$1[0][0];
      n0 = selection$$1[0][1];
      e0 = selection$$1[1][0];
      s0 = selection$$1[1][1];
    }

If I disable pointerevents for my custom handle, everything works fine with no error.
Maybe it's just an issue with the way I am trying to accomodate single date values for my selection, and to not have the selection area disappear.
Creating the brush items
this.brush = d3.brushX()
            .extent([[0, 0], [this.rootWidth, this.rootHeight / 2]])
            .on("start brush", this.brushmoved);

        this.brushGroup = this.root.append("g")
            .attr("transform", "translate(0," + this.rootHeight / 2 + ")")
            .attr("class", "brush")
            .call(this.brush);

        this.handle = this.brushGroup.selectAll(".handle-custom")
            .data([{ type: "w" }, { type: "e" }])
            .enter().append("path")
            .attr("class", function (d: any) {
                return "handle-custom " + d.type;
            })
            .attr("display", null)
            .attr("d", this.TREFOIL_HALF);

Updating my brush, on resizes or otherwise.
updateBrush = (ctx: DateSelectorComponent) => {
        this.brushGroup.call(this.brush.extent([[0, 0], [this.rootWidth, this.rootHeight / 2]]));
        this.brushGroup.call(this.brush.move,
            [this.selectedFromDate,
            this.selectedThroughDate].map(this.xScale));
    };

Updating my handles
    updateHandle = (ctx: DateSelectorComponent) => {
        this.handle
            .attr("transform", function (d, i) {
                let from = ctx.xScale(ctx.selectedFromDate);
                let through = ctx.xScale(ctx.selectedThroughDate);
                return "translate(" + (d.type === "w" ? from : through) + "," + ctx.rootHeight / 4 + ")" +
                    (d.type === "w" ? "scale(1.25, 1.25)" : "scale(-1.25, 1.25)");
            });
    };

brushmoved function
    brushmoved = () => {
        // make sure date range is updated and handles are moved to match the selection extent
        if (!d3.event.sourceEvent || d3.event.sourceEvent.type === "brush") return;
        this.updateDates(this);
        this.updateHandle(this);
    };

Everything works fine except clicking on my custom handle area again.

Did you look at this example?
https://bl.ocks.org/mbostock/4349545

I have yes. I'll pour through it again and see if the answer is in there. Probably an oversight on my part.

I think the major issue is of a zero-width selection, and my forcing the handles to be visible during that selection.
What is the best way to allow for a single width selection? That gif above represents 18 months. If I click on a value, I want to use that day that I clicked on as my only value. I don't want to set the extent to the start of the day and the end of the day, ideally... because of the visual representation I'm trying to go for, keeping the handles tight together when on a single date.

I have the same issue. Is it possible to have an empty selection? Since resize controls are required in my case and I cannot apply the same behavior as @mbostock in his great example .

Sorry for the delay. brush.move was too aggressive in converting a degenerate (trivial) selection to the null selection. This should only happen on interaction. Here is an example of preventing the brush from being cleared:
https://observablehq.com/@d3/empty-brush-selection


DOM structure for SVG output

This is just a question. I noticed that the "global" SVG is a sibling to an empty div with  id="MathJax_SVG_Hidden"; is this intentional?

Yes.  The MathJax_SVG_Hidden div is used to measure the sizes of characters that are unknown.  The global SVG element is where the shared character paths are stored.  They can't be combined, if that is what you are after.

Ah, that makes sense -- thanks!

They can't be combined, if that is what you are after.

No, I just couldn't figure it out.


Add troubleshooting steps for 'Managing the NuGet cache'

There are multiple errors that users can get as discussed here: https://github.com/NuGet/Home/issues/6100#issuecomment-339837477

Addressed in PR #770


Deliverable 6 jeb

just the demo of tags

This PR has more changes than just the demo

I rewrote the branch history to only have the deliverable 6 parts


Impossible to clear $components

Once the $components property is set to a non-empty array it will not again be updated to reflect an empty array.
Example: pressing Empty button after any other will not clear the list.
<html>
<head>
<script type="text/javascript" src="https://www.celljs.org/cell.js"></script>
</head>
<body>
<script>

var app = {
    $cell: true
    , $type: 'div'
    , _items: []
    , $update: function() { this.querySelector(".list")._refresh(); }
    , $components: [
        {
            $type: 'ul'
            , class: 'list'
            , _refresh: function() {
                this.$components = this._items.map(function(i){ return { $type: 'li', $text: i} });
            }
        }
        , {
            $type: 'button'
            , $text: 'get 1,2,3,4'
            , onclick: function() { this._items = ['1', '2', '3', '4']; }
        }
        , {
            $type: 'button'
            , $text: 'get primes'
            , onclick: function() { this._items = ['2', '3', '5', '7']; }
        }
        , {
            $type: 'button'
            , $text: 'get empty list'
            , onclick: function() { this._items = []; }
        }
    ]
};

</script>
</body>
</html>

Thanks for reporting! This was a bug. I have just fixed it and pushed to all branches https://github.com/intercellular/cell/commit/465ce47f544c91035c8930ba3e478b3b9ce05431
Please try out with the latest version (If you're using the https://www.celljs.org/cell.js, make sure you clear the browser cache so that the update is reflected, and then try it.
Let me know if it works and I'll close it.

Thanks - works now with the latest version. Keep up the great work.

Thanks!


ssl_lib: added pointer SSL_CONNECTION check to NULL before dereferencing it in ossl_ctrl_internal()

Fixes: #22466
In ssl_lib.c added pointer SSL_CONNECTION check to NULL before dereferencing it in ossl_ctrl_internal()

This pull request is ready to merge

This is also applicable to 3.2.

Merged to 3.2 and master. Thank you.


the beginning of the video is darker

Hello,
I'm using front camera from cwac-cam2 lib on HTC ONE M8 with Android 6.0.0. The first ~0,5s is darker than the rest of the movie. This is really annoying. Have you had similar issue? do you now how can i resolve it?

Have you had similar issue?

I have not been measuring the relative darkness of different portions of recorded video. That being said, I have not noticed anything.

do you now how can i resolve it?

Cut off the first ~0,5s of the video, I guess. I have no control over MediaRecorder, let alone the underlying hardware, so whatever gets recorded is what gets recorded.
Also, in the future, please follow the instructions for getting support.