PublicClientApplication auth fails when username contains hash symbol (#)

Summary
I'm doing password authentication using the PublicClientApplication. I am finding that, if the UPN includes a hash symbol, authentication fails.
Here is a example of pseudo code showing the issue:
  String username =<EMAIL_ADDRESS>  UserNamePasswordParameters parameters =
	UserNamePasswordParameters
      .builder(SCOPE, username, password)
	  .build();
  PublicClientApplication pca =
	PublicClientApplication.builder(clientId)
      .authority(AUTHORITY_URL)
      .build();
  pca.acquireToken(parameters);

Here is the resulting stack trace:
java.lang.IllegalArgumentException: argument "content" is null
   at com.fasterxml.jackson.databind.ObjectMapper._assertNotNull(ObjectMapper.java:4737)
   at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3435)
   at com.microsoft.aad.msal4j.JsonHelper.convertJsonToObject(JsonHelper.java:30)
   at com.microsoft.aad.msal4j.UserDiscoveryRequest.execute(UserDiscoveryRequest.java:32)
   at com.microsoft.aad.msal4j.AcquireTokenByAuthorizationGrantSupplier.processPasswordGrant(AcquireTokenByAuthorizationGrantSupplier.java:91)
   at com.microsoft.aad.msal4j.AcquireTokenByAuthorizationGrantSupplier.execute(AcquireTokenByAuthorizationGrantSupplier.java:43)
   at com.microsoft.aad.msal4j.AuthenticationResultSupplier.get(AuthenticationResultSupplier.java:59)
   at com.microsoft.aad.msal4j.AuthenticationResultSupplier.get(AuthenticationResultSupplier.java:17)
   at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run$$$capture(CompletableFuture.java:1764)
   at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java)
   at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1756)
   at java.base/java.util.concurrent.ForkJoinTask.doExec$$$capture(ForkJoinTask.java:290)
   at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java)
   at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1016)
   at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1665)
   at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1598)
   at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)

Interpretation
It looks like the UserDiscoveryRequest.execute() gets a response with a 400 statusCode and a null body. The null body then blows up in the JsonHelper.convertJsonToObject().
Here is the code from UserDiscoveryRequest.execute():
  IHttpResponse response = HttpHelper.executeHttpRequest(httpRequest, requestContext, serviceBundle);

  return JsonHelper.convertJsonToObject(response.body(), UserDiscoveryResponse.class);

The URL used in UserDiscoveryRequest.execute() is: https://login.microsoftonline.com/common/userrealm/upn#with#hashes@example.onmicrosoft.com?api-version=1.0
I tried to URL encode the UPN but then the user could not be found in Azure AD.
Perhaps this is an issue with Azure AD. Still, maybe there is workaround with MSAL4J that I could use.
Or maybe the response status code could be checked before trying to parse the response. At least then the failure with the HTTP request could be reported.
Thanks for any help you can provide.

Hi @Tim-Ford-Imprivata I agree that there should be better error handling. I'll mark this issue as an enhancement and well make this change in one of the upcoming releases.
I also tried URL encoding the usernames but it doesn't seem to work. What does work is removing the hash symbol. For instance if I only have user<EMAIL_ADDRESS>in my tenant, and use<EMAIL_ADDRESS>in the user discovery request, I get a valid response (even though there is no user<EMAIL_ADDRESS>What is interesting is that I can register both<EMAIL_ADDRESS>and<EMAIL_ADDRESS>and I don't know which one https://login.microsoftonline.com/common/userrealm/testuser@sgonz.onmicrosoft.com?api-version=1.0 is referencing.
I have reached out the the team that owns this endpoint, and will update this thread once I hear back.

Opened up bug on service team. Link is only accessible by Microsoft employee, but putting here anyways for future reference.

Won't fix.


Ember Client : Retry when connection reset on JDK 17+

On JDK 17+, the exception has changed when a connection reset occured.
We have this stack trace :
java.io.IOException: Connection reset
at java.base/sun.nio.ch.UnixAsynchronousSocketChannelImpl.finishRead(Unknown Source)
at java.base/sun.nio.ch.UnixAsynchronousSocketChannelImpl.finish(Unknown Source)
at java.base/sun.nio.ch.UnixAsynchronousSocketChannelImpl.onEvent(Unknown Source)
at java.base/sun.nio.ch.EPollPort$EventHandlerTask.run(Unknown Source)
at java.base/sun.nio.ch.AsynchronousChannelGroupImpl$1.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
at delay @ fs2.io.net.SocketCompanionPlatform$AsyncSocket.readChunk$$anonfun$1(SocketPlatform.scala:120)
at async @ fs2.io.net.SocketCompanionPlatform$AsyncSocket.readChunk(SocketPlatform.scala:120)
at flatMap @ fs2.io.net.SocketCompanionPlatform$BufferedReads.read$$anonfun$1(SocketPlatform.scala:84)
at delay @ fs2.io.net.SocketCompanionPlatform$BufferedReads.withReadBuffer(SocketPlatform.scala:58)
at flatten$extension @ org.http4s.ember.server.internal.Shutdown$$anon$1.(Shutdown.scala:71)
at getAndSet @ org.typelevel.keypool.KeyPool$.destroy(KeyPool.scala:120)
at apply @ org.http4s.ember.server.EmberServerBuilder.build$$anonfun$2(EmberServerBuilder.scala:235)
This patch used in production enables us to avoid this kind of error.

I think it is linked to this commit on the JDK https://github.com/openjdk/jdk/commit/3a4d5db248d74020b7448b64c9f0fc072fc80470


DartDevTools memory view get very slow after some tracking

I am trying the DDT to debug the memory usage of a console application but the UI gets unusable after couple rounds of tracking.
To reproduce just create any console app that generates many objects, start it with --observe, open the DDT memory panel, access the allocation tab, click the tracking button.
Once it refreshes, click to order by bytes or count ordered by greatest.
Mark checked the most allocated object from the list.
Get back to the app and make it allocate some objects.
Get back to DDT and click tracking again.
In the panel below, click to list the object with most instances allocated.
Try to use the scrollbar. Try to click any instance to see the stack trace.
Get nuts.
Dart SDK version: 2.17.5 (stable) (Tue Jun 21 11:05:10 2022 +0200) on "macos_x64"

Please file this issue at https://github.com/flutter/devtools
(Can't transfer it because the repo is in a different Github org.)


Can't resolve merge conflict in vscode-insiders

Environment data

VS Code version: 1.78.0-insider (Universal)
Jupyter Extension version (available under the Extensions sidebar): v2023.4.1011172344
Python Extension version (available under the Extensions sidebar): v2023.7.11111009
OS (Windows | Mac | Linux distro) and version: Darwin x64 22.3.0
Python and/or Anaconda version: 3.10.9
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): venv
Jupyter server running: Local | Remote | N/A

Expected behaviour
open merge conflict editer, when click right-bottom green button
Actual behaviour
I can't open merge conflict editer
Steps to reproduce:
[NOTE: Self-contained, minimal reproducing code samples are extremely helpful and will expedite addressing your issue]

XXX

Logs

Output for Jupyter in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Jupyter)

XXX

I am also having issues with merge conflicts when it comes  notebooks. It just doesnt open at all. I get the when I try to use the merge editor
fatal: ambiguous argument 'MERGE_HEAD': unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this: 'git  [...] -- [...]'

I am getting the same issue. In the Window Output pane I am getting this:
[error] [Extension Host] FAILED to read HEAD, MERGE_HEAD commits
Which is getting triggered by these lines:
https://github.com/microsoft/vscode/blob/6c3e3dba23e8fadc360aed75ce363ba185c49794/extensions/git/src/commands.ts#L506-L542
In my specific case I am popping a stash and getting a merge conflict which AFAIK does not create a MERGE_HEAD ref so it cannot be found and as such the merge editor open command never gets called since it errors out before that. This may be an issue with VSCode rather than VSCode jupyter?
I had to revert to just resolving merge conflicts via the raw notebook (JSON) view.


Add optional comment to order during checkout

