Add Gzip decoding automatically to Response

Would using https://github.com/alexcrichton/flate2-rs work here?

Yes, that would probably be a good crate to use.
Internally, we'd adjust the Response struct to be an enum, with variants
for plain text and gzip, and automatically pick which one to use after
inspecting headers.
On Tue, Nov 15, 2016, 10:07 PM Jason Schein<EMAIL_ADDRESS>wrote:

Would using https://github.com/alexcrichton/flate2-rs work here?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/seanmonstar/reqwest/issues/3#issuecomment-260862568,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AADJF7k25RH2-vZdW1dTqO11tgq3EMeVks5q-p26gaJpZM4KYB2F
.

Cool, I'll give this one a go over the weekend.

Its been a while since I've written any Rust and I'm pretty novice when it comes low(er) level stuff, so I want to thoroughly test this to actually make sure it works before submitting a PR, but if you want to see my progress and provide any feedback, here is my local fork/branch.

@echochamber feel free to submit a PR, it is actually far easier to comment and review it when it is a PR. PRs don't have to be perfect from the beginning :)
Regarding https://github.com/echochamber/reqwest/commit/fb399a25f221f0c6e13fcdef433b99b25d0f0afe:
I realize I mispoke, I didn't meant to change the Response struct to an enum, but instead to change the inner field to hold an enum. By keeping it a struct and the internals a private field, we can add more helpers or refactor later and not break anyone. For example:
pub struct Response {
    inner: Decoder
}

enum Decoder {
    Plaintext(::hyper::client::Response),
    Gzip(GzipDecoder<::hyper::client::Response>),
}

Not I haven't checked that that is exactly how you type a GzipDecoder.
Separately, it seems that we should be checking the Transfer-Encoding, not the Content-Encoding. See http://stackoverflow.com/questions/11641923/transfer-encoding-gzip-vs-content-encoding-gzip

@echochamber feel free to submit a PR, it is actually far easier to comment and review it when it is a PR. PRs don't have to be perfect from the beginning :)

Opened a PR here https://github.com/seanmonstar/reqwest/pull/25
Thanks for the feedback and suggestions thus far. I'll try to have my PR reflect your suggestions this evening.

Closed by #61


Split TeeStdin to create superclass SimulateStdin

TeeStdin is only needed when both stdin and stdout are being
programmatically managed.  If only stdin is being mocked, and
stdout should behave normally, the context manager should use
the new lighter SimulateStdin which does not perform a tee.
Also removes attrs dependency, which had few benefits anyhow,
and complicates matters when building a deep class hierarchy.
Related to https://github.com/bskinn/stdio-mgr/issues/4

Codecov Report

Merging #62 into master will decrease coverage by 1.02%.
The diff coverage is 90.9%.

@@            Coverage Diff             @@
##           master      #62      +/-   ##
==========================================
- Coverage     100%   98.97%   -1.03%
==========================================
  Files           3        3
  Lines          96       98       +2
==========================================
+ Hits           96       97       +1
- Misses          0        1       +1

Impacted Files
Coverage Δ

src/stdio_mgr/stdio_mgr.py
98.93% <90.9%> (-1.07%)
:arrow_down:

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 953db31...4a61a07. Read the comment docs.


The package may have incorrect main/module/exports specified in its package.json

When using esbuild with angular, I get this message: Failed to resolve entry for package "@digitalbazaar/vc-status-list-context". The package may have incorrect main/module/exports specified in its package.json.
I already created a pull request to fix the file name in the package in #7 Assuming that the correct filename that is created when building it and not some wrong build configuration that messed it up

Fixed in 3.1.0.  Package was not including all the built files.  Pardon the delay, I missed this issue.  I think I might have included an extra file, but it should point at the correct esm one now.


fix: multiple tab collection level settings

