listener/http-manager downstream_rq_4xx counter not incremented when envoy returns a 431 response after hitting a header size limit

Title: listener/http-manager downstream_rq_4xx counter not incremented when envoy returns a 431 response after hitting a header size limit
Description:
When rolling out v1.11.2 which includes the max 100 headers count limit we wanted to know if we were breaking any existing service (i.e. a service that expects requests with >100 headers) by looking at the response_code_class tag in the listener.http.downstream_rq_xx and http.downstream_rq_xx metrics. But we noticed these counters are not incremented when envoy returns a 431.
Is this working as designed?
We did notice that http.downstream_cx_protocol_error gets incremented but that seems too generic to tell if the cause is headers size (to be fair, 4xx is also too generic, is there a way to get specific status code tags as with the cluster metrics?)
Repro steps:
Tested with v1.11.1 (max header kb exceeded) and v1.11.2 (both max headers count and kb exeeded)

Set  max_request_headers_kb to  1 to easily trigger the 431s (see full envoy config below)

Perform a bunch of requests with a long header:

$ curl -I -H "x-long-header: $(printf 'a%.0s' {1..1200})" localhost:8080
HTTP/1.1 431 Request Header Fields Too Large
content-length: 0
connection: close

Admin and Stats Output:
These are the http manager and listener stats (after making 10  status 431 requests):
http.ingress_http.downstream_cx_active: 0
http.ingress_http.downstream_cx_delayed_close_timeout: 0
http.ingress_http.downstream_cx_destroy: 10
http.ingress_http.downstream_cx_destroy_active_rq: 0
http.ingress_http.downstream_cx_destroy_local: 0
http.ingress_http.downstream_cx_destroy_local_active_rq: 0
http.ingress_http.downstream_cx_destroy_remote: 10
http.ingress_http.downstream_cx_destroy_remote_active_rq: 0
http.ingress_http.downstream_cx_drain_close: 0
http.ingress_http.downstream_cx_http1_active: 0
http.ingress_http.downstream_cx_http1_total: 10
http.ingress_http.downstream_cx_http2_active: 0
http.ingress_http.downstream_cx_http2_total: 0
http.ingress_http.downstream_cx_idle_timeout: 0
http.ingress_http.downstream_cx_overload_disable_keepalive: 0
http.ingress_http.downstream_cx_protocol_error: 10
http.ingress_http.downstream_cx_rx_bytes_buffered: 0
http.ingress_http.downstream_cx_rx_bytes_total: 12960
http.ingress_http.downstream_cx_ssl_active: 0
http.ingress_http.downstream_cx_ssl_total: 0
http.ingress_http.downstream_cx_total: 10
http.ingress_http.downstream_cx_tx_bytes_buffered: 0
http.ingress_http.downstream_cx_tx_bytes_total: 860
http.ingress_http.downstream_cx_upgrades_active: 0
http.ingress_http.downstream_cx_upgrades_total: 0
http.ingress_http.downstream_flow_control_paused_reading_total: 0
http.ingress_http.downstream_flow_control_resumed_reading_total: 0
http.ingress_http.downstream_rq_1xx: 0
http.ingress_http.downstream_rq_2xx: 0
http.ingress_http.downstream_rq_3xx: 0
http.ingress_http.downstream_rq_4xx: 0
http.ingress_http.downstream_rq_5xx: 0
http.ingress_http.downstream_rq_active: 0
http.ingress_http.downstream_rq_completed: 0
http.ingress_http.downstream_rq_http1_total: 10
http.ingress_http.downstream_rq_http2_total: 0
http.ingress_http.downstream_rq_idle_timeout: 0
http.ingress_http.downstream_rq_non_relative_path: 0
http.ingress_http.downstream_rq_overload_close: 0
http.ingress_http.downstream_rq_response_before_rq_complete: 0
http.ingress_http.downstream_rq_rx_reset: 10
http.ingress_http.downstream_rq_timeout: 0
http.ingress_http.downstream_rq_too_large: 0
http.ingress_http.downstream_rq_total: 10
http.ingress_http.downstream_rq_tx_reset: 0
http.ingress_http.downstream_rq_ws_on_non_ws_route: 0
http.ingress_http.no_cluster: 0
http.ingress_http.no_route: 0
http.ingress_http.rq_direct_response: 0
http.ingress_http.rq_redirect: 0
http.ingress_http.rq_reset_after_downstream_response_started: 0
http.ingress_http.rq_total: 0
http.ingress_http.rs_too_large: 0
http.ingress_http.tracing.client_enabled: 0
http.ingress_http.tracing.health_check: 0
http.ingress_http.tracing.not_traceable: 0
http.ingress_http.tracing.random_sampling: 0
http.ingress_http.tracing.service_forced: 0
listener.<IP_ADDRESS>_8080.downstream_cx_active: 0
listener.<IP_ADDRESS>_8080.downstream_cx_destroy: 10
listener.<IP_ADDRESS>_8080.downstream_cx_total: 10
listener.<IP_ADDRESS>_8080.downstream_pre_cx_active: 0
listener.<IP_ADDRESS>_8080.downstream_pre_cx_timeout: 0
listener.<IP_ADDRESS>_8080.http.ingress_http.downstream_rq_1xx: 0
listener.<IP_ADDRESS>_8080.http.ingress_http.downstream_rq_2xx: 0
listener.<IP_ADDRESS>_8080.http.ingress_http.downstream_rq_3xx: 0
listener.<IP_ADDRESS>_8080.http.ingress_http.downstream_rq_4xx: 0
listener.<IP_ADDRESS>_8080.http.ingress_http.downstream_rq_5xx: 0
listener.<IP_ADDRESS>_8080.http.ingress_http.downstream_rq_completed: 0
listener.<IP_ADDRESS>_8080.no_filter_chain_match: 0

Config:
admin:
  access_log_path: /tmp/admin_access.log
  address:
    socket_address:
      protocol: TCP
      address: <IP_ADDRESS>
      port_value: 8001

stats_config:
  use_all_default_tags: true

stats_flush_interval: "10s"

static_resources:
  listeners:
    - name: "ingress_listener"
      address:
        socket_address:
          protocol: "TCP"
          address: "<IP_ADDRESS>"
          port_value: 8080
      filter_chains:
        - filters:
            - name: "envoy.http_connection_manager"
              config:
                max_request_headers_kb: 1
                stat_prefix: "ingress_http"
                route_config:
                  name: "ingress_route"
                  virtual_hosts:
                    - name: "virtual_host_service"
                      domains:
                        - "*"
                      routes:
                        - match:
                            prefix: "/"
                          route:
                            cluster: "service"
                http_filters:
                  - name: "envoy.router"

  clusters:
    - name: "service"
      connect_timeout: "0.25s"
      type: "LOGICAL_DNS"
      dns_lookup_family: "V4_ONLY"
      load_assignment:
        cluster_name: "service"
        endpoints:
          - lb_endpoints:
              - endpoint:
                  address:
                    socket_address:
                      address: "<IP_ADDRESS>"
                      port_value: 8001

It looks like the problem here is that generally the 4xx stats are handled in the HCM, but for overly large headers (and other classes of errors) the codec_impl.cc does sendProtocolError and the stats aren't incremented.  I think it would be good to unify that handling.

Yeah +1 we should definitely fix this.


Image/Logo Upload, Download image

I want to create api to upload image into a database so that user can apply the designs on it. I plan to create a simple mongodb schema so that I insert the image url in it. also I plan to create a validation layer and class for customized error handling. "under gssoc"

Can you please elaborate this issue more?

Ohk go Ahead

can you also assign this issue to me if @MagdyNasr41 dont have any problem. we can work together on this issue

can you also assign this issue to me if @MagdyNasr41 dont have any problem. we can work together on this issue

i think you are already enrolled in other issues na?

yes hai issue tackle kr shakte he kya 😅


disable DTR error [Error: Error: Bad file descriptor, cannot set]

Summary of Problem
I'm trying to disable DTR but got error
[Error: Error: Bad file descriptor, cannot set]

Code to Reproduce the Issue
const options = {
  hupcl: false,
  dataBits: 8,
  stopbits: 1,
  parity: 'none'
};
const sPort = new Serialport(serialport, options);
sPort.on('open', () => {
  sPort.update({ baudRate: 1200 });
  sPort.set({ dtr: false });
  sPort.close();
  console.log(`Forcing using 1200bps open on port "${serialport}"`);
});

Versions, Operating System and Hardware

<EMAIL_ADDRESS>Node.js v12.18.3
MacOS 10.15.6
Arduino hardware device

SeriapPort#update, SerialPort#set and SerialPort#close are all asynchronous methods. I'm not sure if it's a good idea to call SerialPort#close while SeriapPort#update and SerialPort#set are still running asynchronously. Maybe it's better to wait for SeriapPort#update and SerialPort#set to complete execution before calling SerialPort#close. It doesn't look the best but something like this may work:
const options = {
  hupcl: false,
  dataBits: 8,
  stopbits: 1,
  parity: 'none'
};
const sPort = new Serialport(serialport, options);
sPort.on('open', () => {
  sPort.update({ baudRate: 1200 }, (err) => {
    if (err) throw err;
    sPort.set({ dtr: false }, (err) => {
      if (err) throw err;
      sPort.close((err) => {
        if (err) throw err;
        console.log(`Forcing using 1200bps open on port "${serialport}"`);
      });
    })
  })
});

Hi @fivdi , thank you, finally I found a simple way to reset serial port by following code, disable dtr is not necessary:
const options = { baudRate: 1200, hupcl: false };
const sPort = new Serialport(serialport, options);
sPort.on('open', () => {
  send({ msg: `Forcing using 1200bps open on port "${serialport}"` });
  sPort.close();
});
sPort.on('close', () => {
  send({ msg: `Forcing using 1200bps close on port "${serialport}"` });
});


[todo-mvvm-live] Fragment observe LiveData