I want to merge this change because...
This adds the ability for a user to add an optional comment to the order during the checkout process.
Two areas probably require work before merging: is this the best point in the checkout process to capture the note, and would it be useful if the user could see their comment on the completed order summary?
Pull Request Checklist
(Please keep this section. It will make maintainer's life easier.)

[ ] Privileged views and APIs are guarded by proper permission checks.
[x] All visible strings are translated with proper context.
[ ] All data-formatting is locale-aware (dates, numbers, and so on).
[ ] Database queries are optimized and the number of queries is constant.
[x] The changes are tested.
[x] The code is documented (docstrings, project documentation).
[x] Python code quality checks pass: pycodestyle, pydocstyle, pylint.
[ ] JavaScript code quality checks pass: eslint.

Just realised that I had misunderstood the checkout flow slightly and that this patch doesn't work for carts which don't require shipping.


[bct] Fix method overload check

Fixes #37225

@msyyc thanks for reporting the issue. This PR has the fix, feel free to merge during your work day.

@msyyc thanks for reporting the issue. This PR has the fix, feel free to merge during your work day.

I test the branch locally and it works. Thanks for the quick response!

/check-enforcer override


Restructure the initServiceControllers to reduce complexity

Restructure the initServiceControllers to reduce complexity and improve the readability of the code.

/ok-to-test

@ping035627: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-v1alpha3.sh
fa1982560710551e35c6523c45f04697e78476a3
link
/test istio-pilot-e2e-v1alpha3

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

/retest

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

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-v1alpha3.sh
fa1982560710551e35c6523c45f04697e78476a3
link
/test istio-pilot-e2e-v1alpha3

prow/istio-unit-tests.sh
fa1982560710551e35c6523c45f04697e78476a3
link
/test istio-unit-tests

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

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

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-v1alpha3.sh
fa1982560710551e35c6523c45f04697e78476a3
link
/test istio-pilot-e2e-v1alpha3

prow/istio-unit-tests.sh
fa1982560710551e35c6523c45f04697e78476a3
link
/test istio-unit-tests

prow/istio-presubmit.sh
fa1982560710551e35c6523c45f04697e78476a3
link
/test istio-presubmit

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

@ping035627: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-v1alpha3.sh
2dd8a2f2d451477612a222c7528cf73ce0777f2a
link
/test istio-pilot-e2e-v1alpha3

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

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

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-v1alpha3.sh
2dd8a2f2d451477612a222c7528cf73ce0777f2a
link
/test istio-pilot-e2e-v1alpha3

prow/istio-pilot-e2e.sh
2dd8a2f2d451477612a222c7528cf73ce0777f2a
link
/test istio-pilot-e2e

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

/retest

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

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
2dd8a2f2d451477612a222c7528cf73ce0777f2a
link
/test istio-pilot-e2e

prow/istio-pilot-e2e-v1alpha3.sh
69178a8326b63b7707938710320b997ec2284f29
link
/test istio-pilot-e2e-v1alpha3

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

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

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-v1alpha3.sh
69178a8326b63b7707938710320b997ec2284f29
link
/test istio-pilot-e2e-v1alpha3

prow/istio-pilot-e2e.sh
69178a8326b63b7707938710320b997ec2284f29
link
/test istio-pilot-e2e

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

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

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
69178a8326b63b7707938710320b997ec2284f29
link
/test istio-pilot-e2e

prow/istio-pilot-e2e-v1alpha3.sh
69178a8326b63b7707938710320b997ec2284f29
link
/test istio-pilot-e2e-v1alpha3

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

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

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-v1alpha3.sh
69178a8326b63b7707938710320b997ec2284f29
link
/test istio-pilot-e2e-v1alpha3

prow/istio-pilot-e2e.sh
69178a8326b63b7707938710320b997ec2284f29
link
/test istio-pilot-e2e

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

/retest

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

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
69178a8326b63b7707938710320b997ec2284f29
link
/test istio-pilot-e2e

prow/istio-pilot-e2e-v1alpha3.sh
69178a8326b63b7707938710320b997ec2284f29
link
/test istio-pilot-e2e-v1alpha3

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

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

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-v1alpha3.sh
69178a8326b63b7707938710320b997ec2284f29
link
/test istio-pilot-e2e-v1alpha3

prow/istio-pilot-e2e.sh
69178a8326b63b7707938710320b997ec2284f29
link
/test istio-pilot-e2e

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

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

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-v1alpha3.sh
69178a8326b63b7707938710320b997ec2284f29
link
/test istio-pilot-e2e-v1alpha3

prow/istio-pilot-e2e.sh
69178a8326b63b7707938710320b997ec2284f29
link
/test istio-pilot-e2e

prow/istio-presubmit.sh
0493b4bcf1c80e70e8972a246ffd81fad8f8322c
link
/test istio-presubmit

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

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

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-v1alpha3.sh
69178a8326b63b7707938710320b997ec2284f29
link
/test istio-pilot-e2e-v1alpha3

prow/istio-pilot-e2e.sh
69178a8326b63b7707938710320b997ec2284f29
link
/test istio-pilot-e2e

prow/istio-presubmit.sh
0493b4bcf1c80e70e8972a246ffd81fad8f8322c
link
/test istio-presubmit

prow/istio-unit-tests.sh
0493b4bcf1c80e70e8972a246ffd81fad8f8322c
link
/test istio-unit-tests

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

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

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
69178a8326b63b7707938710320b997ec2284f29
link
/test istio-pilot-e2e

prow/istio-pilot-e2e-v1alpha3.sh
e938dd71c1cd493b572b7afd4a88582f7e3fa63a
link
/test istio-pilot-e2e-v1alpha3

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

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

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-v1alpha3.sh
e938dd71c1cd493b572b7afd4a88582f7e3fa63a
link
/test istio-pilot-e2e-v1alpha3

prow/istio-pilot-e2e.sh
e938dd71c1cd493b572b7afd4a88582f7e3fa63a
link
/test istio-pilot-e2e

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

@rshriram need lgtm label, thanks.

@rshriram Can you review this PR? thanks.


Support quote styling inside bullet list

Is your feature request related to a problem? Please describe.
I often make my notes in the form of hierarchical, nested bullet list.
Currently Quote in the live preview inside the bullet isn't supported:
- A
   -  >B

0nly
-A
>B

will render B as quote.
Describe the solution you'd like
In
- A
   -  >B

an option should exist to render  >B as quote too

Are you able to do this when using the default theme?

No, now I see that this is limitation of live preview and it is currently a feature request, I am closing this issue https://forum.obsidian.md/t/live-preview-support-quotes-in-list-items/29582


Ws - buy, cancel and sell orders

Thanks for your work
I'm trying to find a library to work with okx api and now I'm trying to figure out how I can use not rest, but sockets to buy, cancel, sell orders. Does the library support it? but the example is not very clear

Hey @korzh875, @sezmars & @leosmartdev - tagging you since you've asked about the WS API before.
I will soon work to add WS API support to my existing SDKs. We've just released a new SDK for Gate.io, which has the first generation of a working WS API implementation. It's a different exchange, but I would appreciate if you could either take a look or even test the WS API implementation because this is a great chance to provide feedback before I add it to my existing SDKs as well.
The goal was for the WS API implementation to be as flexible as possible, while also being convenient for users that are more familiar with how the REST API works. Thus, for the first generation of this there are two possible ways of using the WS API.
Event-driven WebSocket API
The first way is probably what you would expect - event-driven.
Events are fire & forget - you call a function to send a WS API event (similar to how you would subscribe to a topic in the websocket client), for example (ignore the await in the link):
client.sendWSAPIRequest(
      'spotV4',
      'spot.order_place',
      {
        text: 't-my-custom-id',
        currency_pair: 'BTC_USDT',
        type: 'limit',
        account: 'spot',
        side: 'buy',
        amount: '0.001',
        price: '45000',
      },
    );

When the server sends a reply to your request, it will be emitted via the event emitter's 'response' event:
https://github.com/tiagosiebler/gateio-api/blob/master/examples/ws-private-spot-wsapi.ts#L68-L75
// ws server reply { someJsonResponse: .... }
  client.on('response', (data) => {
    console.info(
      'ws server reply ',
      JSON.stringify(data, null, 2),
      '\n',
    );
  });

Promise-driven WebSocket API
The second way will feel very much like the REST API - promise-driven.
Each "request" includes a unique ID, which gives enough information to know which response is for which request. I've implemented a deferred-promise mechanism that tracks this within the Websocket Client. The end result is something I'm proud of - you can call the WS API and await the response:
    console.log(new Date(), 'Submitting spot order!');
    const newOrder = await client.sendWSAPIRequest(
      'spotV4',
      'spot.order_place',
      {
        text: 't-my-custom-id',
        currency_pair: 'BTC_USDT',
        type: 'limit',
        account: 'spot',
        side: 'buy',
        amount: '0.001',
        price: '45000',
      },
    );

    console.log(new Date(), 'Result:', newOrder);

As an added bonus for typescript users, types are connected in such a way that typescript knows what the response type will be, depending on what channel the request went to. Requests, request parameters and response parameters have type checking in place (although some types are initially still missing).
With this design it's completely up to the user if they want event-driven or promise-driven WS API behaviour. I wanted to cater to both user types, while making it extremely easy for someone uncomfortable with websockets to benefit from intuitive calls to the WS API. I hope you have a chance to test it & that the implementation behaves as you expect it to. Would love to hear your feedback if you do manage to test it. Otherwise, a very similar implementation will be coming soon for my existing SDKs for exchanges that also support a Websocket API.


why the value is 288 in willow filter?

In line 893 of worker.filter.js, is there a mistake ?
var b = [
[ 0,   0,  30],
[ 1,  40,  70],
[ 2, 112, 165],
[ 3, 195, 215],
[ 4, 255, 288]

👀

👀

not used

Fixed. Thanks for reporting.
https://github.com/kenju/instagram_js_filter/blob/master/src/effects/rgb_map.js#L414


Consider upgrading jakarta.xml.bind-api to 4.x

Currently, the project "swagger-core-jakarta" depends on "jakarta.xml.bind:jakarta.xml.bind-api:3.0.0" which depends on
"com.sun.activation:jakarta.activation:2.0.0".
Latest version of jakarta.xml.bind-api is 4.0.0 which depends on the new module from jakarta:
jakarta.activation:jakarta.activation-api:2.1.2.
Spring Framework (org.springframework.boot:spring-boot-starter-mail:3.1.5) via (org.eclipse.angus:jakarta.mail:1.1.0) uses the new activation libraries.
Having both on the classpath causes incompatibility issues between the 2 libraries.

My temporary solution was to add javax.xml.bind:jaxb-api:2.3.1 to the gradle dependencies. 😂😂


Nested fields in fragments not passed to props.

When using multiple fragments, I'm finding that nested fields aren't being resolved to props as expected.
For example, I have a query attached to a connected component like:
neighbourhoods{
   name
   ...fragmentOne
   ...fragmentTwo
}

with two fragments like:
fragment fragmentOne on Neighbourhood {
    population
    city {
        name
    }
}

fragment fragmentOne on Neighbourhood {
    city {
        countryName
    }
}

I can see in the server response city.name and city.countryName is returned as expected for each neighbourhood, but my component only seems to receive the data from the first fragment in it's props and I'm only able to see city.name.  Is this the expected behaviour?

Definitely not expected! Fragments are relatively new so there might be a few bugs. It would be really helpful to have a more complete code snippet of how you declared the fragment and included it in the query to debug this though.

No problem, here's a compressed version of the code I'm using which I've just tested produces the same result:
const fragmentOne = createFragment(gql`
  fragment fragmentOne on Neighbourhood {
    name
    city {
      name
      population
    }
  }
`);

const fragmentTwo = createFragment(gql`
  fragment fragmentTwo on Neighbourhood {
    id
    city {
      countryName
      image
    }
  }
`);

function mapQueriesToProps({ ownProps, state }) {
  return {
    neighbourhood: {
      query: gql`
        query neighbourhoodData($slug: String!) {
          data: neighbourhood(slug: $slug) {
            title
            subtitle
            ...fragmentOne
            ...fragmentTwo
          }
        }`,
      variables: {
        slug: ownProps.params.slug,
      },
      fragments: [...fragmentOne, ...fragmentTwo]
    },
  };
};

class Component extends React.Component {
  render() {
    if(this.props.neighbourhood.data) {
      const data = this.props.neighbourhood.data;
      console.log(data); // <-- Here city only contains 'name' and 'population'
    }
   return null;
  }
}

const ConnectedComponent = connect({
  mapQueriesToProps
})(Component);

The order in the root query changes the output.  If I place fragmentTwo first then city contains 'countryName' and 'image'

@stubailo I'm assuming this is a client issue?

Ah, I think we missed it because it was on this repo. Just opened an issue there, let's close this one.


Type hell

Maybe I'm just too new to rust; but it sure is damn hard with the beta of the library to break a drawing step into a separate function. Compiler puke everywhere trying to  figure out the damn types. Like to pass a terminal to a function it has to be t: &mut Terminal<TermionBackend<RawTerminal<io::Stdout>>>. And I can't figure out what the return value should be on a t.draw(some closure)?; call...

Apparently the return value should be as simple as a Result<(), Error>...

I agree that the type definition for a simple terminal can be a bit overwhelming at first. I choose to let people provide their own instance of the backend when creating the Terminal interface. Thus the long type signature.
However, you could use either use a type alias or change your functions to be generic over a backend (as I did in https://github.com/fdehau/tui-rs/commit/f6d2f8f929b97ecb75c9cd1e7321b53f70fc390a) in order to reduce the type complexity.
Most of the functions return an io::Result<_>


Refactor action type imports in components to reduce confusion

 Issue by landonreed
Wednesday Nov 28, 2018 at 15:52 GMT
Originally opened as https://github.com/catalogueglobal/datatools-ui/issues/265

Mimic the changes in #259 so that actions that are imported for flow typing components have less chance of conflicting with destructured actions from this.props.
For example:
https://github.com/catalogueglobal/datatools-ui/blob/aae754e2593fa5ac066364de77ad9891596a258a/lib/common/components/Sidebar.js#L8-L10

Already completed.


Try implementing custom vector field

PR Info

As discussed on Discord: https://discord.com/channels/873880840487206962/900758376164757555/1046931644398960650

This is a demo for implementing the required traits for Vec<T> newtype in SeaORM entity.

What does event_trigger mean? Can we rename it to custom_types

I just want to avoid custom_types, that's why I name it as something "meaningful".


Werkzeug and http both add a Date header for files served statically.

I ran into some warnings from nginx that my Flask server was generating duplicate Date headers, so I investigated.
Here's how to reproduce the situation:
app.py
from flask import Flask

app = Flask(__name__)

@app.route("/hello")
def hello_world():
    return "Hello from a flask route!"

static/hello
Hello from static world.

$flask run
From another terminal run:
[root@vis cli]$ curl -v 'http://<IP_ADDRESS>:5000/hello'
*   Trying <IP_ADDRESS>:5000...
* Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 5000 (#0)
> GET /hello HTTP/1.1
> Host: <IP_ADDRESS>:5000
> User-Agent: curl/7.81.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Server: Werkzeug/2.2.2 Python/3.10.4
< Date: Wed, 10 Aug 2022 08:05:18 GMT
< Content-Type: text/html; charset=utf-8
< Content-Length: 25
< Connection: close
<
* Closing connection 0
Hello from a flask route!
[root@vis cli]$ curl -v 'http://<IP_ADDRESS>:5000/static/hello'
*   Trying <IP_ADDRESS>:5000...
* Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 5000 (#0)
> GET /static/hello HTTP/1.1
> Host: <IP_ADDRESS>:5000
> User-Agent: curl/7.81.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Server: Werkzeug/2.2.2 Python/3.10.4
< Date: Wed, 10 Aug 2022 08:05:22 GMT
< Content-Disposition: inline; filename=hello
< Content-Type: application/octet-stream
< Content-Length: 25
< Last-Modified: Wed, 10 Aug 2022 08:00:56 GMT
< Cache-Control: no-cache
< Date: Wed, 10 Aug 2022 08:05:22 GMT
< Connection: close
<
Hello from static world.
* Closing connection 0

The -v turns on curl's verbose mode so that the request and response headers are printed.
Note how the headers of the static route have two Date fields, whereas the headers of the dynamic route only have one.
I dove into this some more and it seems that here's what is happening:
The http package always adds the date header, regardless of if it's a dynamic or static route.
/usr/lib/python3.10/http/server.py:493
        self.send_header('Date', self.date_time_string())
The werkzeug package adds it again for a static request:
/usr/local/lib/python3.10/dist-packages/werkzeug/wrappers/response.py:802
                self.headers["Date"] = http_date()
Obviously we should be doubling up on headers, right?  What do you believe is the best fix for this?

Werkzeug==2.2.2

Don't use the development server in production. This isn't actually an error, and the fix would add a lot of complexity to the server handler.

This is not the correct behavior!  Any server, wether it's a develop;ment
server or production server, should be correct.  I'm not sure that making
sure there's only one copy of each header is "a lot of complexity".
Deduping things in python is usually a one-liner.  Can you explain why it's
a difficult thing to fix?  Even if it was difficult, are you really going
to accept not doing the right thing just so you can close out a ticket?  At
least leave it open and invite people to make pull requests if it bothers
them too.  Heck, I'd be happy to try and fix it if I had a sense that the
fix would be merged.
On Wed, Aug 10, 2022 at 8:23 PM David Lord @.***> wrote:

Don't use the development server in production. This isn't actually an
error, and the fix would add a lot of complexity to the server handler.
—
Reply to this email directly, view it on GitHub
https://github.com/pallets/werkzeug/issues/2500#issuecomment-1210669094,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEVLQ5QLWOMP6RQ57HBTV6LVYOUNVANCNFSM56DRTE7Q
.
You are receiving this because you authored the thread.Message ID:
@.***>

AFAIK some HTTP headers MAY occur more than once.

Since it's an extra header, it seems possible that fixing this problem might actually make the code simpler (for example if there's always 1-2 Date headers, taking out the extra one could make it 1 all the time by DELETING code.)  What am I missing?

Ok, but maybe just checking to see if it's there before adding it?  Or if we're confident that in a given case there's always a duplicatoin just not adding it the second time in that case?

All of these are between -1 to +2 lines of code.  Not "a lot of complexity.'

Report to Python that their http.server should not set the Date header if one is already set. We're a simple wrapper around that.

Or, what's the point of setting the Date header if http will take care of it for us?


curl fails when built with libressl

brew install --with-gssapi --with-libssh2 --with-libressl --with-rtmpdump curl
curl: error while loading shared libraries: libssl.so.32: cannot open shared object file: No such file or directory
If built without libressl, curl works just fine.

Checked the installed libressl and I did find libssl.so.32, so I think this is related to the issue #439

Just saw this in the formula:
keg_only "LibreSSL is not linked to prevent conflict with the system OpenSSL."


Set volume level for individual sources

Overview
Some streamwall users like to use focused audio from one source and ambient audio from one or more secondary sources. It would be nice to set a volume level for each source within the streamwall grid
Acceptance criteria

Users can set a volume level for each source within the streamwall grid
The "active audio" highlight in the output video has some indication of the volume level for each audio source in the grid (e.g., change opacity, size, color, or something else based on volume)

Multiple audio sources landed in https://github.com/chromakode/streamwall/commit/d8e51776e9122e2c5ab250120855ffb080e800e6, but haven't addressed setting individual volumes yet.


Let heartbeats go through when everything else is silenced

Checklist

[ ] Update changelog in CHANGELOG.md.

@QuentinBisson Still planning to work on this?

Yes but it's still blocked by upstream


added missing index on mssql.v3.messages.streamidinternal

This PR addresses #533

@damianh can we merge it?


Removed unused go_package option from protos

When using the go compiler we need to set the go_package option in every proto file or not set it

Adding @bsirang to review this.


Update to line 42 missing link

missing (#list-of-antimalware-policy-settings)
Summarize the change in the pull request title
Describe your change, specifically why you think it's needed.
Fixes #Issue_Number (if necessary)

Thanks @ryen-mac for catching this, and thank you for your first contribution to SCCMDocs! 😃
#sign-off
Once merged, this should be live with the next daily publishing process. Right now that should be today (Tuesday, 12 March) around 11:00 Pacific time. No further action needed from you.


Remove unnecessary A tag in section "What are the planned maintenance windows?".

Please Remove unnecessary A tag in section "What are the planned maintenance windows?".
## <a name="windows"></name>What are the planned maintenance windows?
should be
## What are the planned maintenance windows?

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

ID: 1fcc1802-115b-4ac2-f34f-aa73eac426f4
Version Independent ID: d758bfc6-245e-43d6-8bde-31282cea0a64
Content: Maintenance in self-service environments FAQ - Finance & Operations | Dynamics 365
Content Source: articles/fin-ops-core/dev-itpro/deployment/plannedmaintenance-selfservice.md
Service: dynamics-365-cross-app
GitHub Login: @matapg007
Microsoft Alias: matgupta

Bug 751243 has been logged to address this issue.

Marked as resolved by PM.


fix: Skip wrappers from extension install tests

Signed-off-by: Lakshmipathi<EMAIL_ADDRESS>

skip wrapper extension test for now  (more info: https://github.com/supabase/postgres/pull/375#issuecomment-1316357508 )


Secure import errors with eslint-plugin-import

Separated to a branch because of complexities faced along the way

@mike-hogan can you check if this fix is correct?

@mike-hogan can you check if this fix is correct?

Yes it is correct


i am newer,how this project run,

You can find HTML Output at https://github.com/lab2023/hierapolis/tree/gh-pages .


Only able to use one instance at a time

When I add any more than one instance of this module the only one that works is the last one created. In the log it gives the error: "instance(Loft TV Left): Error executing action: Cannot call write after a stream was destroyed". In my workflow I have Loft TV Right and Left and Left was the first one I added and gives out the errors. "Loft TV Right" responds and works correctly.

I am successfully using two instances as of Companion version 2.3.1 build 4641 (stable)


Sharing StsAssumeRoleSessionCredentialsProvider instances between threads

I have a multi-threaded application and want to create a rusoto_s3::S3Client instance and pass it between threads. As my AWS organization is using roles for giving read/write permissions with MFA, I had to use rusoto_sts::custom::credential::StsAssumeRoleSessionCredentialsProvider. However, unlike DefaultCredentialsProviderSync, StsAssumeRoleSessionCredentialsProvider cannot be passed between threads safely and I get the following error:
error[E0277]: the trait bound `rusoto_sts::custom::credential::StsSessionCredentialsClient + 'static: std::marker::Send` is not satisfied
   --> src/store/mod.rs:371:27
    |
371 |             children.push(thread::spawn(move || {
    |                           ^^^^^^^^^^^^^ `rusoto_sts::custom::credential::StsSessionCredentialsClient + 'static` cannot be sent between threads safely
    |
    = help: the trait `std::marker::Send` is not implemented for `rusoto_sts::custom::credential::StsSessionCredentialsClient + 'static`
    = note: required because of the requirements on the impl of `std::marker::Send` for `std::ptr::Unique<rusoto_sts::custom::credential::StsSessionCredentialsClient + 'static>`
    = note: required because it appears within the type `std::boxed::Box<rusoto_sts::custom::credential::StsSessionCredentialsClient + 'static>`
    = note: required because it appears within the type `rusoto_sts::StsAssumeRoleSessionCredentialsProvider`
    = note: required because it appears within the type `rusoto_s3::S3Client<rusoto_sts::StsAssumeRoleSessionCredentialsProvider, hyper::Client>`

Do you know if there is way to get around the issue? Or, it requires implementing StsAssumeRoleSessionCredentialsProviderSync?
Here is the code that creates the provider:
let mut profile_provider = ProfileProvider::new().unwrap();
let env_profile = match env_var("AWS_PROFILE") {
    Ok(val) => val,
    Err(_) => panic!("No AWS_PROFILE in environment")
};
profile_provider.set_profile(env_profile);
let chain_provider = ChainProvider::with_profile_provider(profile_provider);
let credentials = DefaultCredentialsProviderSync::with_mutex(chain_provider).unwrap();

let env_role_arn = match env_var("AWS_ROLE_ARN") {
    Ok(val) => val,
    Err(_) => panic!("No AWS_ROLE_ARN in environment")
};

let sts = StsClient::new(default_tls_client().unwrap(), credentials, Region::EuWest1);

let provider = StsAssumeRoleSessionCredentialsProvider::new(
    sts,
    env_role_arn,
    "default".to_owned(),
    None, None, None, None
);

Thanks for proposing this; I'm running into the same problem while trying to upgrade from 0.32.0 to 0.33.1.

Fixed in https://github.com/rusoto/rusoto/pull/1110 . 😄

Thanks! 😄


gnomAD updates

A number of bug fixes encountered while processing gnomAD-v3, 1KGP, and GMKF. This includes the replacement of tabix with GATK for streaming evidence records from buckets (with suggested changes incorporated from #26). Docker updates forthcoming. Addresses #28.

Add GATK to sv-base docker; use GATK for PE/SR/RD localization
fix fragile cleanvcf1 block
Fix BedCluster too
Use CHR2 for end locus in svtk count-sr
Pad RDTest bincov localization; fix inputs for cromwell 51
Correct bounds for RDTestChromosome
Update to PrintSVEvidence and start fixing WDLs for cromwell v51
Fix sv-base dockerfile
Fix data.table dependency
Switch to .RD.txt.gz extension for depth evidence files
Fix localized filenames in 02 TestChromosome tasks
Fix tabix arguments and a few evidence file names
random forest fix: select cutoff from AUC and FDR
fixes to SR_genotype.opt_part2.sh
bug fixed: 1. runtime_override_collect_vids_per_sample were not passed in Module05_06.wdl; 2. wrong white list were used in RdGenotype
unnecessary functions removed
-a added for ConcatVcf
Module07-09 wdl scripts renamed
Prevent empty PE and SR common site test shards in 02

Thanks for the review @cwhelan. Somehow there were a number of duplicated WDLs for modules 07-09, so I cleaned those up. Also updated test jsons for former 07 to be 08.
I addressed most of your comments, but I still want to hold off on modifying 07 and 09 since I believe they are working as is, and we don't have jsons for testing changes right now. I opened issue #55 to track that we need to review these modules still.

Thanks @cwhelan! There is quite a bit of work to do on Module07 and so I have renamed #78 more generally. We do need to move ahead with gnomAD ASAP so I am going to punt this down the road and merge.


Pulling the docker with unraid doesn't enable rclone

I was able to follow your guide from: https://github.com/lobaro/restic-backup-docker
Since I'm using unraid, i didn't have to run ./build.sh  or ./run.sh
I added some volumes from my unraid shares to your docker.
After following the "Backup via rclone" part, I see that rclone is not in the $PATH.
Below is my unraid template for your docker:

Below is the problem with rclone:

Let me know if you need more information on this, ready to help!
I want this docker to function with rclone at full, for my backups :-)

Thanks for the report.
Feel free to make a PR and add the rclone to the $PATH var.

Why'd you have this issue closed? It seems that it wasn't resolved, only reported

In fact, I'm trying to set up this container in my docker-compose config (without having to run commands manually) and I get the same error - rclone is not in the $PATH


http and https links displayed as raw text instead of link

Hello,
http:// and https:// links in Markdown file are considered as raw text on ReadTheDocs but as link on GitHub.
see
http://pandas-datareaders.readthedocs.org/en/latest/todo/
and compare to:
https://github.com/femtotrader/pandas_datareaders/blob/master/docs/todo.md
Kind regards

This is a Mkdocs question, not a Read the Docs one.


footer at the about page need to improved

footer at the about page need to improved
@codervivek5 Please assign me this under GSSoC 2024

@codervivek5 Please assign me this under GSSoC 2024


networkd units differ between ignition.json and filesystem

Description
When setting a networkd.unit entry in ignition.json, the resulting file generated in /etc/systemd/networkd is significantly different.
Impact
Causes networking trouble (problem with routing) in our setup.
Environment and steps to reproduce
This is a Giant Swarm kubernetes cluster deployed with terraform on AWS.
Flatcar version: 3139.2.0 but happens on 3033.2.4 as well.
Expected behavior
Network configuration specified in the ignition file to be correctly stored in the filesystem
Additional information
Ignition file section:
# cat /var/run/ignition.json | jq -r '.networkd.units[0].contents'
# ensure that traffic arriving on eth1 leaves again from eth1 to prevent asymetric routing
[Match]
Name=eth1

[Address]
Address=<IP_ADDRESS>/26
AddPrefixRoute=false
RouteMetric=2000

[RoutingPolicyRule]
Table=2
From=<IP_ADDRESS>/32

[Route]
Destination=<IP_ADDRESS>/0
Gateway=<IP_ADDRESS>
Table=2

networked file in the FS
# cat /etc/systemd/network/10-eth1.network
# ensure that traffic arriving on eth1 leaves again from eth1 to prevent asymetric routing
[Match]
Name=eth1

[Address]
Address=<IP_ADDRESS>/32
Scope=2

[RoutingPolicyRule]
Table=2
From=<IP_ADDRESS>/32

[Route]
Destination=<IP_ADDRESS>/0
Gateway=<IP_ADDRESS>
GatewayOnlink=true
Table=2

[Route]
Destination=<IP_ADDRESS>/26
Table=2
Scope=link

The Address is wrong (subnet is changed) and the AddPrefixRoute=false and RouteMetric=2000 settings have been removed.
Also important to note, after the first boot the network settings are actually those set in the ignition unit, while after running `systemctl restart systemd-networkd the IP address changes to the one stored in the filesystem.
# ip a show dev eth1
14: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 06:a1:de:6c:77:cd brd ff:ff:ff:ff:ff:ff
    altname enp0s6
    altname ens6
    inet <IP_ADDRESS>/26 metric 2000 brd <IP_ADDRESS> scope global noprefixroute eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::4a1:deff:fe6c:77cd/64 scope link
       valid_lft forever preferred_lft forever

# systemctl restart systemd-networkd

# ip a show dev eth1
14: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 06:a1:de:6c:77:cd brd ff:ff:ff:ff:ff:ff
    altname enp0s6
    altname ens6
    inet <IP_ADDRESS>/32 scope 2 eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::4a1:deff:fe6c:77cd/64 scope link
       valid_lft forever preferred_lft forever

Thanks for the report! I wonder how to best find the process that writes to the file (strace or perf trace?) and whether it's systemd-networkd itself.

For what it's worth, the exact same thing happens when using the files stanza to create the same file in /etc/systems/networkd.

That's what we have set as name in ignition:
  "networkd": {
    "units": [
      {
        "contents": "# ensure that traffic arriving on eth1 leaves again from eth1 to prevent asymetric routing\n[Match]\nName=eth1\n\n[Address]\nAddress=<IP_ADDRESS>/26\nRouteMetric=2000\n\n[RoutingPolicyRule]\nTable=2\nFrom=<IP_ADDRESS>/32\n\n[Route]\nDestination=<IP_ADDRESS>/0\nGateway=<IP_ADDRESS>\nTable=2\n",
        "name": "10-eth1.network"
      },

Great - for the initial issue, I think we're hitting a clash between coreos-metadata (a.k.a afterburn) and your configuration: afterburn is defaulting to 10-<interface-name>.network when it defines a network unit but out of the box afterburn should not define any network configuration on AWS/EC2 so I'm still a bit doubtful.
What shows networkctl status eth1 ? We might find useful information in it.

Great - for the initial issue, I think we're hitting a clash between coreos-metadata (a.k.a afterburn) and your configuration: afterburn is defaulting to 10-<interface-name>.network when it defines a network unit but out of the box afterburn should not define any network configuration on AWS/EC2 so I'm still a bit doubtful.
What shows networkctl status eth1 ? We might find useful information in it.

(I'm AFK for today, will answer tomorrow)

Indeed networkctl status eth1 gives useful info!
# networkctl status eth1
● 14: eth1
                     Link File: /usr/lib64/systemd/network/99-default.link
                  Network File: /etc/systemd/network/10-eth1.network
                          Type: ether
                         State: routable (configured)
                  Online state: online
             Alternative Names: enp0s6
                                ens6
                          Path: pci-0000:00:06.0
                        Driver: ena
                        Vendor: Amazon.com, Inc.
                         Model: Elastic Network Adapter (ENA)
                    HW Address: XX:XX:XX:XX:XX:XX
                           MTU: 1500 (min: 128, max: 9216)
                         QDisc: mq
  IPv6 Address Generation Mode: eui64
          Queue Length (Tx/Rx): 4/4
                       Address: <IP_ADDRESS>
                                fe80::a3:11ff:fea5:7ae6
             Activation Policy: up
           Required For Online: yes

May 12 15:41:28 ip-10-0-5-52.eu-central-1.compute.internal systemd-networkd[1696]: eth1: Link UP
May 12 15:41:28 ip-10-0-5-52.eu-central-1.compute.internal systemd-networkd[1696]: eth1: Gained carrier
May 12 15:41:29 ip-10-0-5-52.eu-central-1.compute.internal systemd-networkd[1696]: eth1: Gained IPv6LL
May 12 15:43:26 ip-10-0-5-52.eu-central-1.compute.internal systemd-networkd[14193]: eth1: Link UP
May 12 15:43:26 ip-10-0-5-52.eu-central-1.compute.internal systemd-networkd[14193]: eth1: Gained carrier
May 12 15:43:26 ip-10-0-5-52.eu-central-1.compute.internal systemd-networkd[14193]: eth1: Gained IPv6LL

There are 2 conf files in /etc/systemd/network/ for eth1:
 # ls /etc/systemd/network -1
00-aws-cni.network
10-eth1.network
5-eth1.network

But we only defined one
# cat /var/run/ignition.json |jq -r '.networkd.units[] | .name'
5-eth1.network
00-aws-cni.network

So like @tormath1 is suggesting, something in the boot process generates a default network configuration called 10-eth1.network that overrides yours.
Perhaps if you give your file a higher number (99-eth1.network) and explicitly set any parameters defined in the default 10-eth1.network to values that you want, you should be able to get the desired configuration.

So like @tormath1 is suggesting, something in the boot process generates a default network configuration called 10-eth1.network that overrides yours. Perhaps if you give your file a higher number (99-eth1.network) and explicitly set any parameters defined in the default 10-eth1.network to values that you want, you should be able to get the desired configuration.

Happy to wait for the fix. We already have a workaround in place so this is not super urgent on our side.

Assuming the networkd units afterburn writes out are working as expected I think we have more a of a docs problem here to know what unit files afterburn writes and how to provide own ones that have higher priority. This affects multiple platforms.


Support for multiple output arguments

We should either support multiple output arguments (varargout) or throw an error in fexec if nargout > 1.

Verison 0.3 should support multiple output arguments. This still needs to be tested.

Fully implemented and tested in v0.4


Masonry fails to render all columns (except the last) on reload on Android only

Expected Behavior

the expected behaviour should be that the masonry is rendered correctly

Current Behavior

when you refresh the app, the masonry fails to render all but the last column

Possible Solution

inspecting the code, it seems that all the bricks are given a width and height of 'Nan', but only the bricks in the last column get called with "_setParentDimensions" in Mansonry.js.
Steps to Reproduce

Link to the expo repo:
https://snack.expo.io/BJITHeTm7
Make sure the preview is activated and the phone used for the preview is an android.

click "tap to play", the masonry should behave as expected
go in the code, just press space at an empty area in the code to trigger a refresh
look at the phone preview, the masonry should look buggy

Context (Environment)

Detailed Description

Possible Implementation

Did you resolved it ?
I am also facing the same issue

Any progress on this? Having troubles with this issue as well

temporary solution
constructor(props) {
    super(props);
    this.state = {
      data,
      columns: 3,
    };
  }

componentDidMount() {
    setTimeout(() => {
      this.setState({ columns: 2, padding: 5 });
    }, 500);

  }

The same thing happens to me but @vijaychouhan-rails solutions do not work for me :/, any help?

See the same issue on iOS. Need help ! Setting the columns to 3 and then back to 2 is not the correct way to handle this...

+1


chore(deps): update common-dev-assets digest to c5b82f9

This PR contains the following updates:

Package
Update
Change

common-dev-assets
digest
e4ce78d -> c5b82f9

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Renovate Bot.

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Invalid sample payload json

Sample payload json for "Release deployment completed" is invalid, seeems like some parts are missing.

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

ID: 6033d681-9093-547c-20fd-b31183c2bb33
Version Independent ID: 0d92e3f0-7fb4-57e5-d913-f305a055a819
Content: Service hooks event reference - Azure DevOps
Content Source: docs/service-hooks/events.md
Product: devops
Technology: devops-collab
GitHub Login: @chcomley
Microsoft Alias: chcomley

@dustrat -- thank you for your feedback.  Please provide more details.  Meanwhile, consider these resources:

Azure DevOps Services
Azure DevOps on Stack Overflow

It's about this sample: https://docs.microsoft.com/en-us/azure/devops/service-hooks/events?view=azure-devops-2020#sample-payload-5
The JSON is invalid and is missing both opening and closing braces as well as some properties. Compare with this one: https://docs.microsoft.com/en-us/azure/devops/service-hooks/events?view=azure-devops-2020#sample-payload-6
The "environment" property should be a child property to the "resource" property and other properties missing at the root level are: id, eventType, publisherId, message and detailedMessage. You can also see on the syntax coloring that something is not right if you compare sample 5 with sample 6.

@dustrat -- thank you for your detailed follow-up.
@chcomley -- please look into this issue.

Hi @dustrat,
The team has heard your feedback and is planning to address it in an upcoming sprint. They've created a work item, which I'll be following.
Thanks,
Chrystal

This work item is now in progress!

Nice!


Generate GroupByHash output in multiple RecordBatches (Just an attempt)

Which issue does this PR close?
Closes https://github.com/apache/datafusion/issues/9562
If the community thinks this PR is reasonable, I will continue the work:

Eliminate redundant code
Modify the code further as recommended by review
Benchmark

In addition, we need to discuss whether we need to emit by batch_size when spill is true.
During the cargo test, I found that if emitting by batch_size when spill is true, some test cases such as aggregate_source_not_yielding_with_spill could not pass. Because the number of RecordBatches has increased, resulting in 'BatchBuilder' call 'push_batch' consumes more memory in update_merged_stream.
https://github.com/apache/datafusion/blob/0f554fa12490ffa72c3c6ca42186c1ac9461bfa6/datafusion/physical-plan/src/sorts/builder.rs#L71-L80
Personally, I prefer to emit by batch_size when spill is true. Otherwise, the panic (https://github.com/apache/arrow-rs/issues/6112#issue-2429706033) is easily triggered by spill.
Rationale for this change

What changes are included in this PR?

Are these changes tested?

Are there any user-facing changes?

I thought we have emit_early_if_necessary that already emit batch by batch. What is the difference between these two?

Thank you @JasonLi-cn
I wonder if we have tested the performance of this branch? I worry that the incremental output generation will result in a copying the values multiple times (as each emit_to will effectively copy the remaining elements "down"
If this turns out to be a large performance overhead, then I think we could look into updating the accumulators to remember where they have emitted to or something (or maybe add a EmitNext or something that could handle remebering the offset 🤔

Thank you @JasonLi-cn
I wonder if we have tested the performance of this branch? I worry that the incremental output generation will result in a copying the values multiple times (as each emit_to will effectively copy the remaining elements "down"
If this turns out to be a large performance overhead, then I think we could look into updating the accumulators to remember where they have emitted to or something (or maybe add a EmitNext or something that could handle remebering the offset 🤔

Thank you @alamb . I'll run the benchmark of aggregate.

Benchmark(main VS this branch)
cargo bench --bench aggregate_query_sql

Gnuplot not found, using plotters backend
aggregate_query_no_group_by 15 12
                        time:   [2.1563 ms 2.1686 ms 2.1824 ms]
                        change: [-0.1065% +1.0107% +2.0667%] (p = 0.07 > 0.05)
                        No change in performance detected.
Found 9 outliers among 100 measurements (9.00%)
  7 (7.00%) high mild
  2 (2.00%) high severe

aggregate_query_no_group_by_min_max_f64
                        time:   [2.0533 ms 2.0655 ms 2.0782 ms]
                        change: [-0.2686% +0.5618% +1.4604%] (p = 0.21 > 0.05)
                        No change in performance detected.
Found 3 outliers among 100 measurements (3.00%)
  3 (3.00%) high mild

aggregate_query_no_group_by_count_distinct_wide
                        time:   [2.8570 ms 2.8720 ms 2.8884 ms]
                        change: [-1.1717% -0.2697% +0.6437%] (p = 0.57 > 0.05)
                        No change in performance detected.
Found 11 outliers among 100 measurements (11.00%)
  6 (6.00%) high mild
  5 (5.00%) high severe

aggregate_query_no_group_by_count_distinct_narrow
                        time:   [2.6355 ms 2.6427 ms 2.6502 ms]
                        change: [-0.3158% +0.1024% +0.5289%] (p = 0.64 > 0.05)
                        No change in performance detected.
Found 4 outliers among 100 measurements (4.00%)
  1 (1.00%) low mild
  3 (3.00%) high mild

aggregate_query_group_by
                        time:   [3.1874 ms 3.2218 ms 3.2633 ms]
                        change: [+0.8142% +2.0424% +3.3431%] (p = 0.00 < 0.05)
                        Change within noise threshold.
Found 10 outliers among 100 measurements (10.00%)
  1 (1.00%) low mild
  2 (2.00%) high mild
  7 (7.00%) high severe

aggregate_query_group_by_with_filter
                        time:   [3.2268 ms 3.2375 ms 3.2499 ms]
                        change: [-0.8765% -0.3444% +0.1488%] (p = 0.19 > 0.05)
                        No change in performance detected.
Found 5 outliers among 100 measurements (5.00%)
  3 (3.00%) high mild
  2 (2.00%) high severe

aggregate_query_group_by_u64 15 12
                        time:   [2.9613 ms 2.9724 ms 2.9841 ms]
                        change: [-1.6244% -1.0331% -0.4294%] (p = 0.00 < 0.05)
                        Change within noise threshold.
Found 2 outliers among 100 measurements (2.00%)
  2 (2.00%) high mild

aggregate_query_group_by_with_filter_u64 15 12
                        time:   [3.1977 ms 3.2092 ms 3.2215 ms]
                        change: [-0.5511% -0.0732% +0.4691%] (p = 0.77 > 0.05)
                        No change in performance detected.
Found 10 outliers among 100 measurements (10.00%)
  1 (1.00%) low mild
  5 (5.00%) high mild
  4 (4.00%) high severe

aggregate_query_group_by_u64_multiple_keys
                        time:   [6.4762 ms 6.5397 ms 6.6054 ms]
                        change: [+0.9528% +2.4183% +3.9063%] (p = 0.00 < 0.05)
                        Change within noise threshold.
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) high mild

aggregate_query_approx_percentile_cont_on_u64
                        time:   [6.2755 ms 6.3326 ms 6.3915 ms]
                        change: [-4.7095% -2.6423% -0.8346%] (p = 0.01 < 0.05)
                        Change within noise threshold.
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) high mild

aggregate_query_approx_percentile_cont_on_f32
                        time:   [5.4463 ms 5.4856 ms 5.5275 ms]
                        change: [-1.1171% -0.1131% +0.9433%] (p = 0.83 > 0.05)
                        No change in performance detected.
Found 2 outliers among 100 measurements (2.00%)
  2 (2.00%) high mild

aggregate_query_distinct_median
                        time:   [4.1459 ms 4.1710 ms 4.1962 ms]
                        change: [-1.0176% -0.1285% +0.7244%] (p = 0.78 > 0.05)
                        No change in performance detected.

I hit a bug https://github.com/apache/datafusion/pull/11833 that has been fixed on main when trying to run the benchmarks on this branch:
Query 19 avg time: 161.22 ms
Error: External(ArrowError(InvalidArgumentError("column types must match schema types, expected Decimal128(25, 2) but found Decimal128(38, 10) at column index 2"), None))

Thus I a going to merge up from main and try again

🤔
Query 17 iteration 4 took 6144.7 ms and returned 10 rows
Q18: SELECT "UserID", extract(minute FROM to_timestamp_seconds("EventTime")) AS m, "SearchPhrase", COUNT(*) FROM hits GROUP BY "UserID", m, "SearchPhrase" ORDER BY COUNT(*) DESC LIMIT\
 10;
./bench.sh: line 410: 1005229 Killed                  $CARGO_COMMAND --bin dfbench -- clickbench --iterations 5 --path "${DATA_DIR}/hits.parquet" --queries-path "${SCRIPT_DIR}/queries\
/clickbench/queries.sql" -o ${RESULTS_FILE}
alamb@aal-dev:~/datafusion-benchmarking$

It appears on this branch the kernel killed the process due to out of memory (which does not happen on main)
alamb@aal-dev:~/datafusion-benchmarking$sudo dmesg | tail
[262830.944639] [1003196]     0 1003196     4230     1440    69632        0             0 sshd
[262830.944642] [1003273]  1001 1003273     4305     1341    69632        0             0 sshd
[262830.944644] [1003274]  1001 1003274     2308     1152    53248        0             0 bash
[262830.944646] [1003284]  1001 1003284     2080      864    57344        0             0 tmux: client
[262830.944648] [1003287]  1001 1003287     2765     1230    61440        0             0 bash
[262830.944650] [1005223]  1001 1005223     2007      768    57344        0             0 bash
[262830.944652] [1005229]  1001 1005229 25851352 16101822 170872832        0             0 dfbench
[262830.944654] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=user.slice,mems_allowed=0,global_oom,task_memcg=/user.slice/user-1001.slice/session-14.scope,task=dfbench,pi\
d=1005229,uid=1001
[262830.944733] Out of memory: Killed process 1005229 (dfbench) total-vm:103405408kB, anon-rss:64403832kB, file-rss:3456kB, shmem-rss:0kB, UID:1001 pgtables:166868kB oom_score_adj:0
[262833.485378] oom_reaper: reaped process 1005229 (dfbench), now anon-rss:0kB, file-rss:1140kB, shmem-rss:0kB
alamb@aal-dev:~/datafusion-benchmarking$

405

🤔
Query 17 iteration 4 took 6144.7 ms and returned 10 rows
Q18: SELECT "UserID", extract(minute FROM to_timestamp_seconds("EventTime")) AS m, "SearchPhrase", COUNT(*) FROM hits GROUP BY "UserID", m, "SearchPhrase" ORDER BY COUNT(*) DESC LIMIT\
 10;
./bench.sh: line 410: 1005229 Killed                  $CARGO_COMMAND --bin dfbench -- clickbench --iterations 5 --path "${DATA_DIR}/hits.parquet" --queries-path "${SCRIPT_DIR}/queries\
/clickbench/queries.sql" -o ${RESULTS_FILE}
alamb@aal-dev:~/datafusion-benchmarking$

It appears on this branch the kernel killed the process due to out of memory (which does not happen on main)
alamb@aal-dev:~/datafusion-benchmarking$sudo dmesg | tail
[262830.944639] [1003196]     0 1003196     4230     1440    69632        0             0 sshd
[262830.944642] [1003273]  1001 1003273     4305     1341    69632        0             0 sshd
[262830.944644] [1003274]  1001 1003274     2308     1152    53248        0             0 bash
[262830.944646] [1003284]  1001 1003284     2080      864    57344        0             0 tmux: client
[262830.944648] [1003287]  1001 1003287     2765     1230    61440        0             0 bash
[262830.944650] [1005223]  1001 1005223     2007      768    57344        0             0 bash
[262830.944652] [1005229]  1001 1005229 25851352 16101822 170872832        0             0 dfbench
[262830.944654] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=user.slice,mems_allowed=0,global_oom,task_memcg=/user.slice/user-1001.slice/session-14.scope,task=dfbench,pi\
d=1005229,uid=1001
[262830.944733] Out of memory: Killed process 1005229 (dfbench) total-vm:103405408kB, anon-rss:64403832kB, file-rss:3456kB, shmem-rss:0kB, UID:1001 pgtables:166868kB oom_score_adj:0
[262833.485378] oom_reaper: reaped process 1005229 (dfbench), now anon-rss:0kB, file-rss:1140kB, shmem-rss:0kB
alamb@aal-dev:~/datafusion-benchmarking$

Thank you @alamb 🙏. Let me analyze it further 🤔

Thank you @alamb 🙏. Let me analyze it further 🤔

In order to actually generate the output in multiple batches and gain performance, I think we would need to change:

The GroupValues storage (so that it never creates a large contiguous range)
The GroupsAccumulators likewise to manage the internal state as multiple chunks and not as single chunks

This would likely require some sort of API change to the accumulators / etc
I wonder if we could find some way to do the implementation incrementally

Thank you @alamb 🙏. Let me analyze it further 🤔

In order to actually generate the output in multiple batches and gain performance, I think we would need to change:
1. The `GroupValues` storage (so that it never creates a large contiguous range)

2. The `GroupsAccumulators` likewise to manage the internal state as multiple chunks and not as single chunks

This would likely require some sort of API change to the accumulators / etc
I wonder if we could find some way to do the implementation incrementally

I agree, finally it should be a big change which switches the group values and related states mananged by block like duckdb , and I am working on this.
But maybe just splitting the emit result still have benefits? Seems that it can avoid calling the slice function many times which really costs cpu, too?

I agree, finally it should be a big change which switches the group values and related states managed by block like duckdb , and I am working on this(https://github.com/apache/datafusion/issues/11931).

I think personally suggest sketching out what this would look like in a first PR without worrying about getting all the tests passing / compiling etc.
If we try to port all code at once to being managed in blocks it is going to be a very large change
I am thinking maybe we can have a incremental approach (like for example separately adding the ability to do blocked emission for https://docs.rs/datafusion/latest/datafusion/logical_expr/trait.GroupsAccumulator.html and https://github.com/apache/datafusion/blob/fd237f8705b18fa089fdfb8dd5b04655ccb4d691/datafusion/physical-plan/src/aggregates/group_values/mod.rs#L37-L55
If we can set this up so that we get the pattern and a few common implementations setup in the first PR then we can make subsequent PRs to port over the other parts of the aggregation 🤔

I agree, finally it should be a big change which switches the group values and related states managed by block like duckdb , and I am working on this(#11931).

I think personally suggest sketching out what this would look like in a first PR without worrying about getting all the tests passing / compiling etc.
If we try to port all code at once to being managed in blocks it is going to be a very large change
I am thinking maybe we can have a incremental approach (like for example separately adding the ability to do blocked emission for https://docs.rs/datafusion/latest/datafusion/logical_expr/trait.GroupsAccumulator.html and
https://github.com/apache/datafusion/blob/fd237f8705b18fa089fdfb8dd5b04655ccb4d691/datafusion/physical-plan/src/aggregates/group_values/mod.rs#L37-L55
If we can set this up so that we get the pattern and a few common implementations setup in the first PR then we can make subsequent PRs to port over the other parts of the aggregation 🤔

Yes, I want to do the similar things for

incremental approach

Yes, I am planning to make it  incrementally, too.
For the GroupValuess, I make the compatibility work here to make it able to process the single big block or the multiple small blocks. And I am just trying to impl the block based managing for GroupValuesRows impls now, other impls will keep the old logic until we optimize them.
https://github.com/apache/datafusion/blob/56399f7bd87c70b94be8b39d38fb5484289d3915/datafusion/physical-plan/src/aggregates/row_hash.rs#L654-L683
For the GroupAccumulators, I impl a function to convert the new block based group idx to the old flat group idx, so the GroupAccumulators can almost keep the old process logic. Based on this, we can swith them to the new style  incrementally.
https://github.com/apache/datafusion/blob/56399f7bd87c70b94be8b39d38fb5484289d3915/datafusion/physical-plan/src/aggregates/group_values/mod.rs#L60

I agree, finally it should be a big change which switches the group values and related states managed by block like duckdb , and I am working on this(#11931).

I think personally suggest sketching out what this would look like in a first PR without worrying about getting all the tests passing / compiling etc.
If we try to port all code at once to being managed in blocks it is going to be a very large change
I am thinking maybe we can have a incremental approach (like for example separately adding the ability to do blocked emission for https://docs.rs/datafusion/latest/datafusion/logical_expr/trait.GroupsAccumulator.html and
https://github.com/apache/datafusion/blob/fd237f8705b18fa089fdfb8dd5b04655ccb4d691/datafusion/physical-plan/src/aggregates/group_values/mod.rs#L37-L55
If we can set this up so that we get the pattern and a few common implementations setup in the first PR then we can make subsequent PRs to port over the other parts of the aggregation 🤔

Yes, I want to do the similar things for

incremental approach

Yes... I try to do something like it but still not thorough enough, and I found it is actually hard to support the exact EmitTo::First used by streaming aggr after I found the reason why some tests failed... And we actually should disable the blocked mode in streaming aggr.
I am planning to switch to the special blocked emission impl now... It seems we can do two things to introduce the new emit modes?

Define a support_blocked_emission for GroupValues and GroupAccumulator.
Add two emit enums

pub enum EmitTo {
    /// Emit all groups
    All,
    /// Emit only the first `n` groups and shift all existing group
    /// indexes down by `n`.
    ///
    /// For example, if `n=10`, group_index `0, 1, ... 9` are emitted
    /// and group indexes '`10, 11, 12, ...` become `0, 1, 2, ...`.
    First(usize),

    AllBlocks,

    FirstBlocks(usize),
}

What do you think this way to supprot the special blocked emission?

Do we need to put batch_size in AllBlocks and FirstBlocks 🤔 ？
And that's exactly what I was planning on doing. But I found that the changes to the code were very large.

@JasonLi-cn As I think, maybe we should impl the special block based GroupValues impls:

We pass the block size when initializing it
It manage the inner values block by block
It return all blocks with internal block size
We can always make the block size == batch size, so we can totally avoid any split operators.

I think the GroupValues impls maybe should not care about the batch size? And we just do the split and merge work in the GroupedHashAggregateStream::poll if the unfortunately, the batch size != block size (usually they will equal)?
I am making a try about it in #11943 , and have done some related code changes.

@JasonLi-cn As I think, GroupValues impls maybe should not care about the batch size? And we just do the split and merge work in the GroupedHashAggregateStream::poll , if unfortunately, the batch size != block size (usually they will equal)?
Maybe we should impl the special block based GroupValues impls like following?

We pass the block size when initializing it
It manage the inner values block by block
It return all blocks with internal block size
We can always make the block size == batch size, so we can totally avoid any split operators.

I am making a try about it in #11943 , and have done some related code changes.

OK. How do we determine the value of block size?

@JasonLi-cn As I think, GroupValues impls maybe should not care about the batch size? And we just do the split and merge work in the GroupedHashAggregateStream::poll , if unfortunately, the batch size != block size (usually they will equal)?
Maybe we should impl the special block based GroupValues impls like following?

We pass the block size when initializing it
It manage the inner values block by block
It return all blocks with internal block size
We can always make the block size == batch size, so we can totally avoid any split operators.

I am making a try about it in #11943 , and have done some related code changes.

OK. How do we determine the value of block size?

@JasonLi-cn As I think, GroupValues impls maybe should not care about the batch size? And we just do the split and merge work in the GroupedHashAggregateStream::poll , if unfortunately, the batch size != block size (usually they will equal)?
Maybe we should impl the special block based GroupValues impls like following?

We pass the block size when initializing it
It manage the inner values block by block
It return all blocks with internal block size
We can always make the block size == batch size, so we can totally avoid any split operators.

I am making a try about it in #11943 , and have done some related code changes.

OK. How do we determine the value of block size?

I think maybe we make it equal to batch_size in most cases, and so that we can avoid any split operations during producing output? And for the cornercase, for example, the batch_size is too small, we can let it fallback to single block mode?

I think maybe we make it equal to batch_size in most cases, and so that we can avoid any split operations during producing output? And for the cornercase, for example, the batch_size is too small, we can let it fallback to single block mode?

Yes I think this is a good strategy

I believe the plan here is that we will work to improve the coverage of aggregates and then revisit / revive this design


Please provide examples for which the auto-completion is working with semantics

The built-in auto-completion in the BELMgr was tested with following examples:

rxn => delivers reaction method and several other EGID entries => Works
rxn(r => delivers all methods and the RGD namespace => not working
a => delivers abundance, complexAbundance and some other methods. By choosing complexAbundance, the BELMgr outputs complex() and the cursor jumps to the end position. Apparently, the caret position is not being considered. => not working

Using the BEL 2.0 endpoint. Also the API is returning the results very slow.

Examples:  https://openbel.api-docs.io/1.1.0/api/eaQDzzCpGuHQ6Di2E
For completing on namespace values, it will not respond with less than 3 characters.
The ordering of the completions is up to the client.
Tony - can you provide more detail on when it will provide semantically valid results vs not or more examples with more of a description of the results?

Regarding the BELMgr caret position, this is a known issue (#belmgr/85) and not planned to be fixed in the near term.  The API is providing the correct caret position.

In the BELMgr - we don't kill requests to the autocomplete service due to an issue with how we handle promises.  This causes extra latency in the BELMgr autocompletes.  It's also a complex autocomplete and has been optimized significantly already, but we agree that it is still not fast enough.  More optimizations, however, are out of scope for the BELIEF milestone.
Details on how promises are handled:
http://stackoverflow.com/questions/29478751/how-to-cancel-an-emcascript6-vanilla-javascript-promise-chain


HTML encoding for default values that include '••••' is not working for React ^0.14.3

On page load with given default values from /lib/card-react-component.js is having trouble encoding the proper values that were intended to be there, mainly with the bullet points for the CC default values.
This is what it is returning on the browser:
https://cloud.githubusercontent.com/assets/10355544/12796608/7cba4774-ca74-11e5-941e-e4f5c6f83bc2.png
I am not sure if this is just happening on my machine but I would be more than happy to make a PR to fix this issue.  I worked in basic JS into one of the lib files which seemed to fix the issue, returning this to the browser.  I believe this is happening because some HTML encoding isnt supporting the • on page render.
https://cloud.githubusercontent.com/assets/10355544/12796692/e2f3de7e-ca74-11e5-9d09-2fadb42deb8c.png
@shatran thoughts?
Thank you

Hi @sstern6, I haven't encountered this issue yet. card-react doesn't currently supports React ^0.14 (doesn't use ReactDOM) and that might be one possible reason for your problem (although it's not necessarily related).
If you have a solution that worked for you please send a PR and i'll take a look at it.

@shatran ok thanks.  Its a simple solution, using String.charcode instead of the dot.
I will submit a PR tonight, I would like to hear your thought!
Thank you

It now on version 1.1.20. let me know if it works for you

@shatran PERFECT. I will implement and let you know how it goes!


Fix to compile and pass all tests in MinGW on Windows

The gcc 4.9.3 include files on MinGW guard all non-Ansi functions with '#ifndef STRICT_ANSI', causing compilation errors in functions like strcasecmp(); fix by adding '-U__STRICT_ANSI__' option if
'gcc -dumpmachine' returns 'mingw32'.
internal::file_mapper and internal::file_opener are only defined if mmap() exists; guard the corresponding tests with '#if defined(_POSIX_MAPPED_FILES)'.
verify_file assumes that the data input file has Unix line endings, which is not true on Win32 and causes test failures; fix by modifying the grammar to include:
struct any_eol : sor< one< '\n' >, pegtl::string< '\r', '\n' >,	one< '\r' > > {};
Maybe any_eol could be included in ascci.hh?

Coverage remained the same at 100.0% when pulling e825c4f09bd9609718556dcaa9d4af9a537a729f on pauloscustodio:fix_mingw into 284381faa55a0d629d51031189de101a01c35bab on ColinH:master.

Let's see, those are three separate issues:

The strict ansi business seems to be a bug in MinGW that might however require a workaround until they get it fixed.
The headers for internal::file_mapper and internal::file_opener should only be included by file_parser.hh when the platform supports mmap(), they don't guard themselves. Did we miss something?
We recently changed the read_parser to open the files with mode "rb" instead of "r", could you please check whether that fixes the issue?

(Independently we might add some further convenience rules for different line-ending conventions, however our unit test uses our Makefile, and that has Unix line endings.)

Answer for each of the questions:

Correct. The -U__STRICT_ANSI__ is a workaround required to be able to compile PEGTL in mingw32. For this reason it is only included in the compile options if 'gcc -dumpmachine' returns 'mingw32'.

Without the guards in the pull request, the compilation of unit_tests/internal_file_mapper.cc and unit_tests/internal_file_opener.cc fail:

g++ -std=c++11 -I. -pedantic -Wall -Wextra -Werror -O3 -U__STRICT_ANSI__ unit_tests/internal_file_mapper.cc -o build/unit_tests/internal_file_mapper
unit_tests/internal_file_mapper.cc: In function 'void pegtl::unit_test()':
unit_tests/internal_file_mapper.cc:11:10: error: 'file_mapper' is not a member of 'pegtl::internal'
internal::file_mapper( "pegtl" );
g++ -std=c++11 -I. -pedantic -Wall -Wextra -Werror -O3 -U__STRICT_ANSI__ unit_tests/internal_file_opener.cc -o build/unit_tests/internal_file_opener
unit_tests/internal_file_opener.cc: In function 'void pegtl::unit_test()':
unit_tests/internal_file_opener.cc:10:23: error: 'file_opener' in namespace 'pegtl::internal' does not name a type
const internal::file_opener fo( "Makefile" );
unit_tests/internal_file_opener.cc:11:7: error: '::close' has not been declared
::close( fo.m_fd );  // Provoke exception, nobody would normally do this.
unit_tests/internal_file_opener.cc:11:16: error: 'fo' was not declared in this scope
::close( fo.m_fd );  // Provoke exception, nobody would normally do this.
3. Without the patch in the pull request, test build/unit_tests/file_file fails:

build/unit_tests/file_file
pegtl: unit test assert [ p.template parse< file_grammar >() ] failed in line [ 49 ] file [ unit_tests/verify_file.hh ]
pegtl: unit test assert [ p.template parse< file_grammar >( flag ) ] failed in line [ 56 ] file [ unit_tests/verify_file.hh ]
pegtl: unit test assert [ p.template parse< file_grammar >( flag ) ] failed in line [ 63 ] file [ unit_tests/verify_file.hh ]
pegtl: unit test assert [ result ] failed in line [ 71 ] file [ unit_tests/verify_file.hh ]
pegtl: unit test assert [ flag == true ] failed in line [ 72 ] file [ unit_tests/verify_file.hh ]
pegtl: unit test assert [ result ] failed in line [ 79 ] file [ unit_tests/verify_file.hh ]
pegtl: unit test assert [ flag == true ] failed in line [ 80 ] file [ unit_tests/verify_file.hh ]

Changing the open option to "r" in pegtl/internal/file_reader.hh causes an input_error exception, as pegtl::internal::file_reader() expects to read 165 bytes from the input, the file size with Win32 line endings, and only reads 154 bytes, as each "\r\n" is replaced by "\n" by the text read layer in the OS.

Other tests fail for the same reason: the number of read bytes is not the same as the file size.

Changing the open option to "r" also prevents PEGTL to be used to parse binary files on Windows.

In my opinion, the option of opening the file in binary mode, i.e. without any OS translation, and generalize the eol and eolf parsers to accept the common line endings ("\n", "\r\n", "\r") is more general.

4. Although the unit_tests/file_data.txt is stored in the repository with Unix line endings, these are changed by git to the host line endings when pulling, and back to Unix when pushing.

Never having used git on Windows I wasn't aware of this.

I have changed the eol and eolf rules to accept both Unix (\n) and Dos (\r\n) line endings.

Right, this is now fixed.

This change is also included.

I didn't merge your pull request because I wanted to handle 3. differently.
If you could verify that I got everything right...
Thanks!

Almost right! The test unit_tests/file_file.cc was still failing because of the hard-coded literal "\n" instead of eol in the rule.
Fixed and issued a new pull-request for it.
A single "\r" is also used in some (older) architectures as line end character, as the  Mac OS up to version 9, and OS-9, and should also be accepted as eol character, if the other two rules "\n" and "\r\n" fail.
Thanks!

Yes, thanks, guess it shows that we can't currently test on Windows ourselves.
We thought about the "\r", but for the moment we have decided to bet on it being obsolete.

Btw, which name can I use to include you in the "Thank You" section? Is it "Paulo S. Custodio", or "Paulo Scustodio", or am I guessing completely wrong?

Paulo Custodio is fine.
I do parse old files with "\r" line endings and would like to have eol
handling it instead of creating my own specialization. But of course it is
your call.
It is a pity that Travis CI does not support Win32.
Thanks!
Regards,
Paulo Custodio

Thank you!
I'll keep the "\r" in mind. To support it properly the input class needs changing, too. It keeps track of the current line number by counting "\n"s...


replace random module with rand (Erlang 19+)

See title, random module is deprecated as of Erlang version 19.
This gives problems when I try working with it when using for example ExCheck:
Small excerpt of the error:
==> triq (compile)
Compiled src/triq_autoexport.erl
Compiling src/triq_dom.erl failed:
src/triq_dom.erl:290: random:uniform/1: the 'random' module is deprecated; use the 'rand' module instead
... (many more similar errors) ...
ERROR: compile failed while processing /tmp/excheck/deps/triq: rebar_abort
Replacing it with the new and better rand module should fix the problem.

See #61.

See pull request #63.


[1.7.10-<IP_ADDRESS>8]PRC not holding upgrades upon removal.

Tried it a few times, after inserting 8 energy and 8 speed upgrades into the PRC and wrencing it up, it will lose all upgrades in it,

There is no .718 build, but I suggest you update to <IP_ADDRESS>.  Hopefully that fixes the issue!


Command line interface

We should build a command line interface that so that users can split/combine secrets from the command line. This also allows for demos.

Fixed with the existence of https://github.com/dsprenkels/sss.


[d3d11] Performance loss

Hey. I noticed a bug that when you save the game, performance drops very much. Before saving, the game runs smoothly and with a good frame rate. Lowering the graphics settings to the bare minimum does not help. I met something similar in Resident Evil 2 Remake.
Software information
Divinity - Original Sin 2, the problem appears with any graphics settings
System information

GPU: GeForce GTX 660
Driver: 440.82
Wine version: Wine TkG 5.7
DXVK version: 1.6.1

Log files

d3d11.log: EoCApp_d3d11.log
dxgi.log: EoCApp_dxgi.log

This is not a bug, it's just that DXVK requires at least 4GB of VRAM to function properly and you only have 2.


E1 (Editing Stories) Valid to and From

E1: As a Data Dictionary Team colleague, I want the ability in Mauro to set and amend “valid to” and “valid from” dates on any item in an active branch. (Edit Functionality)

Covered in other issues.


Streaming kafka

Pull request
Description
Revert Kafka to use async but add
Related

Related Issues: fixes #000, closed #000
Related docs PR

Checklist

[x] The RFC, if required, has been submitted and approved
[ ] Any user-facing impact of the changes is reflected in docs.tremor.rs
[x] The code is tested
[x] Use of unsafe code is reasoned about in a comment
[x] Update CHANGELOG.md appropriately, recording any changes, bug fixes, or other observable changes in behavior
[x] The performance impact of the change is measured (see below)

Performance
just source changes

Coverage remained the same at 83.224% when pulling 13088f9307a02d68d70ec52502b9bb3b18596872 on streaming-kafka into 5cdb8b05491ce0d2ef3b9ff15f63c9fcd294445b on main.


⚠ Bofrost.at has degraded performance

In ef8560d, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2178 ms

Resolved: Bofrost.at performance has improved in bc8766e.


preview app: add non-text tab trigger

This change is

Thanks Jolie. Yes. with previous implementation some had only seen the values, that's why I added this as kind of a test, but maybe not that important if people anyhow do not expect the value to show up.
With the automerge on it was now already merged. So I would not change it for now.


Allow task owner to set a password for joining a task

For allowing joint training within a smaller set of trusted participants only (in addition to public tasks)

[ ] Add an optional password hash to the task description.
[ ] If present, new users will be asked the password before being able to join a task (like "joining this task is password restricted").
[ ] Add this to the documentation of how users can create a new task.

This functionality basically recovers federated learning as a special case. This is not giving the same security standard as a full PKI, and is not a replacement for a selection mechanism for helpful clients (as opposed to Byzantine ones), but is a start (see the same discussions in federated learning literature)

we can close this i think? except maybe should add the feature to the documentation somewhere?

and remove from mnist again

ping

Closing the issue since the functionality is now implemented.
We can allow the user to enter a password when they create a task through the form in the UI.
I also removed the password protection for Titanic already.


Inset and offset seem to behave inconsistently

New Issue Checklist

[X] I have looked at the Documentation
[X] I have read the F.A.Q.

Issue Info

Info
Value

Platform
os x

Platform Version
10.11

SnapKit Version
0.21.0

Integration Method
carthage

Issue Description
I can't seem to figure out how inset and offset are supposed to be used. It seems like depending on the constraint they act differently. Sorry I don't have exact examples right now, but in general I've had issues like:

Inset and offset doing the same thing on some constraints, but the opposite on others
Sometimes needing to use a negative number to get the expected behavior, sometimes not depending on constraint

My thinking was that inset moved things inside while offset moves things outside. But it seems like for some constraints like top IIRC, I have to use offset to move the view down, rather than inset, and other nonintuitive stuff like that.
Maybe I'm just thinking about them incorrectly? I don't see anything in the docs on how exactly they're meant to be used. Could you elaborate on them, and even better, add the info to the documentation? Thanks!

@einsteinx2 It is a bit confusing. To give you a bit of reference here:

offset is set as the constant value regardless of the attribute.
inset is set as the constant value, but sometimes inverted depending on the attribute. For instance right/bottom/width/height will be -(value)

If this isn't the case please provide an example with what isn't working this way and I'll get it tidied up.

I ran into same problem recently; it seems like inset would automatically negate the constant sign if you are working other view directly but if you are working constraint anchor then inset will be same offset, i.e. it will just add the constant.
childView.snp.makeConstraints { make in
    right.equalTo(parentView).inset(10)            /// this is: childView.right = parentView.right - 10
}

/// BUT

siblingView1.snp.makeConstraints { make in
    right.equalTo(siblingView2).inset(10).        /// this is: siblingView1.right = siblingView2.right + 10
}


Components auto-registration

This PR changes the way that the component registry works internally.
Before, each component had to have an import in the cmd/daprd/main.go file and then be added to the relevant registry in that file. With over 100 components, that started to become complex to track too.
Now, each component is automatically registered when a file is placed in cmd/daprd/components, with each component getting its own file. For example, this is the state_in-memory.go file:
package components

import (
	inmemory "github.com/dapr/components-contrib/state/in-memory"
	stateLoader "github.com/dapr/dapr/pkg/components/state"
)

func init() {
	stateLoader.DefaultRegistry.RegisterComponent(inmemory.NewInMemoryStateStore, "in-memory")
}

This PR is needed to simplify (greatly) the life of users who are building Dapr with a custom set of components, either adding new ones or stripping down components. The biggest advantage is a significant reduction in merge conflicts when managing a custom set of components.
PS: A companion PR will be needed in components-contrib. Once that's merged, I will remove the temporary replacement in the go.mod https://github.com/dapr/components-contrib/pull/1997
PPS: Also fixes #4860

Pinging @pkedy for review and thoughts as the main author of the current registration mechanism

I have a thought that could we use a method like a template to generate files in cmd/daprd/components based on config (maybe build config), make whole build like a menu?

It’s an option for the future. It does raise questions about what the supportability story would be in that case.
Note that some components have slightly different files, especially bindings (they can have both input and output) and middlewares.
for now, this PR is optimized to allow the people who absolutely need to build their own Dapr with a custom selection of components to do that more easily. Especially if you want to remove a lot of components, doing it without this PR makes it very likely to have a lot of merge conflicts over time.

In this way the dependences still exist in go.mod, how do you fix the "merge conflicts" issue?

The merge conflicts would be in the cmd/runtime/main.go. If you remove a lot of dependencies (like a user wants to do right now, removing almost all components), then any chance to the main.go file is likely to cause merge conflicts.
For the go.mod file, users could place their own additional dependencies at the very top or very bottom in a separate section. If they just want to remove components, then there's no problem there.

LGTM. Pending validation passing.

/ok-to-test

/ok-to-test

Something's up with the change. I'll investigate and the E2E test failures tomorrow morning.

@artursouza  fixed the issue that was causing tests to fail.

/ok-to-test

/ok-to-test

@yaron2 @artursouza @pkedy any update on this?
I heard from @mcandeia that this will help his work on pluggable components too


Look for .appveyor.yml and appveyor.yml

Either will work. https://www.appveyor.com/docs/build-configuration/#yaml-file-alternative-naming

Thanks!


Remove comment to fix #3392

This PR solves #3392

maybe move the comment after the uwsgi command so it's still there as informative on this "weird" endpoint bound to <IP_ADDRESS>


Mv expiry

not ready for prime time ... yet
Detailed description here:  https://github.com/basho/leveldb/wiki/mv-expiry

@matthewvon this is the open source version we discussed Friday, correct?
create jira issue

create jira issue

This will be the open source expiry.  It is still configured for EE since we were coding before product management decided.

+1 9e47fbb
Transition from EE to OS looks good. All unit tests pass


Is it possible to add an image to a header or footer?

In the notes on headers and footers there is a code &G to use a background image.
Is it possible to load an image in a similar way to calling .add_image on a worksheet and display the image in a section of the header or footer, or by passing the filename/location as an argument to the header/footer layout?

Can you say me how you added the header and footer to the axlsx?

did you find answer for this problem?


Add possibility to disable sorting after extracting a value

Currently, when extracting a value sorting happens automatically which is not desirable in my use case, please add a flag to disable auto sorting.
Great extension by the way, saved me a lot of time on a recent refactoring ❤

My bad, it wasn't sorting them, but just formatted a file

You can disable the sort with l10nization.arbSort settings

@mrRedSun I also made this plugin that detects unused translations in the application.

Oh damn, definitely have too many of those, gonna check it out 😅


Backtick as a shortcut key does not work

Does this issue occur when all extensions are disabled?: Yes

VS Code Version:

Version: 1.63.2
Commit: 899d46d82c4c95423fb7e10e68eba52050e30ba3
Date: 2021-12-15T09:39:46.686Z
Electron: 13.5.2
Chromium: 91.0.4472.164
Node.js: 14.16.0
V8: 9.1.269.39-electron.0
OS: Linux x64 5.13.0-19-generic

OS Version:

$ uname -a
Linux alex-p330 5.13.0-19-generic #19-Ubuntu SMP Thu Oct 7 21:58:00 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
> i3 --version                                                                                11:29:41
i3 version 4.20.1 (2021-11-03) © 2009 Michael Stapelberg and contributors

Steps to Reproduce:

Open vscode
Press "Ctrl + ` (backtick)"

Expected:
Terminal is opened
Actual:
Nothing happens
More information:
To verify my keyboard and OS works without a problem:

Open https://www.w3.org/2002/09/tests/keys.html
Press backtick key

The keyCode is correct compared to another Windows machine that Ctrl-backtick works as expected.
Some tests

Backtick in the editor and terminal as a normal character works well.
Setting "Ctrl-backtick` as a shortcut in vscode UI also does not work because vscode simply does not react to the backtick key

vscode settings
# settings.json
{
    "keyboard.dispatch": "keyCode",
...
}

Sorry. It seems this is not related to vscode. The i3 window manager seems to eat the Ctrl-backtick shortcut.
For other users that have similar problem:
On Linux, there are several layers of keyboard dispatching.
First you can try evtest /dev/inputX to check whether the kernel receive the correct scancode from your keyboard. This works well
Second you can try xev to see whether X11 correctly sends the keyboard shortcut to your application. For me, xev does not detect the keys. So it probably relates to X11/i3


Update contracts digest to 7e5420c

This PR contains the following updates:

Package
Update
Change

contracts
digest
6acab7c -> 7e5420c

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

Can one of the admins verify this patch?