Fixes: #2903
The bug (issue #2903) is fixed by checking isFolderSettingsOpenedInTabs before opening a new tab
Contribution Checklist:

[x] The pull request only addresses one issue or adds one feature.
[x] The pull request does not introduce any breaking changes
[x] I have added screenshots or gifs to help explain the change if applicable.
[x] I have read the contribution guidelines.
[x] Create an issue and link to the pull request.

Before:
https://github.com/user-attachments/assets/d8204bdb-0289-4b15-87a8-14fd39d860c2
After:
https://github.com/user-attachments/assets/59c32eb6-dd5a-4448-a1bc-be9d9e59f17d

Merged! Thanks @Pragadesh-45 !


Attribution Reporting Error on chrome

Hi Team,
I've successfully implemented attribution reporting by registering sources using the provided method below. However, I've encountered an issue where some user traffic triggers the following error when invoking the fetch operation:
Failed to execute 'fetch' on 'Window': Attribution Reporting operations require that the attribution-reporting Permissions Policy feature be enabled. The logs show that this error is widespread across various chrome versions.
Interestingly, I am unable to reproduce this issue personally. Could you shed some light on the potential causes or provide guidance on troubleshooting this matter?
Here is the code snippet used for attribution reporting:
// With fetch
const attributionReporting = {
  eventSourceEligible: true,
  triggerEligible: false,
};

// Optionally set keepalive to ensure the request outlives the page.
window.fetch("https://adtech.example/attribution_source?my_ad_id=123", {
  keepalive: true, attributionReporting });

@maybellineboon, any pointers on this?

Hello, this indicates that the embedder has forbidden the API, since the API is governed by Permissions Policy:
https://wicg.github.io/attribution-reporting-api/#permission-policy-integration

@csharrison , is there a way to fix this?

It will typically require changes to the top level page, which has explicitly used Permission Policy to deny access to the API. In your logs, can you break down the errors by which pages they are occuring on? If you have such a page, you might be able to reproduce and see where this is happening.

@csharrison , As part of my role at LinkedIn, I've been overseeing the implementation of this particular attribution reporting feature. We've integrated this feature by utilizing our internal endpoint, https://px.ads.linkedin.com/attribution_source, which in turn interacts with the Google API.
Currently, my team and I haven't been able to reproduce the reported issue when testing in Chrome browsers. However, it's been observed that the errors are arising from user traffic accessing LinkedIn and scrolling through the feed.
We're actively investigating this discrepancy to pinpoint the source of the issue and implement a resolution. If you have any insights or suggestions regarding this matter, I'd greatly appreciate your input.

Is ARA deployed on 100% of LinkedIn traffic? i.e. can we reproduce a successful registration by scrolling the feed?

@csharrison , it is currently ramped to 10% of linkedin traffic and all linkedin employees and yes I am able to see a successful registration in chrome://attribution-internals/ where the sourceType is Event

Hello @kravish1 . Thank you for the report. I have debugged the issue and I believe that one source of this error could be coming from ad blocking extensions like ublock origin:
https://github.com/uBlockOrigin/uAssets/blob/47ca6b8f30d6550370764bfa1cd8c0aa43d056bd/filters/privacy.txt#L581
It appears these extensions inject permissions into the page to disallow the Privacy Sandbox APIs. Please let me know if you think this could explain the problem you are having.

@csharrison , I think it makes sense, let me install the ad block origin and see if I can reproduce the issue. will keep you posted

@csharrison , is this specific to ublock origin or there could be other ad blockers also blocking this request?

Hey @kravish1 sorry I don't know. Given that the permissions filter list rule appears to be somewhat standard (see discussion about AdGuard in https://github.com/uBlockOrigin/uBlock-issues/discussions/2714), it seems possible this could be coming from multiple ad blockers.

Hi @kravish1, bumping this one up - have you been able to reproduce the issue?

@kravish1

In light of these challenges, I'm considering whether transitioning to XMLHttpRequest might help resolve these issues.

Without seeing an example error it's hard to say for sure, but I would be surprised if any Attribution-Reporting-related error you are encountering with fetch wouldn't also happen with XMLHttpRequest. Attribution Reporting doesn't prefer one or the other, but in general the web has been moving away from XMLHttpRequest toward fetch for a while now, and nothing about Attribution Reporting should be moving you away from fetch, unless we have an unintentional bug.
Would it be possible for you to post one of these TypeErrors here?

@csharrison , yes privacy filter is enabled yet not able to reproduce locally.

@kravish1

In light of these challenges, I'm considering whether transitioning to XMLHttpRequest might help resolve these issues.

Without seeing an example error it's hard to say for sure, but I would be surprised if any Attribution-Reporting-related error you are encountering with fetch wouldn't also happen with XMLHttpRequest. Attribution Reporting doesn't prefer one or the other, but in general the web has been moving away from XMLHttpRequest toward fetch for a while now, and nothing about Attribution Reporting should be moving you away from fetch, unless we have an unintentional bug.
Would it be possible for you to post one of these TypeErrors here?

@apasel422 , the stacktrace for the typeError doesn't show much info. I've changed the code to use XMLHttpRequest, will update the behavior once my change gets deployed to prod. thanks!

@kravish1

the stacktrace for the typeError doesn't show much info. I've changed the code to use XMLHttpRequest, will update the behavior once my change gets deployed to prod. thanks!

If you provide the source code you were using with fetch, I may be able to debug the problem directly.

@kravish1

the stacktrace for the typeError doesn't show much info. I've changed the code to use XMLHttpRequest, will update the behavior once my change gets deployed to prod. thanks!

If you provide the source code you were using with fetch, I may be able to debug the problem directly.

@apasel422 , I've changed the code to use XMLHttpRequest and below is the snapshot of the code. On checking the logs, the majority of the errors (90%) comes from the logger statement in the catch block. All the privacy policy (adblocker) related errors gets captured in the status === 0 condition inside onreadystatechange callback.
if (attributionUrl) {
    const attributionReporting = {
      eventSourceEligible: true,
      triggerEligible: false,
    };
    try {
      if (isUrl(attributionUrl) && IS_BROWSER) {
        const req = new window.XMLHttpRequest('GET', attributionUrl);
        req.open('GET', attributionUrl);
        if (!Ember.testing) {
          req.setAttributionReporting(attributionReporting);
        }
        req.onreadystatechange = () => {
          if (req.readyState === 4) {
            const { status } = req;
            if (status === 200) {
              incrementMetricCounter(
                clientSensor,
                SponsoredTrackingClientSensorMetrics.ARA_ENDPOINT_INVOKE_SUCCESS
              );
            } else {
              incrementMetricCounter(
                clientSensor,
                SponsoredTrackingClientSensorMetrics.ARA_ENDPOINT_INVOKE_FAILURE
              );
              const xhrError = `${status} : ${attributionUrl}`;
              if (status === 0) {
                // Handle status 0 error
                logError(
                  jet,
                  `${xhrError} : XHR request failed: Status 0 - Network error or policy violation`,
                  'Error invoking XHR Request status 0'
                );
              } else if (status !== 200) {
                // Handle non-200 status error
                logError(
                  jet,
                  `${xhrError} : XHR request failed: non-200 status code`,
                  'Error invoking XHR Request status non-200'
                );
              }
            }
          }
        };
        req.send();
      } else {
        logError(
          jet,
          `Invalid attribution URL ${attributionUrl}`,
          'Invalid attribution URL'
        );
      }
    } catch (error) {
      incrementMetricCounter(
        clientSensor,
        SponsoredTrackingClientSensorMetrics.ARA_ENDPOINT_INVOKE_FAILURE
      );
      logError(
        jet,
        `Failed to call XMLHttpRequest ${attributionUrl}`,
        'Error fetching attribution URL:'
      );
      throw error;
    }
  }

@kravish1 Are you sure that your JavaScript code is always executing in a secure context? If not, then the setAttributionReporting method won't be available on XMLHttpRequest, which would manifest as something like Uncaught TypeError: req.setAttributionReporting is not a function.
To help narrow this down, I'd suggest explicitly checking the feature policy and availability of the method before calling it:
const req = new window.XMLHttpRequest('GET', attributionUrl);
req.open('GET', attributionUrl);
if ('setAttributionReporting' in req) {
  req.setAttributionReporting(...);
} else {
  logError(...);
}

checking the feature policy

@apasel422 , interesting. I am currently using 'featurePolicy' in document for registering the click sources, I can try adding the check you suggested for view conversion as well. In the doc you pinged, it says Note that this check alone isn't a guarantee that the API is usable on that page; the user may have disabled the API via their browser settings, or they may have other settings that prevent the API from being used. In order to protect user privacy, there is no way to check for this programmatically. So there are bound to be failures that we won't have control of?

So there are bound to be failures that we won't have control of?

Yes, there are a variety of reasons that the API doesn't end up actually being enabled, though I don't think those would result in a TypeError.

So there are bound to be failures that we won't have control of?

Yes, there are a variety of reasons that the API doesn't end up actually being enabled, though I don't think those would result in a TypeError.

@apasel422 , you are correct. I see the same error in the stacktrace
t.setAttributionReporting is not a function
setAttributionReporting() at e.fetchAndInvokeARAEndpoint (https://static.licdn.com/aero-v1/sc/h/2wfhjenix9yqwnybiyl37wvte:27363:22)
Will adding the featurePolicy check resolve this issue? Also just curious, most of the typeErrors recorded are from the chrome browser, isn't this enabled by default in chrome?

Will adding the featurePolicy check resolve this issue? Also just curious, most of the typeErrors recorded are from the chrome browser, isn't this enabled by default in chrome?

No, the feature-policy check alone wouldn't prevent this (and it is indeed enabled by default).
Per my previous comment, I suspect that the issue is that your code is being invoked from an insecure context, which would manifest as the setAttributionReporting method being absent.

Will adding the featurePolicy check resolve this issue? Also just curious, most of the typeErrors recorded are from the chrome browser, isn't this enabled by default in chrome?

No, the feature-policy check alone wouldn't prevent this (and it is indeed enabled by default).
Per my previous comment, I suspect that the issue is that your code is being invoked from an insecure context, which would manifest as the setAttributionReporting method being absent.

@apasel422 , I am explicitly checking if the content is browser in the calling function.

I am explicitly checking if the content is browser in the calling function.

Sorry, could you clarify what you mean by "the content is browser"? Attribution Reporting functionality is only available in JavaScript when the context is secure, typically meaning that the page is using HTTPS (not HTTP).

JavaScript code is always executing in a secure context

sorry i meant context. I am using the below code to determine if the execution happens in a browser environment.
const IS_BROWSER =
  typeof window !== 'undefined' &&
  window &&
  (window as CustomWindow).appEnvironment !== 'node';

sorry i meant context. I am using the below code to determine if the execution happens in a browser environment.

I see. Unfortunately that is orthogonal to whether the context is secure. Is it possible that your code is running on a page that is accessed over http:// instead of https://? That would be my prime suspect for the issue you are encountering.

https://px.ads.linkedin.com/attribution_source?impression_id=f8a9548f-455d-4fdf-b7da-23d4d703706d&destination=https://www.google.com'

So this is the sample endpoint that gets invoked as part of the XMLHttpRequest.
https://px.ads.linkedin.com/attribution_source?impression_id=f8a9548f-455d-4fdf-b7da-23d4d703706d&destination=https://www.google.com'
https://px.ads.linkedin.com/attribution_source is our backend api endpoint. Is there something more specific that I can add to make sure the context is secure?

Is there something more specific that I can add to make sure the context is secure?

We need to know the URL of the page(s) that ultimately call the XMLHttpRequest.setAttributionReporting method, not the URL of the endpoint that is being fetched.
For example, if there's a page like http://a.example that runs your code, perhaps by embedding an iframe, the call will fail, because that page is not secure.

(And by the way, totally separate from the issue this thread is about, the JSON coming from the endpoint you provided is not valid for registering a source because it erroneously contains null in its filter_data.)

https://px.ads.linkedin.com/attribution_source

@apasel422 , understood lemme check this and get back toy you.

(And by the way, totally separate from the issue this thread is about, the JSON coming from the endpoint you provided is not valid for registering a source because it erroneously contains null in its filter_data.)

oh, thanks for pointing it out, I ll check this with the backend team.

You can validate your response headers with the project's nifty Validator:
https://wicg.github.io/attribution-reporting-api/validate-headers

Is there something more specific that I can add to make sure the context is secure?

We need to know the URL of the page(s) that ultimately call the XMLHttpRequest.setAttributionReporting method, not the URL of the endpoint that is being fetched.
For example, if there's a page like http://a.example that runs your code, perhaps by embedding an iframe, the call will fail, because that page is not secure.

@apasel422 , not sure if I understood the page example. My code (invoking the px.ads endpoint mentioned above ) when the user launches linkedin.com (which is secure) and scrolls through the feed.

not sure if I understood the page example. My code (invoking the px.ads endpoint mentioned above ) executes when the user launches linkedin.com (which is secure) and scrolls through the feed and when the ad is in the user's viewport.

Could you provide the URL of a page that has exhibited the TypeError so that I can try this myself?

not sure if I understood the page example. My code (invoking the px.ads endpoint mentioned above ) executes when the user launches linkedin.com (which is secure) and scrolls through the feed and when the ad is in the user's viewport.

Could you provide the URL of a page that has exhibited the TypeError so that I can try this myself?

@apasel422 , you can go to linkedin home page https://www.linkedin.com/feed/. Start scrolling through your feed and for every 3rd post which is sponsored which comes into your viewport, you'll see this url invoked https://px.ads.linkedin.com/attribution_source. This feature is open to only 10% of the traffic so there is a chance that this might not be enabled for you. Also and the error does not occur for everyone but you can try it and let me know.

This feature is open to only 10% of the traffic so there is a chance that this might not be enabled for you.

Unfortunately, I'm not seeing any requests to https://px.ads.linkedin.com/attribution_source.

This feature is open to only 10% of the traffic so there is a chance that this might not be enabled for you.

Unfortunately, I'm not seeing any requests to https://px.ads.linkedin.com/attribution_source.

@apasel422 , lemme try to enable this feature for your linkedin profile. will let you know once thats done.

This feature is open to only 10% of the traffic so there is a chance that this might not be enabled for you.

Unfortunately, I'm not seeing any requests to https://px.ads.linkedin.com/attribution_source.

@apasel422 , lemme try to enable this feature for your linkedin profile. will let you know once thats done.

@apasel422 , I've activated this feature for you, can you try now?

I've activated this feature for you, can you try now?

I'm still not seeing any requests to https://px.ads.linkedin.com/attribution_source.

I've activated this feature for you, can you try now?

I'm still not seeing any requests to https://px.ads.linkedin.com/attribution_source.

It should show up, try scrolling through your feed on desktop and the request should show for most the the sponsored posts. This is your linkedin profile right? https://www.linkedin.com/in/andrew-paseltiner-ba07912ba/

This is your linkedin profile right?

Yes. But I'm still not seeing any relevant requests, unfortunately.
Is it possible for you to feature-detect using both the feature-policy check and `typeof XMLHttpRequest.prototype.setAttributionReporting === 'function'? I'm not sure what other errors related to Attribution Reporting could be occurring if both of these checks are in place.

This is your linkedin profile right?

Yes. But I'm still not seeing any relevant requests, unfortunately.
Is it possible for you to feature-detect using both the feature-policy check and typeof XMLHttpRequest.prototype.setAttributionReporting === 'function'? I'm not sure what other errors related to Attribution Reporting could be occurring if both of these checks are in place.

alright, maybe it is taking a while to show up. But yes, lemme try to add these 2 checks in place and observe the logs. Will keep you posted. Thanks for all the support so far!

Feel free to add https://www.linkedin.com/in/mike-taylor-7a09163/ to this experiment as well (I checked, and seem to not be in the 10% bucket).

This is your linkedin profile right?

Yes. But I'm still not seeing any relevant requests, unfortunately.
Is it possible for you to feature-detect using both the feature-policy check and typeof XMLHttpRequest.prototype.setAttributionReporting === 'function'? I'm not sure what other errors related to Attribution Reporting could be occurring if both of these checks are in place.

@apasel422 , with this check typeof XMLHttpRequest.prototype.setAttributionReporting === 'function' in place, the typeError is now resolved. However if we are to switch back to using the fetch call instead of the XmlHttpRequest, does the same check suffice or should this be different for fetch?

f we are to switch back to using the fetch call instead of the XmlHttpRequest, does the same check suffice or should this be different for fetch?

The exact same check would suffice. (There is no setAttributionReporting method for fetch, but that method is exposed on XMLHttpRequest in exactly the same circumstances in which fetch supports the attributionReporting options field.

f we are to switch back to using the fetch call instead of the XmlHttpRequest, does the same check suffice or should this be different for fetch?

The exact same check would suffice. (There is no setAttributionReporting method for fetch, but that method is exposed on XMLHttpRequest in exactly the same circumstances in which fetch supports the attributionReporting options field.)

@apasel422 , sounds good. I ll go ahead and close this ticket. Thanks for helping with this!


update code owner

Signed-off-by: Ke Xu<EMAIL_ADDRESS>
Description

Checklist

[ ] I have added screenshots above for all UI changes.
[ ] Documentation was updated if it was needed.
[ ] New tests were added or changes were manually verified.

Codecov Report

Merging #1372 (8087a39) into main (1dba8e4) will increase coverage by 3.64%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1372      +/-   ##
==========================================
+ Coverage   86.30%   89.94%   +3.64%
==========================================
  Files         100       80      -20
  Lines        4702     3461    -1241
==========================================
- Hits         4058     3113     -945
+ Misses        644      348     -296

Flag
Coverage Δ

unittests
89.94% <ø> (+3.64%)
:arrow_up:

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

Impacted Files
Coverage Δ

...idgets/raiwidgets/responsibleai_dashboard_input.py

...iwidgets/raiwidgets/model_performance_dashboard.py

raiwidgets/raiwidgets/fairness_dashboard.py

...iwidgets/raiwidgets/fairness_metric_calculation.py

raiwidgets/raiwidgets/explanation_constants.py

raiwidgets/raiwidgets/responsibleai_dashboard.py

raiwidgets/raiwidgets/error_handling.py

raiwidgets/raiwidgets/error_analysis_dashboard.py

raiwidgets/raiwidgets/utils.py

...dgets/raiwidgets/error_analysis_dashboard_input.py

... and 10 more

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 1dba8e4...8087a39. Read the comment docs.


docs: update Actor Type in API docs.

Making some small changes to the API docs related to actor types. (For context, I'm working on the Frontend aspect of #274, which uses the actor type.)

Closing, as #360 includes this change.


can you put the option for widescreen monitor like 3440x1440 or 2560x1440

i dont know if its possible

No, the "internal_display_resolution" only supports resolutions that are already listed.


Parameter types incorrect when using default values

If I have an API definition with a parameter like this:
{
  name: 'limit',
  type: 'Query',
  schema: z.number().positive().default(10),
},

In my router, req.query.limit is of type number | undefined. I would expect it to be number due to the default value.

Oh yes, this one is tricky. Thanks for the report.
In frontend, the type is correct, because it allows effectively you to not pass any value.
But in the backend, you effectively expect the value to be generated, so yes indeed, you expect it to be number.
I'll need to extend @zodios/core to add support for this.

@epotter2297 This is now fixed in version @zodios/core v10.4.4 and @zodios/express v10.4.3


Remote ID should not be type int

Remote ID should be type string:
https://github.com/tuya/tuya-cloud-sdk-go/blob/6316e457519552a38b75477bfc360216edd005d5/api/infrared/post_command.go#L12
https://github.com/tuya/tuya-cloud-sdk-go/blob/6316e457519552a38b75477bfc360216edd005d5/api/infrared/post_command.go#L30

This results in parse error on line 21 too.

Also in these locations:
/api/infrared/post_command_raw.go:12
./api/infrared/post_command_raw.go:30
./api/infrared/post_command_raw_test.go:13
/api/infrared/post_command_raw_test.go:24
/api/infrared/post_command_test.go:13
/api/infrared/post_command_test.go:24

Thanks for feedback.I will fix it


Make it easier to support new data types in the variable explorer

This comes from the discussion at #7042 but has popped up various times in the past. It should be easier to support new data types in the variable explorer. Ideally, a user should be able to do this without knowing much about the Spyder internals.
We probably first need to discuss how to achieve this.

One idea, from @hgijeon, is to specify how a new data type can be converted to a data type that Spyder already knows about. In the example, a variable of type torch.Tensor can be converted to a numpy array by applying '.numpy()' .
A related issue is #6338 (Can 'Supported Data Types' be customized?); currently, as a fallback when displaying an unsupported data type we convert it to a string and display that.
A related comment from @CAM-Gerlach:

some type of modular "plugin" support for the variable explorer's Editor classes. It would be really need to have, but would take some work, requiring refactoring the existing Editors into a modular system and creating an API to interact with third-party editors, etc.
As somewhat of a stopgap between the quick but specific and general but more involved approaches could be Pythonic duck typing, converting unknown types to known ones (principally array, and maybe list) and regressing to the current behavior if an exception, but not sure if it would be worth the tradeoffs vs. checking against a list of types that can be converted to array, list etc. by various means.
The more custom types we supported though, the more we'd want to have the option to view any object as a generic low level __dict__ to see and interact with all its properties, along with the higher-level view we currently use when available—I've been thinking about something like this for a while, since somethings while working the former can be convenient, especially when working with derived types and convertible ones like this

The last suggestion is similar to #558 (Add Object Explorer for exploring an object's properties).

The last suggestion is similar to #558 (Add Object Explorer for exploring an object's properties).

I guess to clarify, the last suggestion was really a separate, though somewhat related issue, and is really more about having an additional option to to manually trigger opening an object in the generic object explorer that we already have (vs. only its autodetected data type and type-specific high level editor), as opposed to creating a newer, fancier hierarchical version with classes and inheritance as #558 .


For 3D map with restricted height, the preview does not match the actual map

This is something I noticed when playing around with the options. It does not affect me at the moment, since I'm busy building the flat map I generated.
When the 3D option is enabled with a restricted height limit, like 5, then the preview of the converted image seems to ignore the height restriction. Therefore, it does not match the map that is actually generated. The same applies to the colors shown in the survival guide image.
This is most noticeable when dither is disabled.
Here's an example.
Original image, already resized for a 1x1 map:

Converting using the full palette, 3D with height limit 5, and no dither.
Preview of converted:

In-game map after running the functions to create the map art:

I totally understand that, with a restricted height, it is impossible to use all 3 height-dependent shades of a color for every pixel.
A simple improvement would be to consider the truncated heights for the preview and survival guide, which at least provides an accurate preview of what you get.
A better improvement would be to consider the height limit during color conversion, which could lead to better fitting colors.

Thanks for bringing this up. I was aware that the preview doesn't show the errors due to height restriction, and can add your suggested improvements in the next update of the web app.
P.S. It may be a short while till I get the free time to make & release the changes. In case anyone would like this urgently, pull requests are welcome :)


Ctrl-wheel zooming

It's possible to add Ctrl-wheel zooming feature ?

Hi @ricardo17coelho,
This feature is not planned, since it doesn't directly apply to the embedding logic. So I suggest implementing this in the app.


AttributeError: 'NoneType' object has no attribute 'safe_translation_getter'

When creating a post without any categories applied (or existent) I am getting an AttributeError:
'NoneType' object has no attribute 'safe_translation_getter'
End of trace:

Internal Server Error: /admin/r/65/61/
Traceback (most recent call last):
[...]
File "/usr/local/lib/python3.6/site-packages/django/contrib/admin/sites.py", line 224, in inner
return view(request, *args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/django/contrib/contenttypes/views.py", line 31, in shortcut
absurl = get_absolute_url()
File "/usr/local/lib/python3.6/site-packages/djangocms_blog/models.py", line 352, in get_absolute_url
kwargs['category'] = category.safe_translation_getter(
AttributeError: 'NoneType' object has no attribute 'safe_translation_getter'

Are you able to recreate this?
Edit:
Environment:

django==1.11.12
django-cms==3.5.2
djangocms-blog==0.9.5

Also tested it with djangocms-blog==0.9.7, same problem (just to be sure it isn't fixed with the last release).

@wfehr is this related to #297 ? what's the "Permalink structure:" of the apphook config?

@yakky the structure is 'category', so yes, I think the mentioned issue is the problem of this one.

Fixed by #480 which will be released in 0.9.10
Thanks you all for reporting this


Audio Clip Support for Feature Vectors

[ ] Update FeatureVector interactions to support audio clip as source of FeatureVector
[ ] Create small audio playback widget for Feature Callouts
[x] Create larger "audio console" pane similar to Text Console
[x] Investigate rendering audio clips on hypersurface

Updated Audio Console to provide FFT function on wave form. Result is sent to hypersurface as a mirrored plot.


Documentation error for absl::ParseTime

https://github.com/abseil/abseil-cpp/blob/cb52b05ea20e8d196f17b45a420c2d323e401324/absl/time/time.h#L1319 says

Like ParseTime() above, but if the format string does not contain a UTC

but I think this should refer to the input string.

Actually, it's possibly correct. Is the intended meaning that if you provide a format string with a UTC offset specification (%z/%Ez/%E*z) that the provided TimeZone parameter is ignored?

It looks correct to me. The format string format needs to match the input string anyway, so in a way it refers to both. If the format string you are providing includes an offset specification, for clarity you should use the version of the function that doesn't take a time zone parameter.


load an HTTP URL with App Transport Security enabled in iOS 9

`Info.plist

@yosuke-matsuda when will aws support ATS?


Throw an error if rackaware is not the last used balancing module

Closes #56.

Coverage decreased (-0.09%) to 99.733% when pulling b180fcf6c8929cbdd5533d92dfe6e1e3e5f885a7 on bobrik:rackaware-last into b4d894ac340b0767fc64b7e87c62d87e35c27385 on linkedin:master.

Good add. Please add a test to check and make sure that the exception is thrown when rackaware is not last.

Coverage increased (+0.0004%) to 99.827% when pulling ae0ddf5f0b09bb926005b71b0d9b372807707b38 on bobrik:rackaware-last into 1f4a7e43a2cfd7c365af91f99f9e508717462505 on linkedin:master.

Coverage increased (+0.0004%) to 99.827% when pulling 2e1447c67d6c046153174f71ba29e0f1c6979a77 on bobrik:rackaware-last into 1f4a7e43a2cfd7c365af91f99f9e508717462505 on linkedin:master.


Move token file in storage folder

This PR is to move token file in storage folder and generally avoid to write file in the integration folder as suggested in this issue.
@jaruba, any news about documentation, there is something we can do. I understand that you have issue configuring the integration, can we help in some way?
@Screwdgeh, if ok for you, I'm thinking about merging your logo implementation in my fork.
I don't want to quit this migration project, but merging the logo in my fork will help me to maintain this branch aligned in case of issue / improvement and we will be able to start testing the implementation in new component version.
Wait for your feedback,

@ollo69

any news about documentation, there is something we can do. I understand that you have issue configuring the integration, can we help in some way?

That's nice of you to ask, a couple of weeks ago both my TVs went completely offline from SmartThings:

I've seen the SmartThings API act weirdly for other users too, it was never the most stable API, it usually just came back by itself after some time. I suspected that PiHole and/or AdGuard Home blacklisted some SmartThings API endpoint(s), but I have whitelisted everything that seemed related to it and their still offline. I can try disabling my local DNS servers completely and see how that goes, but for now, whenever I try to install the merge branch it just fails installing, during the installation it says it can't find any of my TVs by their IDs. (the master branch of this component is also non-functioning at this point)

To note, I also tried factory reseting the TVs and they still refuse to connect to SmartThings..

That's terrible, I'm probably lucky because SmartThings works very well for me, but probably this is strongly related to the region. So we can just wait hoping that Samsung will fix this.

It used to work fine for me too, for a very long time, and it just competely broke out of nowhere.

If you want we can just use ur docs and add a note for the logo settings to be able to release. I'll disable the local DNS servers for a week to see if that helps getting them back online. (from research I saw that even if it is a SmartThings blacklisting issue, it takes at least 24h for them to come online due to internal DNS caching in the TVs)
And if they come back online I will rewrite the docs asap. I don't really see an alternative at this point, this issue caught me completely off guard, it's been a long time now and it did not get resolved, I really hope it's a local DNS problem at this point, although it seems unlikely from all the tests I did by now.

I think that we can wait some more time, it is better that at list owner of the component should be able to use it. I would not take the risk that you will open an issue as soon as the new version is released 😁.
Maybe you can try contacting Samsung support, just to see if they have some suggestion or forecast? This is a customer service and they should provide support for this.

@ollo69
I am happy to announce that I managed to get the Series 7 TV back on SmartThings two days ago and should be able to start work on the docs soon. The Series 6 TV is still unable to connect, I'm a bit worried that they might of phased out support for it or (hopefully just) broke it with an update. It's a 2016 TV if I'm not mistaken.

@jaruba, @Screwdgeh,
today I had time to make some test, I just found a couple of bug (fixed in this PR) and moved the logo download json file to HA storage folder (as best practice we should never write files in code folder).
Everything is working properly, I just found an issue with one app that is not showing logo that is Prime Video. I don't go in deep is logo implementation, I just take a look to the file logo_paths.json and there I found different alias as Amazon Prime, Prime, but not Prime Video (that I think is the right name for the service). Should this string inserted in the logo_paths.json?

@ollo69 you can add any string to the logopaths.json file here: https://github.com/jaruba/channel-logos/blob/main/logo_paths.json
and if it requires a custom logo, that can also be added to the "custom" folder in the same repo (there is a readme in that folder that should explain things clearly)
not sure if prime video will work after that, there are a few samsung tv apps that don't announce anything to the samsung api, such is the case for "Plex" too and a few others.
is this PR ready btw? should i test / merge?

Yes, I think you can test and merge, I'm running with this version now. If I eventually discover new issues I will create a new one.
I will make some tests with prime video logo on next days and eventually create a PR in your logo repository. I think it should work using Smartthings.

@ollo69
It's really strange that I only managed to get the Series 7 TV working with SmartThings again btw. On the Series 6 TV I can't even find the SmartThings app in the App Store anymore.. I have to say that I'm pretty worried that Samsung is quietly removing SmartThings API support for older TVs.. and that's just a 2016 (or 2017) TV.. There are huge unanswered threads on the Samsung forums about users that are unable to connect to SmartThings with their TVs anymore, and particular Tizen updates that completely break it for them..
The reason I'm mentioning it is because that will impact this component as well.

With this TV a 5 years old model is considered prehistoric 😁. Unfortunately the market require continuous new models, and life of these devices are limited to few years. My series 7 55" died after about 3 years, now I have a series 8 65" paid less than previous model.
We don't have control on this, we just can support as Samsung do.

With last commit I improved channel logo match with 2 little changes:

try remove from media_title phrases between round brackets
try to remove the word HDTV

Example: I have one channel that is returned as: Fox HDTV (Italy), so I remove HDTV and (Italy) and Fox logo is matched.
If you have some concern about this last change I can also roll-back it, anyway my side everything is working fine.

@jaruba, @Screwdgeh,
this project is taking too long and it is too complex for me to continue maintain my integration and this PR without having code aligned.
For this reason I merged my main branch / release version with logo support implemented here, adding credits in readme.
Of course I will continue pushing changes here, and I'm still available to converge to an unique repository when you will be ready.
Please let me know any concern.

@ollo69 Hi, in the meanwhile i have received a lot more responsibility at my job and have other projects that grew and require a lot of my attention as well. At this point the only thing I'm able to do for this project is to make the minor changes that the users discover / request in order to keep it working with the newer HA versions, as I haven't even had time to update HA in the last 6+ months.
When I tested it the last time, I remember that the only thing I didn't enjoy about the PR was that I was unable to add my TVs while there were unknown API issues with them, while this current component is able to add them even if the API connections are down for the TVs (as these issues seem to always be temporary).
With that said, you are welcome to take over this repository if you wish, and retire your fork of it if that is still your plan. As much as I'd want to continue working on this, I really don't have enough time for it anymore at this point and you seem to be the most active developer.

First of all congrats to you and for your job.
At this point I prefer to stay some more time with my fork active aligned with this branch and monitor usage before moving back to this repo. I just want to be sure to not break something that many users still use and leave the option to choose preferred version.
I will merge this PR in this branch for now in, so that I will be able to create new one when required and we will move to master when we will be sure about this.


{doc} Add security guidance for az cmd execution

Related command

Description

This pr is a full guidance doc for executing az-related cmds in cli, including run_az_cmd (https://github.com/Azure/azure-cli/pull/29899)
Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change
[Component Name 2] az command b: Add some customer-facing feature

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

doc

/azp run


problem in img.unsqueeze(0).to(self.device)

Hi,
I have a problem when trying to run test script, when it is trying to run this line img = img.unsqueeze(0).to(self.device) execution gets blocked. ¿Do you know what could be happening?
Thanks!!!

I get cuDNN error: CUDNN_STATUS_MAPPING_ERROR after a while, it 's related with cuda, what version should i use?

it depends on your tensorflow version in local env that must satisfy to cuda, cudnn


K8s native binding design proposal

Issue #, if available: #740
Description of changes:
Adds a proposal for ACK-K8s native binding, allowing for K8s applications to bind to ACK resource fields.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

/lgtm

Implemented with https://github.com/aws-controllers-k8s/runtime/pull/75 and https://github.com/aws-controllers-k8s/code-generator/pull/307


Xnero: Watch takeofprojects.com

Xnero requests the watch of the watch_keyword takeofprojects\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

takeofprojects\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by tripleee in Charcoal HQ


The List Roles Endpoint in SCIM 2.0 API Ignores 'excludedAttributes' Parameter

Describe the issue:
It retrieves 'displayName', 'meta', and 'id' attributes of all roles although I sent a request to retrieve all roles without 'meta' values. Same behaviour happens for requests to retrieve all roles without 'id' values and for requests to retrieve all roles without 'displayName' values.

How to reproduce:

Create some roles (about 5) though SCIM 2.0 API
Send a GET request to https://localhost:9443/scim2/Roles?excludedAttributes=id
Send a GET request to https://localhost:9443/scim2/Roles?excludedAttributes=meta

Expected behavior:
When we send a GET request to https://localhost:9443/scim2/Roles?excludedAttributes=id, it should retrieve all roles in the system without 'id' values.
When we send a GET request to  https://localhost:9443/scim2/Roles?excludedAttributes=meta, it should retrieve all roles in the system without sub-attributes and values in the 'meta' attribute.
Environment information :

Product Version: IS 6.0.0-m1
OS: Mac OS 12.3.1
Database: PostgreSQL 14
Userstore: LDAP

Related issues:
https://github.com/wso2/product-is/issues/13853

The https://localhost:9443/scim2/Roles SCIM2 API does not support excludedAttributes query param at the moment.


Stacked Area incorrect with xAxis of type=value

问题简述 (One-line summary)
Stacked Area incorrect with xAxis of type=value
版本及环境 (Version & Environment)

ECharts 版本 (ECharts version): 3.2.3
浏览器类型和版本 (Browser version): Chrome 53
操作系统类型和版本 (OS Version): OSX Yosemite

重现步骤 (Steps to reproduce)

The "option" (below) will produce a CORRECT Area chart based on two value axis:

However, if you change group2 to group1, so that the two series' stack names match, then they do not stack properly and it looks like the following:

期望结果 (Expected behaviour)
The areas should stack properly but they don't.
可能哪里有问题 (What went wrong)
I think echarts might be adding up the "x" values (in the series data) for the stack, when it makes sense to add up the "y" values instead, maybe?
I am trying to create a 'market depth' chart that looks like the following, but with an added layer stacked within.  Grateful for any advice or examples:

ECharts配置项 (ECharts option)

let options = {
    tooltip : {
        trigger: 'axis'
    },
    legend: {
        data:['Orders','Ghost Orders']
    },
    xAxis : [
        {
            type : 'value',
            scale: true
        }
    ],
    yAxis : [
        {
            type : 'value',
            scale: true
        }
    ],
    series : [
        {
            name:'Orders',
            type:'line',
            stack: 'group1',
            itemStyle: {normal: {areaStyle: {type: 'default'}}},
            data: [
                [
                    0.0189,
                    45
                ],
                [
                    0.019,
                    96
                ],
                [
                    0.0191,
                    85
                ],
                [
                    0.0192,
                    50
                ],
                [
                    0.0193,
                    2
                ],
                [
                    0.0194,
                    14
                ],
                [
                    0.0195,
                    79
                ]
            ]
        },
        {
            name:'Ghost Orders',
            type:'line',
            stack: 'group2',
            itemStyle: {normal: {areaStyle: {type: 'default'}}},
            data:[
                [
                    0.0189,
                    26
                ],
                [
                    0.019,
                    33
                ],
                [
                    0.0191,
                    58
                ],
                [
                    0.019200000000000002,
                    45
                ],
                [
                    0.0193,
                    94
                ],
                [
                    0.0194,
                    30
                ],
                [
                    0.0195,
                    52
                ]
            ]
        }
    ]
};

其他信息 (Other comments)

Thanks a lot for this fantastic chart library!

Hi @mrcybermac, Glad to hear you like it and thanks for the feedback:)


Add author checking at tab 'Check View'

Create new block 'Reference without authors'
check the table 'citation' ,'ec_status_info' and 'author_list', list citations with data_status 'COMPLETED' or 'DATA_LOADED', but without authors.
Just show column 'citation_num','title', and add a button 'Add Authors', direct to page 'Edit citation'.

There are only two citations, 3529 and 3705 without authors.  The following query was used for checking:
select c.citation_num
from ec_status_info e, citation c
where e.data_status in ('COMPLETED','DATA_LOADED') and e.citation_num = c.citation_num and c.citation_num not in
(select c.citation_num
from ec_status_info e, citation c, author_list a
where e.data_status in ('COMPLETED','DATA_LOADED') and e.citation_num = c.citation_num and e.citation_num = a.citation_num
)

Updated.  Please test it.


HowTo: get absolut path of required file

As described in Wiki i need a howto:
How can I get a absolut final URL path of a required file?
var Locomote = require('./assets/js/locomote.min.js');
how can I get the absolut final path and filename of loaded file in require?

@mburger81 why do you need this is the first question that pops up in my mind?

I need to create a component which lives alone, any file needed by this component should be copied into the component folders.
For example on this component I load a javascript which need to passing the SWF Player.
var Locomote = require('./assets/js/locomote.min.js');

@Component({
....
....

    ngOnInit() {
        this.locomote = new Locomote('player', './assets/swf/Player.swf');
....
....

in this example loading with require ./assets/js/locomote.min.js works fine, the problem is on creating Locomote instance I need to pass the right place of the player, in this example
Locomote loads the Player from http://localhost:3000/assets/swf/Player.swf but that is wrong. I need to know where is my file to pass the absolute URL to Locomote, this and others does not work with relative URL paths.
I hope I explained it well.

sorry this may sound super rule but I'm closing long standing issues and refactoring the codebase. If you run into this problem again feel free to open another issue


Add Command Invocation Example via JSON-RPC

This adds a simple example of how a command can be invoked via JSON-RPC. To do so we also needed to updated the monaco-editor-wrapper package to new version, which exposes the monaco-vscode-api object (fittingly called vscode in this case).
Please note that the current command does not successfully execute! There has to be a handler registered on the server as well for the command to be received successfully, and a response to be generated. This serves more as a template for further work, particularly where this kind of logic can be moved into React, so it can handle when commands are executed, and handle the responses as well.

This PR is also pulling in commits from 'main' as a rebase. Syncs things up with changes there.

Closing this, as it's been superseded by the new monaco react component that we're putting together. That will be doing the same thing, but much easier to integrate with React directly.


fix write wildcard files with Chinese name with wrong coding to wc.txt

before

after

Thanks! I'll fix it for embeddings too.


Implement UI for BankID Signing

Is your feature request related to a problem? Please describe.
BankID supports Sign in addition to Login. At the moment we do have support in the API wrapper, but no UI support. By providing UI support users could sign things more easy.
What area is it related to
BankID
Describe the solution you'd like
As signing is not as standarized as login, I'm not sure. Let's use this issue to discuss possible implementations.

Consider implementing rpref when launching the app, see:


Add usage instructions in README

The README file would benefit from having some usage instructions, perhaps with a few examples.

Yep sure you've both been assigned


Allow union type instantiation to be faster by specifying a discriminator property

Gadget side, we instantiate a lot of unions that have many elements. Both MQT (or MST) have to take an incoming snapshot and figure out which element of the union is the right one to instantiate and return for the union. Both of them have a pretty naive algorithm for doing this: take each element and check the snapshot against it, returning the first union element which does. This means a LOT of type.is checks, where each type in the union is compared against the snapshot. These type.is checks basically do a full instantiation under the hood -- there's no fancy fast path for .is for a lot of types, there's just running the runtime code that would boot an instance, and seeing if it fails.
This works in the general case but has gotten really slow in Gadget, specifically for the FieldConfig enum. It has a lot of elements, and each element's type is complicated-ish such that it takes a little bit of time to check with .is.
Our snapshots for this type have a really easy to get at "type": "StringConfig" property on them though that allows us to discriminate between the union elements super easily. We added this a long time ago for typescript discriminated unions at type type, but, I think we can use this at runtime too for a much faster path for instantiation. MST already has support for a custom union type "dispatcher", that returns the right type to use for instantiation given a snapshot. This PR adds support for that, and then adds a macro of sorts on top that does type dispatching using a discriminating property. We expect all the types in the union to have a value for this property we can inspect at the time the union is defined, and then we build a map from the value of the discriminator to the type. When a snapshot comes in, we look up the value of the snapshot's discriminator property within the map.
For the schema generation benchmark in Gadget on main:
{
  sampleCount: 500,
  failedCount: 0,
  histogram: Histogram {
    min: 66,
    max: 318,
    mean: 92.966,
    exceeds: 0,
    stddev: 43.543551118391804,
    count: 500,
    percentiles: SafeMap(11) [Map] {
      0 => 66,
      50 => 80,
      75 => 88,
      87.5 => 105,
      93.75 => 208,
      96.875 => 245,
      98.4375 => 263,
      99.21875 => 275,
      99.609375 => 317,
      99.8046875 => 318,
      100 => 318
    }
  }
}

For the schema generation benchmark with this prereleased branch:
{
  sampleCount: 500,
  failedCount: 0,
  histogram: Histogram {
    min: 38,
    max: 266,
    mean: 50.092,
    exceeds: 0,
    stddev: 23.49552161583139,
    count: 500,
    percentiles: SafeMap(11) [Map] {
      0 => 38,
      50 => 46,
      75 => 51,
      87.5 => 55,
      93.75 => 60,
      96.875 => 71,
      98.4375 => 133,
      99.21875 => 254,
      99.609375 => 260,
      99.8046875 => 266,
      100 => 266
    }
  }
}

Almost a 50% improvement! Woop woop!

👍 LGTM!


Traits removed from struct with optional trait

Running rustfmt 0.2.15-nightly on rust itself causes an error on src/libcore/marker.rs:
Diff in /home/fred/rust/src/libcore/marker.rs at line 548:
 /// [drop check]: ../../nomicon/dropck.html⏎
 #[lang = "phantom_data"]⏎
 #[stable(feature = "rust1", since = "1.0.0")]⏎
-pub struct PhantomData<T:?Sized>;⏎
+pub struct PhantomData;⏎
 ⏎
 impls! { PhantomData }⏎
 ⏎

Subsequently, other files in libcore attempting fail to compile when using PhantomData.

Interestingly enough, rustfmt seems to handle other occurences of <T:?Sized> just fine. There is such an example in rust's src/test/compile-fail/object-lifetime-default-mybox.rs.

This seems to happen on declarations but not on definitions
Test file:
struct MyBox<T:?Sized>;

struct MyBox<T:?Sized> {
    r: Box<T>
}

rustfmt would apply the following diff:
-struct MyBox<T:?Sized>;⏎
+struct MyBox;⏎
 ⏎
-struct MyBox<T:?Sized> {⏎
-    r: Box<T>⏎
+struct MyBox<T: ?Sized> {⏎
+    r: Box<T>,⏎
 }⏎


Add text-embedding-ada-002 model

This is OpenAI's currently recommended embedding model.
Fixes #1645

cc @kanodiaayush


Fix sample app: nested paths during decoding, supporting optional values

Fixes #27
To be honest, I don't quite understand what's going on to make this happen, and what the implications are.
I'm fiddling around with tests to reproduce the problem and catch it there, too.
In the meantime, pointers and feedback would be welcome :)

Thanks for catching and fixing this!
One of the PRs that got merged since yesterday must've broken the demo app. And I suspect is my PR here https://github.com/icanzilb/MarkCodable/pull/22 but it's strange that none of the tests broke.
Give me a moment to double-check which code path that the previous PR removed was handling this use case just to make sure we're fixing this for good.

@icanzilb I just tested it out. It seems CodingPath is empty for price.price. We removed Collection type checks & nested containers with this 1845f68ba48606ab6b719a6cec7869772f31dc68
I could be wrong.

Feel free to merge if this works for you 👍

@icanzilb PTAL

@icanzilb Yeah I just noticed via caveman debugging that none of the others were ever called. I do wonder what the default protocol implementations do -- they don't use the generic encoder/decoder, that's for sure 🤔
I believe the next best thing is to duplicate the single optional string test case for all primitive values, and group that in a separate test case file for overview. Or maybe generate the code via Sourcery, if that's you thing :) But to be 100% certain what happens when, we need to cover more permutations, which is quite annoying.
I envy Apple and the fact that they don't test :-----)

@DivineDominion that's not entirely true, there's plenty of tests and I do intend to "snatch" them https://github.com/MarkCodable/MarkCodable/issues/20


Investigate benefits of a transactional producer

The producer currently is configured as an idempotent producer that only produces to a single topic, so transactions aren't super useful.
One particular use they would have though is if exposing a synchronous API where we wouldn't have to keep track of single #send results, since either all sent records succeed or all fail. It would simplify the exporter code, at the expense of sometimes blocking.

One very clear advantage, which I don't know how it didn't occur to me before, is that during cluster failover if two exporters are trying to export (which may happen due to slow asynchronous transitions), having transactions would help limit the number of duplicate records sent as the newer producer would fence out the other. One downside is in the case there's a bug with the transition logic, the whole system is a little more error prone to producer-fenced-in errors.
Doing it with transactions would probably also greatly simplify the code at the cost of a slightly slower transmission rate. Maybe I can find a way to support both strategies for a single version so it can be A/B tested? Not sure it's worth the extra complexity however...

I have branch with the transaction API working - I like it, it's a lot simpler and more robust in my opinion. However it requires users to configure their Kafka brokers to allow transactions with less than 3 nodes. I'm not too happy about enforcing some broker configurations on users, to be honest, though I imagine most people running Kafka in production are running it with at least 3 nodes for durability.


BrowserAnimationsModule is included, but not found

Ionic version:  (check one with "x")
[ ] 1.x
[ ] 2.x
[x ] 3.x
I'm submitting a ...  (check one with "x")
[x ] bug report
[ ] feature request
[ ] support request => Please do not submit support requests here, use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/
Current behavior:
Runtime Error
Uncaught (in promise): Error: Found the synthetic property @btnState. Please include either "BrowserAnimationsModule" or "NoopAnimationsModule" in your application. Error: Found the synthetic property @btnState. Please include either "BrowserAnimationsModule" or "NoopAnimationsModule" in your application.

I have installed and imported the BrowserAnimationsModule:
import {BrowserModule} from '@angular/platform-browser';
import {ErrorHandler, NgModule} from '@angular/core';
import {IonicApp, IonicErrorHandler, IonicModule} from 'ionic-angular';
import {SplashScreen} from '@ionic-native/splash-screen';
import {StatusBar} from '@ionic-native/status-bar';
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
...

@NgModule({
  declarations: [
    MyApp,
    HomePage
  ],
  imports: [
    BrowserAnimationsModule,

package.json:
"@angular/animations": "^4.0.2",

my view:
<div class="wizard-footer">
    <!--ERROR NEXT LINE:-->
    <ion-fab [@btnState] *ngIf="!isOnFirstStep()" left bottom>
      <button ion-fab (click)="back()">
        <ion-icon name="arrow-round-back"></ion-icon>
      </button>
    </ion-fab>
  </div>

Ionic info: (run ionic info from a terminal/cmd prompt and paste output below):
Your system information:
Cordova CLI: 6.5.0
Ionic Framework Version: 3.1.0
Ionic CLI Version: 2.2.3
Ionic App Lib Version: 2.2.1
Ionic App Scripts Version: 1.3.5
ios-deploy version: 1.9.1
ios-sim version: 5.0.13
OS: macOS Sierra
Node Version: v7.7.3
Xcode version: Xcode 8.3.2 Build version 8E2002

You have to import the following:
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
...
imports: [
    BrowserAnimationsModule,
    ...
  ]

Hello! Thanks for opening an issue with us! As this seems like more of a support question I will urge that you ask this question on our forum or on our slack channel. Thanks for using Ionic!


Handle typo in access.bootstrap.json

[x] All tests passed. If this feature is not already covered by the tests, I added new tests.
[x] All static analysis checks passed.
[x] This pull request is on the dev branch.
[x] I used gofmt for formatting the code before submitting the pull request.

Looks good!
What do you think about moving access.boostrap.json -> access.bootsrap.json, to add access.boostrap.json directly to the archive? This way we will reduce redundant I/Os and a redundant check that access.bootstrap.json is exists.

I considered doing it, but this scenario is very rare and the check if the file exists is pretty cheap in terms of performance.
On the other hand, your suggestion requires adding a check inside the loop, making it less readable and less understandable.


need APIs for ranged random number generation

Right now we just have sys_rand32_get() which returns a value between 0 and UINT_MAX.
Using a modulus operator (sys_rand32_get() % N) may not be the best practice to get a number in the range of 0...N:
https://stackoverflow.com/questions/2509679/how-to-generate-a-random-number-from-within-a-range/6852396#6852396
Implement an API in the random subsystem that does this right. Check the kernel codebase for example of the modulus pattern and replace with calls to this API.

Fixed by #32667


Color control for Abode RGB lights

Description:
This update enables color control for RGB lights connected to Abode with Abodepy 0.14.0. This update is required to be updated with Abodepy 0.14.0 (#17366).
Checklist:

[x] The code change is tested and works locally.
[ ] Local tests pass with tox. Your PR cannot be merged unless tests pass

If the code communicates with devices, web services, or third-party tools:

[x] New dependencies have been added to the REQUIREMENTS variable (example).
[x] New dependencies are only imported inside functions that use them (example).
[x] New or updated dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.
[ ] New files were added to .coveragerc.

Great, thanks for the heads-up.


add drag and drop to attributes to change order

Worked when I tested it.
I did

select a service
add a new attribute
re-order the attributes
create a service request
attribute questions are asked in the correct order

Thanks for double checking and thoroughly testing :+1:


[windows-2022] Add Windows SDK 10.0.26100

Description
Add latest Windows SDK 10.26100.0 to Windows-2022 image
Related issue:
#10012
Check list

[x] Related issue / work item is attached
[ ] Tests are written (if applicable)
[ ] Documentation is updated (if applicable)
[ ] Changes are tested and related VM images are successfully generated

Is this PR rejected or What?


Image conversion from 24bppBGR to 32bppRGBA does not work properly

WIC does not properly swap color channels and RGBA values are actually BGRA and colors are wrong.

In pull request: #96

This is now resolved and merged. It turned out to be a format issue: a RGBA pixel buffer was interpreted as RGB which caused stride errors.


Docker

Problem description

Problem location

I saw a problem on the following URL:

I couldn't find the information I wanted. I expected to find it near the following URL:

Other:

Project version(s) affected

Suggestions for a fix

I suspect this was opened accidentally; closing


Documentation on how to use the client

Is your feature request related to a problem? Please describe.
I generated a client and create a client object. How to use the api methods/modules
Describe the solution you'd like
A small example

Hello! Generated README.md from this template should contain a small example. If it is not what you looking for, could you describe what part of usage you like to be more detailed?

A example how to post data would be fine too.

What @mtovt said would be my response too, since we haven't heard back from OP, I'll close this. If there's anything that can be done to improve clarity though, let us know!


Identifiers validation failed for dataset Base de datos de la familia Cactaceae de la Península de Baja California, México

Identifier validation failed for the dataset Base de datos de la familia Cactaceae de la Península de Baja California, México:

Crawler attempt: 323
Publishing organization: Comisión nacional para el conocimiento y uso de la biodiversidad
Publishing country: MEXICO
Installation: IPTCONABIO
Number of occurrences indexed for this dataset at the time of the issue: 2012
Cause: GBIF ID problems exceed 50% threshold: 100% duplicates; 1992 total records; 1992 absent records
Pipelines execution steps: http://api.gbif.org/v1/pipelines/history/execution/3740260/step

New IDs sample:

Old IDs sample:

fedf24ac48d4592ae521fb5a1aac94b5
0b122f46eaffd462ffc1c4bb375a8c62
2a74f04f1e4e513f118fa0cbde50e492
41f7a8fb1dfd254551912596ba47ce15
61cd9d70393d9523172eda76d2f26572
6542bb089764d13977c687431cc0eefa
73fc0e9929759ada90bf0b0bffadbb13
75fee8e2326e21fc1213b1fe49bb187f
88c123457274cf362a0f87296db973d7
89c20b682eab63b8a1244cccb1385cad

Publisher email
Hello,
I am contacting you from the GBIF Secretariat about a dataset published by the Base de datos de la familia Cactaceae de la Península de Baja California, México : https://doi.org/10.15468/s7tng4.
We noticed that the occurrenceIDs were changed. We have temporarily paused the ingestions of this dataset.
As you might already know, when an occurrence record has a new occurrenceID for a given dataset, our system considers it to be a new occurrence.
This means that it will be given a new gbifid and a new occurrence URL (like this one: https://www.gbif.org/occurrence/1252968762) and the old gbifid and URL will be deprecated.
In this case, this means that the occurrence URLs would be deprecated when ingesting the newest versions of these datasets.
We would like to check with you if those changes were intentional. Do you know if this is the case?
Please let us know, thanks! We are happy to resume the dataset ingestion.
Note that some users rely on those occurrence URLs and gbifids (like https://bionomia.net for example). In an attempt to improve
the stability of the occurrence URLs and gbifids, we have implemented a warning system to detect these type of changes in datasets (see this news item).
If the data publisher can provide us with a list of old and new occurrenceIDs per record, we can avoid the identifier and URL changes. Could that be an option?
Please let us know if you have any question. Thanks!
All the best,

You can skip/fix identifier validation using the registry UI.

Identifier validation still  failing for the dataset Base de datos de la familia Cactaceae de la Península de Baja California, México:

Crawler attempt: 326
Publishing organization: Comisión nacional para el conocimiento y uso de la biodiversidad
Publishing country: MEXICO
Installation: IPTCONABIO
Number of occurrences indexed for this dataset at the time of the issue: 2012
Cause: GBIF ID problems exceed 50% threshold: 100% duplicates; 1992 total records; 1992 absent records
Pipelines execution steps: http://api.gbif.org/v1/pipelines/history/execution/3741765/step

New IDs sample:

Old IDs sample:

fedf24ac48d4592ae521fb5a1aac94b5
0b122f46eaffd462ffc1c4bb375a8c62
2a74f04f1e4e513f118fa0cbde50e492
41f7a8fb1dfd254551912596ba47ce15
61cd9d70393d9523172eda76d2f26572
6542bb089764d13977c687431cc0eefa
73fc0e9929759ada90bf0b0bffadbb13
75fee8e2326e21fc1213b1fe49bb187f
88c123457274cf362a0f87296db973d7
89c20b682eab63b8a1244cccb1385cad

Publisher email
Hello,
I am contacting you from the GBIF Secretariat about a dataset published by the Base de datos de la familia Cactaceae de la Península de Baja California, México : https://doi.org/10.15468/s7tng4.
We noticed that the occurrenceIDs were changed. We have temporarily paused the ingestions of this dataset.
As you might already know, when an occurrence record has a new occurrenceID for a given dataset, our system considers it to be a new occurrence.
This means that it will be given a new gbifid and a new occurrence URL (like this one: https://www.gbif.org/occurrence/1252968762) and the old gbifid and URL will be deprecated.
In this case, this means that the occurrence URLs would be deprecated when ingesting the newest versions of these datasets.
We would like to check with you if those changes were intentional. Do you know if this is the case?
Please let us know, thanks! We are happy to resume the dataset ingestion.
Note that some users rely on those occurrence URLs and gbifids (like https://bionomia.net for example). In an attempt to improve
the stability of the occurrence URLs and gbifids, we have implemented a warning system to detect these type of changes in datasets (see this news item).
If the data publisher can provide us with a list of old and new occurrenceIDs per record, we can avoid the identifier and URL changes. Could that be an option?
Please let us know if you have any question. Thanks!
All the best,

You can skip/fix identifier validation using the registry UI.


npm install failed with rimraf messages

Command
other
Is this a regression?

      C:\Users\alanp\AppData\Local\npm-cache\_logs\2023-05-02T01_07_45_852Z-debug-0.log

npm ERR!      C:\Users\alanp\AppData\Local\npm-cache\_logs\2023-05-02T01_07_37_955Z-debug-0.log

### Your Environment

```text
Windows 11 22h2 x64
node.js 18.16.0 and 20.0.0   both same error

Anything else relevant?
No response

Also getting the same issue.
Locally:

Windows 11 (Node 16)

Azure DevOps:

Ubuntu
Windows

Have tried installing earlier versions of the @angular/cli package (v15) with no success, until I tried v14 (Maybe a workaround for some, however not good that v14 targeting v15).

Same issue:
Arch Linux (Node 18.6.0 through NVM). Could not update without getting a weird "npm: command not found" error halfway through "npm update -g" being ran, and then tried to just delete node environment and reinstall. Now I get the same error as the original poster.

Not exactly the same error message but a bit coincidental I ran into this a few hours ago also and it's stopping my CI run.
npm WARN deprecated<EMAIL_ADDRESS>This functionality has been moved to @npmcli/fs
npm ERR! code 2
npm ERR! git dep preparation failed
npm ERR! command /opt/hostedtoolcache/node/16.20.0/x64/bin/node /opt/hostedtoolcache/node/16.20.0/x64/lib/node_modules/npm/bin/npm-cli.js install --force --cache=/home/runner/.npm --prefer-offline=false --prefer-online=false --offline=false --no-progress --no-save --no-audit --include=dev --include=peer --include=optional --no-package-lock-only --no-dry-run
npm ERR! npm WARN using --force Recommended protections disabled.
npm ERR! npm ERR! code 2
npm ERR! npm ERR! path /home/runner/.npm/_cacache/tmp/git-cloneFGUdnT
npm ERR! npm ERR! command failed
npm ERR! npm ERR! command sh -c -- npm run compile
npm ERR! npm ERR! ><EMAIL_ADDRESS>compile
npm ERR! npm ERR! > tsc
npm ERR! npm ERR!
npm ERR! npm ERR! error TS50[83](https://github.com/redacted/redacted/actions/runs/123456/jobs/123456#step:8:85): Cannot read file '/home/runner/.npm/_cacache/tmp/git-cloneFGUdnT/node_modules/gts/tsconfig-google.json'.
Error: npm ERR! npm ERR! lib/index.ts(214,54): error TS2550: Property 'trimEnd' does not exist on type 'string'. Do you need to change your target library? Try changing the 'lib' compiler option to 'es2019' or later.
Error: npm ERR! npm ERR! lib/index.ts(233,19): error TS2550: Property 'trimEnd' does not exist on type 'string'. Do you need to change your target library? Try changing the 'lib' compiler option to 'es2019' or later.
Error: npm ERR! npm ERR! lib/index.ts(233,88): error TS2550: Property 'trimStart' does not exist on type 'string'. Do you need to change your target library? Try changing the 'lib' compiler option to 'es2019' or later.
[...]

I was able to reproduce the same error as @kerryj89  when I had manually installed typescript and rimraf globally.
npm i -g<EMAIL_ADDRESS>npm i -g typescript

After removing these packages manually, I was back to the same error as the original poster.
npm uninstall -g rimraf
npm uninstall -g typescript

Actually, the project I am looking at with this issue doesn't use Angular like I thought (got mixed up) - I landed here after searching Google since it's a fresh issue for many of us. When I did yarn why @npmcli/move-file it mentioned gulp-iconfont#gulp-ttf2woff2#ttf2woff2#node-gyp#make-fetch-happen#cacache and it seems [cacache](https://www.npmjs.com/package/cacache) lib was updated 8 hours ago... maybe a coincidence?  Anyhow, sorry that my findings aren't directly related to Angular as I once thought but maybe we can find some common root.

It's now working locally and in my pipelines for me.

I'm able to install locally too. Will assume my pipelines are working and advise if not.

This seems like a problem with your node/npm and not with Angular CLI.
Please have a look at the fixing npm permissions page, common errors page, npm issue tracker, or open a new issue in that issue tracker if the problem you are experiencing isn't known.


Unable to upload logs

What Happened
I am unable to see any logging activity in the logging monitor from my android sdk/app. I get no error messages regarding Credentials, Configuration or Logger.Builder; and if I run Datadog.isInitialized() that comes back as true.
I get only one line of error in logcat:
E/Datadog: Batch c0f52efc-60a1-417b-a463-9e7c3b4f8151 [374 bytes] (LogsOkHttpUploaderV2) failed because of a processing error or invalid data; the batch was dropped.

Steps to reproduce the issue:
I am using the following information
Configuration.Builder(
    logsEnabled = true,
    tracesEnabled = false, // same result when true
    crashReportsEnabled = false, // same result when true
    rumEnabled = false
).build()

Credentials(
    clientToken = DATADOG_CLIENT_TOKEN, // ("pub3a86....") token, not app_id
    envName =  "dev"
    variant = BuildConfig.FLAVOR
    rumApplicationId = null,
    serviceName = null
)

Datadog.initialize(
    context = applicationContext,
    credentials = credentials,
    configuration = configuration,
    trackingConsent = TrackingConsent.GRANTED
)

Logger.Builder()
    .setNetworkInfoEnabled(true)
    .setLogcatLogsEnabled(true)
    .setDatadogLogsEnabled(true)
    .build()

We do not have a RUM application, and no interest in having one at this point in time.
What I'm then trying to do is simply logger.i("some_unique_string")
After a while after sending the log I get the error message that the batch data is broken.
Expected
A simple log showing up in the logging monitor ≈ sdk working...
Additional context

Android OS version: Android 11
Device Model: Xperia 1 ii
Datadog SDK version: com.datadoghq:dd-sdk-android:1.11.1
Versions of any other relevant dependencies (OkHttp, …): OkHttp{
4.9.2 according to OkHttp.VERSION. Probably through Coil { 1.4.0 }
}
Proguard configuration: No proguard files setup yet
Gradle Plugins: { 'com.android.library', 'kotlin-android', 'kotlin-kapt' }

Hi @nik-caspeco, when looking at your Datadog account, which website are you using? We have several different sites (for example we have data centers in the US and in Europe), and depending on which one you use, you need to setup the SDK accordingly.
E.g.: if you use the EU1 site https://app.datadoghq.eu, then your configuration should look like this:
val configuration = Configuration.Builder(
        logsEnabled = true,
        tracesEnabled = false, // same result when true
        crashReportsEnabled = false, // same result when true
        rumEnabled = false
    )
    .useSite(DatadogSite.EU1)
    .build()

We are using the EU site, great! ^^
I couldn't see anything like this in any of the tutorials / getting started- that would be great.
One piece of feedback I think would be that the logcat output from datadog could also be increased: The only errors I got was if I said I wanted RUM and did't provide an ID for that, and that's when I had it set to verbose.
Thank you!

This issue is the only resource about (LogsOkHttpUploaderV2) failed because of a processing error or invalid data; the batch was dropped. on internet so I will share my experience that I got this error when I used incorrect client token.
It would be great if error message was more specific.


WARNING:sensor object went out of scope but the sensor is still alive in the simulation:Actor 42311(sensor.camera.rgb)

When I execute the environment, it appears:
WARNING:sensor object went out of scope but the sensor is still alive in the simulation:Actor 42311(sensor.camera.rgb)
How to solve this situation?

Hello,
You can just ignore this warning, it does not influence anything yet.

您好，
您可以忽略此警告，它不会影响任何内容。

When I was running on the designated route, I was unable to generate vehicles, and I was stuck in the loop all the time.
Is there any way to solve it?

Have you changed any part of the code? And are you running the test.py when you get stuck, or are you running something else?

您是否更改了代码的任何部分？当您卡住时是在运行test.py还是在运行其他内容？

I  ran the program that I originally downloaded from github and I still can't execute it.

That's weird, I can always run it successfully. Although it might retry to spawn the ego vehicle for several times if its current position is occupied by other vehicles, there is a maximum spawn time and will only last for seconds, which is very rare. At the very most of time, it will be spawned successfully immediately. Maybe it's because of the slow computation time of your computer platform? Then that will look like stuck for a long time if it keeps trying spawn the vehicle for several times.

Hello，I got the same problem.It does influence something.It seems that stimulator can't destroy some actors,which makes the actor_id list grow every episode.Every time it is added with 104 id(100wehicle+ego_vehicle+three sensors apparently) .when it grows to 70000 my  program will be shut down.
looking forward for your help sincerely.

Hello，I got the same problem.It does influence something.It seems that stimulator can't destroy some actors,which makes the actor_id list grow every episode.Every time it is added with 104 id(100wehicle+ego_vehicle+three sensors apparently) .when it grows to 70000 my program will be shut down. looking forward for your help sincerely.

hello,  I got the same problem. How did you solve it?

Hello，I got the same problem.It does influence something.It seems that stimulator can't destroy some actors,which makes the actor_id list grow every episode.Every time it is added with 104 id(100wehicle+ego_vehicle+three sensors apparently) .when it grows to 70000 my program will be shut down. looking forward for your help sincerely.

hello, I got the same problem. How did you solve it?

hello, I meet the same problem. Have you solved it?

I've solved this problem by calling sensor.stop() before entering _clear_all_actors function.
To elaborate, this is the original code:
https://github.com/cjy1992/gym-carla/blob/c01ae77d2729c618504595474b744a1641ec471f/gym_carla/envs/carla_env.py#L150-L157
Change it as below:
def reset(self):
   # Clear sensor objects
   if self.collision_sensor is not None and self.collision_sensor.is_listening:
      self.collision_sensor.stop()
      self.lidar_sensor.stop()
      self.camera_sensor.stop()

   self.collision_sensor = None
   self.lidar_sensor = None
   self.camera_sensor = None

   # Delete sensors, vehicles and walkers
   self._clear_all_actors(['sensor.other.collision', 'sensor.lidar.ray_cast', 'sensor.camera.rgb', 'vehicle.*', 'controller.ai.walker', 'walker.*'])

However, you also have to modify the __init__ function, otherwise accessing self.collision_sensor on the first call of env.reset() will be illegal:
def __init__(self, params):
   # add following lines
   self.collision_sensor = None
   self.lidar_sensor = None
   self.camera_sensor = None

  # keep the rest...

I've solved this problem by calling sensor.stop() before entering _clear_all_actors function.
To elaborate, this is the original code:
https://github.com/cjy1992/gym-carla/blob/c01ae77d2729c618504595474b744a1641ec471f/gym_carla/envs/carla_env.py#L150-L157
Change it as below:
def reset(self):
   # Clear sensor objects
   if self.collision_sensor is not None and self.collision_sensor.is_listening:
      self.collision_sensor.stop()
      self.lidar_sensor.stop()
      self.camera_sensor.stop()

   self.collision_sensor = None
   self.lidar_sensor = None
   self.camera_sensor = None

   # Delete sensors, vehicles and walkers
   self._clear_all_actors(['sensor.other.collision', 'sensor.lidar.ray_cast', 'sensor.camera.rgb', 'vehicle.*', 'controller.ai.walker', 'walker.*'])

However, you also have to modify the __init__ function, otherwise accessing self.collision_sensor on the first call of env.reset() will be illegal:
def __init__(self, params):
   # add following lines
   self.collision_sensor = None
   self.lidar_sensor = None
   self.camera_sensor = None

   # keep the rest...

Thank you for your helpful tips. I got a follow-up question here:  It indeed helps to reduce the actor numbers at the client end by making the sensors stop, which eliminates the warnings. However, I found that these sensors are still alive at the serve end. This may cause problems if we ran multiple training episodes. The training process may get stuck. Have you met such issues?


KAFKA-5756: Wait for concurrent offset flush to complete before starting next flush

Both the SourceTaskOffsetCommitter and WorkerSourceTask trigger offset commits. Currently, when both threads attempt to start concurrent flushes, the second to call beginFlush receives an exception. The SourceTaskOffsetCommitter swallows this exception, while the WorkerSourceTask propagates the exception, preventing the final offset from completing cleanly and dropping final offsets.
This change allows the second caller of waitForBeginFlush to wait for the first flush operation to complete, avoiding exceptions if offset flushes are prompt.
Signed-off-by: Greg Harris<EMAIL_ADDRESS>Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

I verified that this fix corrects the flakey failures I was seeing in ConnectDistributedTest.test_bounce by manually running the tests with a flush interval of 1ms.

Thanks @gharris1727 for the PR! The changes look good to me. Since it's an old and tricky issue, I'd like @C0urante to also take a look, if possible, before merging.

Test failures are unrelated; merging.


Please add a license to the project

It is needed to receive the Utopian open source reward.

Thanks a license file has been added.


Map is draggable from the HTML elements below the map canvas

I'm submitting a ...  (check one with "x")

[ ] question
[x] any problem or bug report

OS:  (check one with "x")

[x] Android 6.0, 7.0
[x] iOS 10.x, 11.x 12.x
[ ] Browser

cordova information:  (run $> cordova plugin list)
cordova-plugin-googlemaps   	npm	2.5.3 	android,ios,
cordova-plugin-statusbar   	npm	2.4.3	 	android,ios,
cordova-plugin-whitelist   	npm	1.3.4	 	android,ios,

Platform
Phonegap Build 8.1.1
Plugin Version
2.5.3 (the last version that will build on PGB)
Current behavior:
When it the plugin works correctly:
Page is loaded, becomes static, press a button to draw the map and the map gets drawn and all touch events are handled as expected.
When the bug rears its nasty head:
Load the page, trigger some code (ajax works) that will retrieve some information, populate some fields above the map, draw the map using coordinates from the ajax call. Once the page is fully drawn and depending on the device and/or os version you can sometimes move the map from the map div but you can always move the map by moving your finger on the elements below the map_canvas div.
Expected behavior:
Moving your finger on the mobile device outside of the map_canvas should NOT move the map!
Screen capture or video record:
YouTube Video
Related code, data or error log (please format your code or data):
https://github.com/ppetree/plugin-googlemaps-bug

Since I don't support old versions, please use v2.6.2 at least.

So you're no longer supporting Phonegap Build?  v2.6.x will not build on PGB as you started requiring cli 9.0 and PGB is topped out at 8.1.1.

This issue exists on 2.6.x as well.  The problem is when the page is scrolled, you're not adjusting your touch event handlers to the new screen coordinates of the map_canvas. smh


⚠ GitHub has degraded performance

In 02a9cf0, GitHub (https://www.githubstatus.com/api/v2/status.json) experienced degraded performance:

HTTP code: 200
Response time: 131 ms

Resolved: GitHub performance has improved in 350a2a3 after 56 minutes.


Clarify tutorial

What is it?

[ ] Feature / enhancement
[ ] Bug
[x] Docs / tests

Thanks for the PR!


[CARBONDATA-1328] Unsafe Code cleanup[Removed Storage Memory Manager]

Deprecated old property: sort.inmemory.size.inmb, enable.offheap.sort
Added new property: carbon.sort.storage.inmemory.size.inmb, carbon.unsafe.working.memory.in.mb, enable.offheap
Removed copying of block from working memory to sort storage memory
Now all the unsafe flow must use CarbonUnsfeMemoryManager for allocating/ removing unsafe memory
If user has configured old property then internally it will be converted to new property
for ex: If user has configured sort.inmemory.size.inmb then 20% memory will be used as working memory and rest for storage memory

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/3276/

Build Failed with Spark 1.6, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/681/

Build Failed with Spark 1.6, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/682/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/3277/

Build Failed with Spark 1.6, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/683/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/3278/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/3279/

Build Failed with Spark 1.6, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/684/

Build Success with Spark 1.6, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/685/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/3280/

SDV Build Failed with Spark 2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/35/

SDV Build Failed with Spark 2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/251/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/32/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/1211/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/580/


Type map

Get constant-time type information, including encoded size.
This provides a small speedup in lots of places, and also reduces complexity and code size.
TODO: squash, etc. JSON translation will get a bit faster.

Another easter egg: (*Reader).ReadMapKeyPtr() means that DecodeMsg methods no longer have to allocate at all. Bench time for those methods improves 10-50%.


[Improvement]:[UX] Actual error message from gmail api is not returned

Connector Name
module/gmail (Gmail)
Suggested improvement
When I was trying out the connector i didn't have gmail enabled.
When the email send function fails, the error message returned by gmail api is not visible in the ballerina error thrown. Better error message would help to debug the issues.
Code Sample -
    string htmlBody = "<h1> Email Test HTML Body </h1> <br/>";
    gmail:MessageRequest messageRequest = {
        recipient<EMAIL_ADDRESS>// Recipient's email address
        sender<EMAIL_ADDRESS>// Sender's email address
        // cc: os:getEnv("CC"), // Email address to carbon copy,
        subject: "HTML-Email-Subject",
        //---Set HTML Body---
        messageBody: htmlBody,
        contentType: gmail:TEXT_HTML
    };

    gmail:Message|error sendMessageResponse = gmailClient->sendMessage(messageRequest);

    if (sendMessageResponse is gmail:Message) {
        // If successful, print the message ID and thread ID.
        log:printInfo("Sent Message ID: " + sendMessageResponse.id);
        log:printInfo("Sent Thread ID: " + sendMessageResponse.threadId);
    } else {
        // If unsuccessful, print the error returned.
        log:printInfo(sendMessageResponse.message());
        log:printError("Error: ", 'error = sendMessageResponse);
    }

Output -
time = 2022-02-14T20:07:17.491+05:30 level = INFO module = anjana/email message = "Send a HTML message"
time = 2022-02-14T20:07:18.551+05:30 level = INFO module = anjana/email message = "(ballerinax/googleapis.gmail)GmailError"
time = 2022-02-14T20:07:18.571+05:30 level = ERROR module = anjana/email message = "Error: " error = "(ballerinax/googleapis.gmail)GmailError"
time = 2022-02-14T20:07:18.611+05:30 level = INFO module = anjana/email message = "End!"
Related issues
I am trying to do [...] but [...]

@kasthuriraajan are you looking into this issue?

@abeykoon yes. I am currently working on this.