When I use LiveData in a Fragment, something like
getUserName().observe(getActivity(), result-> {
    do something;
}

usually getUserName() is a network request and may or may not get a answer but it will be pretty fast so there is no problem.
But when it's a time consuming task such as scan bluetooth devices. User may have already destroy this fragment and switch to another. And then my APP will be corrupt to do something.
I slove it by call removeObservers in onDestroy()
but is there any more straightforward solution for it? Or it's not recommended to use LiveData in this kind of situation?
Thank you

LiveData won't emit your result if the activity is not active. That's the main advantage of LiveData vs other observables.

Sorry, but after a long time I found where is my really question is. The LiveData object observe the activity, so after I destroy the fragment the activity is still active, and the LiveData object will try to inform the activity and do something, which make the app corrupt. To address it, I need to make the LiveData observe fragment.


[DOCS] Increments version from 0.11.0 to 0.11.1

Tickets addressed: NA
Review: By commit
Merge strategy: Merge (no squash)

Description
Increments version from 0.11.0 to 0.11.1
Verification
CI process tests run
Documentation
No new documentation to create and no updates needed.
Future work
NA

I have been bad about updating these. Can you also update the version of the default UI views pease:
https://github.com/NASA-AMMOS/aerie/blob/develop/deployment/postgres-init-db/data/ui/views/example_0.json#L7
https://github.com/NASA-AMMOS/aerie/blob/develop/deployment/postgres-init-db/data/ui/views/example_1.json#L7

Thanks for the heads up on these ones. I missed them with my find on "0.11.0"

I have been bad about updating these. Can you also update the version of the default UI views pease:
https://github.com/NASA-AMMOS/aerie/blob/develop/deployment/postgres-init-db/data/ui/views/example_0.json#L7
https://github.com/NASA-AMMOS/aerie/blob/develop/deployment/postgres-init-db/data/ui/views/example_1.json#L7

Thanks for the heads up on these ones. I missed them with my find on "0.11.0"


Support for multiple namespaces (Tenants)

Multiple namespaces for volumes on the same datastore allows for multiple Docker clusters to be run . Each VM would be part of one and only one namespace.

AdminCLI change to support multi-tenancy is addressed in #645

Addressed with #603  & #645 and tech-preview available in Oct 2016 release.


Fix compile error for esphome version greater than 2023.6.0

Fixes the RealTimeClock compile error because of movement of time functions since esphome 2023.6.0.
Breaking change PR: https://github.com/esphome/esphome/pull/4926

thanks for your support @frittes


Dynamic paths / Win build script / Readme update

Changes:

Use dynamic path in lib/java.js classpath
Removed unused lib/repl.js
Added Windows build script
Updated README.md

Thanks for the fixes!
Just a couple of high-level comments:

Some of your files have newline errors (no newline at end of file)
It would be good to split out unrelated changes in different commits.

Anyway, I'll go ahead and merge this and fix the newline in a follow-on commit.

Well, it's not necessary to put newlines neither in shell scripts nor node.js files as far as I know. It may be an issue of code style, but it doesn't affect any functionality IMHO.

Of course, like indentation and whitespace, it's not necessary in the sense that code still runs without it. It's just a (prevalent) convention.


fsevents 404 when installing

Mac High Sierra v10.13.6
Node v10.12.0

It seems like my yarn install is failing when fsevents is trying to be installed... 🤔
I tried changing fsevents versions, but still there was no luck. It seems like it's similar to issue #3926

1.2.2 doesn't have pre-compiled binaries for v10.x. 1.2.4 should, I think.

1.2.4 seems to not work either, but it seems to work when my node version to v8.12.0 🎉
Thanks @bnoordhuis!

Well, it certainly doesn't work with node v11.0.0.
node-pre-gyp WARN Tried to download(404): https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.2.4/fse-v1.2.4-node-v67-darwin-x64.tar.gz  node-pre-gyp WARN Pre-built binaries not found for<EMAIL_ADDRESS>and<EMAIL_ADDRESS>(node-v67 ABI, unknown) (falling back to source compile with node-gyp)

Same issue here. Back to node 10.12.

same issue

Same here...
node-pre-gyp ERR! Tried to download(404): https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.1.3/fse-v1.1.3-node-v64-darwin-x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for<EMAIL_ADDRESS>and<EMAIL_ADDRESS>(node-v64 ABI, unknown) (falling back to source compile with node-gyp)
node-pre-gyp ERR! Tried to download(undefined): https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.1.3/fse-v1.1.3-node-v64-darwin-x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for<EMAIL_ADDRESS>and<EMAIL_ADDRESS>(node-v64 ABI, unknown) (falling back to source compile with node-gyp)

compilation with node-gyp failed as well.
gyp ERR! node -v v10.13.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
node-pre-gyp ERR! build error

Downgraded to node version 9.11.2 and it works with the pre-built binaries now.

same here!

I had this issue, and it was because yarn was using a version of node-gyp that is incompatible with xcode command line tools versions > 9.
https://github.com/nodejs/node-gyp/commit/293092c362febffe19f72712467565045e08e8f1
Adding this to my package.json and running yarn again fixed it for me.
{
"resolutions": {"**/**/node-gyp": "^3.8.0" }
}

https://yarnpkg.com/lang/en/docs/selective-version-resolutions/

Good!
Although personally my scripts are still running npm.

I love getting rid of issues like this. #238 should eliminate this entirely

This is happening again with node v12.10.0. Downgrading to 12.6.0 fixed it for me.


Add Cone and Cylinder shapes to bevy_render::mesh::shape

What problem does it solve
I plan to create a debug shape bevy plugin. It would simply just spawns meshes with a special line drawing shader. But currently the default mesh library in bevy is very limited, I would have to implement separately a few of even the most basic shapes! The Bevy shape module misses such basic shapes as a cylinder or cone.
What solution would you like?
I already have working implementation of algorithms to compute cylinder and cone vertices and edges (in the heron debug view implementation)
I only suggest that I personally port those to the bevy shape module. But I first want to know if the addition is welcome, so that it doesn't turn into wasted efforts.
What alternative(s) have you considered?
The other solution is simply that everyone copy the cylinder and cone mesh generation algorithms when they need it. For me it's not a problem given I already did this. But I don't see why the torus gets a pass and not cylinders!
Additional context
Future additions could include a rounded cuboid or arbitrary convex vertex collections. But that's not on the radar currently.

there has been a lot of discutions around shapes in https://github.com/bevyengine/rfcs/pull/12


Add prefix to sampling progress

Description:
Add prefix for warmup and sampling to samplers to more easily see what is going on with sampling. More options could also be added in the future like acceptance rate etc.
Definition of done:

[x] Pre-fix is implemented
[ ] Change is reviewed and accepted

@jakobsj DOD


Connect to superset service over https

Affected module
Ingestion
Describe the bug
Superset connector fails with following verification exception
Failed to test connection due to {"error": "Connection error from [SupersetClient()]: Unknown error connecting with SupersetClient(): HTTPSConnectionPool(host='superset.rnb.com', port=443): Max retries exceeded with url: /api/v1/security/login (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)')))."}
To Reproduce
Superset works behind nginx with self signed certificate.
I installed this certificate in the openmetadata_server and  openmetadata_ingestion containers.
And i successfully test ssl connection with superset service from openmetadata ingestion (openssl s_client -showcerts -connect superset_domain:443)
How can i disable verifycation my certificate in python (requests in connection.py) or maybe i can use connectionOptions in yaml file ?
Version:

OS: docker
Python version: 3.9.14
OpenMetadata version: 0.12.0
OpenMetadata Ingestion package version: 0.12.0

We look at where the certificates are located
python -m certifi
And add our certificate chain in pem format
cat our.chain.ca.pem >> locate.certifi.cacert.pem


Fail fast on missing app

Currently the client emits a lot of output before realizing an app is not specified:

$ heroku version
heroku-gem/2.1.4
$ heroku config:add FOO=bar
Adding config vars:
  FOO => bar
Restarting app...No app specified.
Run this command from an app folder or specify which app to use with --app

Could it fail faster?

$ heroku config:add FOO=bar
No app specified.
Run this command from an app folder or specify which app to use with --app

It appears that this was fixed here:
https://github.com/heroku/heroku/commit/e151b2d7
Thanks!
wes


useShortcut() tests

See https://github.com/Shopify/quilt/pull/615#issuecomment-479252968 for more details.
This PR is a follow up to https://github.com/Shopify/quilt/pull/615 that begins to add additional hook-specific tests.
Question: Are these useful or just repetitive given we already test the Shortcut component? Is there a rule of thumb for when/ when not to test a hook? (Ie: the component version doesn't add any new features.)
I stopped shortly after beginning to add these tests because I believe they add almost no value given the additional time it would take to maintain/run them. Would like at least one second opinion on this though.

closing


Track requirements and add coverage

https://requires.io/
helpful for keeping requirements up-to-date
https://coveralls.io/
helpful for keeping track of library health through test coverage on the project.
@kmax12 if you setup these accounts (i believe both free for public repos) I can add to the circle config to get them up and running

coveralls is addressed in #12

requirements are addressed in #15


Move filter logic to check.go or other cmd level file

Parameters from flags should have their logic as close as possible of the command being called. They don't belong to other packages. I believe we can refactor this to decouple the commands from their serving packages and keep them as independent as possible. This way changes in the command behaviors won't brake or demand changes on the internal packages.

Closing this per our discussion on 9/26--in summary: current state of this specific logic is fine and makes sense after a group discussion, but we should review the rest of the code base and make sure we are being consistent with how we partition the different packages.


Fix: Extra margin added in qr code in some cases

Hi @sellakkumaran , thanks for your PR. I found out that the fix was already merged in #229 PR. It was released in v.1.7.1


chore: add deprecation notice to forge create

This command should be deprecated soon, ideally in V1.

in favor of?

Yep this was agreed a while ago—people should use forge script instead @mattsse


Improve Namespace handling in the chart: Set release Namespace as default and allow user overrides

In the current situation, the creation of the namespace is managed by the 'create' configuration as we can see here: https://github.com/strimzi/drain-cleaner/blob/main/helm-charts/helm3/strimzi-drain-cleaner/templates/000-Namespace.yaml#L1.
On the other hand, the deployment is governed by the 'name' configuration at this location: https://github.com/strimzi/drain-cleaner/blob/main/helm-charts/helm3/strimzi-drain-cleaner/templates/060-Deployment.yaml#L7.
This leads to unusual behavior when the 'create' configuration is set to false, but the HelmRelease still attempts to deploy in the default 'strimzi-drain-cleaner' namespace.
Using the default namespace in this manner may not be the best practice, as typically, resources deployed by a chart share the same namespace as the release by default.
A suggested solution would be to adjust the conditions and set the release namespace as the default. This should only be overridden if the user specifically requests it.
What do you think?

The default namespace is not a place you want to deploy applications. It usually has special properties and might not even allow applications to run properly.
TBH, I think it works well from my point of view today:

If you disable the namespace creation, then you are ultimately saying that you are responsible for creating the namespace. so you should not complain if it fails because the namespace does not exist.
Changing the namespace used as default today to something else would mean backwards incompatible change. So I think we should stick with 'strimzi-drain-cleaner'.

@scholzj So we just ran into a bug where the drain cleaner Certificate is invalid and not being creaetd properly - and we didn't notice. The issue is in https://github.com/strimzi/drain-cleaner/blob/0.4.2/helm-charts/helm3/strimzi-drain-cleaner/templates/041-Certificate.yaml#L13-L15. Why are you specifying .Values.namespace.name rather than using the fairly standard {{ .Release.Namespace }} or even {{ default .Release.Namespace .Values.namespace.name }}? I find it generally unusual to see helm charts where I have to hard-code in the namespace name... and that makes using tools like ct more difficult.


Is static-linking the loader itself possible?

It looks like VKstatic.1.lib (on Windows) is a statically-linkable version of the loader, is its use documented anywhere? Specifically what happens if I statically link the loader into a 3rd-party .dll which a an app may be using in conjunction with newer versions of vulkan-1.dll?

Like you said, VKstatic.1.lib is a statically linkable version of the Vulkan loader. Unfortunately, we don't have much documentation on the static version of the loader. This is because in general it's far better to use the dynamic loader. The dynamic loader will find new extensions as they are released, and will get bug fixes over time. On top of that, Vulkan compatible drivers install the dynamic loader onto people's systems, so you can count on it being there as long as the drivers support Vulkan.
But to answer your immediate question, I would not expect good things to happen if you have a program that ends up linking to both the static and dynamic loaders. I just tried it out and it seems to work for a very simple case, but I would expect trouble in more complicated cases. The reason it compiles is that the Vulkan symbols do not get exported by the dll, since they aren't compiled with declspec(dllexport), so the final app only links to the dynamic loader, while the new dll only links to the static loader. But problems would arise if your dll and the final app try to pass any Vulkan objects back and forth. If you do that, you may end up with two different loader versions, which will mean that the implementation of those objects would be different between your dll and the app. As a result, I think that you could do what you're suggesting as long as your dll doesn't transmit any Vulkan objects to the app. If it does pass Vulkan objects to the app, then you'd need to make sure you only link to one Vulkan loader (which I would strongly recommend doing anyway). If you do want to include a specific version of Vulkan with your loader, you could always try linking Vulkan in statically, but exporting the Vulkan symbols with __declspec(dllexport) so that the final app can get Vulkan from your dll, but to do that you'd have to play around with build options to get it working. In general, though, I'd definitely recommend just sticking to the dynamic loader.

Thanks for the info, I ended up dynamically loading the vulkan-1.dll myself. We have a situation where a client dll supports multiple APIs and we don't want to force an app which is not using Vulkan to require the loader dll. It would be nice if there was a statically-linked shim version of vulkan-1.lib which dynamically loaded the newest compatible vulkan-1.dll on first use.

Generally, the idea is that vulkan-1.dll is already supposed to be the component that's responsible for loading the Vulkan functions, so adding another library into the process would be redundant. If you want to dynamically load vulkan-1.dll, you can do that, you'd just have to manually load each function's address as described here.
On top of that, there isn't actually any requirement for a computer to support Vulkan for the loader to be present. If a computer does not support Vulkan, then Vulkan functions will just return error codes. I can't remember off the top of my head exactly what will and won't work, but I know you'll never get any physical devices. This means you could just include vulkan-1.dll with your product, but recognize that if the functions fail then Vulkan isn't supported.
Also, I've added some documentation here since you did point out that the static loader documentation was seriously lacking. That documentation should make it into our next SDK release. I'm going to close the issue now, since I think your questions have been answered and since I've improved the documentation. If you do have more questions, feel free to ask.


Fix version templating property for Microsoft.DotNet.Cli.CommandLine

Adding patch to fix templating property name so it picks up the source-built version of Microsoft.DotNet.Cli.CommandLine.

Patch was added as part of Preview8 update.


Temurin 17 JRE builds are missing modules (jdk.unsupported.desktop, jdk.random)

What are you trying to do?
Using JavaFX 17's swing integration, which is using the jdk.unsupported.desktop in conjunction with OpenJDK17U-jre_x64_windows_hotspot_17.0.2_8
Expected behaviour:
The module is available and the application that uses Java FX 17's swing integration with the JRE build does not crash. It should work just fine, just like it does on the JDK build (OpenJDK17U-jdk_x64_windows_hotspot_17.0.2_8)
Observed behaviour:
The module is not available in the modules file of the build, and an application that makes use of jdk.unsupported.desktop crashes when using the JRE build, while it does not when using the JDK build.
Any other comments:
Both the OpenJDK17U-jdk_x64_windows_hotspot_17.0.2_8 & OpenJDK17U-jre_x64_windows_hotspot_17.0.2_8 builds have a "release" file at the root of the JDK/JRE folder. Both files are identical except for the IMAGE_TYPE line.
So both release files indicate the jdk.random and jdk.unsupported.desktop modules as available on the MODULES line.
If you run jimage list ..\lib\modules on both builds and compare the output, you can clearly see that the list differs from the list in the "release" file on the JRE build. The JRE build is missing a few modules that are of limited use on a JRE, which is fine, but both jdk.random and jdk.unsupported.desktop should be included and they are not.
I see two issues here:

the "release" file that lies about the contents of the release on the MODULES line
The missing inclusion of both jdk.random and jdk.unsupproted.desktop modules in the JRE builds.

Related to this is this bug for jdk.random on ALPINE: https://github.com/adoptium/temurin-build/issues/2843

Additional information:
The Azul Zulu JRE build zulu17.32.13-ca-jre17.0.2-win_x64 contains jdk.random in its modules file, but not desktop.unsupported.
They do provide a JRE + JavaFX build, but that build does not include the javafx.swing module, and does not include the jdk.unsupported.desktop module either (which would be required by javafx.swing)

Work-around: It is easy to use jlink to build a custom JRE from a Temurin JDK.
jdk-17.0.7+7/bin/jlink --strip-debug --compress=2 --output=custom-jre --add-modules=java.se,jdk.unsupported.desktop,jdk.unsupported,jdk.random

If you try to start your application and get the following errors you can add more modules:

Error occurred during initialization of boot layer
java.lang.module.FindException: Module jdk.jsobject not found, required by javafx.web

I suspect this is because we defaulted to using the same modules as the legacyJre target.
@hendrikebbers Are you able to comment here?

This is still an issue with at least eclipse-temurin:21-jre-ubi9-minimal.

Any news here? It's a real disadvantage not to be able to use Temurin to run JavaFX applications.


Cannot read property 'isPromise' of undefined

This is looks like similar to https://github.com/MarkPieszak/angular-application-insights/issues/10
But, i have Angular 4.2.1 with
"dependencies": {
"attherate markpieszak/ng-application-insights": "^2.4.2",
}
Runtime Error
Cannot read property 'isPromise' of undefined
Stack:
TypeError: Cannot read property 'isPromise' of undefined
at Object. (http://localhost:8100/build/main.js:144370:98)
at webpack_require (http://localhost:8100/build/main.js:20:30)
at Object. (http://localhost:8100/build/main.js:34023:79)
at webpack_require (http://localhost:8100/build/main.js:20:30)
at Object. (http://localhost:8100/build/main.js:52567:76)
at webpack_require (http://localhost:8100/build/main.js:20:30)
at Object. (http://localhost:8100/build/main.js:142966:80)
at webpack_require (http://localhost:8100/build/main.js:20:30)
at Object. (http://localhost:8100/build/main.js:51037:76)
at webpack_require (http://localhost:8100/build/main.js:20:30)
Ionic Framework: 3.3.0
Ionic App Scripts: 1.3.7
Angular Core: 4.1.2
Angular Compiler CLI: 4.1.2
Node: 6.11.4
OS Platform: Windows 7
Navigator Platform: Win32
User Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36

do we have any update ? @MarkPieszak @KamilSzostak @Dmitry-Matveev @johnkattenhorn

Hey @sat80890 Apologies on the delay, github notifications are a mess!
Did you ever figure this one out?
It sounds like you might need to dump node_modules and reinstall everything, make sure it's using the correct versions in node_modules manually afterwards, maybe something is installing older versions for some reason.
Let me know!

@MarkPieszak  Hi there, facing the same problem. I removed the node_modules and ran the following commands and I still continue to see the same problem.
npm cache clean
npm install
Version:
"dependencies": {
"@angular/router": "^4.1.3",
"@markpieszak/ng-application-insights": "^1.0.0",
}

So you need to use ^2.0.0 at least, that ^ will only stay within that current semantic versioning of ^1.0.0 you have in your package.json, that should fix it!
@sat80890 If you can upgrade to 2.x that'd fix your issue as well.
Let me know! Closing out for now.


Fix Deployment Environments sample manifest.yaml

Fix sample manifest.yaml.
Without a summary, catalog items will not be registered.

Learn Build status updates of commit 94364af:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error: RuningBuildFailed] Some unexpected errors happened when running build, please open a ticket in https://aka.ms/SiteHelp and include the error report for our team to troubleshoot

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Learn Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit 94364af:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

articles/deployment-environments/configure-catalog-item.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

#assign-reviewer: @sagarlankala

#sign-off


Problem with quorum

I started android application and want send simple transaction to Iroha, but it failure on the Stateless validation.. because of quorum size
I use docker image of iroha x86_64-develop,  and develop version of android-sample repository
android bildings from android-sample

I guess the issue is fixed, since android bindings are updated now
Feel free to add smth here, if the issue is still persist


v0.3.14 error win32 x64

:warning:Please attach %TEMP%\vscode-java-installer\log.txt and %TEMP%\vscode-java-installer\AdoptOpenJDK-MSI.log for more details.
version: 0.3.14
env:
JAVA_HOME: undefined
PATH:
C:\Windows\system32
C:\Windows
C:\Windows\System32\Wbem
C:\Windows\System32\WindowsPowerShell\v1.0\
C:\Windows\System32\OpenSSH\
C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR
C:\Program Files\dotnet\
C:\Program Files\Git\cmd
C:\Users\jordy\AppData\Local\Programs\Python\Python310\Scripts\
C:\Users\jordy\AppData\Local\Programs\Python\Python310\
C:\Users\jordy\AppData\Local\Microsoft\WindowsApps
C:\Program Files\JetBrains\PyCharm 2021.2.3\bin

C:\Users\jordy\AppData\Local\Programs\Microsoft VS Code\bin
C:\Users\jordy\.dotnet\tools
C:\MinGW\bin

JDKs:

log:
[5:45:19 PM] AdoptOpenJDK-11-x64
[5:48:38 PM] Download JDK ... [Completed]
[5:48:38 PM] Install JDK
[5:48:38 PM] Installing AdoptOpenJDK-11-x64...
[5:48:51 PM] Install JDK ... [Completed]
[5:48:51 PM] Configure Java Settings
[5:48:51 PM] Error occurred
[5:48:51 PM] Error: Java Home not found.

log:
info: Started {"timestamp":"2021-11-28T16:45:16.453Z"}
verbose: Ids: {"uiKind":1,"appRoot":"C:\Users\jordy\AppData\Local\Temp\1u7C39sHofooqVi4tC6fT2m72NU\resources\app.asar","isTelemetryEnabled":true,"machineId":"b290c634fccfd340f1dbb04c57a18ee374b2aa1c48a19569e8e2a22ae7cb62b6","sessionId":"34a03a5e-ab39-48e4-9638-ff9c504e8fb21638117916055","timestamp":"2021-11-28T16:45:16.454Z"}
verbose: Packed binaries: {"timestamp":"2021-11-28T16:45:18.037Z"}
verbose: Found JDKs in env.JAVA_HOME {"jdks":[],"timestamp":"2021-11-28T16:45:18.038Z"}
verbose: Found JDKs in env.PATH {"jdks":[],"timestamp":"2021-11-28T16:45:18.050Z"}
verbose: Found JDKs in WindowsRegistry {"jdks":[],"timestamp":"2021-11-28T16:45:18.118Z"}
verbose: Found JDKs in DefaultLocation {"jdks":[],"timestamp":"2021-11-28T16:45:18.121Z"}
verbose: Looking for Code stable x64-user in x64 registry: HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall{771FD6B0-FA20-440A-A002-3B3BAC16DC50}_is1 {"timestamp":"2021-11-28T16:45:18.122Z"}
verbose: Code stable x64-user is installed. {"timestamp":"2021-11-28T16:45:18.174Z"}
verbose: Installed components: {"vscode":{"homedir":"C:\Users\jordy\AppData\Local\Programs\Microsoft VS Code\","version":"1.62.3"},"extensions":[],"timestamp":"2021-11-28T16:45:18.174Z"}
verbose: jdk metadata {"release_name":"jdk-11.0.13+8","release_link":"https://github.com/adoptium/temurin11-binaries/releases/tag/jdk-11.0.13%2B8","timestamp":"2021-11-15T16:03:02Z","release":true,"binaries":[{"os":"windows","architecture":"x64","binary_type":"jdk","openjdk_impl":"hotspot","binary_name":"OpenJDK11U-jdk_x64_windows_hotspot_11.0.13_8.zip","binary_link":"https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.13%2B8/OpenJDK11U-jdk_x64_windows_hotspot_11.0.13_8.zip","binary_size":196666656,"checksum_link":"https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.13%2B8/OpenJDK11U-jdk_x64_windows_hotspot_11.0.13_8.zip.sha256.txt","installer_name":"OpenJDK11U-jdk_x64_windows_hotspot_11.0.13_8.msi","installer_link":"https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.13%2B8/OpenJDK11U-jdk_x64_windows_hotspot_11.0.13_8.msi","installer_size":175078400,"installer_checksum_link":"https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.13%2B8/OpenJDK11U-jdk_x64_windows_hotspot_11.0.13_8.msi.sha256.txt","installer_download_count":197344,"version":"11","version_data":{"openjdk_version":"11.0.13+8","semver":"11.0.13+8"},"heap_size":"normal","download_count":222391,"updated_at":"2021-10-24T09:54:24Z"}],"download_count":555574}
info: JDK downloaded. {"timestamp":"2021-11-28T16:48:38.833Z"}
verbose: Installing JDK with command: {"msiexec":"C:\Windows\System32\msiexec.exe","args":["/i",""C:\Users\jordy\AppData\Local\Temp\vscode-java-installer\binaries\jdk\11\x64\OpenJDK11U-jdk_x64_windows_hotspot_11.0.13_8.msi"","MSIINSTALLPERUSER=1","ADDLOCAL=FeatureJavaHome,FeatureEnvironment,FeatureJarFileRunWith","/passive","/l*v "C:\Users\jordy\AppData\Local\Temp\vscode-java-installer\AdoptOpenJDK-MSI.log""],"timestamp":"2021-11-28T16:48:38.842Z"}
verbose: Found JDKs in env.JAVA_HOME {"jdks":[],"timestamp":"2021-11-28T16:48:51.871Z"}
verbose: Found JDKs in env.PATH {"jdks":[],"timestamp":"2021-11-28T16:48:51.884Z"}
verbose: Found JDKs in WindowsRegistry {"jdks":[],"timestamp":"2021-11-28T16:48:51.974Z"}
verbose: Found JDKs in DefaultLocation {"jdks":[],"timestamp":"2021-11-28T16:48:51.974Z"}
error: Java Home not found. {"timestamp":"2021-11-28T16:48:51.975Z"}
verbose: Found JDKs in env.JAVA_HOME {"jdks":[],"timestamp":"2021-11-28T17:01:54.367Z"}
verbose: Found JDKs in env.PATH {"jdks":[],"timestamp":"2021-11-28T17:01:54.384Z"}
verbose: Found JDKs in WindowsRegistry {"jdks":[],"timestamp":"2021-11-28T17:01:54.479Z"}
verbose: Found JDKs in DefaultLocation {"jdks":[],"timestamp":"2021-11-28T17:01:54.480Z"}

info: Started {"timestamp":"2021-11-28T16:45:16.453Z"}
verbose: Ids: {"uiKind":1,"appRoot":"C:\Users\jordy\AppData\Local\Temp\1u7C39sHofooqVi4tC6fT2m72NU\resources\app.asar","isTelemetryEnabled":true,"machineId":"b290c634fccfd340f1dbb04c57a18ee374b2aa1c48a19569e8e2a22ae7cb62b6","sessionId":"34a03a5e-ab39-48e4-9638-ff9c504e8fb21638117916055","timestamp":"2021-11-28T16:45:16.454Z"}
verbose: Packed binaries: {"timestamp":"2021-11-28T16:45:18.037Z"}
verbose: Found JDKs in env.JAVA_HOME {"jdks":[],"timestamp":"2021-11-28T16:45:18.038Z"}
verbose: Found JDKs in env.PATH {"jdks":[],"timestamp":"2021-11-28T16:45:18.050Z"}
verbose: Found JDKs in WindowsRegistry {"jdks":[],"timestamp":"2021-11-28T16:45:18.118Z"}
verbose: Found JDKs in DefaultLocation {"jdks":[],"timestamp":"2021-11-28T16:45:18.121Z"}
verbose: Looking for Code stable x64-user in x64 registry: HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall{771FD6B0-FA20-440A-A002-3B3BAC16DC50}_is1 {"timestamp":"2021-11-28T16:45:18.122Z"}
verbose: Code stable x64-user is installed. {"timestamp":"2021-11-28T16:45:18.174Z"}
verbose: Installed components: {"vscode":{"homedir":"C:\Users\jordy\AppData\Local\Programs\Microsoft VS Code\","version":"1.62.3"},"extensions":[],"timestamp":"2021-11-28T16:45:18.174Z"}
verbose: jdk metadata {"release_name":"jdk-11.0.13+8","release_link":"https://github.com/adoptium/temurin11-binaries/releases/tag/jdk-11.0.13%2B8","timestamp":"2021-11-15T16:03:02Z","release":true,"binaries":[{"os":"windows","architecture":"x64","binary_type":"jdk","openjdk_impl":"hotspot","binary_name":"OpenJDK11U-jdk_x64_windows_hotspot_11.0.13_8.zip","binary_link":"https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.13%2B8/OpenJDK11U-jdk_x64_windows_hotspot_11.0.13_8.zip","binary_size":196666656,"checksum_link":"https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.13%2B8/OpenJDK11U-jdk_x64_windows_hotspot_11.0.13_8.zip.sha256.txt","installer_name":"OpenJDK11U-jdk_x64_windows_hotspot_11.0.13_8.msi","installer_link":"https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.13%2B8/OpenJDK11U-jdk_x64_windows_hotspot_11.0.13_8.msi","installer_size":175078400,"installer_checksum_link":"https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.13%2B8/OpenJDK11U-jdk_x64_windows_hotspot_11.0.13_8.msi.sha256.txt","installer_download_count":197344,"version":"11","version_data":{"openjdk_version":"11.0.13+8","semver":"11.0.13+8"},"heap_size":"normal","download_count":222391,"updated_at":"2021-10-24T09:54:24Z"}],"download_count":555574}
info: JDK downloaded. {"timestamp":"2021-11-28T16:48:38.833Z"}
verbose: Installing JDK with command: {"msiexec":"C:\Windows\System32\msiexec.exe","args":["/i",""C:\Users\jordy\AppData\Local\Temp\vscode-java-installer\binaries\jdk\11\x64\OpenJDK11U-jdk_x64_windows_hotspot_11.0.13_8.msi"","MSIINSTALLPERUSER=1","ADDLOCAL=FeatureJavaHome,FeatureEnvironment,FeatureJarFileRunWith","/passive","/l*v "C:\Users\jordy\AppData\Local\Temp\vscode-java-installer\AdoptOpenJDK-MSI.log""],"timestamp":"2021-11-28T16:48:38.842Z"}
verbose: Found JDKs in env.JAVA_HOME {"jdks":[],"timestamp":"2021-11-28T16:48:51.871Z"}
verbose: Found JDKs in env.PATH {"jdks":[],"timestamp":"2021-11-28T16:48:51.884Z"}
verbose: Found JDKs in WindowsRegistry {"jdks":[],"timestamp":"2021-11-28T16:48:51.974Z"}
verbose: Found JDKs in DefaultLocation {"jdks":[],"timestamp":"2021-11-28T16:48:51.974Z"}
error: Java Home not found. {"timestamp":"2021-11-28T16:48:51.975Z"}
verbose: Found JDKs in env.JAVA_HOME {"jdks":[],"timestamp":"2021-11-28T17:01:54.367Z"}
verbose: Found JDKs in env.PATH {"jdks":[],"timestamp":"2021-11-28T17:01:54.384Z"}
verbose: Found JDKs in WindowsRegistry {"jdks":[],"timestamp":"2021-11-28T17:01:54.479Z"}
verbose: Found JDKs in DefaultLocation {"jdks":[],"timestamp":"2021-11-28T17:01:54.480Z"}

AdoptOpenJDK-MSI.log
log.txt

this bug should be fixed in latest version v0.3.17, download here https://aka.ms/vscode-java-installer-win
Let me know if it works.

this bug should be fixed in latest version v0.3.17, download here https://aka.ms/vscode-java-installer-win
Let me know if it works.

it wokrked i guess
thank you for your help


Change signature of Promise.poll

Currently, promise.poll has this signature:
def poll: IO[Unit, ExitResult[E, A]]

However, other poll methods are trending toward Option, so we should change this to be consistent:
def poll: IO[Nothing, Option[ExitResult[E, A]]]

You can find Promise.scala in /shared/src/main/scala/scalaz/zio/Promise.scala.

I'm a bit sad we're not going in the opposite direction, I liked the Alternative-style this permitted.

@jdegoes yes, tomorrow as today was Christmas party and I’m a bit 🥳🥴🤢

@regiskuckaertz No worries, enjoy your Christmas parties. 😆 🎉

Three weeks before Christmas. Anyway, you can go to the gym or drink some more for beating hungover. But don't drink alcohol in a gym, @regiskuckaertz :)

@Vilkina

Three weeks before Christmas

I know 😆

Ok, so in terms of poll, there's just Fiber#poll to turn into
def poll: IO[Unit, ExitResult[E, A]]

with similar changes in RTS and interop.future.FiberObjOps. The pattern of producing an IO[Nothing, Option[A]] appears in several other places, but I don't know whether they should all be updated:

FiberLocal#get: one could argue that the current behaviour does not follow the idiom in Scala collections where get may fail and getOption produces an Option[A]. Perhaps we could do the same here.

system.env(variable): that one I don't think should be changed

FiberContext#unwindStack: first off, I think the following line

f0.finalizer.sandboxed.redeemPure[Nothing, Option[Cause[Nothing]]](Some(_), _ => None)

can be improved, as we have two redeem0 ops in sequence where one is enough. Then if we change it to IO[Unit, Cause[Nothing]], we can rewrite:
doNotInterrupt(finalizer).map(io.cause ++ _) <> IO.now(io.cause)

and perhaps zipCauses can go away. The combination of finalizers gets more complex though. I don't know, what do you reckon @jdegoes ?

for what it's worth, I liked the old one def poll: IO[Nothing, Option[ExitResult[E, A]]] better -- poll should behave like little peek if that thing has finished -- and that thing not being finished should be normally expected, it shouldn't be an erroneous exceptional scenario => thus Option instead of fail (raiseChecked maybe soon)

it shouldn't be an erroneous exceptional scenario

imho, that is not the case. We talk about "checked errors" but that's purely a convention, the quantification on E is universal, like Either e a.

purely a convention

yeah, I get that, it's just that I like to follow the convention closely
thus in my mind:
poll: IO[Nothing, Option[ExitResult[E, A]]]
get: IO[Unit, ExitResult[E, A]]

my 2 ¢

@sideeffffect What are some use cases you're thinking of? We can see how hard it is to solve them using both approaches.
IO[Nothing, Option[ExitResult[E, A]] is a (bi) functor in a functor in a (bi) functor. It can be a little awkward to work with. IO[Unit, ExitResult[E, A]] is just a bifunctor in a bifunctor. One less level of nesting. Which can make it a little easier.
Maybe. We need use cases. 😄

:D

let me answer with a question:
I see a value having all 3 methods on Promise
(1): IO[Nothing, Option[ExitResult[E, A]]]
(2): IO[Unit, ExitResult[E, A]]
(3): IO[E, A]

would you agree with that?
if so, how would you like to name them? I would suggest

poll
get
await

and you're suggesting

pollOption?
poll
await

did I get that right?

How about:
We could also just have (1) poll and (3) await, and then add a method:
trait IO[+E, +A] {
  def get[B](implicit ev1: E =:= Nothing, ev2: A =:= Option[B]): IO[Unit, B]
}

You could imagine left and right variants too.
Then you could do poll.get for the Unit erring variant.

Oh sweet, yeah I like that!


[Hacktoberfest] Add deployment examples for MS Azure

Situation
In our deployment examples folder we provide examples how to deploy for AWS and GCP.
Problem
Some of our customers want to know how to deploy commercetools-adyen-integration extension and notification modules to MS Azure.
Resolution
Provide a guide and/or example scripts how to deploy to Azure either as docker container or as a serverless function.

@lojzatran I would to work on this.

Hi @milindsingh sure! Just create a PR once you're finished, we will review it for you. Thanks for the help.

Hi @milindsingh how is the progress going? Are you going to create a PR soon? Thanks 🙏

Its working fine. Will raise a PR by this week.

https://github.com/commercetools/commercetools-adyen-integration/releases/tag/v9.9.2
Released.


fix #131427 ignore extension contributions when populating Outline for markdown file

This PR fixes #131427 by using an unextended markdown engine when obtaining document symbols.
/assign @mjbvz

Thanks! Will be in the first 1.61 insiders later this week


FXFileChooser shall show latest selected directory in window totle

When FXFileChooser is opened in a dialog, the dialog shows the current searched directory.
The stage-version does not show the directory which has been selected.
The stage-version shall show the selected directory in the stage window title, so the user always knows where the file chooser is currently located in.

Well, there may be cases, where this information is probably not of interest. Especially when directory navigation is not permitted. See issue #41 .


Document API with OpenAPI (Swagger)

We document the API endpoints via Sphinx, but it would be much more developer-friendly to do that with the OpenAPI standard.
Our preferred way is to use ApiSpec to generate the endpoint specs (via YAML), as that might be saving a lot of work in describing what goes in and out (via Marshmallow). We've started using Marshmallow since API version 3 (and earlier versions are deprecated by now).
In any case, the existing endpoints docstrings should be straightforward to turn into OpenAPI YAML as they are now (without specific in-and-out specs), which ApiSpec will probably also eat.
So via ApiSpec for all endpoints we should get to a swagger.json file, which we'd host as a static resource.
Finally, we can use Flask-Swagger-UI so that each FlexMeasures instance hosts its own API documentation.
My open architectural questions are:

Ideally, we would still include endpoint documentation in the official FlexMeasures API. Shpinx supports OpenAPI, so that should not be a huge problem.
does every FM API version host their own OpenAPI documentation via a Swagger UI? I assume yes, to support every third-party developer. It could also be only the latest, with a note for each endpoint since when it is supported, but that might leave out implementation details of earlier versions. The FlexMeasures UI might need to link to these API docs (as it should also link to our Sphinx docs).
We can look into using an API framework instead of bare-bones MethodView. Then this one and  this one would be interesting. We already use the important ingredients (Marshmallow, webargs, and ApiSpec is also by the same group of people). But using one of these could also lead to other troubles, shoehorning what we do into their way.

This tutorial also recommends Flask-SmoREST and otherwise includes our tech stack.
Maybe moving to that Framework should be the starting point for this issue, first converting the endpoints, then looking at docs support.

As a tool for generating API documentation, I recommend trying Apidog. I find it very useful, and the UI for generating documentation is particularly attractive, at least in my opinion.


More fixes for headers

Always import built-in libraries first to avoid 'unknown type name' error.
Fix header files by replacing them with the one with the same name (but different path).
Make goto statement optional so that the prompt is more focused.

/gcbrun exp -n dg

/gcbrun exp -f -n dg

/gcbrun exp -f -n dg

Seeing almost all benchmarks in comparison have non-0-build rate:
https://llm-exp.oss-fuzz.com/Result-reports/ofg-pr/2024-07-02-413-dg-comparison/index.html

/gcbrun skip


Complete translation: Hindi

Provide the two-letter code of the existing language
hi
Provide the lines, that are still English and should be translated

32-33
40-41
44
46-47
81-82
85-86
93-94
97
100-101
104-105

Steps to complete the translation

Open the corresponding file, public/_locales/hi/messages.json
Translate all values of the given lines, that still have an English translation and create a pull request

@kunaljain0212 @mdfaizan7 Would one of you like to update the Hindi translation again? That would be awesome!

This issue isn't necessary anymore - see #135.


Add musl to targets

@philss I wonder if aarch64-unknown-linux-musl should be included as a rustler precompiled default too? For context I got an error about this missing pre-compiled version of tokenizers when trying to build it into an Elixir Alpine Docker image on a M1 MBP

@philss I wonder if aarch64-unknown-linux-musl should be included as a rustler precompiled default too? For context I got an error about this missing pre-compiled version of tokenizers when trying to build it into an Elixir Alpine Docker image on a M1 MBP

@seanmor5 This is a good point! I created an issue to tackle this: https://github.com/philss/rustler_precompiled/issues/35. Tomorrow I can release a new version with this target as default (a new minor version).


Unable to Connect Wallet - using V3R2 Wallet Address (After Included V4r2 wallet address using TonHub)

Hello Admin, first, thank you for creating tonminter, minter.ton.org. It was very helpful!
I now face an issue with V3r2 and V4r2 address.
Background: I have deployed Jetton Token using V3r2 Wallet Address.
TonHub then suggested to upgrade to V4r2 wallet address which i did. (See screenshot)
Now, when i login Chrome Extension / TonHub using the same mnemonic, it now only show V4r2 wallet address. So when I click "Connect Wallet",it will automatically connect to V4r2 wallet address instead of V3r2 address.
Can i seek you help to teach me, how to Connect to minter.ton.org/ using a V3r2 address instead of V4r2?

Dear Admin,
I found an alternative Wallet (OpenMask) which allows wallet to choose which address version (V3r2 or V4r2) to connect to a website. I believe if OpenMask can be part of Connect Wallet, it should resolve the issue above. At this moment, Chrome Extension and TonHub doesn't have the option to choose the wallet address version (V3R2 or V4R2).

Good day to everyone I am sitting with the same problem I received the wallet this morning and I can't get in to it

Please help


Update direct-routing-plan.md

Adding license info for GCCH/DoD to prevent dial pad missing issues.

@JohanFreelancer9 Copy editing is needed for this PR. Thanks.

@CarolynRowe PR has been copyedited and is ready for final review, could you please check and merge? Thanks!


Add support for Objective-C properties. [phab:D1074]

Created by salguarnieri at 2016-09-21 16:45:31:
Support for ref/call edge from property getter/setter to backing method decl
Support for ref edge from property getter/setter to property decl

zarko commented inline (context lost during migration) at 2016-09-21 20:41:35:
nit: ObjC

zarko commented inline (context lost during migration) at 2016-09-21 20:41:35:
Isn't ObjCIvar a subclass of FieldDecl? If so, why do you need this member function (and VisitFieldLikeDecl instead of VisitFieldDecl)?

zarko commented inline (context lost during migration) at 2016-09-21 20:41:35:
nit: two spaces?

zarko commented inline (context lost during migration) at 2016-09-21 20:41:35:
Please document this a little more. It looks like it's intended to record a completion edge between DefnNameRangeInContext to Decl.
Why is DefnFile passed separately than DefnNameRangeInContext? Is there ever a case where you would want to pick a FileID that differs from the one in the given range?
DefnNameRangeInContext should be a Range, not a MaybeFew, unless you expect to be able to do something useful when passed None. The code right now will check-fail if passed None() (since there's an unguarded call to primary()), but the single callsite does check that the MaybeFew it passes is not None.

zarko commented inline (context lost during migration) at 2016-09-21 20:41:35:
nit: should that second edge be there?

zarko commented inline (context lost during migration) at 2016-09-21 20:41:35:
nit: } else if ((PD = Expr->...)) { ... } else { return true; }

zarko commented inline (context lost during migration) at 2016-09-21 20:41:35:
nit: please remove commented code

zarko commented inline (context lost during migration) at 2016-09-21 20:41:35:
This assertion is unnecessary (the ... emits it implicitly).

zarko commented inline (context lost during migration) at 2016-09-21 20:41:35:
What's the node/kind of BDecl?

salguarnieri wrote at 2016-09-21 21:58:06:

Addressing comments

salguarnieri commented inline (context lost during migration) at 2016-09-21 21:58:11:
After //? After *? I'd be happy to add spaces anywhere.

salguarnieri commented inline (context lost during migration) at 2016-09-21 21:58:11:
nope

salguarnieri commented inline (context lost during migration) at 2016-09-21 21:58:11:
Method is gone now.

salguarnieri commented inline (context lost during migration) at 2016-09-21 21:58:11:
removed here and below

salguarnieri commented inline (context lost during migration) at 2016-09-21 21:58:11:
I backed out the change. It only saved 3 lines of code in the end, so not really worth it.

salguarnieri commented inline (context lost during migration) at 2016-09-21 21:58:11:
They should both be fields. We could come up with a new term for properties but they are field-like so I went with it.

zarko commented inline (context lost during migration) at 2016-09-22 00:32:23:
Sorry, this was about the extra space between "ivar" and "name".

zarko commented inline (context lost during migration) at 2016-09-22 00:32:23:
Are there any constraints you can put on WidthGetter? Otherwise it might be better to use _, since that signals you're only looking for an edge at a particular source. (note that this doesn't apply to GetWidthMethod in the last test in the diff, since there's an implicit constraint that the same GetWidthMethod is ref/called in two places).

zarko wrote at 2016-09-22 00:32:23:
Please run clang-format before landing.

zarko accepted this revision at 2016-09-22 00:32:23

salguarnieri wrote at 2016-09-22 00:50:27:

clang-format
comments

salguarnieri commented inline (context lost during migration) at 2016-09-22 00:50:44:
My intention with this test was just to verify that the graph shows some method is called here. I'll replace it with _.

salguarnieri closed via commit 18234d007e0b56d8eb359f73cbfa97b90566d46e at 2016-09-22 00:51:26


Expose RemixRestClient and GraphQLClient types for @shopify/shopify-app-remix

Overview/summary
I want to pass my admin rest or graphql api client in a seperate server file in remix js. But the types are not exposed.
export const loader = async ({ request }: LoaderFunctionArgs) => {
  const { session, admin } = await authenticate.admin(request);

  const themes = await getThemes(session, admin.rest);

  return json({ themes });
};

I want to do something like this in another file but I do not see any export from the library for RestClient or GraphqlClients
export async function getThemes(session: Session, rest: RemixRestClient) {

   const themes = await rest.resources.Theme.all({ session: session });

  return themes;
}

Note
If this is a generic type which is generated when running  shopifyApp({..}) It will be also great if this can be accessed through the returned object so I can reexport from the shopify.server.ts file

Opened in the wrong repo. Closing this in favor of https://github.com/Shopify/shopify-app-js/issues/633


Clarification on macro assessment

The page has a "Detailed macro readiness" heading, and says to install the "Office Readiness Toolkit" for more comprehensive reporting.
However the page also says that starting in ConfigMgr 1906, there is a new dashboard to report on macro readiness.
Does ConfigMgr 1906 supercede the "Office Readiness Toolkit", or does the "Office Readiness Toolkit" still provide enhanced coverage over what ConfigMgr 1906 has?

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

ID: 5aa228c2-5f36-29b9-33e3-2f854ed3d685
Version Independent ID: bbb1fbf3-839f-eb26-78a2-c8e52aa3ca47
Content: Office 365 Client Management dashboard - Configuration Manager
Content Source: sccm/sum/deploy-use/office-365-dashboard.md
Product: configuration-manager
Technology: configmgr-sum
GitHub Login: @mestew
Microsoft Alias: mstewart

@bubbletroubles I am looking for clarification on this for you.

@bubbletroubles The readiness toolkit is still required to get more detailed info about the macros in 1906. ConfigMan's inventory agent picks up results from the toolkit to display in 1906, but the toolkit has more detailed information.
I'll update the doc with this information. Thanks for the great question.


cocomac: Watch 👇👇

cocomac requests the watch of the watch_keyword 👇👇. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

Rejected by Ollie in Charcoal HQ. Reason: 'See the discussion below https://chat.stackexchange.com/transcript/11540?m=61386855#61386855'


add financial information to sidebar

first wanted to add it to the header but when you fixate it to the top it overlays with the sidebar and I haven't found a good solution for this.
That's why I added it to the sidebar.
closes #69

Codecov Report

Merging #79 into master will increase coverage by 0.96%.
The diff coverage is 31.25%.

@@            Coverage Diff             @@
##           master      #79      +/-   ##
==========================================
+ Coverage   46.24%   47.21%   +0.96%
==========================================
  Files          51       50       -1
  Lines         653      646       -7
  Branches       75       73       -2
==========================================
+ Hits          302      305       +3
+ Misses        341      331      -10
  Partials       10       10

Impacted Files
Coverage Δ

src/views/Depot/Cards/BalanceCard.tsx
77.77% <ø> (ø)
:arrow_up:

src/containers/App/App.tsx
0% <0%> (ø)
:arrow_up:

src/components/Sidebar/Sidebar.tsx
0% <0%> (ø)
:arrow_up:

src/components/Header/Header.tsx
59.25% <50%> (ø)
:arrow_up:

src/state/depot/depotSelector.ts
46.66% <75%> (+15.41%)
:arrow_up:

src/state/stockMarket/stockSelector.ts
100% <0%> (+100%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update df06531...b8197d1. Read the comment docs.


Scroll Bar available in an editor when it is not needed.

Issue Type: Bug
Open ADS and maximize it. Open a query editor window.
Type SELECT @@VERSION and press enter. The scroll bar appears when it is not needed.
As you go to new line, by pressing enter, the scroll bar keeps reducing in size, showing there is more to scroll, when there is actually nothing.
Azure Data Studio version: azuredatastudio 1.1.3 (2c007115f77427a7ff7af47ad6916fccf111ea11, 2018-10-17T21:21:46.083Z)
OS version: Windows_NT x64 10.0.14393

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz (8 x 3592)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: disabled_softwarerasterization: enabledvideo_decode: enabledvideo_encode: enabledwebgl: enabledwebgl2: enabled

Memory (System)
31.69GB (4.30GB free)

Process Argv
C:\Program Files\Azure Data Studio\azuredatastudio.exe

Screen Reader
no

VM
0%

Extensions: none

This appears to be the same behavior as in VS Code.  In general we differ to them for issues related to the core editing experience, so probably we'd prefer for this to be fixed upstream and then we can consume the fix in the next code refresh.

This behavior is coming from upstream.  We'd prefer to see any fixes in this area coming from vscode.  Thanks for reporting!


Correct Way To "Negotiate" SignalR Serverless

We're attempting to migrate from serverless SignalR in-proc Azure functions to .NET 7 Isolated.  We have a signed JWToken that we fetch from the server for SignalR connection initialization via accessTokenFactory like so:
const connection = new signalR.HubConnectionBuilder()withUrl('http://localhost:7071/api',  { accessTokenFactory: () => "aJwtTokenViaAjaxThatIncludesClaimsAndUserId" })  .build();
In the In-proc model, we handle the Negotiate method something like this:
[FunctionName("negotiate")]
        public static IActionResult NegotiatBinding(
            [HttpTrigger(AuthorizationLevel.Anonymous, "post")] HttpRequest req,
            IBinder binder)
        {
            if (req.Headers.ContainsKey(AUTH_HEADER_NAME) &&
               req.Headers[AUTH_HEADER_NAME].ToString().StartsWith(BEARER_PREFIX))
            {
                var token = req.Headers["Authorization"].ToString().Substring(BEARER_PREFIX.Length);

                // extract userId and claims from token
                var userId = "userIdExctractedFromToken"; // decoding and validation method
                var connectionInfo = binder.Bind<SignalRConnectionInfo>(new SignalRConnectionInfoAttribute{
                HubName = "messages",
                ClaimTypeList = new[] {"Claim1", "Claim2"}
                IdToken = token,
                UserId = userId

                });

                // connectionInfo contains an access key token with a name identifier claim set to the authenticated user
                return (ActionResult) new OkObjectResult(connectionInfo);
            }
            else
            {
                return (ActionResult) new BadRequestObjectResult("No access token submitted.");
            }
        }

Note that we are validating and decoding the JWToken that we supplied to the SignalR client to ensure it wasn't tampered with before we add the claims to the SignalRConnectionInfo.  Note also that the SignalR client appears to add the "BEARER" prefix to the JWToken we supplied, so we manually strip it out for decoding.
In the Isolated process model, the Negotiate function looks like this:
        [Function("negotiate")]
        public async Task<HttpResponseData> Negotiate([HttpTrigger(AuthorizationLevel.Anonymous)] HttpRequestData req,
                [SignalRConnectionInfoInput(HubName = "editorsession", ConnectionStringSetting = "SignalRConnection", UserId = "???", IdToken = "{headers.Authorization}", ClaimTypeList = new[] { "Claim1", "Claim2" })] Microsoft.Azure.Functions.Worker.SignalRConnectionInfo connectionInfo)
        {
            var response = req.CreateResponse(HttpStatusCode.OK);
            response.Headers.Add("Content-Type", "application/json");
            response.WriteString(connectionInfo.ToString());
            return response;
        }

This throws an error of "malformed token", maybe because of the "BEARER" prefix that the SignalR client prepends that I have no way of stripping out (without the benefit of IBinder, which isn't available for Isolated functions).
Even if that did work, how can I validate my supplied JWToken's signature before adding the claims from that token to the SIgnalR connection info?  Obviously I can't just trust what the client sends.
How can I extract my user's name for SignalRConnectionInfo .UserId, if it's embedded in the JWToken? I don't just want to pass it from the client, since it's not tamper proof. What's the point of passing an authentication token from the client if we can't validate it? I feel like I'm missing something obvious.

Both IBinder  and ServerlessHub subclassing for Isolated function models provide ways to handle these issues, but I haven't found anything for Isolated function models.
The docs suggest that if runtime resolved parameters are needed that, instead of imperative bindings, we should consider using the service SDKs directly,  which in this case appears to be 'Microsoft.Azure.SignalR.Management'.  I believe the relevant code would like this:
var negotiationResponse = await serviceHubContext.NegotiateAsync(new (){UserId = "<Your User Id>"});
That, however, seems to require first creating a 'HubContext', which seems like the wrong thing to do in this scenario - admittedly because I'm not confident in how or if that would interact with the underlying messaging or networking.   Do I need to ditch SignalR function triggers and bindings entirely and just roll a "manual" serverless integration, if I need this feature?
@Y-Sindo ,
Thank you in advance.

SimonOrdo6 We'll be able to meet your requirements in the upcoming release once we've resolved the #1709 issue. You'll then be able to use ServerlessHub, a new feature that we've introduced in the latest release. This integrates the service SDK and offers a better programming experience, with a class-based model similar to that used in in-proc SignalR extensions

Thank you @Y-Sindo .
Do you have any visibility on potential timing?  Are we looking at weeks, months, etc before ServerLessHub functionality comes to Isolated function model?  Trying to determine if we need to implement a hack or defer the work until this is resolved.
Thanks in advance!

@SimonOrdo6 Apologies for the delayed response. It seems that resolving this issue may require the collaboration of multiple teams. In my opinion, it would be best to calculate the time required in terms of months.

@Y-Sindo - are there any updates on this?

Hi @SimonOrdo6, please use the latest SignalR extensions for dotnet isolated model and see the sample code here to achieve your requirement:
https://github.com/aspnet/AzureSignalR-samples/blob/main/samples/DotnetIsolated-ClassBased/Functions.cs#L34-L44


Is this right?

https://github.com/RocksonZeta/koa-validate/blob/master/lib/validate.js#L396-L397
Shouldn't the tip be passed to .isInt, not hasError?

That's my fault,thanks a lot!


fix: reactivate UI tests in travis

This branch should fix all the Travis issues we had with the UI container :crossed_fingers:

Travis failing here https://travis-ci.com/eHealthAfrica/aether/jobs/146915070#L1548, due to duplicate keys https://github.com/eHealthAfrica/aether/blob/parallel-ui-test/aether-ui/aether/ui/assets/conf/sass-lint.yml#L59

This PR should not pass the test, but this branch parallel-extraction must :wink:

Agreed. But this is a build error not a test failing

The only failing test is the UI one; Kernel, ODK, Couchdb-Sync and UI-assets passed :grimacing:
Obviously, integration tests are other point.


Jesse: Watch +919233561861

Jesse requests the watch of the watch_number +919233561861. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

Approved by Spevacus in Charcoal HQ


Documentation for predictions incorrect.

[Enter feedback here]
When we send a request to predictions using the specified parameters in full it tells us that we need to provide all parameters, however there are no more parameters provided in the documentation.
{"kind":"Conversation","analysisInput":{"conversationItem":{"id":1,"participantId":1,"text":"Text 1"}},"parameters":{"projectName":"intellistore","deploymentName":"isa-7","stringIndexType":"TextElement_V8"}}
We receive in the body error:
{"InvalidArgument! The input request body is invalid. Please check proper values are specified for parameters like \"kind\", \"projectKind\", and so on.."}

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

ID: 6ceb42a1-2153-154c-3169-e8c29bd40770
Version Independent ID: 1af19c98-4142-eb11-e77c-6cd177ddf5ae
Content: Send prediction requests to a conversational language understanding deployment - Azure AI services
Content Source: articles/ai-services/language-service/conversational-language-understanding/how-to/call-api.md
Service: azure-ai-language
GitHub Login: @aahill
Microsoft Alias: aahi

@AdamMiltonBarker
Thanks for your feedback! We will investigate and update as appropriate.

@AdamMiltonBarker Thanks for your feedback! We will investigate and update as appropriate.

Thanks, any update on this as our development is blocked.

@AdamMiltonBarker
I've delegated this to @aahill, a content author, to review and share their valuable insights.

@AdamMiltonBarker I've delegated this to @aahill, a content author, to review and share their valuable insights.

When can we expect the resolution to this issue?

Hi @aahill our development has been blocked for 5 days please would it be possible to fix the documentation so we can continue?

Hi @aahill  please can we have an update?

Hi @aahill  please can we have an update? Our development has been blocked for over a week now.

Can someone please get back to us on this??

@aahill @RamanathanChinnappan-MSFT  @SaibabaBalapur-MSFT  please could someone respond to this, we are part of Startups for Founders and we have deadlines with this project to both progress to next stage of the program and to apply for an event in the US. This issue has completely blocked our development for over a week. Please would it possible to fix your documentation?

@aahill please review it.

@aahill  please can we have an update?

This is disgraceful, we have now lost 2 weeks of development time due to the lack of communication here. We are now definitely replanning the whole development as it is quite clear that Microsoft is not a reliable option for our product.

@aahill please review it.

forget it, we will use a platform that works.

@aahill  can you respond and tell us what is going on please? Two weeks this has blocked us for. Why are you not responding?

Hi @AdamMiltonBarker , sorry for the delayed response, I've been out due for extended medical leave and am just now back.
Looking at the JSON snippet you provided, I think the issue may be that your id and participantId fields are lacking double quotes (") to specify them as text, instead of numbers when sending your request to the API. For example, I'm able to successfully send a prediction request to a project I set up.
{
  "kind": "Conversation",
  "analysisInput": {
    "conversationItem": {
      "id": "1",
      "participantId": "1",
      "text": "text1"
    }
  },
  "parameters": {
    "projectName": "myProject",
    "deploymentName": "v1",
    "stringIndexType": "TextElement_V8"
  }
}

When I change id and participantId to number values (that is to say, set them to):

"id": 1 and
"participantId": 1

instead of:

"id": "1",
"participantId": "1",

I get the same error that you are getting.
{
    "error": {
        "code": "InvalidArgument",
        "message": "The input request body is invalid. Please check proper values are specified for parameters like \"kind\", \"projectKind\", and so on.."
    }
}

Hope this helps.

@aahill ok thanks, this has fixed the issue. I feel that the error response should be more specific on this one, and that your documentation needs to be updated to specify that string is a requirement for those values, naturally with the name ID you would usually expect an integer.
We have another issue. We have implemented code that trains the model and deploys, this has been working well until we hit 60 utterances. our current dataset has 110 utterances. However, only 60 of these will make it into the training data. We have checked on studio and it is completely ignoring 50 of the examples sent through the API.
In addition, despite setting the data split parameters when sending the request to train, there is no testing data in studio.
,                 "evaluationOptions" => [                     "kind" => "percentage",                     "testingSplitPercentage" => 20,                     "trainingSplitPercentage" => 80,                 ],

Thanks, I'll make a note about this feedback for the docs, and pass the suggestion to the product team.
I'm having trouble replicating your issue with utterances not being uploaded, as I've been able to train a model using the example project file we have for the quickstart, which has a large number of utterances. Perhaps make sure you aren't hitting any of the limits for the service? (for example, utterance length)
https://learn.microsoft.com/en-us/azure/ai-services/language-service/conversational-language-understanding/service-limits#api-limits.
I may also suggest Microsoft Q&A which might be able to provide insights for your implementation.
In regards to test data in the studio, is the issue that you aren't seeing the testing data in the Data labeling section of the studio?

if so, only data that's labeled as in your JSON as "dataset": "Test" will appear specifically in that section
{
    "text": "delete all emails from December",
    "language": "en-us",
    "intent": "Delete",
    "entities": [],
    "dataset": "Test"
}

Doing so will enable these utterances to show up there

They'll also be used if you use the manual setting for training.
  "evaluationOptions": {
    "kind": "manual"
  }

Otherwise if you use the percentage option and don't label your utterances explicitly as either test or train, you can still see the utterances being used to test your model in the model performance > test set details section in the studio.

Hi @aahill I already checked the limits in the docs you have sent and we are no where near. We have 110 utterances but only 60 exist once sent to the API (6 pages of 10 utterances).

As I said everything is working correctly, we can upload data, train, and inference, the only issue is that 60  utterances are not making it into the dataset despite being sent correctly.
Regarding the model data split, we followed this documentation.

No test data exists.

The model is trained and deployed, the last of the utterances are completely lost somewhere between leaving our server and being imported into the data on your platform.
{"projectFileVersion":"2022-05-01","stringIndexType":"Utf16CodeUnit","metadata":{"projectKind":"Conversation","settings":{"confidenceThreshold":0.6999999999999999555910790149937383830547332763671875},"projectName":"intellistore","description":"ISA the IntelliStore Intelligent Store Assistant","multilingual":false,"language":"en"},"assets":{"projectKind":"Conversation","intents":[{"category":"SearchCategory"},{"category":"SearchBrand"},{"category":"SearchProduct"}],"entities":[{"category":"Category","compositionSetting":"returnLongestOverlap"},{"category":"Brand","compositionSetting":"returnLongestOverlap"},{"category":"Product","compositionSetting":"returnLongestOverlap"}],"utterances":[{"text":"Where can I find shoes","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":17,"length":5}]},{"text":"Where can I find footwear","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":17,"length":8}]},{"text":"Where can I find footgear","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":17,"length":8}]},{"text":"Where can I find trainers?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":17,"length":8}]},{"text":"Where can I find sneakers?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":17,"length":8}]},{"text":"Where can I find runners?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":17,"length":7}]},{"text":"What would you recommend for trainers?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":29,"length":8}]},{"text":"What would you recommend for sneakers?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":29,"length":8}]},{"text":"What would you recommend for runners?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":29,"length":7}]},{"text":"Take me to your trainers","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":16,"length":8}]},{"text":"Take me to your sneakers","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":16,"length":8}]},{"text":"Take me to your runners","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":16,"length":7}]},{"text":"Show me trainers","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":8,"length":8}]},{"text":"Show me sneakers","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":8,"length":8}]},{"text":"Show me runners","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":8,"length":7}]},{"text":"I want to see your trainers","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":19,"length":8}]},{"text":"I want to see your sneakers","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":19,"length":8}]},{"text":"I want to see your runners","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":19,"length":7}]},{"text":"How many trainers do you have?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":9,"length":8}]},{"text":"How many sneakers do you have?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":9,"length":8}]},{"text":"How many runners do you have?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":9,"length":7}]},{"text":"Does this store carry trainers?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":22,"length":8}]},{"text":"Does this store carry sneakers?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":22,"length":8}]},{"text":"Does this store carry runners?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":22,"length":7}]},{"text":"Do you have trainers in stock?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":12,"length":8}]},{"text":"Do you have sneakers in stock?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":12,"length":8}]},{"text":"Do you have runners in stock?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":12,"length":7}]},{"text":"Do you have any trainers in stock?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":16,"length":8}]},{"text":"Do you have any sneakers in stock?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":16,"length":8}]},{"text":"Do you have any runners in stock?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":16,"length":7}]},{"text":"Can I buy trainers?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":10,"length":8}]},{"text":"Can I buy sneakers?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":10,"length":8}]},{"text":"Can I buy runners?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":10,"length":7}]},{"text":"What would you recommend for shoes","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":29,"length":5}]},{"text":"What would you recommend for footwear","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":29,"length":8}]},{"text":"What would you recommend for footgear","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":29,"length":8}]},{"text":"Take me to your shoes","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":16,"length":5}]},{"text":"Take me to your footwear","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":16,"length":8}]},{"text":"Take me to your footgear","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":16,"length":8}]},{"text":"Show me shoes","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":8,"length":5}]},{"text":"Show me footwear","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":8,"length":8}]},{"text":"Show me footgear","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":8,"length":8}]},{"text":"I want to see your shoes","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":19,"length":5}]},{"text":"I want to see your footwear","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":19,"length":8}]},{"text":"I want to see your footgear","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":19,"length":8}]},{"text":"How many shoes do you have","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":9,"length":5}]},{"text":"How many footwear do you have","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":9,"length":8}]},{"text":"How many footgear do you have","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":9,"length":8}]},{"text":"Does this store carry shoes","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":22,"length":5}]},{"text":"Does this store carry footwear","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":22,"length":8}]},{"text":"Does this store carry footgear","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":22,"length":8}]},{"text":"Do you have shoes in stock","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":12,"length":5}]},{"text":"Do you have footwear in stock","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":12,"length":8}]},{"text":"Do you have footgear in stock","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":12,"length":8}]},{"text":"Do you have any shoes in stock","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":16,"length":5}]},{"text":"Do you have any footwear in stock","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":16,"length":8}]},{"text":"Do you have any footgear in stock","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":16,"length":8}]},{"text":"Can I buy shoes","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":10,"length":5}]},{"text":"Can I buy footwear","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":10,"length":8}]},{"text":"Can I buy footgear","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":10,"length":8}]},{"text":"Where can I find flip flops?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":17,"length":10}]},{"text":"Where can I find pluggers?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":17,"length":8}]},{"text":"Where can I find jaggers?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":17,"length":7}]},{"text":"What would you recommend for flip flops?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":29,"length":10}]},{"text":"What would you recommend for pluggers?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":29,"length":8}]},{"text":"What would you recommend for jaggers?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":29,"length":7}]},{"text":"Take me to your flip flops","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":16,"length":10}]},{"text":"Take me to your pluggers","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":16,"length":8}]},{"text":"Take me to your jaggers","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":16,"length":7}]},{"text":"Show me flip flops","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":8,"length":10}]},{"text":"Show me pluggers","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":8,"length":8}]},{"text":"Show me jaggers","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":8,"length":7}]},{"text":"How many flip flops do you have?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":9,"length":10}]},{"text":"How many pluggers do you have?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":9,"length":8}]},{"text":"How many jaggers do you have?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":9,"length":7}]},{"text":"I want to see your flip flops","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":19,"length":10}]},{"text":"I want to see your pluggers","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":19,"length":8}]},{"text":"I want to see your jaggers","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":19,"length":7}]},{"text":"Does this store carry flip flops?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":22,"length":10}]},{"text":"Does this store carry pluggers?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":22,"length":8}]},{"text":"Does this store carry jaggers?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":22,"length":7}]},{"text":"Do you have flip flops in stock?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":12,"length":10}]},{"text":"Do you have pluggers in stock?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":12,"length":8}]},{"text":"Do you have jaggers in stock?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":12,"length":7}]},{"text":"Do you have any flip flops in stock?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":16,"length":10}]},{"text":"Do you have any pluggers in stock?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":16,"length":8}]},{"text":"Do you have any jaggers in stock?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":16,"length":7}]},{"text":"Can I buy flip flops?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":10,"length":10}]},{"text":"Can I buy pluggers?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":10,"length":8}]},{"text":"Can I buy jaggers?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":10,"length":7}]},{"text":"Where can I find sandles?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":17,"length":7}]},{"text":"Where can I find moccasin?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":17,"length":8}]},{"text":"What would you recommend for sandles?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":29,"length":7}]},{"text":"What would you recommend for moccasin?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":29,"length":8}]},{"text":"Show me sandles","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":8,"length":7}]},{"text":"Show me moccasin","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":8,"length":8}]},{"text":"How many trainers do you have?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":9,"length":8}]},{"text":"How many sneakers do you have?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":9,"length":8}]},{"text":"How many runners do you have?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":9,"length":7}]},{"text":"Take me to your sandles","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":16,"length":7}]},{"text":"Take me to your moccasin","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":16,"length":8}]},{"text":"I want to see your sandles","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":19,"length":7}]},{"text":"I want to see your moccasin","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":19,"length":8}]},{"text":"Does this store carry sandles?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":22,"length":7}]},{"text":"Does this store carry moccasin?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":22,"length":8}]},{"text":"Do you have sandles in stock?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":12,"length":7}]},{"text":"Do you have moccasin in stock?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":12,"length":8}]},{"text":"Do you have any sandles?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":16,"length":7}]},{"text":"Do you have any moccasin?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":16,"length":8}]},{"text":"Can I buy sandles?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":10,"length":7}]},{"text":"Can I buy moccasin?","language":"en","intent":"SearchCategory","entities":[{"category":"Category","offset":10,"length":8}]}]}}

