animation trigger "transformMenu" has failed to build

Bug, feature request, or proposal:
Bug or unclear documentation
What is the expected behavior?
Either the same tests work with Angular 5 or there is documentation for a breaking change
What is the current behavior?
I upgraded Angular as detailed below and a unit test started failing
Error: The animation trigger "transformMenu" has failed to build due to the following errors:
The provided animation property "transform" is not a supported CSS property for animations
The provided animation property "transform" is not a supported CSS property for animations
The provided animation property "transform" is not a supported CSS property for animations in http://localhost:9876/karma_webpack/vendor.bundle.js (line 21927)
What are the steps to reproduce?

Develop a project with the versions below
Add many md components to a shared material-module
import the module into several components and tests
iterate for months observing passing tests
upgrade angular as mentioned below
observe failing test

Which versions of Angular, Material, OS, TypeScript, browsers are affected?
material 2.0.0-beta.10
angular 4.2.4
cli 1.3.2
TypeScript 2.5
OS Windows 7 (I'm at the office!)
upgraded to angular 5.0.0-beta-7 and test throws as mentioned above
Thanks for Angular Material, team!

@crisbeto is this one of the things you encountered on your 5.0 branch?

I didn't encounter it in beta.6, I haven't tried it in beta.7 yet.

I am experiencing this too in Angular 5 rc.0 during Jest unit tests

Still here in beta.12

Any updates on this one? Workarounds?

I haven't been able to reproduce it against our demo app with Angular 5.0.0-rc.8.

Still happening to me with rc 8

Using latest Angular @5.0.0.rc-9 packages I'm experiencing this when running unit tests in PhantomJS.
I guess, PhantomJS should upgrade it's obsolete WebKit engine...

FWIW, you should be able to switch to Chrome Headless @udos86.

I can create a branch to show this...

@crisbeto Yep, thanks, exactly what I'm going to do next...

If anybody wants to try against the Material branch that introduces Angular 5 support, you can see #6018 however code-wise not much has changed, it's mostly a couple of AoT and unit test failures.

experienced the same problem here.

Material 5.0.0-rc0 doesn't seem to have fixed it. Still an issue with Angular 5.0.0.

Is anyone able to provide a reproduction for this? We haven't been able to reproduce.

I can paste the stack trace during a Jest test:
The animation trigger "transitionMessages" has failed to build due to the following errors:
 - The provided animation property "transform" is not a supported CSS property for animations
 - The provided animation property "transform" is not a supported CSS property for animations

  at InjectableAnimationEngine.Object.<anonymous>.AnimationEngine.registerTrigger (node_modules/packages/animations/esm5/browser/src/render/animation_engine_next.js:50:14)
  at node_modules/@angular/platform-browser/bundles/platform-browser-animations.umd.js:329:33
      at Array.forEach (<anonymous>)
  at AnimationRendererFactory.Object.<anonymous>.AnimationRendererFactory.createRenderer (node_modules/@angular/platform-browser/bundles/platform-browser-animations.umd.js:328:27)
  at DebugRendererFactory2.Object.<anonymous>.DebugRendererFactory2.createRenderer (node_modules/packages/core/esm5/src/view/services.js:877:42)
  at createComponentView (node_modules/@angular/core/bundles/core.umd.js:13395:56)
  at callWithDebugContext (node_modules/packages/core/esm5/src/view/services.js:843:6)
  at Object.debugCreateComponentView [as createComponentView] (node_modules/@angular/core/bundles/core.umd.js:14120:12)
  at createViewNodes (node_modules/packages/core/esm5/src/view/view.js:288:36)
  at callViewAction (node_modules/@angular/core/bundles/core.umd.js:13920:13)
  at execComponentViewsAction (node_modules/@angular/core/bundles/core.umd.js:13829:13)
  at createViewNodes (node_modules/@angular/core/bundles/core.umd.js:13516:5)
  at createRootView (node_modules/@angular/core/bundles/core.umd.js:13378:5)
  at callWithDebugContext (node_modules/packages/core/esm5/src/view/services.js:843:6)
  at Object.debugCreateRootView [as createRootView] (node_modules/@angular/core/bundles/core.umd.js:14080:12)
  at ComponentFactory_.Object.<anonymous>.ComponentFactory_.create (node_modules/packages/core/esm5/src/view/refs.js:114:44)
  at initComponent (node_modules/packages/core/esm5/testing/src/test_bed.js:510:24)
  at ZoneDelegate.Object.<anonymous>.ZoneDelegate.invoke (node_modules/zone.js/dist/zone.js:392:26)
  at AsyncTestZoneSpec.Object.<anonymous>.AsyncTestZoneSpec.onInvoke (node_modules/zone.js/dist/async-test.js:49:39)
  at ProxyZoneSpec.Object.<anonymous>.ProxyZoneSpec.onInvoke (node_modules/zone.js/dist/proxy.js:76:39)
  at ZoneDelegate.Object.<anonymous>.ZoneDelegate.invoke (node_modules/zone.js/dist/zone.js:391:32)
  at Object.onInvoke (node_modules/packages/core/esm5/src/zone/ng_zone.js:584:10)
  at ZoneDelegate.Object.<anonymous>.ZoneDelegate.invoke (node_modules/zone.js/dist/zone.js:391:32)
  at Zone.Object.<anonymous>.Zone.run (node_modules/zone.js/dist/zone.js:142:43)
  at NgZone.Object.<anonymous>.NgZone.run (node_modules/@angular/core/bundles/core.umd.js:4485:69)
  at TestBed.Object.<anonymous>.TestBed.createComponent (node_modules/packages/core/esm5/testing/src/test_bed.js:513:6)
  at Function.Object.<anonymous>.TestBed.createComponent (node_modules/@angular/core/bundles/core-testing.umd.js:842:29)
  at src/client/app/+about/about.component.spec.ts:23:23
  at ZoneDelegate.Object.<anonymous>.ZoneDelegate.invoke (node_modules/zone.js/dist/zone.js:392:26)
  at AsyncTestZoneSpec.Object.<anonymous>.AsyncTestZoneSpec.onInvoke (node_modules/zone.js/dist/async-test.js:49:39)
  at ProxyZoneSpec.Object.<anonymous>.ProxyZoneSpec.onInvoke (node_modules/zone.js/dist/proxy.js:76:39)
  at ZoneDelegate.Object.<anonymous>.ZoneDelegate.invoke (node_modules/zone.js/dist/zone.js:391:32)
  at Zone.Object.<anonymous>.Zone.runGuarded (node_modules/zone.js/dist/zone.js:155:47)
  at runInTestZone (node_modules/@angular/core/bundles/core-testing.umd.js:141:25)
  at node_modules/@angular/core/bundles/core-testing.umd.js:80:13
  at ZoneDelegate.Object.<anonymous>.ZoneDelegate.invoke (node_modules/zone.js/dist/zone.js:392:26)
  at ProxyZoneSpec.Object.<anonymous>.ProxyZoneSpec.onInvoke (node_modules/zone.js/dist/proxy.js:79:39)
  at ZoneDelegate.Object.<anonymous>.ZoneDelegate.invoke (node_modules/zone.js/dist/zone.js:391:32)
  at Zone.Object.<anonymous>.Zone.run (node_modules/zone.js/dist/zone.js:142:43)
  at Object.testBody.length.done (node_modules/jest-zone-patch/index.js:48:29)
  at new ZoneAwarePromise (node_modules/zone.js/dist/zone.js:890:29)
  at ZoneDelegate.Object.<anonymous>.ZoneDelegate.invoke (node_modules/zone.js/dist/zone.js:392:26)
  at Zone.Object.<anonymous>.Zone.run (node_modules/zone.js/dist/zone.js:142:43)
  at node_modules/zone.js/dist/zone.js:873:57
  at ZoneDelegate.Object.<anonymous>.ZoneDelegate.invokeTask (node_modules/zone.js/dist/zone.js:425:31)
  at Zone.Object.<anonymous>.Zone.runTask (node_modules/zone.js/dist/zone.js:192:47)
  at drainMicroTaskQueue (node_modules/zone.js/dist/zone.js:602:35)
  at Object.<anonymous>.ZoneTask.invokeTask (node_modules/zone.js/dist/zone.js:503:21)
  at ZoneTask.invoke (node_modules/zone.js/dist/zone.js:488:48)
  at timer (node_modules/zone.js/dist/zone.js:2040:29)
  at Timeout.callback [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:542:19)
  at ontimeout (timers.js:475:11)
  at tryOnTimeout (timers.js:310:5)
  at Timer.listOnTimeout (timers.js:270:5)

Line 37 of this test is skipped in order for the build to pass, but unskipping it yields the error. This repo has the latest and greatest libraries and Angular installed.
https://github.com/patrickmichalina/fusebox-angular-universal-starter/blob/master/src/client/app/%2Babout/about.component.spec.ts

@patrickmichalina have you tried using the NoopAnimationsModule in your tests instead of the BrowserAnimationsModule?

@crisbeto I did, but will try once more. I just uncommented mat-form-field elements, and the error does NOT occur.

@crisbeto NoopAnimationsModule still fails

Issue was resolved for me by switching from PhantomJS to ChromeHeadless (using NoopAnimationsModule)

@Torqode while I am sure that is a solution, Jest is a great test runner and would rather not switch for a single library failure. I am hoping the material team can solve this.

I hit this too with Jest.  Jest uses jsdom which in turn uses cssstyle for pseudo browser/dom/CSS testing.  Turns out cssstyle doesn't support the transform CSS property.  PR was submitted to add transform a while back but the project isn't very active.
Interestingly though, cssstyle currently supports the webkit- prefix transform props.  And there is an Angular PR to get webkit prefixes supported.  I think this issue will be fixed indirectly when Angular's PR is accepted.

Closing as something that we can't really fix on Material's side, apart from removing the animation altogether.

Sorry, for commenting on a closed issue but got the same error when upgrading to Angular 5 using JEST.
added the following snippet to the "Jest global mocks" list will add the missing behaviour to your JSDom instance.
Object.defineProperty(document.body.style, 'transform', {
  value: () => {
    return {
      enumerable: true,
      configurable: true
    };
  },
});

Bot a perfect solution but still keeps my tests alive :)

I can't see why this issue was closed without anything else said except it isn't the Material's issue.
Then why do I see this issue after using Angular 5 and latest RC of Angular Material2 in Karma tests? Without Material, I don't have the issue at all.

Thanks a bunch @marcojahn! I'm using Karma and I couldn't find a corresponding global configuration option, so I just pasted your code at the top of my single problematic test case and it solved the problem.

@marcojahn thanks! Can verify this fixes the issue when using Jest

Closing as something that we can't really fix on Material's side, apart from removing the animation altogether.

@crisbeto are you sure there is nothing the Material team can do? I use Sentry for my front-end error tracking and it's blowing up with this error on my production build.

@kblestarge ths error happens for any browsers that don't support CSS transforms. Material doesn't support any of those browsers.

