[Inconsistent Behavior] Editor does not auto-suggest to add missing import

Issue Type: Bug
When i type requests.get('https://httpbin.org/headers'), i expect a red line and action-hint to suggest me importing requests module to top of the file. This is default behavior for VSCode for GoLang and Python extension for IntelliJ. It must be consistent across all VSCode extensions as a product-wide feature.
Extension version: 2021.2.582707922
VS Code version: Code 1.53.2 (622cb03f7e070a9670c94bae1a45d78d7181fbd4, 2021-02-11T11:45:54.515Z)
OS version: Darwin x64 19.6.0

A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vstry244:30256636
pythonvsdeb440:30248342
pythonvsded773:30248341
pythonvspyt600cf:30251589

@nfx Which language server are you using?

@karrtikr in this case - Python. I’m switching between Scala, Python and GoLang few times a day. Some things just have to be written in a respective language.
For GoLang I only use VSCode, because it’s the only usable free option out there, but for Python development experience on IntelliJ CE is by far more convenient than with VScode. At least now :)
I’m used to “smart hints” like “introduce a variable/method/class” and I’d really like to see them in VSCode :)

@nfx Can you check what you have for the python.languageServer setting? This so I can move this bug to the appropriate repo.

Filed https://github.com/pappasam/jedi-language-server/issues/126 on JediLS and pylance supports auto imports.


raidemulator: Convert Persistor to typescript, use Dexie

Edit: Nevermind, export DB works as a full export/import again, though old format exports aren't compatible.

I think in the future I'd say...please don't convert to TypeScript and change all of the functionality at the same time.

I think in the future I'd say...please don't convert to TypeScript and change all of the functionality at the same time.

This is the one case where I think it was justified. Making this work without Dexie would have involved a lot of forced casting anyways, e.g. pulling objects from IndexedDB will always return any and it would have to be cast back to Encounter/PersistorEncounter. I looked at doing it in two steps, I can't recall off the top of my head but there were at least half a dozen eslint-disable comments required just for loading the encounter, let alone what would have been needed for the export/import functionality.
This was really less of a conversion and more of a rewrite of the functionality entirely that just happened to be going from js to ts.


Optimize TaskPools for use in static variables.

Objective
Fixes #11849. async_executor internally locks a Mutex each time it spawns and finishes a task. This adds a significant amount of overhead for any operation interacting with the task pools, even in single-threaded cases. For more information, see https://github.com/smol-rs/async-executor/pull/112.
Solution
Create a const-constructible version of TaskPool that uses StaticExecutor instead of Executor. Use it to back the static TaskPools instead. This also eliminates the OnceLock on trying to fetch the task pool as the a raw 'static borrow on the static variable can be returned without issue. This solution is loosely based on the work in #4740 to specialize a fork of async_executor for Bevy.
This is blocked on async_executor and concurrent_queue pushing new releases with the necessary changes.
TODO: This PR duplicates a huge amount of code currently due to the change in the lifetime requirements on self needed to use StaticExecutor's API.
TODO: The docs are still copied over from TaskPool and needs to be rewritten.
Performance
See the benchmarks in https://github.com/smol-rs/async-executor/pull/112. For both single threaded and multithreaded use cases, the overhead of launching, ticking, and finishing tasks is lower, potentially upwards of 9x lower in multithreaded cases under contention.
Future Work
To lower the overhead other use cases like scopes, the LocalExecutors and ThreadExecutors may also benefit from being replaced in this fashion too.

Changelog
TODO
Migration Guide
TODO

A quick test against many_foxes shows a notable improvement to the multithreaded executor, shaving up to 2/3s of the time spent in it.

This should be ready to go other than the blocking releases from async_executor and concurrent_queue. Took another look at the cumulative time savings in the multithreaded executor and it shows the savings much more visibly than the prior histogram:

Do you see much change in the actual frame time? The duplication of all the unsafety of Scope is really not great. If the improvement isn't measurable for the actual frame time, it's probably be better to wait until we can do it without the duplication.

With this PR, we could probably just remove and/or replace TaskPool as we do not actually rely on non-static usages of the types anymore, but that may break some other use cases in the ecosystem. I remember seeing some frame time improvements with many_foxes, albeit not the greatest gains due to already heavily optimizing our task usage. The main gains were from less overhead in launching a large number of small systems, and systems with internal parallelism like transform propagation or visibility checks.


Detection of unused parameter substitutions

At the moment the parameter substitution works silently. A placeholder (${VAR}) will be substituted with the corresponding parameter, if the parameter exists. When the parameter does not exist two things can happen: when the placeholder is the value of a boolean flag the parsing of the changeset fails and the migration aborts, when the placeholder is part of a string value it is not replaced and the migration continues silently.
It would be great when the usage of placeholders is more transparent. My suggestion is that the parameter replacement has two modes:

warning mode: the migration writes warnings in the log when a parameter for a placeholder is not set but continues the migration
error mode: the migration writes errors in the log when a parameter for a placeholder is not set and aborts the migration

In both modes the migration fails when a boolean value is not set correctly ("true" or "false")

Hello @sideisra thanks for opening this issue. I think I should be able to make an implementation proposal.

First thing i noticed was that, I have some implicit features in the environmet substitution I didn't document.
For the environment substitution I use the apache commons-text library specifically the class: StringSubstitutor, so for example you can give it default values with the ${undefinedValue:-1234} syntax (default value is after ":" )
Also you can use interpolation to resolve files or base64 etc but i would need to turn on string interpolation.

Released with version 0.1.38 please review :)


Hotfix/ls

This change is

Reviewed 3 of 3 files at r1.
Review status: all files reviewed at latest revision, 1 unresolved discussion.

byuSuite/Apps/LearningSuite/view/LearningSuite.storyboard, line 672 at r1 (raw file):

                                <nil key="highlightedColor"/>
                            </label>
                            <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" allowsSelection="NO" rowHeight="44" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="Jab-Zw-Vt3">

Revert this one

Comments from Reviewable

Review status: all files reviewed at latest revision, 1 unresolved discussion.

byuSuite/Apps/LearningSuite/view/LearningSuite.storyboard, line 672 at r1 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
Revert this one

Done.

Comments from Reviewable

Reviewed 1 of 1 files at r2.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

Review status: :shipit: all files reviewed at latest revision, all discussions resolved, all commit checks successful.

Comments from Reviewable


feat: expose icecandidateerror event

SPARK-536950
This PR introduces forwarding of IceCandidateError event. We would like to be able to use it in JS-SDK to have a metrics about most common ice gathering issues.
With typescript update to version > 5.0, cast would not be needed.

lgtm, but maybe we want to wait for the typescript upgrade?

Agree, created this PR just in case if we wouldn't want to upgrade typescript.


fix: update tween references after phaser bump

this fixed the tween errors, but I'm getting visual artifacts on the background image now. it's not the end of the world and I will ask in phaser discord if anyone else has gotten this.

seems to be related to zoom levels. i should just do the zoom hacks that ember does and this might go away.


PLATFORM-5537 update README quickstart and API code examples

update README quickstart and API code examples

This change is only to the README:  I will check the travis builds in another issue. This is GTG, thank you @jeffhoek


Python equivalent of sys.exit() in TagUI for early termination - this.exit();

Hi Ken,
In one of the use cases, we do not want the script to continue if the login is not successful.
In TagUI-Python, we can use sys.exit() to stop the entire robot.
What's your recommended way to achieve the same thing in TagUI?

There are a few ways to do this, depending which way is the best for your scenario.

Do a hover step right after the login steps, to check for a web element that will only be there if login is successful. When that element is not found after timeout, TagUI will exit with error. Use timeout step to change the timeout setting to be longer if required. Default is 10 seconds.

Use this.exit(); or js this.exit() to terminate TagUI automation script execution. There won't be the usual exit information such as total time taken for automation. But browser and integrations should close as usual.

Depending on the length of script, an if block could be used to check if login is successful (by checking presence of web element using present() function for eg), then do the remaining steps.

Use this.exit(); or js this.exit() to terminate TagUI automation script execution. There won't be the usual exit information such as total time taken for automation. But browser and integrations should close as usual.

This works for this use case.  A lot less coding.  Thanks!


Show 'total number of dojos' somewhere on home page

Adding them all up on the map is getting to be too much of a challenge, would be nice to see at a glance how many dojos there are around the world.

I can take a look at this -- it looks like the map already has a count of dojos grouped by location:

Is the goal to get the global count of dojos regardless of location on the home page as well?

Hey @howardjing Yes, the idea would be to have a directive displaying a counter of dojo.
I know we already have a counter used on poll (look for poll-counter) but you may be able to do something fancier :)

I wasn't able to get to this this weekend. I might be able to try again next weekend, but no guarantees. I'd imagine a solution would involve creating a dojo counter in cp-dojos-service, but a front end only solution might involve computing the count from the result of the by-country endpoint:
_.values(dojos).reduce((sum, list) => sum + list.length, 0)

I've noticed that the by-country endpoint takes several seconds to load, so this solution isn't great.  Not sure if there's a more relevant endpoint.

The map "tab" loads api/2.0/dojos which returns the list of dojos that are then displayed on the map.
Either reusing this result.length or making a separate endpoint to just return the count in pure SQL would be a better idea (I think) :)


[Feature request] Insert related elements

I have the following feature request:

I would like to have the possibility to insert elements to a view that are related to an element selected (e.g. when right clicking). This is a function I experienced in Sparx EA and had proven very usefull in more than one occasion. The function in EA also had the opportunity to filter by layer and by depth of the relations.

Kind regards, Bart

I agree, this would come in very handy and streamline the modeling process a lot.

+1
This is the one feature i'm missing when I switched from an other (commercial) archimate tool.

Hi,
Well, in fact you've been able to do it for a long time:
If you have the Navigator panel opened and have selected an element in a View, then you can drag&drop related elements from the Navigator to the View, which will lead to add the Element and the relation to the view.
Same is also possible from the Analysis tab of the Properties panel.
Regards,
JB


Redo pypy tp flags

After testing #4509 on PyPy3.8, it became clear that I messed up the condition: PY_VERSION_HEX > 0x03080000 should have been PY_VERSION_HEX >= 0x03090000 since the intention was to match a future PyPy3.9 build and not match any PyPy3.8 build (which of course has PY_VERSION_HEX == 0x03081200.
Along the way, the next release of PyPy will change a non-compatible AttributeError into a TypeError.
Also PyPy 3.8 cleans up a singular/plural error message.
def f(a, b, /):
    pass

When calling f(3, b=4) CPython emits

TypeError: f() got some positional-only arguments passed as keyword arguments: 'b'

while PyPy emits

TypeError: f() got a positional-only argument passed as keyword argument: 'b'

For f(a=3, b=4), both implementations emit

TypeError: f() got some positional-only arguments passed as keyword arguments: 'a, b'

LGTM. Is this ready or do you expect more changes to come?

I think this is good to go, thanks. It seems to pass locally for both PyPy HEAD and the latest release (the one in the CI here).

Picked for 0.29.x in https://github.com/cython/cython/commit/29ad96444b8b1a4f05a6ac2328fde01de4782691

Thanks


Problem with certificate in route sinced a changed has been made in cert-manager

We opened an issue to jetstack guy, about a changed they've made recently in cert-manager.
See our case : https://github.com/cert-manager/cert-manager/issues/4829.
Problem since we upgrade from cert-manager 1.2.0 to 1.6.1
To make a short story, root ca is not available anymore in tls.crt in the output secret generated by cert-manager, only sub ca.  In our case, to make it work, we need root ca or full chain (root & sub).
When the route is call, the client (aws api gateway) ask that there is a root ca at then end and it's not the case.
If we had the annotation inject-CA: 'True' in the route, we have root ca in caCertificate section and sub ca in certificate section (root and sub are split / not together full chain) and it does not work either.
Do you plan a change to adapt to this change made by cert-manager ?