I see, because there are no utterances labeled "dataset": "Test" in your project, all the utterances are added automatically to the "training set" label, and appear in the training set panel by default in the data labeling section of the studio UI (because nothing was labeled "test". That's fine, and I'll explain where you can see your test data further down)

(note: the number of utterances here might be slightly different than yours as I had to remove a few duplicate utterances as they were giving me an error, like this one for example).
      {
          "code": "InvalidArgument",
          "message": "Your utterance `How many trainers do you have?` is duplicated in the dataset `Train`. No duplicate utterances are allowed in the same dataset."
      }

One thing here is that if you choose to have the system train a model by automatically splitting your data into a training and testing set (using the "kind":"percentage" training kind, like you mention you're using from the documentation), the system only splits the data into the sets when you send the training command.
Earlier I mentioned it's fine to have your data all labeled training, and as training set tab of the data labeling section, it's because the system will split only automatically split data that's designated/labeled as training (which is the default label). The training documentation mentions this in the phrasing used by the studio experience, so I can understand it's confusing when using the service programmatically.

In order to see the data that was used to actually train and test your model, you can go to the model performance section in the studio, and then test set details

Hopefully that helps explains why your test data isn't appearing in the labeling tab.
Now, going back to the data labeling section of the studio, I am seeing 10 pages of utterances, which still leaves the question of why all of your utterances aren't appearing on your side, and I'm not quite sure about.

I'm wondering if when you're uploading your project JSON, the earlier errors I mentioned are preventing the project from being updated, and leaving only the project version with a smaller number of utterances? I'm unsure.

Hi @aahill ok thanks for looking into this. I will check  how we create the dataset, that should be an error on our side, in our dataset there are no duplicates so it must be how our script creates the dataset from the database. Again if this is the case then an error stating that would be very helpful, as it is the data uploads (without error, I will check that) and training completes via the API, we can then deploy the trained model and infer against it. I will check the errors on our side now and get back to you. Thanks again.

@aahill  I had a thought, does a new dataset overwrite the old? I assumed this, our script pulls the entire dataset from the database every time we train. First it creates the entire dataset, uploads, then trains.

Hi @aahill I am still investingating but we don't get an error response from the initial upload.
[{"http_code":"HTTP\/2 202 ","content-length":"0","access-control-expose-headers":"*","request-id":"21a322bb-ec92-4336-b11d-c94eaebe4f4c","apim-request-id":"21a322bb-ec92-4336-b11d-c94eaebe4f4c","operation-location":"https:\/\/intellistore.cognitiveservices.azure.com\/language\/authoring\/analyze-conversations\/projects\/intellistore\/import\/jobs\/304155f7-9bbd-4ff9-a9a1-d5dd1523ff37_638400096000000000?api-version=2023-04-01","x-envoy-upstream-service-time":"838","strict-transport-security":"max-age=31536000; includeSubDomains; preload","x-content-type-options":"nosniff","x-ms-region":"West Europe","date":"Fri, 05 Jan 2024 21:28:42 GMT"},null,202]

Great to hear, and thanks for that feedback as well, I'll pass that to the product team as well.
#please-close


unable to download

I open the .ino in arduino and follow the directions. When i hit ctrl u it gives me this error. I'm not sure what I am doing wrong.
C:\Users\Chris\AppData\Local\Temp\cckK8d9i.ltrans0.ltrans.o: In function main': C:\Users\Chris\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino/main.cpp:43: undefined reference to setup'
C:\Users\Chris\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.5\cores\arduino/main.cpp:46: undefined reference to `loop'
collect2.exe: error: ld returned 1 exit status
exit status 1
Compilation error: exit status 1

Hi, could you try using a new tool we're working on to compile + upload the firmware?
https://github.com/OpenAstroTech/OATFWGUI/releases/tag/0.0.9
It's in pre-release right now but it's intended to solve exactly problems like this for new users.
It it doesn't work, no worries we'll circle back to your Arduino IDE problem.

I tried the new link. Didn't seem to matter what options I chose in the menu it had different errors. I'm assuming since uno wasn't an option that may be the problem or I'm just to new. Thank you for trying.

Could you upload the log with the errors? Should be in the logs directory where you ran the executable. But also yes, the Uno is not supported (not enough memory to run the firmware)

Yeah sorry to hear that, the OAT Firmware is only really meant for a full EQ setup on OAT-like hardware.
Maybe something like OnStep is more what you're looking for?


Bashcompletion for rustc, search and help commands

r? @wycats
(rust_highfive has picked a reviewer for you, use r? to override)

@bors: r+ 326e676542f3372242723fdda4399ce3cb1fe08c

:hourglass: Testing commit 326e676 with merge d1517c8...

:sunny: Test successful - cargo-linux-32, cargo-linux-64, cargo-mac-32, cargo-mac-64, cargo-win-gnu-32, cargo-win-gnu-64, cargo-win-msvc-64