@crisbeto, you are right but people use browsers like PhantomJS to test Material apps on headless CI servers, so they are going to run into this issue, unfortunately. I think it warrants at least a FAQ item.

I would at least like to know how to shut up the error on unsupported browsers so I don't have to worry about it all the time.

(copied from my reply here: https://github.com/angular/angular/issues/20415#issuecomment-345819156)
This fails not only in PhantomJS, but in Safari <= 8. Would be good to update the browser support page if these are not supported anymore (https://angular.io/guide/browser-support)
An easy way to repro is to use Browserstack => Yosemite => Safari 8 (latest) => go to https://angular.io and see app crash with these errors logged.

I thought using this polyfill would stop this error from happening but it does not seem to be preventing the error. I'm still seeing tons of these come through from my prod application. Any help?

Same here. Seeing issue in Safari 7, 8 with the web-animations-js polyfill added to my polyfills.ts file
Sent from my iPhone

On Nov 22, 2017, at 10:26 AM, Kevin LeStarge<EMAIL_ADDRESS>wrote:
I thought using this polyfill would stop this error from happening but it does not seem to be preventing the error. I'm still seeing tons of these come through from my prod application. Any help?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Thanks @marcojahn

seems to be fixed here: https://github.com/angular/angular/pull/19055

thanks @marcojahn

Thanks @marcojahn 👍

Still facing the issue with Angular 6 and Jest. I don't know if the fix provided by @marcojahn would hold in production environment.  @crisbeto shouldn't the material team address this issue now. This issue persists with every Angular release when testing with Jest.

@marcojahn Not sure whether configurable and enumerable props are significant there like in https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty, but I'm just wondering why:
Object.defineProperty(document.body.style, 'transform', {
  value: () => {
    return {
      enumerable: true,
      configurable: true,
    };
  },
});

instead of:
Object.defineProperty(document.body.style, 'transform', {
  value() {},
  enumerable: true,
  configurable: true
});

❓🤔💭


Audio quality issue

We have two instances of Connect configured with voicemail. One of the instances suffers from distorted audio as evidenced in the attached file. Every voicemail in that Connect instance suffers from this issue. Call recordings do not. The contact flows, data storage and streaming settings are configured the same in the two instances. What could be the cause?
f1260dff-44dc-4e05-b9f6-4662a450eb65_1610381874.zip

Can you check what your "analytics and recording behavior" contact flow block is set to? Is it set to enable recording for both the agent and the customer or just for the customer?

Can you check what your "analytics and recording behavior" contact flow block is set to? Is it set to enable recording for both the agent and the customer or just for the customer?

Yes, that's it! Thank you, angieyu! I had both "From the customer" and "To the customer" checked. By the way, there is no Analytics and Recording behavior block, just a Start Media Streaming block. This is for Voicemail so I unchecked "To the customer" and now the audio is captured correctly. Thank you!

Yes, that's it! Thank you, angieyu! I had both "From the customer" and "To the customer" checked. By the way, there is no Analytics and Recording behavior block, just a Start Media Streaming block. This is for Voicemail so I unchecked "To the customer" and now the audio is captured correctly. Thank you!

Amazing!
On Tue, Jan 19, 2021 at 1:44 PM andrei-at-work<EMAIL_ADDRESS>wrote:

Yes, that's it! Thank you, angieyu! I had both "From the customer" and "To
the customer" checked. By the way, there is no Analytics and Recording
behavior block, just a Start Media Streaming block. This is for Voicemail
so I unchecked "To the customer" and now the audio is captured correctly.
Thank you!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/amazon-connect/voicemail-for-amazon-connect/issues/49#issuecomment-763160634,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGBYT5ZNJFCMACEGB5NRNA3S2X4KTANCNFSM4V532PJA
.

--
Angela Yu

Amazing!
On Tue, Jan 19, 2021 at 1:44 PM andrei-at-work<EMAIL_ADDRESS>wrote:

Yes, that's it! Thank you, angieyu! I had both "From the customer" and "To
the customer" checked. By the way, there is no Analytics and Recording
behavior block, just a Start Media Streaming block. This is for Voicemail
so I unchecked "To the customer" and now the audio is captured correctly.
Thank you!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/amazon-connect/voicemail-for-amazon-connect/issues/49#issuecomment-763160634,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGBYT5ZNJFCMACEGB5NRNA3S2X4KTANCNFSM4V532PJA
.

--
Angela Yu


Monitor pytesseract and whisper for newer versions

There are currently depreciation warnings on pytesseract and faiss-cpu libraries (PR #139) as these libraries use other libraries that are soon-to-be depreciated
Need to monitor their pypi and GitHub pages to see if these warnings are addressed in newer versions
Detailed overview: https://github.com/hc-sc-ocdo-bdpd/file-processing-tools/pull/139#issuecomment-1930326683

Note faiss-cpu is not the official library; it is a wrapper around it as the original appears to be too big to package onto pypi
https://github.com/kyamagu/faiss-wheels/issues/57

The PyArrow warning can be fixed by adding pyarrow to the project requirements


Initial thrift structs for profiling leadership handoff to maintain leader events history

@gopalrajpurohit do you have a doc or something to describe how we plan to do it? and how these thrift structures will be used?

@gopalrajpurohit do you have a doc or something to describe how we plan to do it? and how these thrift structures will be used?

Can you add a brief description to the PR on why we are doing this and how you are planning to add the new structures you have defined?

Can you add a brief description to the PR on why we are doing this and how you are planning to add the new structures you have defined?

We want to measure latencies for given resources/clusters in handoff leadership, in order to provide metrics we can track to improve availability of our systems. Helix provides some stats that are useful in understanding avg delays in leadership handoff. However from availability perspective this is not sufficient, as there are some systems that are not part of helix eco-system, but are part of rocksplicator framework. e.g.. Spectator receives notifications for externalView and publishes shard_map to specified url. The client's then relies on the shard_map generated by Spectator for latest routing information. The latencies introduced by Spectator itself in generating the shard_map, as well as the latencies incurred by the external system to which the shard_map is posted by Spectator in making it available to it's clients are not measured... From the client's perspective the system remain unavailable not only during the time when the leader handoff is completed, but also when the client's is actually informed about the new leader. Due to these limitations that helix can't provide in rocksplicator framework, we are building e2e latency measurement and also identifying the parts of the system introducing delays in leader handoff propagation. This is an effort to help identify sub-systems and provide us with direction as to where improvements are needed in order to improve overall availability of the system during deploys or other rebalance activities.
The manner in which we are proposing to do this is by building an event history for each of the partition and maintain such event history in rolling window fashion, ensuring to keep enough events to be able to measure one-full leader handoff cycle.
We will store this information in provided zk cluster (which can be separate from helix zk cluster)...

We want to measure latencies for given resources/clusters in handoff leadership, in order to provide metrics we can track to improve availability of our systems. Helix provides some stats that are useful in understanding avg delays in leadership handoff. However from availability perspective this is not sufficient, as there are some systems that are not part of helix eco-system, but are part of rocksplicator framework. e.g.. Spectator receives notifications for externalView and publishes shard_map to specified url. The client's then relies on the shard_map generated by Spectator for latest routing information. The latencies introduced by Spectator itself in generating the shard_map, as well as the latencies incurred by the external system to which the shard_map is posted by Spectator in making it available to it's clients are not measured... From the client's perspective the system remain unavailable not only during the time when the leader handoff is completed, but also when the client's is actually informed about the new leader. Due to these limitations that helix can't provide in rocksplicator framework, we are building e2e latency measurement and also identifying the parts of the system introducing delays in leader handoff propagation. This is an effort to help identify sub-systems and provide us with direction as to where improvements are needed in order to improve overall availability of the system during deploys or other rebalance activities.
The manner in which we are proposing to do this is by building an event history for each of the partition and maintain such event history in rolling window fashion, ensuring to keep enough events to be able to measure one-full leader handoff cycle.
We will store this information in provided zk cluster (which can be separate from helix zk cluster)...


Add streaming data iter for GBW

Description
(Brief description on what this PR is about)
Checklist
Essentials

[x] Changes are complete (i.e. I finished coding on this PR)
[ ] All changes have test coverage
[ ] Code is well-documented

Changes

[ ] Feature1, tests, (and when applicable, API doc)
[ ] Feature2, tests, (and when applicable, API doc)

Comments

If this change is a backward incompatible change, why must this change be made.
Interesting edge cases to note here

Job PR-121/2 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-121/2/index.html

Job PR-121/13 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-121/13/index.html

Job PR-121/16 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-121/16/index.html

Job PR-121/17 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-121/17/index.html

https://github.com/dmlc/gluon-nlp/issues/131

Job PR-121/20 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-121/20/index.html

Job PR-121/21 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-121/21/index.html

Job PR-121/22 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-121/22/index.html

Job PR-121/23 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-121/23/index.html

Job PR-121/30 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-121/30/index.html

Job PR-121/31 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-121/31/index.html

@szha I've removed changes to vocab class. I'll submit those in a separate PR.

Job PR-121/32 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-121/32/index.html

Job PR-121/35 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-121/35/index.html

Job PR-121/36 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-121/36/index.html

Job PR-121/37 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-121/37/index.html


[Support CSV][Auth] Create ExportTags

Implement this section of the docs https://docs.google.com/document/d/1YfARkp3Zko6hDjS1EnO84gy7gGmoRK712ZJf-wmDNRw/edit#bookmark=id.1txjfxhlilun

Deployed to prod: https://github.com/Expensify/Auth/pull/12101#issuecomment-2303249907


Attribute By Key Values script crashes

I'm getting the following error when I try to use the Attribute By Key Values script. It works in ArcMap.
Failed script Attribute By Key Values...
Traceback (most recent call last):
File "C:\Data\ProjectData\GIS\DataModels\GeMS\ArcPro\gems-tools-pro-master_20210708\Scripts\GeMS_AttributeByKeyValues_AGP2.py", line 27, in
checkVersion(versionString, rawurl, 'gems-tools-pro')
NameError: name 'checkVersion' is not defined
Failed to execute (AttributeByKeyValues).

Ah, indeed. The function was being called before being imported. See v2.4.8. Should be good now.

That did the trick - Thanks!


Link step's minimum and maximum times to the respective scenario where it occured

Included in coming release 1.9.0


Switch all packages to the 2021 edition

Since uefi-rs is only usable with a recent-ish nightly version I think we might as well use the current edition. TryFrom and TryInto are now in the prelude, so removed all explicit imports of those.

Super! Thanks for making the appropriate changes.


Fix shaders_deffered_render.c for OpenGL ES 3

This fixes an incomplete framebuffer issue due to the use of a texture format not supported in ES 3.
This commit also adds more information on how to manage deferred rendering.
See: https://github.com/raysan5/raylib/issues/4604#issuecomment-2550665295

@Bigfoot71 thank you very much for the review!


tippy: Make tooltip visible for elements with '.selected'.

@timabbott , I request you to please review this change, I've tried explaining the reason behind it in the commit message.

It seems like the position change here might have other impact. I think what you want instead is the appendTo configuration like this:
    delegate("body", {
        target: ".compose_control_button",
        // Add some additional delay when they open
        // so that regular users don't have to see
        // them unless they want to.
        delay: [300, 20],
        // This ensures that the upload files tooltip
        // doesn't hide behind the left sidebar.
        appendTo: () => document.body,
    });

Thanks for the suggestion @timabbott , I've made the changes and rendered the tooltip using setContent() from tippy.js now.

@timabbott , I've made the changes according to your feedback, can you please have a look at it.

This removes translation tags from the strings, which is a bug. Every string visible in the UI needs to be tagged for translation.
See https://zulip.readthedocs.io/en/latest/translating/internationalization.html for more context.

@timabbott , sorry for missing that -- (I wasn't aware of that concept, would keep in mind about it always from next time.)
Updated the PR.

I think i need to apologise here for this PR a big of thing for you to check again and again before merging;

Merged after changing the selector to use [data-tippy-content], thanks @jai2201!
I think there's a further refinement that would be an improvement, which is that we actually want the tooltip on the ind-tab element, not the child icon element, so that hovering over the edges of the square shows the tooltip.
Probably the way way to do that is to complete the TODO comment added in this PR -- make the component support passing a tooltip_content parameter in addition to the label_html parameter.


Device unpaired and disapeared randomly

Hi,
homebridge-zigbee unpaired my device without me prompting it. I was not even using homebridge in any way at that time.
Any idea how to prevent this? Device should never just disappear on its own even if its inaccessible.
Oct 31 06:35:56 nc-nas1 homebridge[30885]: [10/31/2019, 6:35:56 AM] [ZigBee] Unpairing device: 0x00158d0003fb7337
Oct 31 06:36:06 nc-nas1 homebridge[30885]: [10/31/2019, 6:36:06 AM] [ZigBee] Unable to unpairing properly, trying to unregister device: 0x00158d0003fb7337
Oct 31 06:36:06 nc-nas1 homebridge[30885]: [10/31/2019, 6:36:06 AM] [ZigBee] Device has been unpaired: 0x00158d0003fb7337

Which device was it?

it was Xiaomi Wireless Switch

Could it be that there was power outage or someone played with this switch turning it on/off 5 times in a row?

No, there was no power outage and nobody had access to device or server. Server is on UPS, so power outage would not affect anything anyway.


Strong types for entity_type

Since the idea seemed to gain traction on gitter recently, I decided to open an issue since I was interested by this topic for a while.
Currently, the registry in entt is suited to work only with plain integer types as entity type.
However, in the case where several registries are in use, the problem of passing an entity id on the wrong registry may become frequent as the usual typedef facility does not generate new types.
By enabling strong id types as entity types, the error would be caught directly in an IDE or at compile-time.

However, in the case where several registries are in use, the problem of passing an entity id on the wrong registry may become frequent as the usual typedef facility does not generate new types.
By enabling strong id types as entity types, the error would be caught directly in an IDE or at compile-time.

This is true only if the underlying type is different, eg uint32_t for a registry and uint16_t for the other. Otherwise the strong type is the same for the two registries and you can still mix identifiers.
Is this clear? I don't want to create false expectations.

I am not sure I understood. Here is a snippet of what I had in mind:
#include<cstdint>
struct EntityX
{
    explicit EntityX (std::uint64_t v) : x{v} {}
    std::uint64_t x;
};
struct EntityY
{
    explicit EntityY(std::uint64_t v) : x{v} {}
    std::uint64_t x;
};
template<typename T>
struct Registry {
    void get(T&& t) {}
};

using Reg1 = Registry<EntityX>;

int main() {
    Reg1 reg1;
    reg1.get(15UL);       //FAIL
    reg1.get(EntityX{2});
    reg1.get(EntityY{0});//FAIL
}

Oh, ok, I didn't get you want to pass the strong type as template parameter directly to the registry. Sorry. It makes much more sense actually. Good point. :+1:

Isn't it doable as an opt-in feature? Like, by default keeping the specialization for std::uint64_t, and when a strong type is passed the user would need to provide the entt_traits.

Not sure about it.
As an example, the sparse sets work with plain integers (entities) right now and it doesn't make sense to use strong types down there. However, unless the strong type as a conversion operator to the underlying type (that defeats a bit the purpose of being a strong type), the registry must know when it's working with a plain integer or a strong type so as to be able to extract the value to use.
The other way around is to put an if constexpr'ed function to invoke each and every time we want the value. Unfortunately, this isn't enough yet. The views sometimes compare the identifiers or work with them, therefore they must know with what they are working as well. And so on...
I don't know what's the effort required to turn identifiers to strong types to be honest. At a first glance, it's bigger than what it seems.

Uhm... Probably with an explicit conversion operator and a comparison operator, the change won't be neither that breaking nor that big to do. I must experiment with it.
Not sure if an explicit conversion operator is something meaningful at all for a boxed type btw, it looks tricky to me and it probably defeats the purpose.

Could use an enum (similar to the way std::byte is defined).
enum class EntityX : uint64_t {};
enum class EntityY : uint64_t {};

Conversion and comparison operators come for free. Also have std::underlying_type_t and std::is_enum_v if needed.

This is interesting actually @Kerndog73 - what about @FabienPean ?

Nice, I did not know one could use an enum class this way. That seems to fit right 👍

The Enum thing would be good trickery. That would definitely work. The main goal is just to tag different registries with different types so if you use the wrong entityID then it wont compile.

The only ugly thing with this is that data will return then an enum class EntityX *, that is a bit ugly.
Btw being identifiers opaque handlers from the point of view of the user, it shouldn't be a problem at all.

@FabienPean the other thing to consider is to only really use one registry. I had once split out my code into multiple registries but since then I've merged all the logic into one registry because it keeps the api logic much simpler.

For sure using only one registry would simplify things and could be preferred in some scenarii, however this is overly restrictive as a general recommendation. I posted the issue since some people on gitter (e.g. @skypjack @vblanco20-1) were noticing benefits in using multiple registries.

for my benefit what were those benefits again? Encapsulation or perf. reasons?

for my benefit what were those benefits again? Encapsulation or perf. reasons?

@pgruenbacher  both of them. You know Entt Groups are quite amazing for perf, but are heavily limited. A possibility is to have one registry for a specific subsystem and you have everything grouped in that one, getting all the gains.

oh so like level 1 / level 2 or region 1 / region 2. Ok well that's fine and makes sense. I had originally done like NavigationRegistry, AgentRegistry, ObstacleRegistry but I don't think there were any gains from that other than encapsulation.

using RegistryX = entt::basic_registry<entt::entity, struct tag_x_t>;
using RegistryY= entt::basic_registry<entt::entity, struct tag_y_t>;
using EntityX = RegistryX::entity_type;
using EntityY = RegistryY::entity_type;
@skypjack, no?

@ArnCarveris they are still convertible to each other, I think it's as error prone as it is today. Am I wrong?

template<typename Entity, typename... Tags>
struct entity_handle
{
  using registry_type =  entt::basic_registry<Entity, Tags...>;

  Entity id{};
};

@skypjack, no?

In https://github.com/skypjack/entt/blob/master/src/entt/entity/registry.hpp#L43:
template<typename Entity, typename... Tags>
class basic_registry {
    using context_family = family<struct internal_registry_context_family, Tags...>;
    using component_family = family<struct internal_registry_component_family, Tags...>;

@skypjack, no?

@ArnCarveris this addresses another aspect, but I'm not that sure it's the best thing to do.
If it was allowed, type T won't have anymore the same identifier between different registries.
Why is it a benefit from your point of view?

I would love being able to tag the types!  Would keep from mixing up my game and GUI entities for example.

@OvermindDL1 Indeed, I agree that this would be useful.
I liked in particular the proposal of @Kerndog73 to use something on the line of std::byte, that is like enum class gui_entity: std::uint64_t {};.
What do you think about? Any comment or good argument against it?

I'm used to using template tags just because of the 'ol days, but whatever works to catch my own mistakes I'm for.  ^.^

@ArnCarveris this addresses another aspect, but I'm not that sure it's the best thing to do.
If it was allowed, type T won't have anymore the same identifier between different registries.
Why is it a benefit from your point of view?

@skypjack any downside of that?

@ArnCarveris good question. I don't see neither benefits nor drawbacks at a first glance. :smile:

template<typename Entity>
class basic_registry {
    using context_family = family<struct internal_registry_context_family, Entity>;
    using component_family = family<struct internal_registry_component_family, Entity>;

and like @Kerndog73 said:
enum class EntityX : uint64_t {};
enum class EntityY : uint64_t {};

The is only one benefit:
regX.type<CompAForX>() - 1
regX.type<CompBForX>() - 2
regY.type<CompAForY>() - 1
regY.type<CompBForY>() - 2
But currenly we will get this:
regX.type<CompAForX>() - 1
regX.type<CompBForX>() - 2
regY.type<CompAForY>() - 3
regY.type<CompBForY>() - 4
As you see it saves some space.
@skypjack any drawback of this?

As a side effect, it gives control of type ids.

So entity and type ids are totally incompatible, for me, it also one more benefit so we can add some guards to prevent users from mixing.

Being entity identifiers stored in contiguous arrays within the pools, I think enum classes are a good way to go according to the reasons explained here. So thanks for pointing it out @Kerndog73 . :+1:

If someone has the time and is willing to review this, entt::entity from branch wip is finally an enum class.
I've added also the macro ENTT_ENTITY_TYPE to simplify the definition of new types of identifiers. It creates the enum class as well as a to_integer function to use to cast an identifier to its underlying type. You can use it as:
ENTT_ENTITY_TYPE(my_entity, std::uint32_t)

I've yet to update the documentation, so feel free to use this thread for any question. I'll merge everything on master most likely during the week, unless something terribly wrong pops out in the meantime.

@skypjack You define traits_type as entt_traits<std::underlying_type_t<Entity>>. This breaks existing code that uses basic_registry (instead of registry). I'm not sure how I feel about this. Should plain integers continue to be valid entity types?
I don't really like the ENTT_ENTITY_TYPE macro. The to_integer function could be a template (note that using std::underlying_type_t for SFINAE is UB until C++20 so you'll have to use std::is_enum_v if you decide to go down that route). Defining the enum without the macro is shorter and IMHO cleaner.
You might want add a static_assert before the definition of traits_type to deal with the aforementioned UB. It's UB whether whether we get a compilation error when an enum isn't used.
An alternative implementation could be to specialize entt_traits for enums and define to_integer there. That way, plain integers continue to be valid, the library doesn't assume the use of enums everywhere and the user could specialize entt_traits for their own strong integer type (though I'm not sure why you would want to do that).
Now that I've thought about it some more, I think forcing the use of enums isn't such a bad thing so specializing entt_traits for enums might not be the way to go. Sure, it's a breaking change but it's not breaking much and the fix is minimal.

@Kerndog73
I wouldn't care much of the fact that it's a breaking change tbh. It's easy to solve and consistency is to prefer over a special case just because of backward compatibility.
The problem of a general purpose to_integer that works with all the enum classes is exactly that it works with all the enum classes, while I'd prefer to limit it to the types that are actually introduced for entity identifiers.
Kind of std::to_integer that works only with std::byte.

@skypjack
std::to_integer is a public interface. Converting an entity to an integer is an implementation detail. to_integer should only ever be used internally. Could you give a specific example of when a limited to_integer would be better than a generic to_integer? I can think of one unlikely case:
ENTT_ENTITY_TYPE(GuiEntity, uint32_t);

enum class Dir {
  up, right, down, left
};

entt::basic_registry<GuiEntity> gui; // ok
entt::basic_registry<Dir> dir; // oopsie! No matching call for to_integer

I don't see how that could ever happen since the user would probably create a type alias right after the definition of the entity. I still think that defining the enum directly is cleaner but I won't hold a grudge!  😉

Ahahahah... No, well, you know, I like to discuss things and often I followed the advices from people like you.
To be honest I don't think to_integer is merely an implementation detail. As an example, if you develop your own serialization system, it could be useful to convert entities to integers somehow.

@skypjack I hadn’t thought about serialisation. It’s fine the way it is. Keep the macro.


GPU Usage during evaluation (during training)

When evaluation is performed during a training cycle (say after an epoch), I have noticed that the GPU usage remains very high.
For instance, if during training I have increased the batch size so GPU memory is close to 100%, the GPU memory usage as shown on nvidia-smi does not decrease at all during inference for validation.
This ended up being an issue when I used the KITTI evaluation script
https://github.com/open-mmlab/mmdetection3d/blob/master/mmdet3d/core/evaluation/kitti_utils/eval.py
which utilizes GPU for computing rotated iou (it then threw an out of cuda memory error).
I have tried increasing num_parts here
https://github.com/open-mmlab/mmdetection3d/blob/237cebffd80a25b46d0ff76eff9925d800c997d0/mmdet3d/core/evaluation/kitti_utils/eval.py#L341
to try to decrease GPU usage of evaluation, but it still runs out of memory as GPU memory usage is like 99%.
I was wondering why the GPU memory is so high during validation (when I do test.py, it is very low), and possible workarounds to this issue.

Via here
https://github.com/open-mmlab/mmdetection/blob/187774ba35c077411cdc18da3bd1d41bb958628e/mmdet/apis/train.py#L135
It seems like the default evaluation (which I am using) is indeed batch size 1

Hi @Divadi, first thank you for your interest in our work. I think there are two possible workarounds to this issue.

Call torch.cuda.empty_cache() every time you end an epoch of training. This is will free GPU memory that is not occupied by tensors. I think you will see GPU memory decrease a lot after calling this.
Warp evaluate function with with torch.no_grad():. This will stop the network from computing gradients in evaluation and largely reduce GPU memory as well as speed up inference. An example is here. I guess that's why test.py use low GPU memory.

It seems that Runner has already called torch.no_grad(): over val function (see here). Then I think you can try adding torch.cuda.empty_cache() to the first line of val function. Hope that will help.


The time-consuming problem of loan

Operating system:
E.g. Ubuntu 20.04.4 LTS
Compiler version:
E.g. gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
Observed result or behaviour:
I found that the process of the loan below takes about 3-4 microseconds (Intel(R)cpu Xeon(R) Platinum 8369B CPU @ 2.70GHz), because iceorxy's code is more complicated for me, I didn't study it carefully, but I think this It should just copy some data to the shared memory, and then I think it shouldn't take a lot of time to publish. Is there any room for optimization in this time-consuming? Of course, it may also be a problem with my test. If it causes trouble to you, I am deeply sorry.
publisher->loan(len)
       .and_then([&](auto& userPayload) {
         memset(userPayload, 0, len);
         memcpy(userPayload, data, len);
         publisher->publish(userPayload);
       })
       .or_else([this](auto& error) {
         std::ostringstream oss;
         oss << error;
         LOG_E("Unable to loan shm. {} [{}{}{}{}{}] [{}]", appName_, service_,
               SEP_OF_SHM_SVC, instance_, SEP_OF_SHM_SVC, event_, oss.str());
       });

Expected result or behaviour:
The loan process should be faster.
Conditions where it occurred / Performed steps:

@byrnexu

One problem is that you write to the same memory position twice which doubles the runtime. It is safe to remove memset(userPayload, 0, len); since in the next line you already copy the data.
You can further improve the performance by writing the data directly into the userPayload. I assume you have some code like this:

Data produceData();

auto data = produceData();
publisher->loan(len)
       .and_then([&](auto& userPayload) {
         memcpy(userPayload, data, len);
         publisher->publish(userPayload);
       })

But it would be much faster if you could get rid of this additional memcpy as well and change the implementation to something like:
void produceData(Data * data);

publisher->loan(len)
       .and_then([&](auto& userPayload) {
         produceData(userPayload);
         publisher->publish(userPayload);
       })

In my opinion and from the first look it seems the bottleneck is not loan or publish but the 2 additional but unnecessary copies with memset and memcpy which are extremely time consuming.
You can measure the single steps in detail if you adjust your code like this:
std::chrono::steady_clock::time_point beforeMem, afterMem, afterPublish;
auto start = std::chrono::steady_clock::now(); ‣: auto
publisher->loan(len)
    .and_then([&](auto& userPayload) {
        beforeMem = std::chrono::steady_clock::now();
        memset(userPayload, 0, len);
        memcpy(userPayload, data, len);
        afterMem = std::chrono::steady_clock::now();
        publisher->publish(userPayload);
        afterPublish = std::chrono::steady_clock::now();
    })
    .or_else([this](auto& error) {
        std::ostringstream oss;
        oss << error;
        LOG_E("Unable to loan shm. {} [{}{}{}{}{}] [{}]", appName_, service_,
              SEP_OF_SHM_SVC, instance_, SEP_OF_SHM_SVC, event_, oss.str());
    });

std::cout << "Time to loan: "
          << std::chrono::duration_cast<std::chrono::nanoseconds>(beforeMem - start).count()
          << "ns" << std::endl;
std::cout << "Time to write memory: "
          << std::chrono::duration_cast<std::chrono::nanoseconds>(afterMem - beforeMem).count()
          << "ns " << std::endl;
std::cout << "Time to publish: "
          << std::chrono::duration_cast<std::chrono::nanoseconds>(afterPublish - afterMem).count()
          << "ns " << std::endl;

If you do this measurement I would be curious to see the real numbers. If this solves your issue we should add this to our FAQ as a hint.

The machine and code I used as a test are all in the cloud, unfortunately my machine was released yesterday. Currently I have tested with a similar piece of code on my home pc, my home pc is not an intel processor, it is an AMD Ryzen 9 5950X 16-Core Processor, I found that the performance drops greatly, this drop is partly related to the processor relation. But from the code you provided, it doesn't take a lot of time to write memory. When using the interl processor, the whole process is about 3-4 microseconds. When switching to an AMD processor, the whole process takes more than 10 microseconds, but this is enough to show that the loan+publish process should take several microseconds. I want to know Is this time-consuming within the normal range of the data, and is there any room for improvement?
   std::chrono::steady_clock::time_point beforeMem, afterMem, afterPublish;
   auto start = std::chrono::steady_clock::now();

   publisher_->loan(shmBufLen)
       .and_then([&](auto& userPayload) {
         beforeMem = std::chrono::steady_clock::now();

         fillSHMBufCallback(userPayload);

         afterMem = std::chrono::steady_clock::now();
         publisher_->publish(userPayload);
         afterPublish = std::chrono::steady_clock::now();
       })
       .or_else([&](auto& error) {
         std::ostringstream oss;
         oss << error;
         LOG_E("Unable to loan shm. {} [{}] [{}]", appName_, publisherName_,
               oss.str());
       });

   auto timeToLoan =
       std::chrono::duration_cast<std::chrono::nanoseconds>(beforeMem - start)
           .count();

   auto timeToWriteMem =
       std::chrono::duration_cast<std::chrono::nanoseconds>(afterMem - beforeMem)
           .count();

   auto timeToPub = std::chrono::duration_cast<std::chrono::nanoseconds>(
                        afterPublish - afterMem)
                        .count();

   std::cout << "Time to loan: " << timeToLoan << "ns" << std::endl;
   std::cout << "Time to write memory: " << timeToWriteMem << "ns " << std::endl;
   std::cout << "Time to publish: " << timeToPub << "ns " << std::endl;

In order to reduce the impact of std::cout on the test results, I first calculated the time-consuming and then output.

@byrnexu Those timing look a bit much. To get a better picture could you please answer:

How many processes (threads) do you have running in your system concurrently
How many subscribers does the publisher have?
Are those subscribers attached to a Waitset or a Listener?

@byrnexu Could you please run the iceperf example? This is a benchmark which tests iceoryx, the iceoryx c api, message queues and unix domain sockets. I ran it on my system and got the following numbers for iceoryx.
******      ICEORYX       ********
Waiting for: subscription, subscriber [ success ]
Measurement for: 1 kB, 2 kB, 4 kB, 8 kB, 16 kB, 32 kB, 64 kB, 128 kB, 256 kB, 512 kB, 1024 kB, 2048 kB, 4096 kB
Waiting for: unsubscribe  [ finished ]

#### Measurement Result ####
10000 round trips for each payload.

| Payload Size [kB] | Average Latency [µs] |
|------------------:|---------------------:|
|                 1 |                  1.2 |
|                 2 |                  1.9 |
|                 4 |                  1.9 |
|                 8 |                  1.9 |
|                16 |                    2 |
|                32 |                  1.9 |
|                64 |                  1.9 |
|               128 |                  1.9 |
|               256 |                  1.9 |
|               512 |                  1.9 |
|              1024 |                  1.9 |
|              2048 |                  1.9 |
|              4096 |                  1.9 |

Finished!

When the latency for a 4kb sample is around 1.9 microseconds I would assume that the loan and publish in your case above should not be larger than 1.9 microseconds in sum.  Either we did not cover this API / use case in the iceperf benchmark or something else in your system is stealing you some microseconds.
Either way it is a good idea to investigate this further.

Thank you very much for your kind reply.

How many processes (threads) do you have running in your system concurrently?
1 process.
How many subscribers does the publisher have?
1 subscriber
Are those subscribers attached to a Waitset or a Listener?
attached to a Waitset

Below is the result of running ioxperf, it doesn't look slow
******      ICEORYX       ********
Waiting for: subscription, subscriber [ success ]
Measurement for: 1 kB, 2 kB, 4 kB, 8 kB, 16 kB, 32 kB, 64 kB, 128 kB, 256 kB, 512 kB, 1024 kB, 2048 kB, 4096 kB
Waiting for: unsubscribe  [ finished ]
Measurement Result
10000 round trips for each payload.

Payload Size [kB]
Average Latency [µs]

1
1.1

2
1.1

4
0.9

8
0.91

16
0.9

32
0.88

64
0.89

128
0.89

256
1.1

512
0.91

1024
1.3

2048
1.1

4096
0.9

Finished!

Thank you very much for your kind reply.

@byrnexu Thank you for discovering some interesting issues :smile:
I have the suspicion that the Waitset is maybe the cause for the increase in the loan and publish runtime.
Could you use the subscriber without the waitset in a test run and send me the numbers of:
Time to loan, Time to write memory and Time to publish again.
In the end the publisher performs a post call on a posix semaphore to inform the subscriber that a new sample has arrived and this may include some kind of expensive OS context switch. We experienced something similar with our keepalive heartbeat maybe we see it here again.

I closed the subscription side and got the following result
Time to loan: 1980ns
Time to write memory: 70ns
Time to publish: 14800ns
Time to loan: 1570ns
Time to write memory: 70ns
Time to publish: 12890ns
Time to loan: 820ns
Time to write memory: 50ns
Time to publish: 11410ns
Time to loan: 1810ns
Time to write memory: 60ns
Time to publish: 14920ns
The result seems to be about the same，I suspect it has something to do with the processor or the environment of the test machine. My processor is AMD Ryzen 9 5950X 16-Core Processor, and I use another Intel(R) Xeon(R) Platinum 8369B CPU @ 2.70GHz processor. The test results on the machine are much better
Time to loan: 522ns
Time to write memory: 41ns
Time to publish: 2273ns
Time to loan: 701ns
Time to write memory: 42ns
Time to publish: 2108ns
Time to loan: 575ns
Time to write memory: 41ns
Time to publish: 2165ns
Time to loan: 582ns
Time to write memory: 42ns
Time to publish: 2173ns
Time to loan: 621ns
Time to write memory: 46ns
Time to publish: 2272ns

@byrnexu I am late here I guess but what I see is that there is (roughly) at most a factor of 10 difference in publish time between different platforms. But the values are still in the low microseconds, which is acceptable and in line with other measurements (if it would jump to 100s of microseconds or milliseconds it would be more suspicious.
Now I can only guess the reason, but the queues used internally (in publish) rely on atomic operations ad potentially memory fences in certain cases. These can vary quite a bit between architectures, which could explain the differences (would be my first guess). Especially compare-exchange operations.
To get better data (if needed), the first step would be estimating mean and variance from a sufficient number of publish operations (>10^6 I would say).
From the data I see I am not too concerned about the differences between platforms, but I could have missed something.
@elBoberido FYI

@MatthiasKillat thanks a lot for your answer.


adds initial theme README

Sets up the initial structure of the documentation for the new base theme for the PDF.

Amazing work! Thanks!
Merged as 381ded2bf966536e066ce0d247bfcd818c2041b4.


Using the new language server, C# formatting rules in .editorconfig are ignored.

Issue Description
Using the new language server, C# formatting rules in .editorconfig are ignored.
Steps to Reproduce

Create a new blank dotnet new console application.
Create .editorconfig with:[*.cs]
csharp_space_after_keywords_in_control_flow_statements = false
csharp_indent_case_contents_when_block = false

Add the following to Program.cs:if(true)
{
}

switch("Hello")
{
	case "Hello":
	{
	}
	break;

	case "World":
		break;
}

Execute Format Document

Expected Behavior
The formatter formats the code like this:
if(true)
{
}

switch("Hello")
{
	case "Hello":
	{
	}
	break;

	case "World":
		break;
}

Actual Behavior
The formatter formats the code like this:
if (true)
{
}

switch ("Hello")
{
	case "Hello":
		{
		}
		break;

	case "World":
		break;
}

Notes
Reverting to the Omnisharp language server ("dotnet.server.useOmnisharp": true) returns the expected behavior.
Minimal repro of the bug attached: BugRepro.zip
Logs

C# log
Post the output from Output-->C# here
C# LSP Trace Logs
Post the output from Output-->C# LSP Trace Logs here.  Requires `dotnet.server.trace` to be set to `Trace`
Environment information
VSCode version: 1.81.0
C# Extension: 2.0.328
Using OmniSharp: false
Dotnet Information
Host:
Version:      7.0.9
Architecture: x64
Commit:       8e9a17b221
.NET SDKs installed:
No SDKs were found.
.NET runtimes installed:
Microsoft.NETCore.App 7.0.9 [c:\Users\simonmattes\AppData\Roaming\Code\User\globalStorage\ms-dotnettools.vscode-dotnet-runtime.dotnet\7.0.9\shared\Microsoft.NETCore.App]
Other architectures found:
None
Environment variables:
Not set
global.json file:
Not found
Learn more:
https://aka.ms/dotnet/info
Download .NET:
https://aka.ms/dotnet/download

Visual Studio Code Extensions

Extension
Author
Version
Folder Name

code-spell-checker
streetsidesoftware
2.20.5
streetsidesoftware.code-spell-checker-2.20.5

code-spell-checker-german
streetsidesoftware
2.2.1
streetsidesoftware.code-spell-checker-german-2.2.1

csharp
ms-dotnettools
2.0.328
ms-dotnettools.csharp-2.0.328-win32-x64

docomment
k--kato
1.0.0
k--kato.docomment-1.0.0

github-vscode-theme
GitHub
6.3.4
github.github-vscode-theme-6.3.4

hexeditor
ms-vscode
1.9.12
ms-vscode.hexeditor-1.9.12

markdown-checkbox
bierner
0.4.0
bierner.markdown-checkbox-0.4.0

markdown-footnotes
bierner
0.1.1
bierner.markdown-footnotes-0.1.1

markdown-mermaid
bierner
1.19.0
bierner.markdown-mermaid-1.19.0

rainbow-csv
mechatroner
3.7.0
mechatroner.rainbow-csv-3.7.0

remote-explorer
ms-vscode
0.4.1
ms-vscode.remote-explorer-0.4.1

remote-ssh
ms-vscode-remote
0.102.0
ms-vscode-remote.remote-ssh-0.102.0

remote-ssh-edit
ms-vscode-remote
0.86.0
ms-vscode-remote.remote-ssh-edit-0.86.0

vscode-dotnet-runtime
ms-dotnettools
1.6.0
ms-dotnettools.vscode-dotnet-runtime-1.6.0

vscode-guid
heaths
1.7.0
heaths.vscode-guid-1.7.0

vscode-print
pdconsec
0.11.15
pdconsec.vscode-print-0.11.15

vscode-todo-highlight
wayou
1.0.5
wayou.vscode-todo-highlight-1.0.5

.editorconfig should be respected by the new language server - but the current marketplace version requires a solution file to be able to load (known bug that will be fixed in this weeks release, see https://github.com/dotnet/vscode-csharp/issues/5923).
If you add a solution file to the project, does it work?

Thanks for the fast response. Indeed, it looks like the language server is stuck in Starting server... without an .sln file in this build.
Adding an .sln file to the project restores proper formatting:
dotnet new sln --name BugRepro
dotnet sln add BugRepro.csproj

So it looks like it should be fixed with the update you are referring.
Thanks a lot!


Updates kong services on each synchronization check when not necessary

Summary
The ingress controller is issuing a PATCH to Kong for each service in the environment on each synchronization check. This doesn't necessarily sound bad, but when you have 200+ services and they all issue a PATCH at the same time, you get contention on the database that can manifest as errors in the kong-proxy logs and 5XX errors for consumers.
Kong Ingress controller version
0.1.0
Kubernetes version
1.9.3
What happened
Users experience service outages using kong-ingress with a large number of services due to unnecessary database writes every 10 minutes.
Expected behvaior
Services in k8s with no changes needed in Kong should detect that no change is necessary and avoid sending a PATCH, similar to how plugins function.

Hi @jaygorrell,
Thank you for opening this issue.
This problem arises in combination due to Kong rebuilding router, https://github.com/Kong/kong/pull/3423, and Ingress Controller sending PATCH requests even when not necessary.
We will be addressing this issue soon.


Charset encoding

Hey, I need to connect to an external latin1_swedish_ci database. So I went to new Medoo() and added ['charset' => 'latin1']. It probably worked, but not the way I expected.
My php script is in UTF-8, so is the string I want to insert in a table. It does not contain complex characters, just Basic Latin and Latin-1 Supplement.
I was expecting Medoo to automatically re-encode the string to the defined charset, but looking in the source code, that setting is only used when connecting to the database.
It would be too complex to implement an auto encoder, because one would need to know the input encoding (we only know the 'output', to produce the query), and in some cases we would lose data.
I think it should be documented that we still need to provide data in the correct encoding.
And when fetching, I need to re-encode as well, or I just get lots of "?".
For now, I will be wrapping the data with array_map('utf8_decode', $data) when sending and array_map('utf8_encode', $row) when fetching.

You have to use the command parameter.
'command' => ["SET NAMES 'utf8'", "SET CHARACTER SET 'utf8'"]

This is different setting. The charset for database connection is handled by database engine, and the charset encode you mentioned is handled by PHP engine. Those two things are not one-to-one, and will have different result if one of charset is not supported.
For the base framework design, this auto-encode pattern is not ideal for every situation. Somewhere may need and somewhere may not need. However, if you want this feature, you can create a wrapper of Medoo and encode the input for specific function call. All those design are just up to you.


Add migration guide for accentColor changes

Provide a URL for extended information on handling migration related to accent color changes.
List which issues are fixed by this PR. You must list at least one issue.
Pre-launch Checklist

[X] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
[X] I read the [Tree Hygiene] wiki page, which explains my responsibilities.
[X] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
[X] I signed the [CLA].
[X] I listed at least one issue that this PR fixes in the description above.
[X] I updated/added relevant documentation (doc comments with ///).
[ ] I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test-exempt.
[ ] All existing and new tests are passing.

Closing this PR in favor of https://github.com/flutter/flutter/pull/85144 which includes the same changes


Installer option wording

When running through the installer options, sometimes it's not self-evident why I may want to choose or not choose a particular option. I think this boils down, essentially, to documentation more than actually altering the wording of the prompts in the installer. Perhaps a link to an official installer doc could be displayed by the installer at the start.
In any case, the prompt that seems the most ambiguous is the mvc-console one
Would you like to install MVC-based console support? (We recommend migrating to zf-console, symfony/console, or Aura.CLI)

Here we get a y/N option for a module which seems like is not recommended. Perhaps the other options could be offered too in the same prompt. For example:
  Would you like to install console support?
  [0] No console
  [1] MVC-based console
  [2] zf-console
  [3] symfony/console
  [4] Aura.CLI
  Make your selection (default is 0):

See https://gist.github.com/jeremiahsmall/d5c54f283dddf2f4ba3e11d0cd39fa11#file-zendframework_skeleton_installer_output-txt-L30

Right now, that'll be quite difficult to add support for (zend-skeleton-installer currently only deals with yes/no style prompts. I'll definitely consider it for the future, however.
For now:

Could you suggest some better wording for that particular prompt that might disambiguate it?
Could you raise an issue on zend-skeleton-installer asking for support for multi-option prompts, referencing this?

Thanks for the great feedback, @jeremiahsmall !

This repository has been closed and moved to laminas/laminas-skeleton-installer; a new issue has been opened at https://github.com/laminas/laminas-skeleton-installer/issues/4.


Changing redirect settings does not work.

According this article, I put _redirects file in the build output folder.
https://developers.cloudflare.com/pages/platform/redirects
Redirects worked fine.
Few day later, I found a mistake in the settings and I corrected it.
But the behavior remained the same.
Expected Behavior
/sample https://www.example.com/sample 301
↓
/sample /sample2 301

The redirection will be changed to /sample2  instead of https://www.example.com/sample.
Actual Behavior
The redirection did not work and access https://www.example.com/sample.
Changes to redirects will be updated to your website at build time so make sure you commit and push the file to trigger a new build each time you update redirects.
This is what the documentation says.
Are there any other settings that should be needed?
Or is this behavior a glitch?

@isec-promotion this is intended behavior! Your browser will cache a 301 redirect since a 301 is a "permanent redirect".

Indeed – you can purge your Cloudflare Cache and your local browser cache – but all clients that have seen the 301 will remember that forever (unless forcibly cleared).
You should be using 302 redirects (temporary) unless/until you're confident in the behaviors & destinations.


samples/shields: x-nucleo-iks02a1: Fix doc for microphone

Fix documentation for microphone sample code.
Signed-off-by: Armando Visconti<EMAIL_ADDRESS>

Should I create a bug case to which this PR is associated?

Should I create a bug case to which this PR is associated?

No need.


ctkSliderWidget crash in debug mode

The ctkSliderWidget crashes here in debug mode with this message:
ASSERT: "d->equal(d->SpinBox->value(),d->Slider->value())" in file /home/espakm/src/CTK/Libs/Widgets/ctkSliderWidget.cpp, line 258
The code:
void ctkSliderWidget::setValue(double _value)
{
Q_D(ctkSliderWidget);
// disable the tracking temporally to emit the
// signal valueChanged if changeValue() is called
bool isChanging = d->Changing;
d->Changing = false;
d->SpinBox->setValue(_value);
// Why do we need to set the value to the slider ?
//d->Slider->setValue(d->SpinBox->value());
//double spinBoxValue = d->SpinBox->value();
Q_ASSERT(d->equal(d->SpinBox->minimum(),d->Slider->minimum()));
Q_ASSERT(d->equal(d->SpinBox->value(),d->Slider->value()));                    // line 258
Q_ASSERT(d->equal(d->SpinBox->maximum(),d->Slider->maximum()));
// restore the prop
d->Changing = isChanging;
}
I am afraid that the commented line (255) should be uncommented.

I'd rather not decommenting line 255.
Can you reproduce the assert and send me a short test that reproduces it ?
I fixed a lot of use cases, but I might have skip 1 or 2

I do not know if I can create a test for this. I am developing an MITK application, and one of the plugins have ctkSliderWidgets. The plugin is switched on in the default perspective, and the slider makes the application crash right after I start it.
So probably at the constructor does not initialize the two values well.

what are the default values of the slider ?
Or if you run the debugger (or use std::cout before the assert), what is the state of the widget and the value in setValue that causes the assert.

I added a qDebug statement to print the values but now the assert does not
fail.
I will try to debug it if it occurs next time.
On Mon, Oct 24, 2011 at 4:42 PM, Julien Finet <
<EMAIL_ADDRESS>
what are the default values of the slider ?
Or if you run the debugger (or use std::cout before the assert), what is
the state of the widget and the value in setValue that causes the assert.
--
Reply to this email directly or view it on GitHub:
https://github.com/commontk/CTK/issues/60#issuecomment-2504251


[Feature] Display to user time till they can do things after signup if 'signupcd' is setup.

signupcd: 0, // How many miliseconds the user cannot do certain things after they sign up.
A user who signs up, but cannot do certain actions and doesn't get a proper error message would be very confused and frustrated.

Accidentally closed, sorry


Add an Intermediate Level Data Science Project

Add an Intermediate Level Data Science Project
Objective
Develop an intermediate-level data science project. This project should include:

Data preprocessing and transformation
Model selection and training
Evaluation of model performance
Visualizations of results

Requirements

Use libraries like pandas, numpy, scikit-learn, or similar
Include a README.md with detailed instructions
Ensure code is well-documented and follows PEP 8 guidelines

How to Contribute

Fork the repository
Create a new branch: git checkout -b intermediate-project
Add your project in the intermediate directory
Submit a pull request with your changes

Labels: intermediate, help wanted

Can I work on this issue?

Yeah sure

Hey @sharayuanuse , please update

I am working on a Time Series Modeling project to analyze and forecast retail sales in the USA. I would be implementing KPSS and Dickey-Fuller tests to check stationarity and use ACF, PACF plots to estimate model parameters.

Ok good!


Explain the name and suggest off_broadway namespace

Thanks to @jeffgrunewald for the idea!

:heart: :green_heart: :blue_heart: :yellow_heart: :purple_heart:


[BUG] Panel.fit forgot height and highlight parameters

[x] I've checked docs and closed issues for possible solutions.
[x] I can't find my issue in the FAQ.

Describe the bug
Panel.fit forgot height and highlight parameters. It should be updated to synchronize with the constructor.
class Panel(JupyterMixin):
    def __init__(
        self,
        renderable: "RenderableType",
        box: Box = ROUNDED,
        *,
        title: Optional[TextType] = None,
        title_align: AlignMethod = "center",
        subtitle: Optional[TextType] = None,
        subtitle_align: AlignMethod = "center",
        safe_box: Optional[bool] = None,
        expand: bool = True,
        style: StyleType = "none",
        border_style: StyleType = "none",
        width: Optional[int] = None,
        height: Optional[int] = None,
        padding: PaddingDimensions = (0, 1),
        highlight: bool = False,
    ) -> None:
        ...

    @classmethod
    def fit(
        cls,
        renderable: "RenderableType",
        box: Box = ROUNDED,
        *,
        title: Optional[TextType] = None,
        title_align: AlignMethod = "center",
        subtitle: Optional[TextType] = None,
        subtitle_align: AlignMethod = "center",
        safe_box: Optional[bool] = None,
        style: StyleType = "none",
        border_style: StyleType = "none",
        width: Optional[int] = None,
        padding: PaddingDimensions = (0, 1),
    ) -> "Panel":
        ...

Thanks for creating this issue. I've merged a fix for it which should be included in the next release, however I'm not sure when that'll be yet.


Add group_by option to expect_column_values_to_be_within_n_moving_stdevs

Closes #166
This PR adds an option to specify a grouping level for the expect_column_values_to_be_within_n_moving_stdevs test. This allows uses to check for anomalies over time within groups, such as products or customers.
if group_by is specified, the macro groups the initial metric aggregation and then adds partition_by statements to the relevant window functions.
E.g.
  - name : my_model
    columns:
      - name: row_value
        tests:
          - dbt_expectations.expect_column_values_to_be_within_n_moving_stdevs:
              date_column_name: date_day
              group_by: [group_id]
              sigma_threshold: 3
              take_logs: true
              severity: warn

@jordanjbanal lmk if this is what you had in mind with #166!


Sveltekit 2 ?

Any plans on upgrading this to sveltekit 2?
I'm stuck with this error using this example in a very basic sveltekit page.
Error: Unrecognized extension value in extension set ([object Object]). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.

test

<CodeMirror bind:value lang={javascript()} />

using "@sveltejs/kit": "^2.5.24",

facing the same issue

Hello,
Thank you for reporting your issue.
You should look at the documentation below:
https://github.com/touchifyapp/svelte-codemirror-editor?tab=readme-ov-file#usage-with-vite--svelte-kit
You have to add the following lines to your vite.config.js:
// vite.config.js
const config = {
    //...
    optimizeDeps: {
        exclude: ["svelte-codemirror-editor", "codemirror", "@codemirror/language-javascript" /* other plugins... */],
    },
    //...
}


Adding new Q# related resources

I am working on a book that is in early access as well as one of the maintainers for qsharp.community 😄

@desireevl how does this look? Thanks for the review!


tf: rename multicluster clusters

These clusters are named cluster1, cluster2, etc. But in the test
framework, they end up like cluster-0, cluster-1, etc.
Changing these for consistency to avoid the confusion of differernt
numbering schemes
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Pull Request Attributes
Please check any characteristics that apply to this pull request.
[ ] Does not have any changes that may affect Istio users.

@howardjohn: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-pilot-multicluster-tests_istio
0ab532ea0e2b39fc7c554afab0dbe6a593dbd585
link
/test integ-pilot-multicluster-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-pilot-multicluster-tests_istio
0ab532ea0e2b39fc7c554afab0dbe6a593dbd585
link
/test integ-pilot-multicluster-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-pilot-multicluster-tests_istio
0ab532ea0e2b39fc7c554afab0dbe6a593dbd585
link
/test integ-pilot-multicluster-tests_istio

integ-pilot-k8s-tests_istio
0ab532ea0e2b39fc7c554afab0dbe6a593dbd585
link
/test integ-pilot-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-pilot-multicluster-tests_istio
0ab532ea0e2b39fc7c554afab0dbe6a593dbd585
link
/test integ-pilot-multicluster-tests_istio

integ-pilot-k8s-tests_istio
0ab532ea0e2b39fc7c554afab0dbe6a593dbd585
link
/test integ-pilot-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

/retest

@howardjohn: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-pilot-multicluster-tests_istio
0ab532ea0e2b39fc7c554afab0dbe6a593dbd585
link
/test integ-pilot-multicluster-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-pilot-multicluster-tests_istio
0ab532ea0e2b39fc7c554afab0dbe6a593dbd585
link
/test integ-pilot-multicluster-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

/retest


Command: "sudo sift install" fails.

Followed the option 2 guide on https://digital-forensics.sans.org/community/downloads:
(1) Running on an Ubuntu 16.04 Machine (from HDD not Virtually)
(2) Went through second step with no issues
(3) sudo install sift output:

sudo sift install
><EMAIL_ADDRESS>> sift-version: notinstalled

Installing and configuring SaltStack properly ...

Command failed: apt-get update
W: Target Packages (partner/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:43 and /etc/apt/sources.list.d/xenial-partner.list:4
W: Target Packages (partner/binary-i386/Packages) is configured multiple times in /etc/apt/sources.list:43 and /etc/apt/sources.list.d/xenial-partner.list:4
W: Target Packages (partner/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:43 and /etc/apt/sources.list.d/xenial-partner.list:4
W: Target Translations (partner/i18n/Translation-en_US) is configured multiple times in /etc/apt/sources.list:43 and /etc/apt/sources.list.d/xenial-partner.list:4
W: Target Translations (partner/i18n/Translation-en) is configured multiple times in /etc/apt/sources.list:43 and /etc/apt/sources.list.d/xenial-partner.list:4
W: Target DEP-11 (partner/dep11/Components-amd64.yml) is configured multiple times in /etc/apt/sources.list:43 and /etc/apt/sources.list.d/xenial-partner.list:4
W: Target DEP-11-icons (partner/dep11/icons-64x64.tar) is configured multiple times in /etc/apt/sources.list:43 and /etc/apt/sources.list.d/xenial-partner.list:4
W: The repository 'cdrom://Ubuntu 16.04.3 LTS _Xenial Xerus_ - Release amd64 (20170801) xenial Release' does not have a Release file.
E: Failed to fetch cdrom://Ubuntu 16.04.3 LTS _Xenial Xerus_ - Release amd64 (20170801)/dists/xenial/main/binary-amd64/Packages  Please use apt-cdrom to make this CD-ROM recognized by APT. apt-get update cannot be used to add new CD-ROMs
E: Some index files failed to download. They have been ignored, or old ones used instead.
W: Target Packages (partner/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:43 and /etc/apt/sources.list.d/xenial-partner.list:4
W: Target Packages (partner/binary-i386/Packages) is configured multiple times in /etc/apt/sources.list:43 and /etc/apt/sources.list.d/xenial-partner.list:4
W: Target Packages (partner/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:43 and /etc/apt/sources.list.d/xenial-partner.list:4
W: Target Translations (partner/i18n/Translation-en_US) is configured multiple times in /etc/apt/sources.list:43 and /etc/apt/sources.list.d/xenial-partner.list:4
W: Target Translations (partner/i18n/Translation-en) is configured multiple times in /etc/apt/sources.list:43 and /etc/apt/sources.list.d/xenial-partner.list:4
W: Target DEP-11 (partner/dep11/Components-amd64.yml) is configured multiple times in /etc/apt/sources.list:43 and /etc/apt/sources.list.d/xenial-partner.list:4
W: Target DEP-11-icons (partner/dep11/icons-64x64.tar) is configured multiple times in /etc/apt/sources.list:43 and /etc/apt/sources.list.d/xenial-partner.list:4

Error: Command failed: apt-get update
W: Target Packages (partner/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:43 and /etc/apt/sources.list.d/xenial-partner.list:4
W: Target Packages (partner/binary-i386/Packages) is configured multiple times in /etc/apt/sources.list:43 and /etc/apt/sources.list.d/xenial-partner.list:4
W: Target Packages (partner/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:43 and /etc/apt/sources.list.d/xenial-partner.list:4
W: Target Translations (partner/i18n/Translation-en_US) is configured multiple times in /etc/apt/sources.list:43 and /etc/apt/sources.list.d/xenial-partner.list:4
W: Target Translations (partner/i18n/Translation-en) is configured multiple times in /etc/apt/sources.list:43 and /etc/apt/sources.list.d/xenial-partner.list:4
W: Target DEP-11 (partner/dep11/Components-amd64.yml) is configured multiple times in /etc/apt/sources.list:43 and /etc/apt/sources.list.d/xenial-partner.list:4
W: Target DEP-11-icons (partner/dep11/icons-64x64.tar) is configured multiple times in /etc/apt/sources.list:43 and /etc/apt/sources.list.d/xenial-partner.list:4
W: The repository 'cdrom://Ubuntu 16.04.3 LTS _Xenial Xerus_ - Release amd64 (20170801) xenial Release' does not have a Release file.
E: Failed to fetch cdrom://Ubuntu 16.04.3 LTS _Xenial Xerus_ - Release amd64 (20170801)/dists/xenial/main/binary-amd64/Packages  Please use apt-cdrom to make this CD-ROM recognized by APT. apt-get update cannot be used to add new CD-ROMs
E: Some index files failed to download. They have been ignored, or old ones used instead.
W: Target Packages (partner/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:43 and /etc/apt/sources.list.d/xenial-partner.list:4
W: Target Packages (partner/binary-i386/Packages) is configured multiple times in /etc/apt/sources.list:43 and /etc/apt/sources.list.d/xenial-partner.list:4
W: Target Packages (partner/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:43 and /etc/apt/sources.list.d/xenial-partner.list:4
W: Target Translations (partner/i18n/Translation-en_US) is configured multiple times in /etc/apt/sources.list:43 and /etc/apt/sources.list.d/xenial-partner.list:4
W: Target Translations (partner/i18n/Translation-en) is configured multiple times in /etc/apt/sources.list:43 and /etc/apt/sources.list.d/xenial-partner.list:4
W: Target DEP-11 (partner/dep11/Components-amd64.yml) is configured multiple times in /etc/apt/sources.list:43 and /etc/apt/sources.list.d/xenial-partner.list:4
W: Target DEP-11-icons (partner/dep11/icons-64x64.tar) is configured multiple times in /etc/apt/sources.list:43 and /etc/apt/sources.list.d/xenial-partner.list:4

    at ChildProcess.exithandler (child_process.js:205:12)
    at emitTwo (events.js:106:13)
    at ChildProcess.emit (events.js:194:7)
    at maybeClose (internal/child_process.js:899:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5)

As I was searching for a solution, I noticed the saltstack file was requested but my /var/cache/sift directory only consists of an empty cli directory (/var/cache/sift/cli). I did reset my system before checking for the saltstack logfile so that could make a difference but I doubt so considering running the command produces the same results each time it's ran.
Extra stuff:
(1) I did run sudo apt update && dist-upgrade but no change
(2) sudo sift upgrade and sudo sift update produce the exact same result as listed above.
(3) tried su root but can only install sift on a user account
(4) not sure what the command sudo dpkg --configure -a does but it was recommended in my research so I tried it with no result
(5) history of commands entered during the installation process up to the initial failure encounter
 1977  gpg --keyserver pgp.mit.edu --recv-keys 22598A94
 1978  gpg --verify sift-cli-linux.sha256.asc
 1979  cd ./Downloads/
 1980  gpg --verify sift-cli-linux.sha256.asc
 1981  shasum -a 256 -c sift-cli-linux.sha256.asc
 1982  sha256sum -c sift-cli-linux.sha256.asc
 1983  sudo mv sift-cli-linux /usr/local/bin/sift
 1984  chmod 755 /usr/local/bin/sift
 1985  sift --help
 1977  gpg --keyserver pgp.mit.edu --recv-keys 22598A94
 1978  gpg --verify sift-cli-linux.sha256.asc
 1979  cd ./Downloads/
 1980  gpg --verify sift-cli-linux.sha256.asc
 1981  shasum -a 256 -c sift-cli-linux.sha256.asc
 1982  sha256sum -c sift-cli-linux.sha256.asc
 1983  sudo mv sift-cli-linux /usr/local/bin/sift
 1984  chmod 755 /usr/local/bin/sift
 1985  sift --help

Thank you and hope we can fix this error easily because I could not find this specific issue anywhere else!

Looks like your apt is configuring incorrectly which is preventing the CLI from being able to install it's needed packages.
Check the files listed and remove any duplicate sources. Then try again.

Hi
I am newbie on  linux and running ubuntu 16.04 on virtual machine. I have installed sift using apt -get command and it is showing in installed aps but is not on desktop or anywhere else. Can you please help?


throat alike

Think it would be useful if you could implement some like throat so you could specify how many parallel yields is possible
consider this example
co(function* (){
	const book = fetch("books/mobidick")
	const chapters = book.chapters
	let pages = []

	// use 5 paralle http request at the same time
	yield co(5, function* {
		for(chapter of chapters){
			let page = yield fetch("books/mobidick/chapters/" + chapter.index)
			pages[chapter.index] = page
		}
	})

	return pages
})

That's not possible, really. The idea is that the value that yield returns is resolved and the code continues to execute synchronously.
For parallel requests you need to yield an array (or object) with promises, so your example can be this:
co(function* (){
    const book = fetch("books/mobidick")
    const chapters = book.chapters
    let pages = []

    chapters.map((chapter) => {
        pages[chapter.index] = fetch("books/mobidick/chapters/" + chapter.index);
    });
    return yield pages;
});


MathpixPDFLoader never finishes

System Info
langchain==0.0.305
MacOS M1 Silicon
Who can help?
No response
Information

[X] The official example notebooks/scripts
[ ] My own modified scripts

Related Components

[ ] LLMs/Chat Models
[ ] Embedding Models
[ ] Prompts / Prompt Templates / Prompt Selectors
[ ] Output Parsers
[X] Document Loaders
[ ] Vector Stores / Retrievers
[ ] Memory
[ ] Agents / Agent Executors
[ ] Tools / Toolkits
[ ] Chains
[ ] Callbacks/Tracing
[ ] Async

Reproduction
I have a basic methon for loading the pdf via mathpix
def load_pdf(path):
    loader = MathpixPDFLoader(path)
    pages = loader.load()
    return pages;

pages = load_pdf("example_data/DOF-230519AFYXBECVECGY-0028747724.pdf")

but if I run this, I gen only this:
Status: None, waiting for processing to complete
Status: None, waiting for processing to complete
Status: None, waiting for processing to complete
Status: None, waiting for processing to complete
Status: None, waiting for processing to complete
Status: None, waiting for processing to complete
Status: None, waiting for processing to complete
...
in backend of mathpix I see the document aldready parsed.
Any idea on this?
Expected behavior
Expect the document to return.

71681972252-1.pdf
I am parsing this pdf. The timeout is not an issue, the detault is 500 and the result is visible in backend of mathpix

  | {   "text": "\\section{Invoice}\n\nInvoice No:<PHONE_NUMBER>516891971\nFor questions go to\n\nhttp://support.microsoft.com/ and choose your product for support.\n\nDate: \\(10 / 06 / 2023\\)\n\n\\title{\nGermany\n}\n\n\\begin{tabular}{\|c\|c\|c\|c\|}\n\\hline Item & Qty & Amount & \\\\\n\\hline \\multirow[t]{3}{*}{ Xbox Game Pass Ultimate } & \\multirow[t]{3}{*}{1,0} & Total Pre-Tax Charges & 10,92 \\\\\n\\hline & & VAT \\((19,00 \\%)\\) & 2,07 \\\\\n\\hline & & Total Amount (EUR) & 12,99 \\\\\n\\hline\n\\end{tabular}\n\nAmount Due (EUR)",   "confidence": 0,   "is_printed": true,   "request_id": "2023_09_30_94336ce084b4d02296b5g",   "is_handwritten": false,   "confidence_rate": 0,   "auto_rotate_degrees": 0,   "auto_rotate_confidence": 0,   "version": "RSK-M119p2" }
-- | --

Something changed between v0.0.300 and v0.0.305 in pdf.py that is causing a TimeoutError:
  File "C:\Workspace\python\langchain\demo-projects\pdf-loaders\venv\lib\site-packages\langchain\document_loaders\pdf.py", line 435, in load
    contents = self.get_processed_pdf(pdf_id)
  File "C:\Workspace\python\langchain\demo-projects\pdf-loaders\venv\lib\site-packages\langchain\document_loaders\pdf.py", line 405, in get_processed_pdf
    self.wait_for_processing(pdf_id)
  File "C:\Workspace\python\langchain\demo-projects\pdf-loaders\venv\lib\site-packages\langchain\document_loaders\pdf.py", line 402, in wait_for_processing
    raise TimeoutError
TimeoutError

I messaged Mathpix support and they indicated that nothing changed on their end:

Hello Sonny, thank you for your report
Could you please provide both PDFs you tried to convert (the one that worked before and the one that's currently not)
We didn't make changes that should affect the process
Waiting for your reply, thanks!

Hi Sergey,
Hmm, I guess the problem must be on LangChain's side then. I upgraded from v0.0.300 to v0.0.305.
Please find my PDFs attached.
I guess I may have to forward my stack trace to the LangChain engineers, but it would definitely help me if you have an idea of what the problem might be (I don't know if you're familiar with their codebase).
Thanks,
Sonny

Hello, yes I've just checked and those two files are getting converted fine on our side
This is most likely caused on LangChain side.. but without any logs it's difficult to say what can be wrong there
Please keep us updated as well, once there will be news from LangChain
Thanks!

This is not due to jreinjr's fix as their solution was working in v0.0.300 and must be somewhere else.

Okay, I had to do some testing to determine which version change caused the TimeOutError issue. From looking at my own code, I see that it was working in v0.0.274 (with jreinjr's fix) and upgraded from there. As it turns out, I was wrong about it it working in v0.0.300.
With jreinjr's fix, the last version this was working was actually 0.0.288. Something changed between 0.0.288 and 09
langchain | 0.0.275 | langsmith | 0.0.26 | ok
langchain | 0.0.275 | langsmith | 0.0.27 | ok
langchain | 0.0.275 | langsmith | 0.0.28 | ok
langchain | 0.0.275 | langsmith | 0.0.29 | ok
langchain | 0.0.281 | langsmith | 0.0.29 | ok
langchain | 0.0.290 | langsmith | 0.0.29 | timeout
langchain | 0.0.289 | langsmith | 0.0.29 | timeout
langchain | 0.0.285 | langsmith | 0.0.29 | ok
langchain | 0.0.286 | langsmith | 0.0.29 | ok
langchain | 0.0.287 | langsmith | 0.0.29 | ok
langchain | 0.0.288 | langsmith | 0.0.29 | ok
langchain | 0.0.288 | langsmith | 0.0.43 | ok

Please look at what changed between 0.0.288 to 0.0.289 that might have caused this to timeout. Thanks

My observation is that the request is not really timing out; as you pointed out, the PDF does get processed. But in this section of the PDF loader code, we look for { "status": "error" } or { "status": "completed" } in the response body, which is correct for the [processing status])(https://docs.mathpix.com/#processing-status), but at least in what I've observed, we're looking for it in the response body. So for example, the response I get has { "error": "400 Bad Request" }. There's no "status" key, so we just keep polling until the timeout limit is reached.
So I think there are two issues here:

The code I linked above needs to correctly handle the response body format, so if we get back something like { "error": "<whatever>" } we raise the error instead of misleadingly timing out.
Something's wrong with the way we're sending authorization data to the API, so we're not able to get PDF processing status or download the processed data.

I'm working on a fix for this, but I just wanted to drop my notes here first.


Introspect conditional

Added a helper function to figure out which conditional is being called for a given pair of inducing variable and kernel.

Hello @vdutor , I apologize for closing your PR. It was closed automatically when I moved develop-2.0 to the develop. Could you re-open the PR? Thanks!

This PR is superseded by #1139


Bug Report: Thorns crashes the game.

I'm using Kade Engine version 1.6.1 on MacOS, and I know that this also happened on the 1.6 version.
If you load into Thorns in either Story Mode or Freeplay, It crashes the game.

This must be your computer cause Mine works fine on my Mac

https://github.com/KadeDev/Kade-Engine/commit/ca0245d772e9acae46ef53437c5a3c6ca5a7bff9


Enhancement: New strategy - Buy newly listed coins in binance

Is your proposal related to a problem?
No. Just an enhancement.
Describe the solution you'd like
We could add a New strategy, that way we would have a lot to choose from: TV, lowest price, grid trade and newly listed coins.
Describe alternatives you've considered
We could add a function, activated trough frontend, to monitor new listed coins in binance. Today the BETA has risen 6500% 10$ would become 610$ (using 6000% as gain). I think it would be a great add to this bot. It is growing so much, some months ago we could only rely on lowest price, now we could have, with this, 4 strategies.

That strategy could have it's own sell trigger, as newly listed coins mostly rises more than 20%.
-- off topic
Btw, if TV stops this free API access, what would we need to do?

Will you be the one to implement such feature? ;)

@pedrohusky
I think there is already a bot for doing what you want.
And it's not always the case the coin price is rising when it's listed.
I guess this feature is good to have, not critical.

Btw, if TV stops this free API access, what would we need to do?

The bot will ignore the TradingView recommendations.

Since I will not implement this feature, I will close the issue.


[Tachyon-904] Remove LOG in ClientRWLock

https://tachyon.atlassian.net/browse/TACHYON-904

Can one of the admins verify this patch?

Jenkins, test this please.

Jenkins, ok to test.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/Tachyon-Pull-Request-Builder/4671/
Test PASSed.

Thanks!


Documentation: function signatures for debug callbacks are undocumented

The duk_debugger_attach function takes pointers to seven callback functions but none of the function signatures are documented.
This is true for both the API documentation and the internal debugger documentation file (/doc/debugger.rst).
Furthermore, the purpose of void *udata isn't documented.

Hi
First there is a full example that is provided: examples/debug-trans-dvalue
As to the signature, the write callback:
duk_size_t duk_trans_dvalue_write_cb(void *udata, char *buffer, duk_size_t length)
I suppose that buffer and length do not suprise you (the length of the buffer that contains the data to write), so the udata: it is something usual when working with C APIs as it allows the API user to have some "personnal" informations about the callback.
To be more precise, without the udata (stand for user data), Duktape would probably provide a context (i.e. a duk_context) and that would be all: no way for you to have a pointer to your singleton, your Duktape's manager or whatever. By allowing the user to provide its own data (through a void*), Duktape allows you to do what you want.
To be more specific with an example and without a udata: the write callback allows you to receive data from Duktape, but a full message may be splitted in several parts forcing you to use a global variable/function to aggregate all the parts before to be able to do any work. With a udata, you are able to have several instances of the engine (one by duk_create_heap_default call), and so on.

I'm currently coding with Duktape and I started with the official example that I modified. Here and there I needed to read some part of the documentation but all in all, the library is not surprising when you are accustomed with C APIs.

Was this comment of any help to you ?


docs(storybook): add example connecting a Range with Airbnb Rheostat

Is that enough to "fix" #1421 for the release?

Does it work on mobile @mthuret ?

I can try. Currently the styling of the slider is done by an external css file (but there's a PR indicating that they will switch to react-with-styles (their own wrapper for css-in-js 💥 ). I don't know if it can work easily with the babel-plugin of @vvo.
Also, do we want our default impl to be this one? For the release I'll stayed with showing how to connect the Range to an external implementation.

Also, do we want our default impl to be this one?

I don't know and I guess that's sort of unrelated to the current. Doing the review :)


Question: what dataset is used to train the current BirdNET model?

Hello BirdNET team.
I am a contributor of eBird and use your tool a lot！I wonder if the sound recordings uploaded to eBird (i.e. to Macaulay library) are part of your dataset used - or, if I upload recordings, am I technically helping the improvement of this tool? If so, does the high-quality recordings help more or low-quality ones are equally important?

Yes, uploading data to eBird and Macaulay Library helps to improve BirdNET. We're suing quite a few data sources, but Macaulay Library and Xeno-canto are the two largest collections we use. Thanks for contributing!


[Duplicate] Understanding different types of menus in android with kotlin

Article checklist
Pre-submission checks

Please ensure that you have only one open topic suggestion (issue) + in-review article (linked pull request) at a time. This will ensure that we complete the review process in a timely manner from inception to publishing

If you have not already, please go over our Resources Page for more tips and tricks on how to improve your overall technical writing so reviews are swifter, increase the chance of a payout and provide more value to our readers.

For first-time contributors and for more details on our submission guidelines, see our Contributing Guidelines.

Formatting and structure checks

[x] Have you used the correct folder and file structure? - see Contribution Guidelines

[x] Is your article properly formatted in Markdown? - see Github Markdown guide

[x] Have you used our preferred heading structure? - H3 (###) and up

[x] Does your article follow any of the suggested structure formats? - see example formats

[x] Is your article over 750 words? - Tool: Wordcounter.net

[x] Is the article you are submitting an in-depth and unique article? Does it go beyond what is in the official docs and what is covered in other blog sites. See these articles as examples.

[x] Does your article provide enough value and detail about your topic? - Articles should be clear, accurate, and fully explained.

[x] Can your article be understood by beginners? - Assume the audience is smart but has no prior exposure to the common terminology in your article.

[x] Have you included a hero image that is 600x400 pixels and have the copyright to use it? - Tools: Pixlr Image Editor for resizing and Unsplash for Creative Commons images

Grammar & plagiarism checks

[x] Have you spellchecked and grammar checked your article? - Tools: Write&Improve - ProWritingAid - Grammarly
[x] Please place your article through a 3rd party plagiarism checker. We suggest using Quetext, this tool is free and has a daily limit. We typically accept articles with 10% or less.
[x] Have you checked your article for readability? - Tool: Hemmingway
[x] Have you added sources for quotes and images that aren't yours?

Technical checks

[x] Are your code snippets properly formatted for syntax highlighting - see Syntax guide
[x] Have you checked your code runs correctly and you've highlighted all necessary dependencies for installation?
[x] Are the software programs and packages you're highlighting in your article up to date, using current versions and not deprecated?

Topic suggestion this closes

Remove the backticks and add the issue number below to link and close your Topic Suggestion (issue) when your article has been published (PR has been merged). See this video for more details.

This closes #4003

hello @hectorkambow and @Ericgacoki
Have made the necessary changes and opened a new pull request
thank you

Duplicate of #4747
cc: @Kayere

Hey @benta-odek , I've just spotted white space(s) in some of your file names. Replace the white space  with a hyphen.

hello @Ericgacoki  have removed the white spaces

jumping on this one


Scrappy doesn't reliably reset statuses

I've noticed many people's status not being properly updated when they need to. My theory for why this is happening: the streakResetter file loops through every account record in Airtable (of which there are currently 980), queries Slack to get their latest post, queries Slack again to update their status, then queries Airtable to update their record. This wasn't a problem at the beginning of scrapbook when there were very few records, but now, scrappy is likely being rate-limited by Slack and Airtable.
I'd fix this by 1) filtering the initial Airtable query to only include records where the 'updates' field is not empty, and 2) slowing down the loop so that rate limits aren't hit.

I believe I just fixed this in https://github.com/hackclub/scrappy/commit/9bc8b51a47752cb5e17712ada434f4b53766222f, but I'm not 100% sure, so I'll keep this issue open for now

who care s. i don't. if someone notices this and cares about it, feel free to reopen