If we had the annotation inject-CA: 'True' in the route, we have root ca in caCertificate section and sub ca in certificate section (root and sub are split / not together full chain) and it does not work either.
I don't understand the above statement. If you don't have the root CA in
the ca.crt field from cert-manager, setting inject-CA to true should
either fail or not do anything. but certainly you should not end up with a
double root ca (which you stated you don't have to begin with).
To my understanding cert-manage will put the root ca in the tls.crt file
for certain cert providers and not populate the ca.crt field. For those
situations you should set inject-CA to false.
On Wed, Feb 16, 2022 at 11:11 AM whitelion-github @.***>
wrote:

We opened an issue to jetstack guy, about a changed they've made recently
in cert-manager.
See our case : cert-manager/cert-manager#4829
https://github.com/cert-manager/cert-manager/issues/4829.
Problem since we upgrade from cert-manager 1.2.0 to 1.6.1
To make a short story, root ca is not available anymore in tls.crt in the
output secret generated by cert-manager, only sub ca. In our case, to make
it work, we need root ca or full chain (root & sub).
When the route is call, the client (aws api gateway) ask that there is a
root ca at then end and it's not the case.
If we had the annotation inject-CA: 'True' in the route, we have root ca
in caCertificate section and sub ca in certificate section (root and sub
are split / not together full chain) and it does not work either.
Do you plan a change to adapt to this change made by cert-manager ?
—
Reply to this email directly, view it on GitHub
https://github.com/redhat-cop/cert-utils-operator/issues/119, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABPERXCUMH5CS7PELXOAIW3U3PEDDANCNFSM5OSCFRUQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

--
ciao/bye
Raffaele

I will go, with a concrete example of my config and my route with cert-manager 1.6.1
kind: route
annotations:
cert-utils-operator.hydroquebec.com/certs-from-secret: cert-secret
cert-utils-operator.hydroquebec.com/destinationCA-from-secret: cert-secret
kind: secret cert-secret  (secret created by cert-manager)
[ca.crt]
root ca
[tls.crt]
signed certificate
sub ca
final route populate by cert-util-operator
tls:
certificate:
public cert
sub cert (in earlier version 1.22, root was also here = full chain)
key:
private key
destinationCACertificate:
sub cert
Before change, tls.crt had ful chain (cert + root + sub) and populate certifiacte of my route.  Now, it's not the case.  Whatever I do, I will never be able to have full chain.
If I had annotation inject-CA: 'True', it will had
tls :
...
caCertificate in my route with only the root ca.  Since the root ca and the sub are separate, it does not work either.

I will go, with a concrete example of my config and my route with cert-manager 1.6.1
kind: route
annotations:
cert-utils-operator.hydroquebec.com/certs-from-secret: cert-secret
cert-utils-operator.hydroquebec.com/destinationCA-from-secret: cert-secret
kind: secret cert-secret  (secret created by cert-manager)
[ca.crt]
root ca
[tls.crt]
signed certificate
sub ca
final route populate by cert-util-operator
tls:
certificate:
public cert
sub cert (in earlier version 1.22, root was also here = full chain)
key:
private key
destinationCACertificate:
sub cert
Before change, tls.crt had ful chain (cert + root + sub) and populate certifiacte of my route.  Now, it's not the case.  Whatever I do, I will never be able to have full chain.
If I had annotation inject-CA: 'True', it will had
tls :
...
caCertificate in my route with only the root ca.  Since the root ca and the sub are separate, it does not work either.

Hope you'll understand the explanation.

The point is how can you polulate the fullchain (root/sub) together by using cert-util-operator if cert-manager secret separate root and sub.

I understand the point, I don't understand the issue still.
Let's start from the beginning, do you get the ca.crt from cert-manager?
if so, do you set the inject-CA to true?

Yes we got the ca.crt (containing only public root cert)
With cert-manager 1.2.0 we were not using inject-CA annotation because full chain certificate were avalaible in tls.crt, so we were ok using only certs-from-secret annotation.  In the route, we add the complete chain in certificate section.
It's not the case anymore.
Use annotation inject-CA to true does not solve the probleme because, the sub and the root are separated.
kind: route
certificate (populate using certs-from-secret annotation)
signed certificate
sub
caCertificate (populate using inject-CA annotation)
root

Use annotation inject-CA to true does not solve the problem because, the sub and the root are separated.
This shouldn't be the case, my understanding is that the route should present a certificate that is the merge of the ca.crt and tls.crt. You are basically saying that the ca.crt is being ignored, correct?
Then what configuration would work for you? This sounds more like a OCP issue than cert-utils. What version of OCP do you have?

You're right, ca.crt et tls.crt is a merge of the signe certificate with it's CA.  The CA chain must stay together.
I should have in ocp route, sub and root in the same definition block under tls.   The merge of certificate block (signed certificate) and caCertificate block with root and sub is working if I manually provision the route.
But I can't explain why the merge of the certificate block with sub and caCertificate block with root don't gives a good configuration.  I think sub and root must stay together, it's a chain, it makes sense to keep it together.
As I say, we need to find a way to get sub&root as a chain in the same route definition block.
If I go further, why ca.crt does not contain both ca & sub certificate and tls.crt only signed certificate ?  It would solve the problem.  A question I should asked to jetstack team.
OCP : 4.8

How we succeeded to solve this issue.  We fork the cert-util-operator code to manipulate certificate in the route.  We now always use inject-CA : true in our route.  The new code remove intermediate (sub) ca from "certificate" section.  After, it copy this certificate in "caCertificate" where we already have root certificate, so we can have the two certificates (ca and sub) together.  Works this way.


Feat: support standalone style multi-cluster

Description of your changes

Several features are supported in this PR:

ref-objects typed component: User can refer external objects as the component to be applied. This can be useful if user want to promote resources in staging cluster to production cluster. Both name and labelSelector are supported as follows.

apiVersion: core.oam.dev/v1beta1
kind: Application
metadata:
  name: podinfo
  namespace: demo
spec:
  components:
    - name: podinfo
      type: ref-objects
      properties:
        objects:
          - apiVersion: apps/v1
            kind: Deployment
            name: podinfo
          - apiVersion: v1
            kind: ConfigMap
            selector:
              app: podinfo

new multi-cluster policy and workflow step: The new topology policy, override policy and deploy WorkflowStep reworks the original env-binding policy and deploy2env WorkflowStep. The advantages of the new policies includes

Better decouple of configuration override and cluster specification. Configuration override can be split into different parts and references by deploy WorkflowStep concurrently.
Cluster specification supports select clusters by labels. (But do not support namespace in this PR, which will be implemented soon.)

Notice that previous env-binding policy requires traits in patch need to be pre-declared in the original base component but now this is not required.

See examples with the external policy & workflow in the next section.

external policy & workflow: Users can write policy and workflow spec outside application as individual objects and reference them in application spec (can be used combined with policies inside application) as follows.

apiVersion: core.oam.dev/v1beta1
kind: Application
metadata:
  name: podinfo
  namespace: demo
spec:
  components:
    - name: podinfo
      type: ref-objects
      properties:
        objects:
          - apiVersion: apps/v1
            kind: Deployment
            name: podinfo
  policies:
    - type: topology
      name: topology-beijing
      properties:
        clusters: ["beijing-1"]
  workflow:
    ref: deploy-podinfo
---
apiVersion: core.oam.dev/v1alpha1
kind: Workflow
metadata:
  name: deploy-podinfo
  namespace: demo
steps:
  - type: deploy
    name: deploy-beijing
    properties:
      policies: ["topology-beijing"]
  - type: deploy
    name: deploy-us-west
    properties:
      auto: false
      policies: ["override-high-availability", "topology-us-west"]
---
apiVersion: core.oam.dev/v1alpha1
kind: Policy
metadata:
  name: override-high-availability
  namespace: demo
type: override
properties:
  components:
    - name: podinfo
      traits:
      - type: scaler
        properties:
          replicas: 5
---
apiVersion: core.oam.dev/v1alpha1
kind: Policy
metadata:
  name: topology-us-west
  namespace: demo
type: topology
properties:
  clusterSelector:
    region: us-west

admission control for dispatching resources: Now KubeVela controller can set two admission check during dispatching resources. One is namespace check and the other is resource type check.

If --allow-cross-namespace-resource=false is added to KubeVela controller bootstrap parameters, resources outside the application's namespace will be forbidden.
If --allow-resource-types=whitelist:Deployment.v1.apps,ConfigMap.v1 is added to KubeVela controller bootstrap parameters, only Deployment and ConfigMap can be dispatched.
If --allow-resource-types=blacklist:Deployment.v1.apps,ConfigMap.v1 is added to KubeVela controller bootstrap parameters, Deployment and ConfigMap will not be able to dispatch.

extension to cue patch: Currently, the patch for cue values can override existing field only if patchStrategy=retainKeys be declared on this field. This will make recursive override hard. This PR support a new strategy named open, which indicates that all fields can be overrode. Examples like patch trait (which can be used in override policy) is as follows

patch: {
	type: "trait"
	annotations: {}
	labels: {}
	description: "Patch the output directly."
	attributes: {
		podDisruptive: true
		appliesToWorkloads: ["*"]
	}
}
template: {
	parameter: {...}
	// +patchStrategy=open
	patch: parameter
}

Minor changes: Previous PolicyDefinition uses the short name of policy, which is conflict with the new external policy CRD. Change it to def-policy.
I have:

[x] Read and followed KubeVela's contribution process.
[ ] Related Docs updated properly. In a new feature or configuration option, an update to the documentation is necessary.
[x] Run make reviewable to ensure this PR is ready for review.
[ ] Added backport release-x.y labels to auto-backport this PR if necessary.

How has this code been tested

Special notes for your reviewer

是否考虑保留原来policy里component selector的功能呢，比如在一个workflowstep中只想选中单个component部署到cluster1、cluster2，而不是将所有component一块部署

是否考虑保留原来policy里component selector的功能呢，比如我要在一个workflowstep中只想选中部分component部署到cluster1、cluster2，而不是一块将所有component一块部署，

是否考虑保留原来policy里component selector的功能呢，比如在一个workflowstep中只想选中单个component部署到cluster1、cluster2，而不是将所有component一块部署

有的，这个能力保留了，这个 Override Policy 本质上就是原来 EnvBinding 的 Patch，底层是一致的。

是否考虑保留原来policy里component selector的功能呢，比如在一个workflowstep中只想选中单个component部署到cluster1、cluster2，而不是将所有component一块部署

有的，这个能力保留了，这个 Override Policy 本质上就是原来 EnvBinding 的 Patch，底层是一致的。

我的意思是，EnvBinding里placement是否支持component selector呢，也就是通过placement指定某个集群，通过component selector选择某一个组件，


autocommit flag

Dear developers
AutoCommitIntervalMs allows to set interval for auto commit.
What about a case when handling failed we want to retry, could it be possible to set auto commit to false in some way?

Thank you for the suggestion, Let me investigate it.

@TsuyoshiUshio - The current default value is 5sec as per librdkafka configuration. Does this mean any consumer must be able to process the message (Say batch size is 64) tin 5 sec to avoid data loss?

Hello @TsuyoshiUshio
any timeline on this enhancement? We also have a need for functionality where to read the same message again if it failed in any way while processing.
Thanks

Probably, most of the case, we don't need to set auto commit to false.  We have Retry policy https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-error-pages?tabs=csharp#retry-policies-preview. Combined with this retry policy, what happens is,

Kafka Extension read the messages from a broker
Try Execute your function, if it throws exception, it will replay according to the Retry Policy. However, just repeat 2. Once success or reach the threshold, go on to step 3.
Execute Store Offset. https://docs.confluent.io/clients-confluent-kafka-dotnet/current/overview.html#store-offsets
Librdkafka will auto-commit in background only the Store Offset is committed.

So that most of the case, message loss doesn't happen. If the functions host is dead between 3 and 4, I could happen. However, if we make it Auto commit as false and do Synchronous commit strategy, we can reduce the risk, however, it will impact the throughput.
So that IMO, we don't need the Auto commit.  However, if you guys really need, our extension has extension part of the Commit Strategy, the implementation is not very difficult for Synchronous commit.

Thanks for replying..
If in step 2 , we are unable to process the message because of any reason
maybe message is bad or application error, we dont want that message to
commit if retry also exhausted, so what should be done to stop commit of
that message?
On Sat, Jul 10, 2021 at 7:10 PM Tsuyoshi Ushio @.***>
wrote:

Probably, most of the case, we don't need to set auto commit to false. We
have Retry policy
https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-error-pages?tabs=csharp#retry-policies-preview.
Combined with this retry policy, what happens is,

Kafka Extension read the messages from a broker
Try Execute your function, if it throws exception, it will replay
according to the Retry Policy. However, just repeat 2. Once success or
reach the threshold, go on to step 3.
Execute Store Offset.
https://docs.confluent.io/clients-confluent-kafka-dotnet/current/overview.html#store-offsets
Librdkafka will auto-commit in background only the Store Offset is
committed.

So that most of the case, message loss doesn't happen. If the functions
host is dead between 3 and 4, I could happen. However, if we make it Auto
commit as false and do Synchronous commit strategy, we can reduce the risk,
however, it will impact the throughput.
So that IMO, we don't need the Auto commit. However, if you guys really
need, our extension has extension part of the Commit Strategy, the
implementation is not very difficult for Synchronous commit.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Azure/azure-functions-kafka-extension/issues/183#issuecomment-877715322,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AH4RTPQUCZAINP63ZLS2UXTTXDHPHANCNFSM4SQRBM4Q
.

@TsuyoshiUshio
Thanks for replying..
If in step 2 , we are unable to process the message because of any reason
maybe message is bad or application error, we dont want that message to
commit if retry also exhausted, so what should be done to stop commit of
that message and further processing?
Thanks

Through the discussion, what you want is, the feature that is not commit if the exception thrown, right?
It is possible, however, currently we are designing the exception handling as the same as EventHubs extension. https://docs.microsoft.com/en-us/azure/azure-functions/functions-reliable-event-processing#how-azure-functions-consumes-event-hubs-events
I need to discuss with @apawast .  What do you think?

@TsuyoshiUshio
Yes, this is correct. If there is an exception we dont want to commit and halt the process.
it is very imp feature for our implementation. Please let us know the feasibility of implementation and when you think can be implemented.
thanks

@TsuyoshiUshio - any update on this?

I am having similar problem. Nothing good comes out from Retry Policy, it's just counting on a successful processing on a 2nd or 3th try. If it doesn't happen, we still have no way to suppress committing offset and we lose a message.
I've investigated a bit and it seems like the only way for now to make use of such feature is to use Confluent.Kafka package directly and setup Consumer manually.
We'd sure appreciate Commit() method access and EnableAutoCommit flag within trigger options.

We use ExponentialBackoffRetry with maxRetryCount=-1
That way we do not loose any messages, since it will retry indefinitely if an exception occurs.
Nevertheless, it would be nice if we could prevent the extension from calling StoreOffset for use-cases where we need to delay the processing of messages further and only want to commit them after processing has finished. We would then call storeOffset manually. What we need would be the equivalent behavior of kafka-dotnet when
    EnableAutoCommit = true // (the default)
    EnableAutoOffsetStore = false

as described here: https://docs.confluent.io/kafka-clients/dotnet/current/overview.html#store-offsets
@TsuyoshiUshio , you mention that it is possible to extent the behavior of the extension in that regard? Can you point me to where to start?


obtain attention matrices during inference, similar to the output_attentions=True parameter in the transformers package

I'd like to propose a new feature for Ollama: the ability to access attention matrices and/or the KV-Cache during model inference. This functionality is similar to what's available in the Hugging Face Transformers library, where users can set output_attentions=True or access past_key_values.

This is more likely a feature request for llama.cpp.

This is more likely a feature request for llama.cpp.

OK, thanks


Still getting no route errors on production server

I am trying to get rid of routing errors on my production server..and tried your gem, but I still get this routing error...
ActionController::RoutingError (No route matches [GET] "/apple-touch-icon-152x152.png"):

I added quiet_safari to my gemfile.  Is there anything else I need to do?
Thanks for writing a gem that will hopefully get rid of the frustrating apple touch icon errors!

Submitted PR #2 which fixes this issue.


Update slo.yml

I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=en

Pull request type

Please check the type of change your PR introduces:

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Documentation content changes
[ ] Other (please describe):

What is the current behavior?

Issue Number: N/A
What is the new behavior?

Other information

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 38.45%. Comparing base (c6a7a8b) to head (a944294).

Additional details and impacted files
@@             Coverage Diff             @@
##           master    #1113       +/-   ##
===========================================
- Coverage   67.06%   38.45%   -28.62%
===========================================
  Files         286      285        -1
  Lines       28266    28130      -136
===========================================
- Hits        18956    10816     -8140
- Misses       8423    16909     +8486
+ Partials      887      405      -482

Flag
Coverage Δ

?

go-1.21.x
39.70% <ø> (-28.87%)
:arrow_down:

go-1.22.x
38.42% <ø> (-28.62%)
:arrow_down:

integration
?

macOS
?

ubuntu
38.45% <ø> (-0.03%)
:arrow_down:

unit
38.45% <ø> (-0.06%)
:arrow_down:

windows
?

ydb-23.3
?

ydb-24.1
?

Flags with carried forward coverage won't be shown. Click here to find out more.

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


Comment and suggestion.

One particular problem that one faces very often in the gpu programming is the serialization and types for constant buffers and structures across c++ and hlsl, which takes enourmous amount of time and mostly looks the same code.
Floats, Float4, Float2, uint32_ts gather from the cpu, computed the offsets, etc. Textures is the same.
Ideally I would like to have a language that i describe the parameters and it generates c++ and hlsl code for reading and writing, so i can benefit of static type system.
It is not connected particularly to the parser, but just in case. Since you did quite good job on the allocators.

Thank you for the suggestion. I also think that such tool would be very useful.
However, this is out of scope of this project. MinScriptLang is a dynamically typed scripting language and has nothing to do with GPUs or shaders.


Other (chores)

[x] Benchmarking for:

Jumplink Manager (refer)
404 event to jumplink event (approx. 0.03 to 0.05s) - FastRoute is really quick, so it’ll never go higher than 0.1s (from my experience).

[x] Version-check to verify for PW 2.8.x+ or 3.0.43+
[ ] Version-check to verify MySQL >= 5.5 (maybe 5.6, but 5.5 is still supported on common OSes)
[ ] Version check to verify PHP >= 5.6.4

Extracted from #14:
Benchmarking
Benchmarks will be performed on 250, 500, and 1000 jumplinks. The latter two are not really necessary as the wise use of the module (best combination of dynamic jumplinks, collections, and selectors) will increase performance on large installations. As a side note, FastRoute has already shown a performance increase, but all of this still needs to be benchmarked.
Update 2016/09/28: Prelim-benchmarks show that the page loading speed has increased two-fold due to the use of DataTables. This is mostly apparent on large data-sets (6000 jumplinks tested), of course. All-in-all, however, v2 feels a lot snappier at present. Also, the use of FastRoute has made redirects much quicker, especially on large datasets.

Closed as this issue and related project board is over at Gitlab.


Allowed Extension Target Level is set to OnPrem is not available in BC130

Allowed Extension Target Level is set to OnPrem is not available in BC130

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 8497fb5b-00c8-6346-941f-ebc4ee762aa5
Version Independent ID: 502ddf94-207b-7eaf-680f-900ad8198681
Content: Getting Started with C/SIDE and AL Side-By-Side for On-Premises - Business Central
Content Source: dev-itpro/developer/devenv-get-started-al-for-onprem.md
Service: dynamics365-business-central
GitHub Login: @SusanneWindfeldPedersen
Microsoft Alias: solsen

That's true - the topic reflects the latest version. For BC130 you must use Internal. Thanks.


Enable JSON object type to proxy for workload parameter in scenario API

Presently, nb5 allows for workload content to be passed as yaml, json, and jsonnet files. All of the CLI scripting forms handle this fine. The APIs have matured quite enough to allow for direct data-structure based activity definitions to work. This means that programmatic construction of workload and op templates can be enabled.
All that is remaining for this to occur is type-identification logic on the appropriate methods in ScenarioController. For map-based activity definitions, if a field named workload is provided and it is a map itself, it can be piped directly through the op template loading logic and continue on as if it were from a file.

This should be handled more uniformly with #1993.


Adding trignometric angle values for particular angles

I would like values of specific angle like 18 degree, 36degree...and many more which are used very frequently and one should remember those value.
Please assign this issue to me.

@sairish2001 Can I work on this issue?

Go ahead
Feel free to ask your doubts,if any
Deadline 27 March,2021 (11:59 PM IST)

@sairish2001 I have created the PR. Kindly review it.


Arc end_angle should be renamed to span_angle

After scratching my head for a while, I found out that the end_angle field in iced::widget::canvas::path::arc::Arc is not the angle where the end of the arc lies. It is actually the span of the arc.
In other words, the end of the arc lies at start_angle + end_angle. The field end_angle should be renamed to something like span_angle to prevent confusion.
https://docs.rs/iced/0.1.1/iced/widget/canvas/path/struct.Arc.html

If I may, I believe it's as simple as
// graphics/src/widget/canvas/path/builder.rs
@@ -84,7 +84,7 @@ impl Builder
- sweep_angle: math::Angle::radians(arc.end_angle),
+ sweep_angle: math::Angle::radians(arc.end_angle - arc.start_angle),

I've checked that all other uses of end_angle (2 in total) are correct:
// graphics/src/widget/canvas/path/builder.rs
impl From<Arc> for Elliptical {
    fn from(arc: Arc) -> Elliptical {
        Elliptical {
            // fields omitted
            end_angle: arc.end_angle,   // line 41
        }
    }
}

and miraculously, the one other place where end_angle is used also needs no change (which perhaps explains why it went unnoticed)
// graphics/src/widget/canvas/path/builder.rs
#[inline]
pub fn circle(&mut self, center: Point, radius: f32) {
    self.arc(Arc {
        center,
        radius,
        start_angle: 0.0,
        end_angle: 2.0 * std::f32::consts::PI   // line 157
    });
}

Seeing that this is labeled good first issue, I assume it's okay for a beginner like me to open a pull request ?

@Vanille-N Sounds good! By all means, feel free to open a PR.


[WIP ]Allow iterators to return current position for {{#each-in}} support

In the opcodes/lists.ts positional params only takes PathReferences. Not entirely sure if I should convert it to take any kind of reference, or if my casting to  is acceptable.

This looks like it will fix {{#each}} as well.

Yea, not 100% sure where I should add tests for this tbh; could use some direction there

@Joelkang Are you implementing each-in in glimmer or Ember? This might be a question for @wycats. You can probably add the tests here https://github.com/tildeio/glimmer/blob/master/packages/glimmer-runtime/tests/updating-test.ts or a better idea may be to make a new file in the runtime tests for this feature.

I'm implementing it in ember but this is a prerequisite for that. I
actually already have an ember prototype but let me verify with test before
I throw up a PR. Will write tests for this in the meanwhile; thanks for the
pointer
On Friday, May 6, 2016, Chad Hietala<EMAIL_ADDRESS>wrote:

@Joelkang https://github.com/Joelkang Are you implementing each-in in
glimmer or Ember? This might be a question for @wycats
https://github.com/wycats. You can probably add the tests here
https://github.com/tildeio/glimmer/blob/master/packages/glimmer-runtime/tests/updating-test.ts
or a better idea may be to make a new file in the runtime tests for this
feature.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/tildeio/glimmer/pull/166#issuecomment-217585051

--
Cheers,
Joel

Looks like this just failed because of the typescript version being unpinned.  I submitted a fix https://github.com/tildeio/glimmer/pull/169

Great work!
Some suggestions:
As you have identified, the second arg is used for more than just "position"s. I think we should just call it something more generic. I think it would be a good idea to make that a generic "memo" slot that the iterator can use to yield additional information to the template.
The public contract (that Ember uses) becomes:
export interface IterationItem<T, U> {
  key: string;
  value: T;
  memo: U;
 }

export interface AbstractIterator<T, U, V extends IterationItem<T, U>> {
  isEmpty(): boolean;
  next(): V;
}

export interface AbstractIterable<T, U, ItemType extends IterationItem<T, U>, ValueReferenceType extends PathReference<T>, MemoReferenceType extends PathReference<U>> {
  iterate(): AbstractIterator<T, ItemType>;

  valueReferenceFor(item: ItemType): ValueReferenceType;
  updateValueReference(reference: ValueReferenceType, item: ItemType);

  memoReferenceFor(item: ItemType): MemoReferenceType;
  updateMemoReference(reference: MemoReferenceType, item: ItemType);
}

This allows Ember's iterator to yield whatever it needs for the second arg (and use whatever reference types it sees fit). As far as Glimmer is concerned, it's just another opaque value we pass along to the template.
Once you have that, the rest should just fall into place with relatively little changes.

@chancancode  @krisselden updated per your comments

This is awesome. Very happy with the way it is factored! 💯
(Also, thank you for taking the time to write those tests, really appreciate it!)


runtime: send on channel panics with "unexpected signal during runtime execution"

What version of Go are you using (go version)?
go version go1.8 windows/amd64
x86_64-w64-mingw32-gcc (GCC) 5.4.0
What operating system and processor architecture are you using (go env)?
set GOARCH=amd64
set GOBIN=
set GOEXE=.exe
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=C:\repos\winio-zstd-panic-clone
set GORACE=
set GOROOT=C:\Go
set GOTOOLDIR=C:\Go\pkg\tool\windows_amd64
set GCCGO=gccgo
set CC=gcc
set GOGCCFLAGS=-m64 -mthreads -fmessage-length=0 -fdebug-prefix-map=C:\cygwin\tmp\go-build164083627=/tmp/go-build -gno-record-gcc-switches
set CXX=g++
set CGO_ENABLED=1
set PKG_CONFIG=pkg-config
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2

What did you do?

Have a working Go + CGO environment on Windows (here i use mingw-w64).

Install test case: go get github.com/mappu/winio-zstd-panic/src/winio-zstd-panic

Run a few times: $GOPATH/bin/winio-zstd-panic - the bug happens maybe 1/10 executions on my machine (Intel i5 6400).

What did you expect to see?
******************************
client: making connection...

client: connected

server: recieved signal, shutting down

What did you see instead?
******************************
client: making connection...
fatal error:
client: connected
unexpected signal during runtime execution
[signal 0xc0000005 code=0x0 addr=0xffffffffffffffff pc=0x40e395]

goroutine 18 [running]:
runtime.throw(0x4fd587, 0x2a)
        C:/Go/src/runtime/panic.go:596 +0x9c fp=0xc042083e08 sp=0xc042083de8
runtime.sigpanic()
        C:/Go/src/runtime/signal_windows.go:155 +0x18b fp=0xc042083e38 sp=0xc042083e08
runtime.lock(0x24749f73771afe8f)
        C:/Go/src/runtime/lock_sema.go:43 +0x65 fp=0xc042083e70 sp=0xc042083e38
runtime.chansend(0x4cf380, 0x24749f73771afe37, 0xc042083fb0, 0xc042083f01, 0x4b64fa, 0xc042083f9c)
        C:/Go/src/runtime/chan.go:176 +0xba fp=0xc042083f20 sp=0xc042083e70
runtime.chansend1(0x4cf380, 0x24749f73771afe37, 0xc042083fb0)
        C:/Go/src/runtime/chan.go:113 +0x4d fp=0xc042083f60 sp=0xc042083f20
github.com/Microsoft/go-winio.ioCompletionProcessor(0x1c8)
        C:/repos/winio-zstd-panic/src/github.com/Microsoft/go-winio/file.go:133 +0xea fp=0xc042083fd8 sp=0xc042083f60
runtime.goexit()
        C:/Go/src/runtime/asm_amd64.s:2197 +0x1 fp=0xc042083fe0 sp=0xc042083fd8
created by github.com/Microsoft/go-winio.initIo
        C:/repos/winio-zstd-panic/src/github.com/Microsoft/go-winio/file.go:57 +0x87

goroutine 1 [runnable]:
main.main()
        C:/repos/winio-zstd-panic/src/github.com/mappu/winio-zstd-panic/src/winio-zstd-panic/main.go:112 +0xcd

goroutine 17 [syscall, locked to thread]:
runtime.goexit()
        C:/Go/src/runtime/asm_amd64.s:2197 +0x1

goroutine 5 [select]:
github.com/Microsoft/go-winio.(*win32PipeListener).listenerRoutine(0xc042030070)
        C:/repos/winio-zstd-panic/src/github.com/Microsoft/go-winio/pipe.go:269 +0x4e9
created by github.com/Microsoft/go-winio.ListenPipe
        C:/repos/winio-zstd-panic/src/github.com/Microsoft/go-winio/pipe.go:352 +0x2ec

goroutine 6 [chan receive]:
github.com/Microsoft/go-winio.(*win32PipeListener).Accept(0xc042030070, 0x0, 0x0, 0x0, 0x0)
        C:/repos/winio-zstd-panic/src/github.com/Microsoft/go-winio/pipe.go:373 +0x120
main.(*Terminator).worker(0xc04200c400)
        C:/repos/winio-zstd-panic/src/github.com/mappu/winio-zstd-panic/src/winio-zstd-panic/main.go:39 +0x3a
created by main.NewTerminator
        C:/repos/winio-zstd-panic/src/github.com/mappu/winio-zstd-panic/src/winio-zstd-panic/main.go:34 +0x141

goroutine 19 [chan receive]:
github.com/Microsoft/go-winio.(*win32File).asyncIo(0xc042074050, 0xc042078060, 0x0, 0xc000000000, 0x0, 0x0, 0x5bc4a0, 0xc042088000, 0x0, 0x0, ...)
        C:/repos/winio-zstd-panic/src/github.com/Microsoft/go-winio/file.go:167 +0x24d
github.com/Microsoft/go-winio.connectPipe(0xc042074050, 0x0, 0x0)
        C:/repos/winio-zstd-panic/src/github.com/Microsoft/go-winio/pipe.go:362 +0xc1
github.com/Microsoft/go-winio.(*win32PipeListener).listenerRoutine.func1(0xc042072060, 0xc042076000)
        C:/repos/winio-zstd-panic/src/github.com/Microsoft/go-winio/pipe.go:267 +0x35
created by github.com/Microsoft/go-winio.(*win32PipeListener).listenerRoutine
        C:/repos/winio-zstd-panic/src/github.com/Microsoft/go-winio/pipe.go:268 +0x286

goroutine 20 [runnable, locked to thread]:
syscall.Syscall(0x7ffb78294620, 0x1, 0x1cc, 0x0, 0x0, 0xc04216e080, 0xc042019900, 0x2)
        C:/Go/src/runtime/syscall_windows.go:163 +0x6b
syscall.GetFileType(0x1cc, 0x428ea5, 0xc000000008, 0xc04216e080)
        C:/Go/src/syscall/zsyscall_windows.go:756 +0x6b
syscall.Seek(0x1cc, 0x0, 0x1, 0x1001, 0x101000000001000, 0x0)
        C:/Go/src/syscall/syscall_windows.go:349 +0x57
os.(*File).pread(0xc042076008, 0xc042280000, 0x1000, 0x1000, 0x0, 0x0, 0x0, 0x0)
        C:/Go/src/os/file_windows.go:298 +0xc8
os.(*File).ReadAt(0xc042076008, 0xc042280000, 0x1000, 0x1000, 0x0, 0x1000, 0xc042276c00, 0x929)
        C:/Go/src/os/file.go:120 +0xba
main.start_workload_simulator.func1(0xc042072120)
        C:/repos/winio-zstd-panic/src/github.com/mappu/winio-zstd-panic/src/winio-zstd-panic/main.go:78 +0x10e
created by main.start_workload_simulator
        C:/repos/winio-zstd-panic/src/github.com/mappu/winio-zstd-panic/src/winio-zstd-panic/main.go:93 +0x46

This test case creates a win32 named pipe; performs some background work; and then connects to the named pipe. But for some reason, connecting to the named pipe causes a panic within Golang's channel / signal handling.
This test case depends on both (A) a third-party Windows library, and (B) a third-party CGO library. I did report this issue to the vendor of A as https://github.com/Microsoft/go-winio/issues/41 but, the more i look at the panic trace, i think the issue is with Golang's runtime (apologies in advance if that's wrong).

Almost certainly a data race. Have you tested your application with the
race detector.
On Thu, 9 Mar 2017, 12:55 mappu<EMAIL_ADDRESS>wrote:

What version of Go are you using (go version)?
go version go1.8 windows/amd64
x86_64-w64-mingw32-gcc (GCC) 5.4.0
What operating system and processor architecture are you using (go env)?
set GOARCH=amd64
set GOBIN=
set GOEXE=.exe
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=C:\repos\winio-zstd-panic-clone
set GORACE=
set GOROOT=C:\Go
set GOTOOLDIR=C:\Go\pkg\tool\windows_amd64
set GCCGO=gccgo
set CC=gcc
set GOGCCFLAGS=-m64 -mthreads -fmessage-length=0 -fdebug-prefix-map=C:\cygwin\tmp\go-build164083627=/tmp/go-build -gno-record-gcc-switches
set CXX=g++
set CGO_ENABLED=1
set PKG_CONFIG=pkg-config
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
What did you do?

Have a working Go + CGO environment on Windows (here i use mingw-w64).
2.
Install test case: go get
github.com/mappu/winio-zstd-panic/src/winio-zstd-panic
3.
Run a few times: $GOPATH/bin/winio-zstd-panic - the bug happens maybe
1/10 executions on my machine (Intel i5 6400).
What did you expect to see?

client: making connection...
client: connected
server: recieved signal, shutting down
What did you see instead?

client: making connection...
fatal error:
client: connected
unexpected signal during runtime execution
[signal 0xc0000005 code=0x0 addr=0xffffffffffffffff pc=0x40e395]
goroutine 18 [running]:
runtime.throw(0x4fd587, 0x2a)
C:/Go/src/runtime/panic.go:596 +0x9c fp=0xc042083e08 sp=0xc042083de8
runtime.sigpanic()
C:/Go/src/runtime/signal_windows.go:155 +0x18b fp=0xc042083e38 sp=0xc042083e08
runtime.lock(0x24749f73771afe8f)
C:/Go/src/runtime/lock_sema.go:43 +0x65 fp=0xc042083e70 sp=0xc042083e38
runtime.chansend(0x4cf380, 0x24749f73771afe37, 0xc042083fb0, 0xc042083f01, 0x4b64fa, 0xc042083f9c)
C:/Go/src/runtime/chan.go:176 +0xba fp=0xc042083f20 sp=0xc042083e70
runtime.chansend1(0x4cf380, 0x24749f73771afe37, 0xc042083fb0)
C:/Go/src/runtime/chan.go:113 +0x4d fp=0xc042083f60 sp=0xc042083f20github.com/Microsoft/go-winio.ioCompletionProcessor(0x1c8)
C:/repos/winio-zstd-panic/src/github.com/Microsoft/go-winio/file.go:133 +0xea fp=0xc042083fd8 sp=0xc042083f60
runtime.goexit()
C:/Go/src/runtime/asm_amd64.s:2197 +0x1 fp=0xc042083fe0 sp=0xc042083fd8
created by github.com/Microsoft/go-winio.initIo
C:/repos/winio-zstd-panic/src/github.com/Microsoft/go-winio/file.go:57 +0x87
goroutine 1 [runnable]:
main.main()
C:/repos/winio-zstd-panic/src/github.com/mappu/winio-zstd-panic/src/winio-zstd-panic/main.go:112 +0xcd
goroutine 17 [syscall, locked to thread]:
runtime.goexit()
C:/Go/src/runtime/asm_amd64.s:2197 +0x1
goroutine 5 [select]:github.com/Microsoft/go-winio.(*win32PipeListener).listenerRoutine(0xc042030070)
C:/repos/winio-zstd-panic/src/github.com/Microsoft/go-winio/pipe.go:269 +0x4e9
created by github.com/Microsoft/go-winio.ListenPipe
C:/repos/winio-zstd-panic/src/github.com/Microsoft/go-winio/pipe.go:352 +0x2ec
goroutine 6 [chan receive]:github.com/Microsoft/go-winio.(*win32PipeListener).Accept(0xc042030070, 0x0, 0x0, 0x0, 0x0)
C:/repos/winio-zstd-panic/src/github.com/Microsoft/go-winio/pipe.go:373 +0x120
main.(*Terminator).worker(0xc04200c400)
C:/repos/winio-zstd-panic/src/github.com/mappu/winio-zstd-panic/src/winio-zstd-panic/main.go:39 +0x3a
created by main.NewTerminator
C:/repos/winio-zstd-panic/src/github.com/mappu/winio-zstd-panic/src/winio-zstd-panic/main.go:34 +0x141
goroutine 19 [chan receive]:github.com/Microsoft/go-winio.(*win32File).asyncIo(0xc042074050, 0xc042078060, 0x0, 0xc000000000, 0x0, 0x0, 0x5bc4a0, 0xc042088000, 0x0, 0x0, ...)
C:/repos/winio-zstd-panic/src/github.com/Microsoft/go-winio/file.go:167 +0x24dgithub.com/Microsoft/go-winio.connectPipe(0xc042074050, 0x0, 0x0)
C:/repos/winio-zstd-panic/src/github.com/Microsoft/go-winio/pipe.go:362 +0xc1github.com/Microsoft/go-winio.(*win32PipeListener).listenerRoutine.func1(0xc042072060, 0xc042076000)
C:/repos/winio-zstd-panic/src/github.com/Microsoft/go-winio/pipe.go:267 +0x35
created by github.com/Microsoft/go-winio.(*win32PipeListener).listenerRoutine
C:/repos/winio-zstd-panic/src/github.com/Microsoft/go-winio/pipe.go:268 +0x286
goroutine 20 [runnable, locked to thread]:
syscall.Syscall(0x7ffb78294620, 0x1, 0x1cc, 0x0, 0x0, 0xc04216e080, 0xc042019900, 0x2)
C:/Go/src/runtime/syscall_windows.go:163 +0x6b
syscall.GetFileType(0x1cc, 0x428ea5, 0xc000000008, 0xc04216e080)
C:/Go/src/syscall/zsyscall_windows.go:756 +0x6b
syscall.Seek(0x1cc, 0x0, 0x1, 0x1001, 0x101000000001000, 0x0)
C:/Go/src/syscall/syscall_windows.go:349 +0x57
os.(*File).pread(0xc042076008, 0xc042280000, 0x1000, 0x1000, 0x0, 0x0, 0x0, 0x0)
C:/Go/src/os/file_windows.go:298 +0xc8
os.(*File).ReadAt(0xc042076008, 0xc042280000, 0x1000, 0x1000, 0x0, 0x1000, 0xc042276c00, 0x929)
C:/Go/src/os/file.go:120 +0xba
main.start_workload_simulator.func1(0xc042072120)
C:/repos/winio-zstd-panic/src/github.com/mappu/winio-zstd-panic/src/winio-zstd-panic/main.go:78 +0x10e
created by main.start_workload_simulator
C:/repos/winio-zstd-panic/src/github.com/mappu/winio-zstd-panic/src/winio-zstd-panic/main.go:93 +0x46
This test case creates a win32 named pipe; performs some background work;
and then connects to the named pipe. But for some reason, connecting to the
named pipe causes a panic within Golang's channel / signal handling.
This test case depends on both (A) a third-party Windows library, and (B)
a third-party CGO library. I did report this issue to the vendor of A as
Microsoft/go-winio#41 https://github.com/Microsoft/go-winio/issues/41
but, the more i look at the panic trace, i think the issue is with Golang's
runtime (apologies in advance if that's wrong).
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/golang/go/issues/19468, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAcAxKrrjock7p423m4Hi-ZzlzkSZJQks5rj1wbgaJpZM4MXjK3
.

I built the test application under -race, and it ran 1000 times without triggering the panic.
I think i needed to make the failure more reliable, so i thought about ways to do that.
I decided to set GOMAXPROCS=1. Still have not seen any race-detection warning, but, very quickly I got this different panic:
******************************
client: making connection...

client: connected
**runtime: nelems=170 nfree=102 nalloc=68 previous allocCount=67 nfreed=65535
fatal error: sweep increased allocation count

runtime stack:
runtime.throw(0x53ca9d, 0x20)
        C:/Go/src/runtime/panic.go:596 +0x9c
runtime.(*mspan).sweep(0x14c51d0, 0x14c5100, 0x40001d800000000)
        C:/Go/src/runtime/mgcsweep.go:288 +0x8e9
runtime.sweepone(0x0)
        C:/Go/src/runtime/mgcsweep.go:110 +0x1bb
runtime.(*mheap).reclaim(0x66e6c0, 0x1)
        C:/Go/src/runtime/mheap.go:522 +0x167
runtime.(*mheap).alloc_m(0x66e6c0, 0x1, 0x2b, 0x0)
        C:/Go/src/runtime/mheap.go:553 +0x2c1
runtime.(*mheap).alloc.func1()
        C:/Go/src/runtime/mheap.go:627 +0x52
runtime.systemstack(0x3bbfcf0)
        C:/Go/src/runtime/asm_amd64.s:343 +0xb5
runtime.(*mheap).alloc(0x66e6c0, 0x1, 0x1000000002b, 0x0)
        C:/Go/src/runtime/mheap.go:628 +0xa7
runtime.(*mcentral).grow(0x670cc0, 0x0)
        C:/Go/src/runtime/mcentral.go:212 +0x95
runtime.(*mcentral).cacheSpan(0x670cc0, 0xc042023860)
        C:/Go/src/runtime/mcentral.go:93 +0x131
runtime.(*mcache).refill(0x14c0000, 0x2b, 0x0)
        C:/Go/src/runtime/mcache.go:122 +0xae
runtime.(*mcache).nextFree.func1()
        C:/Go/src/runtime/malloc.go:526 +0x39
runtime.systemstack(0xc04201c000)
        C:/Go/src/runtime/asm_amd64.s:327 +0x7e
runtime.mstart()
        C:/Go/src/runtime/proc.go:1132

goroutine 10 [running]:
runtime.systemstack_switch()
        C:/Go/src/runtime/asm_amd64.s:281 fp=0xc042077dc8 sp=0xc042077dc0
runtime.(*mcache).nextFree(0x14c0000, 0x2b, 0xc04200e480, 0xc042077f78, 0x404cf0)
        C:/Go/src/runtime/malloc.go:527 +0xc0 fp=0xc042077e28 sp=0xc042077dc8
runtime.mallocgc(0x1000, 0x510020, 0x50ee01, 0xc04200e480)
        C:/Go/src/runtime/malloc.go:679 +0x6c6 fp=0xc042077ed0 sp=0xc042077e28
runtime.makeslice(0x510020, 0x1000, 0x1000, 0xc042317000, 0x1000, 0x1000)
        C:/Go/src/runtime/slice.go:54 +0x83 fp=0xc042077f20 sp=0xc042077ed0
main.start_workload_simulator.func1(0xc04200e480)
        C:/repos/winio-zstd-panic-clone/src/github.com/mappu/winio-zstd-panic/src/winio-zstd-panic/main.go:77 +0x105 fp=0xc042077fd8 sp=0xc042077f20
runtime.goexit()
        C:/Go/src/runtime/asm_amd64.s:2197 +0x1 fp=0xc042077fe0 sp=0xc042077fd8
created by main.start_workload_simulator
        C:/repos/winio-zstd-panic-clone/src/github.com/mappu/winio-zstd-panic/src/winio-zstd-panic/main.go:93 +0x54

goroutine 1 [runnable]:
main.main()
        C:/repos/winio-zstd-panic-clone/src/github.com/mappu/winio-zstd-panic/src/winio-zstd-panic/main.go:112 +0xde

goroutine 17 [syscall, locked to thread]:
runtime.goexit()
        C:/Go/src/runtime/asm_amd64.s:2197 +0x1

goroutine 5 [select]:
github.com/Microsoft/go-winio.(*win32PipeListener).listenerRoutine(0xc042012150)
        C:/repos/winio-zstd-panic-clone/src/github.com/Microsoft/go-winio/pipe.go:269 +0x66d
created by github.com/Microsoft/go-winio.ListenPipe
        C:/repos/winio-zstd-panic-clone/src/github.com/Microsoft/go-winio/pipe.go:352 +0x3e0

goroutine 6 [chan receive]:
github.com/Microsoft/go-winio.(*win32PipeListener).Accept(0xc042012150, 0x0, 0x0, 0x0, 0x0)
        C:/repos/winio-zstd-panic-clone/src/github.com/Microsoft/go-winio/pipe.go:373 +0x178
main.(*Terminator).worker(0xc04200c440)
        C:/repos/winio-zstd-panic-clone/src/github.com/mappu/winio-zstd-panic/src/winio-zstd-panic/main.go:39 +0x5d
created by main.NewTerminator
        C:/repos/winio-zstd-panic-clone/src/github.com/mappu/winio-zstd-panic/src/winio-zstd-panic/main.go:34 +0x19c

goroutine 8 [runnable, locked to thread]:
syscall.Syscall6(0x7ffb78286bf0, 0x5, 0x1b0, 0xc04206bf8c, 0xc04206bf90, 0xc04206bf98, 0xffffffff, 0x0, 0x4f68a9, 0x7ffb72c13040, ...)
        C:/Go/src/runtime/syscall_windows.go:174 +0x8a
github.com/Microsoft/go-winio.getQueuedCompletionStatus(0x1b0, 0xc04206bf8c, 0xc04206bf90, 0xc04206bf98, 0xffffffff, 0x0, 0x0)
        C:/repos/winio-zstd-panic-clone/src/github.com/Microsoft/go-winio/zsyscall_windows.go:76 +0xf3
github.com/Microsoft/go-winio.ioCompletionProcessor(0x1b0)
        C:/repos/winio-zstd-panic-clone/src/github.com/Microsoft/go-winio/file.go:129 +0x99
created by github.com/Microsoft/go-winio.initIo
        C:/repos/winio-zstd-panic-clone/src/github.com/Microsoft/go-winio/file.go:57 +0xb9

goroutine 9 [chan receive]:
github.com/Microsoft/go-winio.(*win32File).asyncIo(0xc042018280, 0xc042066d80, 0x0, 0xc000000000, 0x0, 0x0, 0x6424a0, 0xc042008500, 0x0, 0x0, ...)
        C:/repos/winio-zstd-panic-clone/src/github.com/Microsoft/go-winio/file.go:167 +0x373
github.com/Microsoft/go-winio.connectPipe(0xc042018280, 0x0, 0x0)
        C:/repos/winio-zstd-panic-clone/src/github.com/Microsoft/go-winio/pipe.go:362 +0xfb
github.com/Microsoft/go-winio.(*win32PipeListener).listenerRoutine.func1(0xc04200e3c0, 0xc042004038)
        C:/repos/winio-zstd-panic-clone/src/github.com/Microsoft/go-winio/pipe.go:267 +0x58
created by github.com/Microsoft/go-winio.(*win32PipeListener).listenerRoutine
        C:/repos/winio-zstd-panic-clone/src/github.com/Microsoft/go-winio/pipe.go:268 +0x35d

I tried 1.7.5, it seems immune from this issue.

Go version
GOMAXPROCS
-race
Panic

go 1.8.0
GOMAXPROCS=4
no race
Crashes very often (first panic in this thread)unexpected signal during runtime execution

go 1.8.0
GOMAXPROCS=1
no race
No crash

go 1.8.0
GOMAXPROCS=4
-race
No crash

go 1.8.0
GOMAXPROCS=1
-race
Crashes very often (second panic in this thread)sweep increased allocation count

go 1.7.5
GOMAXPROCS=4
no race
No crash

go 1.7.5
GOMAXPROCS=1
no race
No crash

go 1.7.5
GOMAXPROCS=4
-race
No crash

go 1.7.5
GOMAXPROCS=1
-race
No crash

Next guess would be memory corruption from your cgo code.  Certainly memory has gotten corrupted somehow.  You might want to try running with GODEBUG=cgocheck=2, although that won't catch cases where the C code is writing to memory it doesn't own.

When i add GODEBUG=cgocheck=2 to my original configuration (GOMAXPROCS=4, no race detector, go 1.8.0), there are no special messages about cgo. I just get the first panic in this thread (unexpected signal during runtime execution) does still happen (in 29/100 runs, plus 6/100 non-terminating).

OK, but I'm still guessing memory corruption from your C code rather than a bug in the Go distribution.
I tried to look at your test case but I see that it only runs on Windows and it is large.

The libraries involved do have high-profile authorship... but I suppose they are not above suspicion. I have open tickets with them too.
This has the same error message as #19029 , where #19078 is considered to be the cause. In that thread, it's suggested that 1.8rc3 is unaffected by this issue. But I tried Go 1.8beta1, 1.8beta2, 1.8rc1 and 1.8rc3 , and they all have the same panic behaviour as 1.8 above.
So this panic - whether the underlying fault is in the C code or not - is triggered by some change inbetween 1.7.5 and 1.8beta1. I will attempt to bisect.

I checked out Go src and used git bisect. I knew 1.7.5 worked and 1.8beta1 failed. The test case is quite reliable for me (40 failures in 100 runs) and it took 11 bisections to track down where the panics first appeared.
The first offending commit is ca4089ad62b806db7d3f32335d3f20865a75edcd by @randall77 .
Always, the problem manifests in the same way:

panic "unexpected signal during runtime execution" when run with GOMAXPROCS=4 no race detector, and
panic "sweep increased allocation count" when run with GOMAXPROCS=1 regardless of race detector.

@mappu, does your crashing application use finalizers?

Apparently yes it does.
github.com/Microsoft/go-winio/backup.go:        runtime.SetFinalizer(r, func(r *BackupFileReader) { r.Close() })
github.com/Microsoft/go-winio/backup.go:        runtime.SetFinalizer(w, func(w *BackupFileWriter) { w.Close() })
github.com/Microsoft/go-winio/file.go:  runtime.SetFinalizer(f, (*win32File).closeHandle)
github.com/Microsoft/go-winio/file.go:  runtime.SetFinalizer(f, nil)

I think i see where you're going with this. Go1.8 may require additional calls to runtime.KeepAlive ? It looks like these are missing. I'll read more on the subject but it looks like the issue is in https://github.com/Microsoft/go-winio/ .

@mappu, yup. That's my guess.

I totally removed all calls to runtime.SetFinalizer, but this didn't change anything. The same panic occurs in runtime.

Panic is consistent with different C toolchains

gcc (i686-posix-dwarf-rev4, Built by MinGW-W64 project) 4.9.2 win64 host win64 target
x86_64-w64-mingw32-gcc (GCC) 5.4.0 cygwin64 host win64 target
gcc (x86_64-win32-seh-rev1, Built by MinGW-W64 project) 6.3.0 win64 host win64 target

@mappu, looking over your code, I don't understand what's supposed to be happening. In particular, here:
//sys getQueuedCompletionStatus(port syscall.Handle, bytes *uint32, key *uintptr, o **ioOperation, timeout uint32) (err error) = GetQueuedCompletionStatus

// ioOperation represents an outstanding asynchronous Win32 IO
type ioOperation struct {
	o  syscall.Overlapped
	ch chan ioResult
}

// ioCompletionProcessor processes completed async IOs forever
func ioCompletionProcessor(h syscall.Handle) {
	// Set the timer resolution to 1. This fixes a performance regression in golang 1.6.
	timeBeginPeriod(1)
	for {
		var bytes uint32
		var key uintptr
		var op *ioOperation
		err := getQueuedCompletionStatus(h, &bytes, &key, &op, syscall.INFINITE)
		if op == nil {
			panic(err)
		}
		op.ch <- ioResult{bytes, err}
	}
}

I haven't read up on IO completion ports, but it looks like the ioOperation is created by the syscall getQueuedCompletionStatus itself. Given that GetQueuedCompletionStatus takes an LPOVERLAPPED, I would expect the resulting *ioOperation to only have its o syscall.Overlapped field filled in and for the ch field to be garbage, which is consistent with what you're seeing. Where is op.ch supposed to come from?

Hi @aclements, that's a great discovery. It looks like a bug to me too. It should be reported to Microsoft in their upstream repository https://github.com/Microsoft/go-winio/issues .
Upstream do seem to think the earlier suggestion about go1.8 finalizer changes was correct, and they have closed my corresponding issue in their own repo. But, i haven't retried my original test case against their latest code. I'll do that today and follow up this ticket.

I re-ran the test case with the updated vendor code, and can confirm the issue is resolved. && In the end it wasn't Go's fault.
Thanks everyone for your assistance in troubleshooting this issue, i will close the ticket.
@aclements despite it being a very weird construct, it does seem to work now that the finalizer behaviours were changed in upstream, so it's (probably??) not a bug...


is_empty not working correctly for boolean fields

For example, if you have hidden checkbox field for Article model, then {% if is_empty(article.hidden) then: %} sometimes not working when checkbox actually unchecked. It considers it as checked (maybe because was previously checked).

Resolved other way:
Now {% if article.hidden then: %} or {% if !article.hidden then: %} should work correctly. is_empty` should be used for checking nilness and emptiness of arrays


Support newer GHC versions by providing a MonadFail instance.

Problem:
Building library for xml-extractors-<IP_ADDRESS>..
[1 of 5] Compiling Text.XML.Light.Extractors.Extra ( src/Text/XML/Light/Extractors/Extra.hs, dist/build/Text/XML/Light/Extractors/Extra.o )
[2 of 5] Compiling Text.XML.Light.Extractors.Internal.Result ( src/Text/XML/Light/Extractors/Internal/Result.hs, dist/build/Text/XML/Light/Extractors/Internal/Result.o )

src/Text/XML/Light/Extractors/Internal/Result.hs:120:3: error:
    ‘fail’ is not a (visible) method of class ‘Monad’
    |
120 |   fail msg = ResultT $ return $ Fail (strMsg msg)
    |   ^^^^
cabal: Failed to build xml-extractors-<IP_ADDRESS>. See the build log above for details.

$ cabal --version
cabal-install version <IP_ADDRESS>
compiled using version <IP_ADDRESS> of the Cabal library
$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 8.8.4

Solution:
Add MonadFail instance as per:
https://wiki.haskell.org/MonadFail_Proposal#Adapting_old_code

Looks good! Thanks :)

Looks good! Thanks :)

Thanks for the library in general and for releasing this PR in particular!

Thanks for the library in general and for releasing this PR in particular!


Bug: AttributeError when saving data to CSV

Bug Description
An AttributeError is raised with the message: __args__. Did you mean: '__ror__'?
💡 Additional Notes

The issue was previously working with simple logic to save data to a CSV file.
Error logs indicate the problem is related to an AttributeError on __args__.

Reproduction

Use the component provided in the JSON to save data to a CSV file.
Run the script.
Observe the error logs.

Expected behavior
The data should be saved to a CSV file without any errors.
Who can help?
No response
Operating System
Ubuntu 22.04
Langflow Version
3.12
Python Version
None
Screenshot
https://jam.dev/c/a14291f2-6a22-40c4-babe-e719e92634c5
Flow File
No response

@carlosrcoelho
This is a complex discussion about how we'll implement versioning for components in Langflow. A simple fix won't suffice, as this would require significant changes to the architecture and the way components are built.
While it's already on our radar and something we plan to address in the future, for now, you'll need to update your components to ensure they work properly.


Fold not readable

Hi,
first of all, great colorscheme. Really like it, especially light version.
I just noticed that closed folds are hard to read. Here's example screenshot:

In dark mode it looks a bit better, but in light mode contrast really kills it.
Is this intended to be like this? If yes, it would be great to introduce a variable to make it a bit more readable.
If not intended, i guess it just needs to be introduced with some darker colors.

Ooh, that does look bad!

Thanks, looks much better now!

No problem :)


Est. Fee Rebate Value

The value should reflect the rebate I'll get after the relayer fees, for instance here I'd get 3k USDT opposed to 5k USDT.

The value should reflect the rebate I'll get after the relayer fees, for instance here I'd get 3k USDT opposed to 5k USDT.

Does this imply we are only "returning" the 60% of the fees as a rebate for negative maker fee rate?

Yes


Scan multiple key values in one CF at once

Feature Request
Currently in mvcc reader we step each cursor (write and lock cursor) one by one in order to get exactly data we want. However this might be not efficient, for example, cache might be not utilized well due to frequent cursor switch.
We can try to scan multiple keys (and buffer it) at once to see if it improves performance. For example, we can first scan many keys in the lock cf. Then scan many keys in the write cf. For unused keys we keep it in the buffer for later use.

I think we can at first seek to a lock key like a, then get the next lock key like b, then we can use this lock range [a, b) to scan in the write CF.

For read in the coprocessor, it seems to get one lock should be enough since we will return when meeting the first lock.

@AndreMouche Yes. But maybe our implementation need to take care of it to keep compatibility with KV interface (KV interface doesn't stop when there is a lock). Additionally we also need to batch the read of write CF and data CF.


Update Russian translation

Fixed JSON file (missing comma).
New strings have been translated.

@dbelob awesome!  Can I get you to update it one more time PrimeTek just added new labels for use in upcoming Prime ARIA changes.
See the English full for example file:https://github.com/primefaces/primelocale/blob/main/en.json

Thank you !

Thank you !

Thanks a lot for the excellent libraries!


Still Reports as On When Unplugged

@kpsuperplane  I noticed something after testing out a Filament style bulb that I didn’t turn off but instead just unscrewed it from the lamp. In HomeKit it was still reporting as ‘on’ until I pressed off in the Home app; this makes me suspect that feedback status or polling is not properly implemented. Have you noticed these issues before?

This is confirmed. The offline bulbs fail to report a "No Response" status in HomeKit. They continue to show the most recent state prior to disconnect.

@MoTechnicalities is there any plan to fix this functionality? Or is it intentional? It makes more sense for it to report correctly that it has ‘no response’ if the device is unreachable.

I like the idea of reporting "No response" if the device is offline to communicate to the user that the bulb is uncontrollable and can not be turned on.

@dotkrnl or @kpsuperplane do you think this is possible for a future update?

Unfortunately I no longer have any wiz bulbs, but happy to accept any PRs if someone wants to do the work

Unfortunately I no longer have any wiz bulbs, but happy to accept any PRs if someone wants to do the work

What a shame.  I just started using your plugin and other than this bug, it has further increased the value proposition of the Philips branded WiZ bulbs available at Home Depot.
If I ship you a bulb would you consider continued improvements to your plugin?

Unfortunately I no longer have any wiz bulbs, but happy to accept any PRs if someone wants to do the work

@kpsuperplane would you be able to walk me through the plugin and how it works?  I'd be willing to mess around with it, but don't have a strong background in Homebridge plugins.

These now report as 'No Response' like they should when powered off at the switch thanks to #32; closing out!


ViewRecycler should attempt to recycle views that do not have a viewReuseId

Currently ViewRecycler only reuses views that have a viewReuseId. It could cache views that don't have a viewReuseId by their type and reuse them when creating views.

Data from #63 suggests that this is probably worth doing from a performance perspective.


Add support for PD online status

Also add tests for the added PD status.

Fixes: #133

This looks good to me.
I would recommend adding the following to test_status.py  to ensure that things work properly when the CP goes away:
def test_pd_status_afer_connection():
    cp.stop()
    time.sleep(1)
    assert pd.is_online() == False
    cp.start()
    assert cp.sc_wait(pd.address)
    assert pd.is_online()
    cp.stop()
    time.sleep(1)
    assert pd.is_online() == False
    cp.start() # ensure CP is running for proper tear-down

Good catch, thanks for the review. Will make the change and merge it.

This looks good to me.
I would recommend adding the following to test_status.py to ensure that things work properly when the CP goes away:
def test_pd_status_afer_connection():
    cp.stop()
    time.sleep(1)
    assert pd.is_online() == False
    cp.start()
    assert cp.sc_wait(pd.address)
    assert pd.is_online()
    cp.stop()
    time.sleep(1)
    assert pd.is_online() == False
    cp.start() # ensure CP is running for proper tear-down

Okay, I thought the last line with comment "ensure CP is running for proper tear-down" was what I missed. But now I see that you are suggesting a new test. This case already covered in other tests because at the point of test module entry, CP and PD is already running and SC active. I will merge this PR as is.


Inproc transport needs some type of flow control

Please answer these questions before submitting your issue.
Should this be an issue in the gRPC issue tracker?
Yes
What version of gRPC and what language are you using?
Master, C++
What operating system (Linux, Windows, …) and version?
Linux
What runtime / compiler are you using (e.g. python version or version of gcc)
clang
What did you do?
Ran the qps_json_driver with --run_inproc option (from PR #12362) in 1-directional streaming mode.
What did you expect to see?
Normal completion
What did you see instead?
Since inproc has no flow control, there is no back pressure, so eventually one side of the 1-directional streaming RPC can just keep sending more and more messages without any sort of delay caused by polling, buffer fill up, or anything else Eventually, the side that gets ahead sends so many messages that all memory gets exhausted and the machine dies from memory pressure.
There should probably be some sort of flow control, at least tied to memory usage.
Anything else we should know about your project / environment?

 That will have the effect of maintaining the 1 op rule from the surface all the way down through the transport. As @ctiller points out, HTTP has to buffer to tolerate network latency but that isn't an issue for inproc. Additionally, moving away from slice_buffer_list might enable the use of less locking down the road.


use ibc enabled chain param to gate IBC txs

this PR updates the root IBC component to use the ibc_enabled chain param to enable or disable IBC txs

Included in #742


MailChimp Connector 404 oauth error

@rafatower
cc @yasharora73
S/B 9400264
Client recently had MailChimp Connector enabled for his account. He gets 404 oauth error in popup window that appears when he clicks MailChimp button from CARTO Connect dataset page.
Context
I was able to replicate client's error - but also I reset my MailChimp password before trying to connect from CARTO.
Process
(I already had MailChimp connected to CartoDB app)

Log into MailChimp
Click on your avatar & choose Account
Click on Extras & API Keys
In Authorized applications section click the x button next to CartoDB to un-authorize it
From CARTO Datasets page click New Dataset
Log into CARTO account from incognito window
Nav to Datasets page & click New Dataset
On next Connect dataset page click MailChimp button, then Connect button
(window pops up where you are supposed to be able to log into MailChimp)

also:
8. In CARTO Editor click on avatar & Your account
9. Click Account from left vertical menu
10. In Connect to external data sources section click Connect next to MailChimp.
(window pops up where you are supposed to be able to log into MailChimp)
Expected result
After logging into MailChimp via popup window list of connectable datasets will appear in CARTO ui & you can click/import one.
Current result

ROLLBAR ERROR:
Gibbon::MailChimpError: Invalid MailChimp API key: {api key #}

Related: in cartodb-platform 1987

Im the client.  Feel free to ask if I can help


Add Autocomplete Search Fields and AJAX Filters to Django Jet for Enhanced Admin Usability

autocomplete_search_fields(): This is a static method used in Django Jet to allow admins to define which fields should be searchable through AJAX-based autocomplete fields. You can add this method to your ModelAdmin class, returning a tuple or list of fields that you want to be searchable.
@staticmethod
def autocomplete_search_fields():
return ['name', 'email']
This will allow admin users to search by name or email when interacting with the related model fields in the admin interface.
CompactInline: This is a feature of Django Jet that provides a more compact way of rendering inline forms (similar to TabularInline in Django). It helps when there are many related objects, optimizing space and display. You would use this in the ModelAdmin class to manage related models with a compact layout.
from jet.admin import CompactInline
class MyInline(CompactInline):
model = MyRelatedModel
RelatedFieldAjaxListFilter: This is a filter that adds AJAX-based search capabilities to the admin list filter. It's particularly useful when you have a large number of related objects, and you want to make it easier for users to filter through those related objects using a search.
from jet.filters import RelatedFieldAjaxListFilter
class MyModelAdmin(admin.ModelAdmin):
list_filter = (
('related_field', RelatedFieldAjaxListFilter),
)
This filter enhances the admin interface by adding a dynamic, AJAX-powered search for related fields, making it easier to find specific objects in large datasets.
Issue Description Example:
Do you have any examples?
Yes, the request is to enhance ModelAdmin classes by allowing fields to be searched using an AJAX-powered autocomplete search interface. This can be achieved by adding the autocomplete_search_fields method to allow specific fields to be searched.
Is it a third-party application feature request?
Yes, this is a feature request for the Django Jet admin interface.
In case of third-party application, when was it updated last time?
The last update for django-jet was on 2017
Describe your feature request
We request the following features be added to django-unfold:
autocomplete_search_fields(): Allow specifying which fields are searchable using AJAX in related model fields.
RelatedFieldAjaxListFilter: Add more robust support for filtering related fields using an AJAX-powered list filter, improving performance with large datasets.
CompactInline: Continue to support or enhance inline forms with compact views, especially when many related objects are displayed.
Implementing these features would improve the admin user experience, particularly when dealing with large datasets and many related fields.

I'm closing this issue because:

it probably contains 2 different feature requests
it is completely without any formatting

If you want, you can recreate tickets but please provide proper formatting, screenshots and in this case it would be nice if you create some initial pull requests to see what you are looking for.


Unable to transfer max VEGA from vested account to general account in the console

edit also a dupe of the issue but presenting as rounding down:

https://github.com/vegaprotocol/frontend-monorepo/issues/5261

Description
When trying to transfer funds (in this case in VEGA) from the vested account to the general account using the max button it is throwing and error:

It seem that when the UI is working out the max value it is rounding up, you can see in the below image the 2 values in the UI:

actual balance read from the API: 0.904195168829277777
rounded value shown in the UI: 0.9041951688292778

As a secondary issue if the users amount is less that the minimum (70 VEGA) they MUST transfer the full amount. Therefore when testing the above and using a lower amount (0.8) the transaction failed however there was no error message to tell me why this happened
Steps to Reproduce

Earn some vested rewards
Try to transfer to the general accoun
Use the max button
See error

Expected behavior
The max button works and the error messages details whats wrong so I can fix or report

Duplicate issue

https://github.com/vegaprotocol/frontend-monorepo/issues/5261

PR to fix:

https://github.com/vegaprotocol/frontend-monorepo/pull/5315

Deployed to console on 20th Nov '23


Fix Dockerfile

Hello, I represent a research group investigating build failures in
Dockerfiles. We executed a Dockerfile in your project and found that
it is not building. We are sending this Pull Request with a suggested
repair. The repair operation is based on:
The base image is EOL (end of life), please seriously consider upgrading to a supported release.
Please note that we are using an anonymous GitHub account because of
double-blind restrictions in the submission process of conferences.

Hey @dccmx @jollychang, can you check this PR?


Issue converting strings with _ to mpf

From Python 3.7 it is possible to use _ in strings converted to floats (and maybe other types), so float('1_2.3_4') is valid and gives 12.34.
This causes a problem when converting this type of numbers using from_str or more exactly here:
https://github.com/fredrik-johansson/mpmath/blob/c11db84b3237bd8fc6721f5a0c5d7c0c98a24dc1/mpmath/libmp/libmpf.py#L1303-L1306
Should be solved by replacing parts[1].rstrip('0') with parts[1].rstrip('0').replace('_', '').

Actually, this will be a violation of PEP 515.  But see this and this.


Instagram access token

Hi, I'm trying to add the new access token authentication to the code but I'm really new at this. Is someone still developing the code?

How far did you get? I wouldn't mind picking up from where you did.

In short, I haven't been developing it. I was developing it for a wedding which is now over. I'm happy to help out where I can, though I don't think I even have my printer anymore.

Hi i got an error saying that OAUth problem access token is invalid, with error code 400, any suggestion how to fix this, thanks


Review polygon orientation of MVT's

Check the interaction and output of using the Postgis plugin to retrieve MVT's and the validity of the output. Reference of postgis ticket https://github.com/CartoDB/postgis/issues/18

Will do a full feature comparison


Remove dependency on planning from FakeSlotComposer

Actually it isn't lint. Lint runs fine on my local branch. I'll investigate.

It was lint, so there is some difference between the Travis tslint config and the one I use, so I suspect something wasn't checked in. I'll investigate and file a bug if I can't fix it quickly.


Setup security (GHAS and policies)

Added security policy
Setup code scanning of  cpp, c# and javascript
Activated dependabot (recurring every monday morning)


windows-dev-tools vagrant boxes

This will require a long term owner - so hope someone wants to sign up for it, really cool project.
We need to build our own vagrant boxes, possibly w/ image-builder and packer.
These would then probably bootstrap and install alot faster.
https://github.com/kubernetes-sigs/image-builder/tree/master/images/capi most likely can be used as the basis for how this is done .
To get started:

learn how image-builder works and try to run it locally.  we have a tgik episode describing the process you can watch: https://www.youtube.com/watch?v=l3TWbrWkVzY
then try to see if you can run the image-builder windows capi recipes and publish a vagrant.box
then replace the vagrantfile box with your windows box, and remove some of the containerd-1.sh and containerd-0.sh scripts, i.e. the ones that are no longer needed
for bonus, look into preloading cni binaries for antrea-agent.exe or calico node.exe into the images for even faster spin up times
of course, since this is a dev environment, the goal isnt to make it super clean, but rather to  make sure to doc all the image builder steps as part of this repo so developers can easily use it to build their own images

/cc

/assign
starting the build here
https://github.com/kubernetes-sigs/sig-windows-dev-tools/tree/master/experiments/image-builder


Extension is not working on initial install.

When you install the extension, it does not work until you go to options and save or reset. I need to figure out how to get this to work without saving first.

I am confused.  I see this.

Where are options?  Where are save and reset?

Right click on the extension icon after it has been installed and you will
see "options."
Sorry the extension is so confusing. I will work on improving it (and the
documentation).
I hope it works out for you; please let me know if you have any other
questions.
-McKay
On Thu, Jul 28, 2016 at 5:36 PM, bryanmdavis<EMAIL_ADDRESS>wrote:

I am confused. I see this.
[image: image]
https://cloud.githubusercontent.com/assets/13178638/17233030/6f28c4da-54e1-11e6-9e17-3821f23a6c04.png
Where are options? Where are save and reset?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/mckayc/McLick/issues/4#issuecomment-236056219, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ADmYYzhAycRuzCweytEODu_WShh-5yV-ks5qaT0WgaJpZM4Gkbfb
.


Why BUSCO reports fewer genes after RaGOO?

Hey there!
I used:
python3 ragoo.py contigs.fasta reference.fasta
Then, surprisingly BUSCO reported fewer genes after RaGOO (Table). One complete gene and 4 fragmented genes lost :-( .
Table.
Genes         Contigs  Contigs&RaGOO
Complete sing    4380           4379
Complete dupl       7              7
Fragmented         13              9
Missing            15             20

Is that because of contig orienting & ordering? Or another reason?
How to set RaGOO parameters to save these genes?
Thanks in advance!
Cheers,
Ural

Hi there,
The scaffolds are just supposed to be ordered and oriented contigs with gaps for padding. Perhaps you should verify that this is true. Or I could do that for you if you are willing to share your data.
If this is indeed the case, then I suppose the variable results are the result of some BUSCO heuristic - probably specific to Agustus would be my uninformed guess.
If that is the case, then I wouldn't necessarily consider the original BUSCO results more accurate. If strictly ordering and orienting contigs changes the BUSCO results, then as far as I know, either result could be more accurate.
But it is very important to ensure the sequence conservation guarantee. In v2 I will have automated tests for this. But for now, I am happy to test that for you.

Hi Michael,
Thank you for your prompt response
I shared my files at https://drive.google.com. Please check your mail in google.com
I would be grateful to you for help with RaGOO.
Cheers,
Ural

Hi there,
Using your data I was able to confirm that the final scaffolds are strictly an ordering an orienting of the input contigs. In other words, no sequence was lost or gained. Therefore it must be some BUSCO heuristic that is causing the discrepancy.
Thanks

Yes, Ive noticed this too that the BUSCO output is not completely stable in
that reordering the contigs in a fasta file (but not changing the sequence
at all) can change the scores a bit. I dont have a deep understanding of it
other than there must be some heuristics involved that are sensitive to how
the data are internally batched
Mike
On Wed, May 27, 2020 at 11:28 AM Michael Alonge<EMAIL_ADDRESS>wrote:

Closed #66 https://github.com/malonge/RaGOO/issues/66.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/malonge/RaGOO/issues/66#event-3378733485, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AABP344OWRH2DW6L7UUXND3RTUWTTANCNFSM4NET4TLQ
.

Thank you!


Youtube-dl output

Is it possible to eddit the output that youtube-dl does?
Right now I get the following output:

And I just want something more clean so only output is the title name from the link.
I noticed I can do that with --get-title but then the song wont download.

Write a wrapper that will parse --print-json and output whatever you need.


My First Commit

I created a branch, created a file and made a commit, and opened a pull request

Succesfully merge


Users

you should remove lasse as he is just the original maintainer of the project for 15 years, but add this one:
https://github.com/hansjans162
as described in
https://news.ycombinator.com/item?id=39866936

Thanks for the link, will add user and make a note next to Lasse. With how big this is cannot rule out anything so keeping his contributions for the behavioral analysis.


site monitoring

site down? CV look weird? links broken?

just need CV weird and links broken, really. site shouldn't be down...


Update & simplify goverter

I've found your project while looking for projects using goverter. It's great
to see how it's used (:. I've upgraded it to the newest version and simplified
some stuff. See commit messages for explanations.
The last commit is a showcase how some custom code could be converted, I think
both solutions are valid, so I haven't changed this for every occurrence.
I've also created the feature request for regex goverter:map in
https://github.com/jmattheis/goverter/issues/122 because this would simplify a
lot of goverter:map calls here.
Goverter can be execute with go generate ./db

Wow! Thank you so much! I was looking for a code generator to copy my database domain objects into the game domain and goverter fit the bill perfectly! I noticed you had upgraded and incorporated a number of changes, but I hadn't gotten around to figuring out how to migrate yet. :)


Deleted unnecessary directory and rolling back library downloads

Deleted superhero-app directory from main branch due to unusable API
Deleted .json files due to 'npm install' outside of the app directory

No merge conflicts identified
Clear to merge


[bug]: diffusers with docker container

Is there an existing issue for this?

[X] I have searched the existing issues

OS
Linux
GPU
cuda
VRAM
16 GB GDDR6
What happened?
I am trying to use different stable diffusion models while using the docker container.
I was using .ckpt files but have learned that diffusers are the more correct way to use different stable diffusion models.
I had my friend who is much better at programming/docker files than I am attempt to use a different model .ckpt file. when using invokeAI docker on an aws vm he got a bunch of errors (i didn't think to screenshot them) but in retrospect, we now I know we should be using diffusers.
Can I be pointed to the correct documentation for using diffusers models with invokeai docker or where i should start working towards that?
Thanks!
Screenshots
No response
Additional context
No response
Contact Details
No response

completely mis-understood how diffusers worked. this question doesn't make sense now that I understand how they work. sorry about that.


Translate this

Hi, I would like to translate your tool into English language. Can I help you?
And I also hope your tool can be used in Global version.
Thanks.

it support Global exactly, just some little translations is needed

what country are you from,Can you understand Chinese? I am planning to improve this program into a multilingual version, It is expected to be online within a week,At that time, multiple languages will be implemented with language packs,The theory supports the language of any country, as long as someone makes the corresponding language package,But my English is not good, can you please help me make the English language pack?-----------------This text is translated by Google

已经发布支持多语言的版本，等待各路大神制作相应国家的语言包


Is Example wokring fine?

I copied the code from the example:
Job persistAfterRebootJob = new Job(true, new PersistAfterRebootWithChargingAction())
                .attachOn(ThreadSpace.MAIN)
                .repeat(71 * 60 * 1000)
                .needCharging(true);
        trigger.schedule(job1, job2, job3, persistAfterRebootJob);

Since you have not supplied any condition i assume that it does not require.
But i am getting the exception:
java.lang.IllegalArgumentException: Please check your Job, it can not be triggered at all without any conditions.
Please correct the example or me :)

Sorry, my fault. Any job must has at least one condition, I'll edit it in the right way. Thanks for report.


simpful >=2.9.0 is not compatible with python <3.8

This package claims compatibility with Python 3.7.  However, in simpful.py (since version 2.9.0), it imports prod from math, which was only introduced in Python 3.8.

Hi @DManowitz
the 3.7 classifier in the setup.py was not updated after simpful 2.9 release.
I updated the classifiers in 0e59175.
The support for Python 3.7 will end soon, so we opted for >=3.8 compatibility.


[Improve] add quickstart-with-docker to README

[Improve] add quickstart-with-docker to README

Looking forward

OK， LGTM


investigate AIC for preserving semantic relationships - Kevin

kevin looked into AIC and METS, we're going to use MODS: https://docs.google.com/document/d/1lQcEt3_slGvSKYmw3hKKGtm9HiLsLEytdbC7oEI0xVo/edit


Grouping Graphical reports

In current design graphical report shows only single sensor, which is ok but many times in field user want to compare with some other sensor result, example: on three phase voltage show all the three voltage differently. If we club all the sensors value in to single graph, user can understand easily whats going on.

evidence of multiple sensors seems to me better to use on dashboards.

https://github.com/mycontroller-org/mycontroller/commit/b7e521ffb19f2c8df9068342d6373802cf184109


aggregate_tests.run_tests_c++_linux_dbg_native_default_cmake  failure

https://grpc-testing.appspot.com/job/gRPC_portability_pull_requests_linux/5048/
saw some recent failures on master also
[ 91%] Building CXX object CMakeFiles/proto_utils_test.dir/third_party/googletest/googletest/src/gtest-all.cc.o
/var/local/git/grpc/test/cpp/end2end/mock_test.cc:37:25: fatal error: gmock/gmock.h: No such file or directory
 #include <gmock/gmock.h>
                         ^
compilation terminated.
Linking CXX executable proto_utils_test
CMakeFiles/mock_test.dir/build.make:54: recipe for target 'CMakeFiles/mock_test.dir/test/cpp/end2end/mock_test.cc.o' failed
make[3]: *** [CMakeFiles/mock_test.dir/test/cpp/end2end/mock_test.cc.o] Error 1
CMakeFiles/Makefile2:9790: recipe for target 'CMakeFiles/mock_test.dir/all' failed
make[2]: *** [CMakeFiles/mock_test.dir/all] Error 2
make[2]: *** Waiting for unfinished jobs....
[ 91%] Built target proto_utils_test
CMakeFiles/Makefile2:1852: recipe for target 'CMakeFiles/buildtests_cxx.dir/rule' failed
make[1]: *** [CMakeFiles/buildtests_cxx.dir/rule] Error 2
Makefile:606: recipe for target 'buildtests_cxx' failed
make: *** [buildtests_cxx] Error 2

2017-04-27 08:35:38,953 FAILED: make [ret=2, pid=1587]
2017-04-27 08:35:38,954 FAILED: Some tests failed

Same issue for Windows
https://grpc-testing.appspot.com/job/gRPC_portability_pr_win/4992/testReport/(root)/aggregate_tests/run_tests_c___windows_dbg_native_default_cmake/

Seen: https://grpc-testing.appspot.com/job/gRPC_portability_pull_requests_linux/5014/

and windows: https://grpc-testing.appspot.com/job/gRPC_portability_pr_win/4958/

Hasn't been seen for a while.


Move toast messages below the Notch

If the app is used on iPones with Notch display than toast messages are half visible, as a solution they can be moved lower like on a second pic.

@OlegMakarenko @Peersyst fixed.

Fixed, merged, released.


Framework - this.on is not a function

Is there a workaround for this error?
"webex-node-bot-framework": "^2.3.4"

❯ node --version
v14.16.0
❯ node index.js
/home/mosure/ci-webex-bot/node_modules/webex-node-bot-framework/lib/framework.js:139
  this.on('error', err => {
       ^

TypeError: this.on is not a function
    at Module.Framework [as exports] (/home/mosure/ci-webex-bot/node_modules/webex-node-bot-framework/lib/framework.js:139:8)
    at Object.<anonymous> (/home/mosure/ci-webex-bot/node_modules/webex-node-bot-framework/index.js:3:20)
    at Module._compile (internal/modules/cjs/loader.js:1063:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
    at Module.load (internal/modules/cjs/loader.js:928:32)
    at Function.Module._load (internal/modules/cjs/loader.js:769:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
    at internal/main/run_main_module.js:17:47

@mosure I haven't encounters this before.   It looks like you are getting this just trying to start your program?

@mosure will close this since I can't repro.  Feel free to re-open with more info!