State & memo reset on Action override when re-render of material table triggered (codesandbox)

I'm trying to override the Action component to return a custom selector that allows a user to utilize a preconfigured filter.
The state, memos, etc of my component get fully reset when the table data changes, not sure exactly what's going on here.
Minimal reproducible sandbox:
https://codesandbox.io/s/pedantic-rubin-ywvk6

Hello! Please see here (I just renamed it, as it was poorly named).
Also, see here and I just published those changes to v2.3.6. Would you mind testing it out?
Please use #59 moving forward :) it all seems to be related to that.

Hello! Please see here (I just renamed it, as it was poorly named).
Also, see here and I just published those changes to v2.3.6. Would you mind testing it out?
Please use #59 moving forward :) it all seems to be related to that.

@oze4 I'm not sure that this is a state change more or less there lack of a state change. Are you personally familiar with how actions are rendered? It appears as if it is forcing a brand new instance every time without react's cache.

@oze4 I'm not sure that this is a state change more or less there lack of a state change. Are you personally familiar with how actions are rendered? It appears as if it is forcing a brand new instance every time without react's cache.

Right. So an unnecessary state change. Have you given v2.3.6 a shot?

Right. So an unnecessary state change. Have you given v2.3.6 a shot?

I'm on mobile right now but will be back within 30 min or so. I'll dig deeper then. There are also a handful of other issues I'm working on so idk when I can dig into this with my full attention.

I'm on mobile right now but will be back within 30 min or so. I'll dig deeper then. There are also a handful of other issues I'm working on so idk when I can dig into this with my full attention.

@oze4 Yea I suppose you're right, I was focusing more on the reasoning than the effect. 2.3.6 does not appear to solve this problem.

@oze4 Yea I suppose you're right, I was focusing more on the reasoning than the effect. 2.3.6 does not appear to solve this problem.

That would be amazing! I reopened this issue. Sorry ab that.

That would be amazing! I reopened this issue. Sorry ab that.

@oze4 tag me on some issue #'s

@oze4 tag me on some issue #'s

Update this issue persists even when you don't override action and you override the icon button component via:
{
                          icon: "link",
                          tooltip: "blah",
                          onClick: () => {},
                          iconProps: {
                              component: () => (
                                  <MyComponent
                                      setData={setData}
                                      sourceData={sourceData}
                                  />
                              )
                          }
                      }

Update this issue persists even when you don't override action and you override the icon button component via:
{
                          icon: "link",
                          tooltip: "blah",
                          onClick: () => {},
                          iconProps: {
                              component: () => (
                                  <MyComponent
                                      setData={setData}
                                      sourceData={sourceData}
                                  />
                              )
                          }
                      }

Thank you for the update! I should be able to sit down and take a look at this in a couple of hours

Thank you for the update! I should be able to sit down and take a look at this in a couple of hours

@cbaker
As far as the SandBox you provided, the table data is rerendered because you are completely changing the data being fed into material table. This is expected behavior, no? Change the data, expect the data to be rendered in the table, right? Or am I misunderstanding the issue?
const Custom = ({ setData, origData, ...props }) => {
  const [times, setTimes] = useState(0);
  const p = useMemo(() => Math.random() * 100, []);

  const handleClick = () => {
    const newData = origData.filter((d) => d.b > 500);
    // ** COMMENTED OUT THIS LINE **
    // setData(newData);
    setTimes(times + 1);
  };

  return (
    <button onClick={handleClick}>
      {p} Click Me {times}
    </button>
  );
};

Commenting out the setData part fixes this...

@cbaker
As far as the SandBox you provided, the table data is rerendered because you are completely changing the data being fed into material table. This is expected behavior, no? Change the data, expect the data to be rendered in the table, right? Or am I misunderstanding the issue?
const Custom = ({ setData, origData, ...props }) => {
  const [times, setTimes] = useState(0);
  const p = useMemo(() => Math.random() * 100, []);

  const handleClick = () => {
    const newData = origData.filter((d) => d.b > 500);
    // ** COMMENTED OUT THIS LINE **
    // setData(newData);
    setTimes(times + 1);
  };

  return (
    <button onClick={handleClick}>
      {p} Click Me {times}
    </button>
  );
};

Commenting out the setData part fixes this...

Even when making a copy of origData (the data currently in the table) and setting that copy as the current data via setData(...) triggers this behavior even though the data in the table looks the same, it isn't the same data since we made a copy of it, therefore, the table is rerendered.
I think down the line (we are currently refactoring) we need to look into how to solve this because we should be able to keep the header the same while only rerendering the table body.

Even when making a copy of origData (the data currently in the table) and setting that copy as the current data via setData(...) triggers this behavior even though the data in the table looks the same, it isn't the same data since we made a copy of it, therefore, the table is rerendered.
I think down the line (we are currently refactoring) we need to look into how to solve this because we should be able to keep the header the same while only rerendering the table body.

@cbaker
As far as the SandBox you provided, the table data is rerendered because you are completely changing the data being fed into material table. This is expected behavior, no? Change the data, expect the data to be rendered in the table, right? Or am I misunderstanding the issue?
const Custom = ({ setData, origData, ...props }) => {
  const [times, setTimes] = useState(0);
  const p = useMemo(() => Math.random() * 100, []);

  const handleClick = () => {
    const newData = origData.filter((d) => d.b > 500);
    // ** COMMENTED OUT THIS LINE **
    // setData(newData);
    setTimes(times + 1);
  };

  return (
    <button onClick={handleClick}>
      {p} Click Me {times}
    </button>
  );
};

Commenting out the setData part fixes this...

Correct me if I'm wrong but even when re-rendering child components should not lose their state. I would wager they are rendering table actions etc incorrectly.

@cbaker
As far as the SandBox you provided, the table data is rerendered because you are completely changing the data being fed into material table. This is expected behavior, no? Change the data, expect the data to be rendered in the table, right? Or am I misunderstanding the issue?
const Custom = ({ setData, origData, ...props }) => {
  const [times, setTimes] = useState(0);
  const p = useMemo(() => Math.random() * 100, []);

  const handleClick = () => {
    const newData = origData.filter((d) => d.b > 500);
    // ** COMMENTED OUT THIS LINE **
    // setData(newData);
    setTimes(times + 1);
  };

  return (
    <button onClick={handleClick}>
      {p} Click Me {times}
    </button>
  );
};

Commenting out the setData part fixes this...

Correct me if I'm wrong but even when re-rendering child components should not lose their state. I would wager they are rendering table actions etc incorrectly.

It isn't losing it's state at all.  If a component has one of it's props change it will rerender. The dataprop is changing.
Therefore, all of <MaterialTable /> is "rendered" (it isn't even "re-rendering" it's completely rendering that data for the first time -- as far as JS is concerned it's a brand new object). Therefore, "rerendering" a new button in the header.

It isn't losing it's state at all.  If a component has one of it's props change it will rerender. The dataprop is changing.
Therefore, all of <MaterialTable /> is "rendered" (it isn't even "re-rendering" it's completely rendering that data for the first time -- as far as JS is concerned it's a brand new object). Therefore, "rerendering" a new button in the header.

I even tried to memoize the entire MaterialTable component, but not even that works. Like I said, what you want to accomplish should be possible. But the fix will need to be internal to MaterialTable and how we handle data, etc.. internally.

I even tried to memoize the entire MaterialTable component, but not even that works. Like I said, what you want to accomplish should be possible. But the fix will need to be internal to MaterialTable and how we handle data, etc.. internally.

It isn't losing it's state at all. If a component has one of it's props change it will rerender. The MaterialTable.dataprop is changing. You're essentially letting something from the "outside" change the state of something "inside".
Meaning <Custom /> is being passed the very func used to change internal state in <MaterialTable />.
I understand Custom winds up being a child of MaterialTable, but you're allowing the child to change state of the parent, which kicks off a new render of that parent, which in turn rerenders a new child.
That is why you only see this issue when the data prop is changed (setData(...)).
Due to a prop changing the entire component, <MaterialTable />, is "rendered" (it isn't even "re-rendering" it's completely rendering that data for the first time -- as far as JS is concerned it's a brand new object). Therefore, "rerendering" a new button in the header, along with everything else.
Are there internal ways we could most likely prevent something like this from happening? Yes. Unfortunately, that will take some time (contributions welcome 😄 )
I think trying to understand your overall goal, and what you are actually trying to accomplish, would be valuable.

We are trying to utilize the actions area for a preset filter dropdown. This obviously needs to change the data the table renders. I think there may be filters built into material-table by column, but we really wanted to implement ours this way, as it can filter on multiple fields & have a friendly label for our consumers.

It isn't losing it's state at all. If a component has one of it's props change it will rerender. The MaterialTable.dataprop is changing. You're essentially letting something from the "outside" change the state of something "inside".
Meaning <Custom /> is being passed the very func used to change internal state in <MaterialTable />.
I understand Custom winds up being a child of MaterialTable, but you're allowing the child to change state of the parent, which kicks off a new render of that parent, which in turn rerenders a new child.
That is why you only see this issue when the data prop is changed (setData(...)).
Due to a prop changing the entire component, <MaterialTable />, is "rendered" (it isn't even "re-rendering" it's completely rendering that data for the first time -- as far as JS is concerned it's a brand new object). Therefore, "rerendering" a new button in the header, along with everything else.
Are there internal ways we could most likely prevent something like this from happening? Yes. Unfortunately, that will take some time (contributions welcome 😄 )
I think trying to understand your overall goal, and what you are actually trying to accomplish, would be valuable.

We are trying to utilize the actions area for a preset filter dropdown. This obviously needs to change the data the table renders. I think there may be filters built into material-table by column, but we really wanted to implement ours this way, as it can filter on multiple fields & have a friendly label for our consumers.

Completely agree with you. We should be able to handle this internally. There should be a way to feed data into the table without triggering a rerender of the entire table, rather only the body.
Open to ideas!

Completely agree with you. We should be able to handle this internally. There should be a way to feed data into the table without triggering a rerender of the entire table, rather only the body.
Open to ideas!

Externally getting the ref then doing something along the lines of:
```
const { current } = tableRef;
const newData = data.filter((d) => d.b < 10);
current.dataManager.setData(newData);
current.setState(current.dataManager.getRenderState());

Externally getting the ref then doing something along the lines of:
```
const { current } = tableRef;
const newData = data.filter((d) => d.b < 10);
current.dataManager.setData(newData);
current.setState(current.dataManager.getRenderState());

Looks good to me. @cbaker
May want to make this a "util" or "helper" func? We have plans to do away with dataManager and introduce Context API.

Looks good to me. @cbaker
May want to make this a "util" or "helper" func? We have plans to do away with dataManager and introduce Context API.

@oze4 the dataManager is a util that just formats data for the state, it doesn't actually hold state or attempt to, but yea the ctx api could be legit.

@oze4 the dataManager is a util that just formats data for the state, it doesn't actually hold state or attempt to, but yea the ctx api could be legit.

@cbaker I get that. But there are better, more obvious ways to write code.
If you have a component that needs utils, there are better ways to structure it. If it's something you can use globally, why not use a hook or context, etc..?
In my opinion, chucking all misc functions/helpers/formatters into a single file is a bad idea. But wait, there's more - it isn't just one global utils file, it's an entire folder. Things like this, in my opinion, make it extremely difficult to read through this code.

@cbaker I get that. But there are better, more obvious ways to write code.
If you have a component that needs utils, there are better ways to structure it. If it's something you can use globally, why not use a hook or context, etc..?
In my opinion, chucking all misc functions/helpers/formatters into a single file is a bad idea. But wait, there's more - it isn't just one global utils file, it's an entire folder. Things like this, in my opinion, make it extremely difficult to read through this code.

@oze4 I'm not disagreeing with you at all, I was just stating what I saw in my quick peek this morning trying to find a workaround to get something working in production.

@oze4 I'm not disagreeing with you at all, I was just stating what I saw in my quick peek this morning trying to find a workaround to get something working in production.

I display a modal dialogue via changing the state of a flag.
onClick={()=>this.setState({displayFilterModal:true})}
Without doing anything else, the state will rerender and I lose the group by column and sorting.  This wasn't expected.  I would have expected everything stays the same even if I change the remote data filters and apply the new results to the table.  The functionality is the user is able to change a date range and query.  They would expect the layout to remain but the number of records to change.  Eventually, we will support saving the layout and filters as a named layout setting in our app, I might be able to just reapply and own the state myself in the meantime.
Side note:  Is there a donate button for the effort everyone is putting into this branch?  Would like to contribute.  ;)

Thank you @sinclas - this has been an issue for a while (referring to the table rerendering when it shouldn't).  We should prob give this higher priority as well, as it is kind of a big deal imo.
I will start troubleshooting this so that I can (hopefully) bring some solutions to the table which we can all review from there.
As far as donations are concerned, I don't feel comfortable accepting donations because I did not write 99% of the code in this repo. I am humbled by your suggestion, though, and thank you very much.  However, I think for now that money should be donated to mbrn for starting such an amazing project! We are just trying to support him by keeping it alive.
Personally, the thought matters more than the money (it really does mean a lot). Thank you.

These projects, especially this one is large and can take a ton of time to get right.
Wish I had some off-hours to pull and contribute ideas since I have a ton.  Thanks for the quick reply.   If you need someone to test a min/maj release, let me know and I can do a quick install and plug it into a sample project.  again.  thanks.

In my case the problem was that I was using a funcional component and any change in the state reseted the sort defaults.
The solution was to apply useCallback in both columns definition and options.
Example:
  const columns = useCallback(() => {
    return [
        ...my columns...
    ]
  }, []);

  const options = useCallback(() => {
    return {
        ...my options...
    }
  }, []);

  return (
      <MaterialTable
        style={tableStyle}
        options={options()}
        columns={columns()}
        data={myDataState}
      />
  )

@sinclas Does @fvicente workout work for you? Seems like changing options (a new object, even if the content is the same) might trigger this.
If we could narrow it down to this, it would make the fix easier to find.
We are also thinking of making the columns and data required to be the same instance since this would both make it easier for us to track changes (object reference changed => new rerender). But we are still working on the correct way to go about that.
FYI, using the useMemo hook would make the code a bit easier to read:
`const columns = useMemo(() => {
return [
...my columns...
]
}, []);
const options = useMemo(() => {
return {
...my options...
}
}, []);
return (

)`

Hi,
How would this work with the columns?   I tried a couple of ways to useMemo and wondering how to get this working.  I get React-specific errors on utilizing memo incorrectly.
Thanks!
Steve

On Jun 9, 2021, at 12:37 PM, Domino987 @.***> wrote:
@sinclas https://github.com/sinclas Does @fvicente https://github.com/fvicente workout work for you? Seems like changing options (a new object, even if the content is the same) might trigger this.
If we could narrow it down to this, it would make the fix easier to find.
We are also thinking of making the columns and data required to be the same instance since this would both make it easier for us to track changes (object reference changed => new rerender). But we are still working on the correct way to go about that.
FYI, using the useMemo hook would make the code a bit easier to read:
`const columns = useMemo(() => {
return [
...my columns...
]
}, []);
const options = useMemo(() => {
return {
...my options...
}
}, []);
return (
)`
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/material-table-core/core/issues/66#issuecomment-857856148, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJ7G5CLFIQKPTWTJNDJTG3TR6KGHANCNFSM4WDDE3EA.

I think this should be fixed. Is this still an issue?


Android HttpClientHandler.ClientCertificates fix

Check if client cert is configured before accessing HttpClientHandler.ClientCertificates to fix Android
https://github.com/aspnet/SignalR/issues/2232
There is no way to unit test without running tests on Android.
Is this 2.1 worthy? I have two concerns:

A dev should verify that this fix works on Xamarin.
There might be other Xamarin bugs that show up after fixing this one.

@mikaelm12 could you build a private and test with the latest Xamarin stuff please? I wonder if there are other issues that would prevent the client running there even after this. (I know there was some missing methods in the past.)

@JamesNK what did you do that this has 71 commits. Did you merge or something?

I changed the base branch. Read the history brah. Fixing it now. We want this to be ready for shiproom this morning.

I'll look again when its a single commit 😄

Done. It's not a single commit, but it's back to the same commits it had when it was based on dev

My guess is that this is the top of the iceberg. We need somebody to run an end to end test on mono to see where it breaks.

Mono JIT compiler version <IP_ADDRESS> (2017-12/8eb8f7d5e74 Fri Apr 13 20:18:12 EDT 2018)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
	TLS:           normal
	SIGSEGV:       altstack
	Notification:  kqueue
	Architecture:  amd64
	Disabled:      none
	Misc:          softdebug
	Interpreter:   yes
	LLVM:          yes(3.6.0svn-mono-master/8b1520c8aae)
	GC:            sgen (concurrent by default)

Mono on OSX compiled against .NET Framework on windows then running with mono on osx:
fail: Microsoft.AspNetCore.Http.Connections.Client.HttpConnection[10]
      Failed to start connection. Error getting negotiation response from 'http://localhost:5000/default'.
System.MissingMethodException: bool System.Net.Logging.get_On()
  at System.Net.Http.DelegatingHandler.SendAsync (System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) [0x00019] in <27bbdd4ceaf04a95b172ee502d76a725>:0
  at Microsoft.AspNetCore.Http.Connections.Client.Internal.AccessTokenHttpMessageHandler.<>n__0 (System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) [0x00000] in <026b7e83a4e146b999fe78372eea5ab5>:0
  at Microsoft.AspNetCore.Http.Connections.Client.Internal.AccessTokenHttpMessageHandler+<SendAsync>d__2.MoveNext () [0x000d3] in <026b7e83a4e146b999fe78372eea5ab5>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <bb7b695b8c6246b3ac1646577aea7650>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <bb7b695b8c6246b3ac1646577aea7650>:0
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <bb7b695b8c6246b3ac1646577aea7650>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <bb7b695b8c6246b3ac1646577aea7650>:0
  at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in <bb7b695b8c6246b3ac1646577aea7650>:0
  at Microsoft.AspNetCore.Http.Connections.Client.Internal.LoggingHttpMessageHandler+<SendAsync>d__2.MoveNext () [0x0009f] in <026b7e83a4e146b999fe78372eea5ab5>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <bb7b695b8c6246b3ac1646577aea7650>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <bb7b695b8c6246b3ac1646577aea7650>:0
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <bb7b695b8c6246b3ac1646577aea7650>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <bb7b695b8c6246b3ac1646577aea7650>:0
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in <bb7b695b8c6246b3ac1646577aea7650>:0
  at System.Net.Http.HttpClient+<FinishSendAsyncUnbuffered>d__59.MoveNext () [0x000b7] in <27bbdd4ceaf04a95b172ee502d76a725>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <bb7b695b8c6246b3ac1646577aea7650>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <bb7b695b8c6246b3ac1646577aea7650>:0
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <bb7b695b8c6246b3ac1646577aea7650>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <bb7b695b8c6246b3ac1646577aea7650>:0
  at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in <bb7b695b8c6246b3ac1646577aea7650>:0
  at Microsoft.AspNetCore.Http.Connections.Client.HttpConnection+<NegotiateAsync>d__45.MoveNext () [0x0013d] in <026b7e83a4e146b999fe78372eea5ab5>:0

@davidfowl  According to this https://github.com/aspnet/SignalR/issues/2208#issuecomment-386891547 the version of mono that should work is 5.12

Works with mono 5.12:
Davids-MacBook-Pro-3:net461 dfowler$ mono --version
Mono JIT compiler version <IP_ADDRESS> (2018-02/9824e260f56 Mon Apr 30 18:45:52 EDT 2018)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
	TLS:           normal
	SIGSEGV:       altstack
	Notification:  kqueue
	Architecture:  amd64
	Disabled:      none
	Misc:          softdebug
	Interpreter:   yes
	LLVM:          yes(3.6.0svn-mono-master/8b1520c8aae)
	GC:            sgen (concurrent by default)
Davids-MacBook-Pro-3:net461 dfowler$ mono ClientSample.exe hub http://localhost:5000/default
Connecting to http://localhost:5000/default
info: Microsoft.AspNetCore.Http.Connections.Client.Internal.WebSocketsTransport[1]
      Starting transport. Transfer mode: Text. Url: 'ws://localhost:5000/default?id=Ewv7WaHREHIYM5BghblzzQ'.
info: Microsoft.AspNetCore.Http.Connections.Client.HttpConnection[3]
      HttpConnection Started.
info: Microsoft.AspNetCore.SignalR.Client.HubConnection[24]
      Using HubProtocol 'json v1'.
Ewv7WaHREHIYM5BghblzzQ joined
info: Microsoft.AspNetCore.SignalR.Client.HubConnection[44]
      HubConnection started.
Connected to http://localhost:5000/default

🎉


Functions executed via multiprocessing aren't reliably being covered by coverage.py

Describe the bug
We have code that is run in Azure DevOps using Python's multiprocessing library executed via Python's built-in unittest module. With print() statements in the parallel code we can show that the code is consistently executed. However, coverage.py reports that these functions are covered in some pipeline runs but not others, even though no code change has happened between the runs. This means  code coverage reports aren't reliable and could potentially affect our quality gate criteria for passing builds.
To Reproduce
How can we reproduce the problem?  Please be specific. Don't link to a failing CI job. Answer the questions below:
What version of Python are you using?
Python 3.8.10 on Microsoft Windows Server 2022 (Azure DevOps runner image windows-2022, with this software).
What version of coverage.py shows the problem? The output of coverage debug sys is helpful.
Coverage.py, version 7.6.0 with C extension
What versions of what packages do you have installed? The output of pip freeze is helpful.
Package             Version
------------------- -----------
bokeh               3.1.1
contourpy           1.1.1
coverage            7.6.0
cycler              0.12.1
et-xmlfile          1.1.0
fonttools           4.53.1
greenlet            3.0.3
importlib_resources 6.4.0
Jinja2              3.1.4
joblib              1.4.2
kiwisolver          1.4.5
lxml                5.2.2
MarkupSafe          2.1.5
matplotlib          3.7.5
numpy               1.24.4
openpyxl            3.1.5
packaging           24.1
pandas              2.0.3
pillow              10.4.0
pip                 24.1.2
prodaps             0.11.0
pyparsing           3.1.2
python-dateutil     2.9.0.post0
pytz                2024.1
PyYAML              6.0.1
scikit-learn        1.3.2
scipy               1.10.1
setuptools          71.1.0
six                 1.16.0
SQLAlchemy          2.0.31
threadpoolctl       3.5.0
tomli               2.0.1
tomli_w             1.0.0
tornado             6.4.1
typing_extensions   4.12.2
tzdata              2024.1
wheel               0.43.0
xyzservices         2024.6.0
zipp                3.19.2

Plus our own package we're installing (not shown).
What code shows the problem?  Give us a specific commit of a specific repo that we can check out. If you've already worked around the problem, please provide a commit before that fix.
We can't share the code unfortunately, but it was launched using Python's multiprocessing module as per here. The DevOps Windows VMs have 2 CPUs.
What commands should we run to reproduce the problem? Be specific. Include everything, even git clone, pip install, and so on. Explain like we're five!
Print() statements in the function called with mp.Pool.map() show that that the function is being called consistently in parallel, but the HTML coverage report only shows that the function has coverage in some DevOps runs, but not others.
Expected behavior
As the parallel code is always being executed the function should always show coverage.
Additional context
Add any other context about the problem here.
In the DevOps pipeline we execute numerous test modules in separate folders like this:
coverage run --rcfile=.coveragerc -m unittest --failfast --verbose test_module1.py
The .coveragerc config file looks like this (with package name and omit folders obfuscated):
[run]
source_pkgs =
    our_package

omit =
    */a/b/*

branch = true

concurrency =
    multiprocessing

parallel = true

After all the tests we run coverage combine, passing it all the folder names where the tests were executed. Then run coverage report and coverage xml. We also use sed to edit coverage.xml to make the file paths more human readable. Finally we publish the edited xml file to the pipeline's artifacts using DevOps' PublishCodeCoverageResults@2 task. Code Coverage then appears in the build's results and the HTML report can be drilled down into on a per file basis.
The problem is that when we drill down into the Python module that is executed in parallel, sometimes it is shown as having been covered (green) but other times it is not (red). This is despite print() statements in the parallel code showing that the code has been executed even when coverage.py thinks it has not.

I notice a similar issue about undeterministic results at https://github.com/nedbat/coveragepy/issues/1533, albeit using pytest rather than unittest. @nedbat I apologise this issue doesn't have a minimal reproducible for you, but I thought you should know about this anyway.

I would like to see a way to reproduce the problem.  I'll note that the multiprocessing docs are not explicit about how to cleanly shutdown subprocesses.  In #1910 we worked out that you need:
with multiprocessing.Pool(processes=1) as pool:
    # ... use the pool ...
    pool.close()
    pool.join()

I've updated the coverage docs subprocess page: https://coverage.readthedocs.io/en/latest/subprocess.html#using-multiprocessing.
If the problem persists, feel free to open a new issue.


feat(network): add option to sync in main thread instead of worker

Adds an option to createSyncWorker (and setupMUDNetwork) to instantiate the "SyncWorker" in the main thread instead of a worker thread.

Do we even need workers still? Given the troubles of using them in e.g. vite I'd just remove them unless UI noticeably freezes without using workers

I'm curious how vite builds this now that this is conditional.

I think the vite issue only occurs when trying to use a worker (it just doesn't start and fails silently), not when building with vite.

yes, but there's another one with imports in firefox, not sure if that still remains

Another thing to consider is by separating the import path, we could also remove the need to add threads etc as peer deps.


Create hit detection data per layer and without requestAnimationFrame

Calculating hit detection data in an animation frame properly would require more effort, to avoid creating it multiple time if multiple calls to getFeatures() were made before the animation frame. Looking at the performance profile, I decided to calculate it immediately, but only when we are not animating or interacting. For vector layers, this was the case already.
With vector tile layers, the previous code did extra work when a source was shared among multiple layers. By storing hit detection data on the render tile for each layer that uses the render tile (like we do for the executor groups), we can improve that.
Fixes #10250

I need to revisit the hit detection image data part. Looks like we’re sharing render tiles between layers that use the same source, which we should not be doing.

I just confirmed, the way we key hit detection image data by layer uid is ok and consistent with what we do for the canvas context and the executor groups.
I'm going to add a few more tests, and report back when this is ready for review.

I added more tests now - this is ready for review.

Thanks for any review.


Separate session management from global subject table

Also resolve that outstanding issue with adding new sessions to the pipeline from Bens

Just to provide some more details for my sake here:

We are splitting the Subject Table into two tables: a Subject Metadata table (with Subject ID as a main column) and a Session ID table where each Session ID is associated with one Subject ID (constrained to exising IDs).
This helps people think in terms of standard input cells whenever they use our tables (rather than the CSV-like list editor).
When changing the Subject ID, it should auto-update on the second table

While the current method of manually adding more sessions could be improved in separate ways, I'd say this separation is no longer needed


Remove leading space

Firstly, great work on this library! It's the smallest and most performant CSSinJS solution that I have found so far!
Is there any way to remove the leading space from the generated class name other than always having to manually trim them?
I feel like it would be easier for those using in React concatenating to just add a space. Whenever I try to use it with classList.add on a normal element, it blows up because of the leading space.

Sorry, currently no plans to remove leading space.


Add prerelease testing for CPython 3.13 to CI

Add prerelease testing for CPython 3.13 to CI
It would also be good to add a job that builds flint from git trunk...

Looks like building against flint main fails for fmpz_mod_mat:
src/flint/types/fmpz_mod_mat.c:4860:5: error: too few arguments to function ‘fmpz_mod_mat_clear’
       4860 |     fmpz_mod_mat_clear(__pyx_v_self->val);
            |     ^~~~~~~~~~~~~~~~~~
      In file included from src/flint/types/fmpz_mod_mat.c:1227:
      /usr/local/include/flint/fmpz_mod_mat.h:48:6: note: declared here
         48 | void fmpz_mod_mat_clear(fmpz_mod_mat_t mat, const fmpz_mod_ctx_t ctx);
            |      ^~~~~~~~~~~~~~~~~~

Maybe there are incompatible changes to the signatures of functions that operate with fmpz_mod_mat...

Looks like this was changed in https://github.com/flintlib/flint/pull/1754

Looks like this was changed in flintlib/flint#1754

Yes, this will be a notable compatibility-breaking change in 3.1. There could be others, but hopefully nothing as major.

I don't think it would be hard to change the fmpz_mod_mat code in python-flint for the change. Attempting to support both versions of Flint is possibly awkward but perhaps this is a good moment to see how well an #ifdef approach can work.

The python-flint fmpz_mod_mat type already stores a reference to an associated
fmpz_mod_ctx. If I understand correctly the change is mostly just that almost
all fmpz_mod_mat functions in flint now need this ctx to be passed explicitly
as an additional parameter.
We can probably do something like:
# fmpz_mod_mat.pxd
cdef extern from *:
    """
    /*
     * fmpz_mod_mat function signatures were changed in flint 3.1.0
    */
    #if __FLINT_RELEASE >= 30100
    void fmpz_mod_mat_clear_compat(fmpz_mod_mat_t mat, fmpz_mod_ctx_t ctx) {
        fmpz_mod_mat_clear(mat, ctx);
    }
    #else
    void fmpz_mod_mat_clear_compat(fmpz_mod_mat_t mat, fmpz_mod_ctx_t ctx) {
        fmpz_mod_mat_clear(mat);
    }
    #endif
    """

cdef extern from "flint/fmpz_mod_mat.h":
    void fmpz_mod_mat_clear_compat(fmpz_mod_mat_t mat, fmpz_mod_ctx_t ctx)

# fmpz_mod_mat.pyx
cdef class fmpz_mod_mat:
    ...
    def __dealloc__(self):
        fmpz_mod_mat_clear_compat(self.mat, self.ctx)

Okay, all sorted and works with latest Flint from git as well as previous versions.


Remove warnings

Thank you for your contribution to the KodaDot NFT gallery.
👇  _ Do a quick check before the merge.
PR type

[x] Bugfix
[ ] Feature
[ ] Refactoring

Before submitting Pull Request, please make sure:

[x] My contribution builds clean without any errors or warnings
[x] I've merged recent default branch -- main and I've no conflicts
[x] I've tried respect high code quality standards
[x] I've didn't break any original functionality
[x] I've posted screenshot of demonstrated change in this PR

What's new?

[x] PR closes #1254
[x] Remove warnings in build

Screenshot

[ ] My fix has changed something on UI, a screenshot for others, is best to understand changes.

LGTM


chore(brillig): Add a register abstraction

Incremental towards https://github.com/noir-lang/noir/issues/1720

@kevaundray worth having a look now I think. I think this is an improvement, plus fixes a bug I think we merged in Alvaro's PR - latest register still started at 0 in alvaro's PR even though there was reserved regs

@kevaundray pushed a ensure_register_is_allocated call where the check was before and added more deallocate_register cleanup that should hopefully tame how many registers we use

@kevaundray pushed a ensure_register_is_allocated call where the check was before and added more deallocate_register cleanup that should hopefully tame how many registers we use a bit until we do more robust things

it feels a little weird as technically we're copying between different BrilligRegisterContext's conceptually. So it's a bit of an abstraction break. But probably will say we can delay thinking about a clean abstraction for BrilligRegisterContext passing to another context later


cranelift: Implement float rounding operations in interpreter

👋  Hey,
This PR implements the following operations on the interpreter:

ceil
floor
nearest
trunc

Merge conflict, happy to merge once resolved!


Add a Gitter chat badge to README.md

hacsoc/the_jolly_advisor now has a Chat Room on Gitter
@ajm188 has just created a chat room. You can visit it here: https://gitter.im/hacsoc/the_jolly_advisor.
This pull-request adds this badge to your README.md:

If my aim is a little off, please let me know.
Happy chatting.
PS: Click here if you would prefer not to receive automatic pull-requests from Gitter in future.

This was me. Going ahead and merging.


Issues signing into danbooru

I'm having issues signing into danbooru, I have a gold account so I'd like to sign in to use more than the standard 2 tags, I enter my username and api key like normal, but when I try to load any page it comes back saying Danbooru-No result. Its happening on both my mac as well as my pc.

Which login method are you using?
AFAIK for Danbooru there are three:

HTTP basic: username and API key, should work
Post: you have to use your username and password, not your API key
Through URL: you have to use your username and password, not your API key

I'm personally using API key as you can see above, with no issues.
I can reproduce the "no results" error you see by entering a wrong API key, though.

Which login method are you using?
AFAIK for Danbooru there are three:

HTTP basic: username and API key, should work
Post: you have to use your username and password, not your API key
Through URL: you have to use your username and password, not your API key

I'm personally using API key as you can see above, with no issues.
I can reproduce the "no results" error you see by entering a wrong API key, though.
Make sure you're using "HTTP basic" and the API key you're using is correct, without spaces on either side from a copy and paste. You can also try to restart Grabber and see if it helps.

That fixed it for me, on the mac it doesn't show the http basic for me so that was why it didn't work there, and I had Through URL selected on the pc, so I just swapped it over and its now working fine


fixing a typo

You're my hero @shiftkey (seriously - because you know I would have totally forgotten and never would have actually gotten around to this myself, I mean it's already been a week 😬)


New flat styling of ID cards

Task description
In Flow 7 in Figma a new flat styling for the identity cards can be seen. This is nice-to-have with low priority. Besides being flat, the ID cards now also have coloured edges matching their status a bit.
Note: As you can see in one of the screenshots below, the ID cards can be seen besides an account card in the intro flow. This means that if the ID card is made flat, the account cards have to be flat as well.
Important! Please coordinate between between iOS and Android development, so these nice-to-have changes are only done, if there is time to do them on both platforms.
The new styling can also be seen in the screenshots below:

Verified.
Versions

Software Version: Testnet 2.0.1 (71)
OS: Android 11
Browser: N/A
Mobile device: Pixel 4a


[behavior-change] D202 don't flag if there is a leading comment

Upgraded to black 22.12.0 (preview mode) and noticed that ruff now disagrees with black over how to format this:
def analytics_call(fn):
    """Decorator for all functions below that write to segment.com."""

    # Catch and log errors but don't propagate. We don't want analytics write failure to bubble up
    # to user actions.
    # Ensure write_key is present or log warning.

Ruff D202 wants to get rid of the blank line after docstring, but black requires that it be there (only since the next bit of code is a comment). I don't know how Flake8 does it but I think black's way makes sense here.

Oh, interesting, so it wants a blank line when it's followed by a comment? We can do that.

Confusingly, if I run black --preview on 22.12.0 over this code:
def analytics_call(fn):
    """Decorator for all functions below that write to segment.com."""
    # Catch and log errors but don't propagate. We don't want analytics write failure to bubble up
    # to user actions.
    # Ensure write_key is present or log warning.

It doesn't add that newline. Is that what you're seeing?

Closing for now, Black seems ok with either.

Hey sorry for not following up here, I'm not sure what exactly was going on but the issue seems resolved now in any case.

All good, no prob :)


Integrating image picker widget in Survey Editor issues

I am trying to integrate the image picker widget in Survey Editor. So far, I've encountered the following issues:

in order for the image picker to be rendered, the items of the choices property must be defined by Value and ImageLink(instead of Text)

-there is no control over images size (huge images will be displayed in scrollable containers instead of being resized to fit the available area)

Do you have any suggestions for solving this issues?

We need to introduce a custom property editor for image picker choices. This editor should be added to the widgets library.

Also, it would be a nice feature to have the option to upload a file instead of specifying its URL.

@maria-negrea Thank you for the suggestion. We'll discuss it with the team.

Now image picker is a part of the SurveyJS library and fully supported by the editor. Please look at the example: https://surveyjs.io/Examples/Library/?id=questiontype-imagepicker&platform=jQuery&theme=default


Confliction with the Prop protection "PatchProtect

Basically patchprotect is an antispam and prop protection addon.
Link here: http://steamcommunity.com/sharedfiles/filedetails/?id=183047564
Ever since i installed URS the antispam system would fail to detect a prop spawn.
I had a discussion with the patchprotect dev and this came up:
The last thing what you can do is, to remove parts of the code of URS.
You need to remove following lines from the following file:
https://github.com/Aaron113/URS/blob/537d6ab45faf725796c65dc27976c7e0eb5456cf/lua/ulx/modules/urs_server.lua

88 till 96
106 till 119
125
137 - 140

I know, this is a very crappy solution, but nothing else can help. The thing is, that I can't do anything against that.
Last edited by Ted894.
Here is the full discussion of it (The discussion starts on page 3)
http://steamcommunity.com/workshop/filedetails/discussion/183047564/43099721684542778/#p1

I will have to look at the code for PatchProtect as I cannot think why it would conflict unless you have sbox overwrite on.  The suggested fix completely disables URS.  I will check it tonight.

If you're using the workshop version, I advise against it.  It is out of date.

Should be resolved on both workshop and github version.  Confirm please?

Confirmed :) Sorry for the late reply. The anti spam now functions. Appreciate it!


Reset cache change que return to pool

This feature resets changes from the RTPS PayloadPool correctly, fixing the issue discovered in https://github.com/eProsima/DDS-Router/discussions/353.

After many long hours, we have been able to come up with a scenario that, without this fix, keeps throwing:
[RTPS_WRITER Error] Error sending fragment (21, 2) -> Function deliver_sample_nts
[RTPS_WRITER Error] Cannot add DATA_FRAG submsg to the CDRMessage. Buffer too small -> Function add_data_frag

until it SEGFAULTs. This feature fixes it, stopping the errors and the SEGFAULT.

After many long hours, we have been able to come up with a scenario that, without this fix, keeps throwing:
[RTPS_WRITER Error] Error sending fragment (21, 2) -> Function deliver_sample_nts
[RTPS_WRITER Error] Cannot add DATA_FRAG submsg to the CDRMessage. Buffer too small -> Function add_data_frag

until it SEGFAULTs. This feature fixes it, stopping the errors and the SEGFAULT.

Codecov Report
Attention: Patch coverage is 0% with 13 lines in your changes are missing coverage. Please review.

Project coverage is 34.03%.

Files
Patch %
Lines

...rc/cpp/efficiency/cache_change/CacheChangePool.cpp
0.00%
13 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main       #9      +/-   ##
==========================================
- Coverage   34.15%   34.03%   -0.12%
==========================================
  Files         154      154
  Lines        7861     7874      +13
  Branches     3515     3515
==========================================
- Hits         2685     2680       -5
- Misses       3265     3280      +15
- Partials     1911     1914       +3

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


[BUG] Unable to Execute Binary File in Local Development

Environment

chromium Version: 109
puppeteer / puppeteer-core Version: 19.5.2
Node.js Version: 16
Lambda / GCF Runtime: nodejs 16.x
MacOS 11.7.2
x64 Intel processor and running Lambda with x64 architecture

Expected Behavior
The chromium binary should execute
Current Behavior
{
    "errorMessage": "Failed to launch the browser process!\n/tmp/chromium: /tmp/chromium: cannot execute binary file\n\n\nTROUBLESHOOTING: https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md\n",
    "errorType": "Error",
    "stackTrace": [
        "Error: Failed to launch the browser process!",
        "/tmp/chromium: /tmp/chromium: cannot execute binary file",
        "",
        "",
        "TROUBLESHOOTING: https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md",
        "",
        "    at onClose (/path-hidden/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.js:299:20)",
        "    at Interface.<anonymous> (/path-hiddden/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.js:287:24)",
        "    at Interface.emit (node:events:525:35)",
        "    at Interface.emit (node:domain:489:12)",
        "    at Interface.close (node:readline:590:8)",
        "    at Socket.onend (node:readline:280:10)",
        "    at Socket.emit (node:events:525:35)",
        "    at Socket.emit (node:domain:489:12)",
        "    at endReadableNT (node:internal/streams/readable:1358:12)",
        "    at processTicksAndRejections (node:internal/process/task_queues:83:21)"
    ]
}

Steps to Reproduce

Follow installation steps in documentation (installing @Sparticuz/chromium as a dev dependency)
export IS_LOCAL=true
Try running lambda function with serverless offline

Lambda function code example:
import 'source-map-support/register';

import type { ValidatedEventAPIGatewayProxyEvent } from '@/utils/apiGateway';
import { middyfy } from '@/middleware';

import schema from './schema';

const chromium = require('@sparticuz/chromium');
const puppeteer = require('puppeteer-core');

const capture: ValidatedEventAPIGatewayProxyEvent<typeof schema> = async (
  event,
) => {
  const { queryStringParameters } = event;
  if (
    !queryStringParameters ||
    !queryStringParameters.url ||
    !queryStringParameters.screen
  ) {
    return { statusCode: 403 };
  }

  const { url } = queryStringParameters;
  console.log(queryStringParameters);
  const [width, height] = queryStringParameters.screen.split(',');

  if (!width || !height) {
    return { statusCode: 403 };
  }

  console.log('About to launch the browser...');
  const execPath = await chromium.executablePath();
  console.log(execPath);
  console.log(process.version);
  console.log(process.env.IS_LOCAL);
  const browser = await puppeteer.launch({
    args: chromium.args,
    defaultViewport: chromium.defaultViewport,
    executablePath: await chromium.executablePath(),
    headless: chromium.headless,
    ignoreHTTPSErrors: true,
  });
  const browser = await puppeteer.launch({
    headless: true,
  });
  console.log('I launched the browser!!');

  const page = await browser.newPage();
  await page.setViewport({
    width: Number(width),
    height: Number(height),
  });

  await page.goto('https://example.com');
  console.log(`Page title ${await page.title()}`);
  const screenshot = await page.screenshot({
    path: 'screenshot.png',
    encoding: 'base64',
  });

  await browser.close();

  return {
    statusCode: 200,
    body: `<img src=”data:image/png;base64,${screenshot}”>`,
    headers: { 'Content-Type': 'text/html' },
  };
};

export const main = middyfy(capture);

The console logs confirm that my lambda is running is node 16 and that the chromium.exectubalePath() is pointing to /tmp/chromium.
The function blows up when I try to launch the browser:
  const browser = await puppeteer.launch({
When I open /tmp/chromium and attempt to execute the file, I also get
zsh: exec format error: ./chromium. This leads me to believe there may be an issue with the chromium binary file
Possible Solution

Having the same issue, did you manage to find any workaround?

@kaykhan I was not, unfortunately 😞 I ended up switching over to playwright-aws-lambda and have had much better luck! It worked right out of the box

Does sls offline run a docker container similar to how aws sam does their testing? If so, you might need to make the binaries available to the container, whether that's making them production dependencies, or layers, etc..
You can also try the @sparticuz/chromium-min package and provide a location for the files.
If you don't need a newer version of chromium, playwright-aws-lamda looks extremely similar to chrome-aws-lambda. The main difference being that chromium is over two years old!

Just to clarify but this problem does not only just exists with sls offline. it also exists with sls invoke local -f <function_name

If you specify the package as a production dependency does it work?

@Sparticuz @kaykhan For further clarification to my posts above, playwright-aws-lambda worked fine locally using serverless offline but did not work when actually deployed. Probably to your point @Sparticuz that the binaries included in that package are super old.
Using this package as a production dependency, everything works perfectly in deployed environments! But I'm still seeing the same error described above in which my local environment seems unable to run the inflated executable file. Would you mind sharing where you're sourcing these binaries @Sparticuz? I don't know if there are any OS-related gotchas here, but my hunch is that there might be. I'm also going to try running my project on my Linux machine this weekend to see if this local dev issue is still present there

If you specify the package as a production dependency does it work?

Ive been installing via npm install <package> rather than a dev dependency. Becuase ive been attempting to develop locally. And it does not work like this

Would you mind sharing where you're sourcing these binaries @Sparticuz?

https://github.com/Sparticuz/chromium/tree/master/_/ansible

Im still experiecing this problem locally running sls invoke local -f <function_name>
package.json
  "dependencies": {
    "@sparticuz/chromium": "^110.0.0",
    "puppeteer-core": "19.6.0",
    "puppeteer-extra": "^3.3.4",
    "puppeteer-extra-plugin-stealth": "^2.11.1",
    ....
  },

code
const puppeteer = require("puppeteer-extra");
const chromium = require("@sparticuz/chromium");

const StealthPlugin = require("puppeteer-extra-plugin-stealth")();
StealthPlugin.enabledEvasions.delete("iframe.contentWindow");
StealthPlugin.enabledEvasions.delete("navigator.plugins");
puppeteer.use(StealthPlugin);

browser = await puppeteer.launch({
        args: chromium.args,
        defaultViewport: chromium.defaultViewport,
        executablePath: await chromium.executablePath(),
        //headless: chromium.headless,
        ignoreHTTPSErrors: true,
        headless: false,
});

node v18
is there anything obvious you can see im doing wrong?


POC => PKOIN

I saw this mentioned in the Node Operators chat.  It appears there are some places in the PocketNet code where PKOIN is still listed as POC.  I recall this being fixed in the Reindexer master branch.

https://github.com/pocketnetteam/pocketnet.core/pull/155


Clarify which hosts tutorial setup are to be run on

@matt-long It would be good to clarify in the tutorial setup instructions in the readme which host is being used for each step. E.g. do you install conda on your laptop or on cheyenne?

Thanks @clyne, I added the following.

The following instructions are intended to be carried out on Cheyenne. Steps 1-3 can also be done on your laptop to install Python and associated environments there locally.


Document Link Error

Hi, I'm recieving an error on the following schema:
    "case_studies": {
      "type": "Link",
      "config": {
        "select": "document",
        "label": "Case Studies"
      }
    },

The error:
error UNHANDLED REJECTION

  Error: Type with name "File" does not exists

  - TypeStorage.js:44 SchemaComposer.get
    [select-www]/[graphql-compose]/lib/TypeStorage.js:44:13

  - TypeMapper.js:86 TypeMapper.get
    [select-www]/[graphql-compose]/lib/TypeMapper.js:86:44

  - TypeMapper.js:608 TypeMapper.typeFromAST

    [select-www]/[graphql-compose]/lib/TypeMapper.js:608:17

  - TypeMapper.js:105 TypeMapper.getWrapped
    [select-www]/[graphql-compose]/lib/TypeMapper.js:105:17

  - TypeMapper.js:272 TypeMapper.convertOutputFieldConfig
    [select-www]/[graphql-compose]/lib/TypeMapper.js:272:114

  - configAsThunk.js:19 resolveOutputConfigAsThunk
    [select-www]/[graphql-compose]/lib/utils/configAsThunk.js:19:41

  - ObjectTypeComposer.js:300 ObjectTypeComposer.getFieldConfig
    [select-www]/[graphql-compose]/lib/ObjectTypeComposer.js:300:58

  - toInputObjectType.js:44 fieldNames.forEach.fieldName
    [select-www]/[graphql-compose]/lib/utils/toInputObjectType.js:44:19

  - Array.forEach

  - toInputObjectType.js:38 toInputObjectType
    [select-www]/[graphql-compose]/lib/utils/toInputObjectType.js:38:14

  - toInputObjectType.js:78 convertInputObjectField
    [select-www]/[graphql-compose]/lib/utils/toInputObjectType.js:78:19

  - toInputObjectType.js:45 fieldNames.forEach.fieldName
    [select-www]/[graphql-compose]/lib/utils/toInputObjectType.js:45:23

  - Array.forEach

  - toInputObjectType.js:38 toInputObjectType
    [select-www]/[graphql-compose]/lib/utils/toInputObjectType.js:38:14

  - toInputObjectType.js:78 convertInputObjectField
    [select-www]/[graphql-compose]/lib/utils/toInputObjectType.js:78:19

  - toInputObjectType.js:45 fieldNames.forEach.fieldName
    [select-www]/[graphql-compose]/lib/utils/toInputObjectType.js

Forgive me if this issue has been addressed. I am using 3.0.0beta.4

Hi @tylermcrobert, thanks for trying out the beta! Unfortunately we don't have a solution ready for this issue yet.
This happens because your project does not have a File type registered.
There is an existing issue detailing the reasons and some possible solutions here:

https://github.com/angeloashmore/gatsby-source-prismic/issues/97
https://github.com/gatsbyjs/gatsby/issues/12272#issuecomment-495944091

Closing this issue, but we can continue tracking and discussing in #97.


Improve quickstart

#444  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @thisisgoldman and the rest of your teammates on  Graphite

Merge activity

Oct 24, 8:04 PM EDT: A user started a stack merge that includes this pull request via Graphite.


Impossible to change selected icon

It is no way to change icon for active/inactive state.

@chessman2 You would just have to render a different icon for that state, I've used that for checkboxes, radio buttons, etc

how did you rerender? right now i have the icon's name in a variable and im changing the name based on the state.. its not working


tophat's help output lists obsolted link to manual

tophat's help output points to  http://tophat.cbcb.umd.edu/manual.html which is not available.

sorry, didn't noticed the issue complaining about the same problem.


Adding more changes

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Articles/Actions/tutorial.md
:white_check_mark:Succeeded

Articles/BreakingChanges.md
:white_check_mark:Succeeded

Articles/connectors/members.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Greenkeeper no lock file update

Prerequisites

[x] I have read the Contributing guidelines
[x] I have read the Code of conduct and I agree with it

Description
Fix #184

Codecov Report

Merging #251 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master   #251   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          95     95
  Lines         268    268
=====================================
  Hits          268    268

Continue to review full report at Codecov.

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


[fix] "[object Object]" at start and closed

Coverage: 82.954%. Remained the same when pulling 65a621f483f860a2ee7818957a1ce0ec6cb1d79e on fix-start-close-time into 1ca991a0c3c941270fd407936568dcbebd5167f2 on master.


feat: Add separate Procedure object.

Fixes https://github.com/DanCardin/sqlalchemy-declarative-extensions/issues/63
At least with postgres as a reference, procedures seem to be essentially be a limited subset of a function, so the current impl introduces Procedures as a superclass from which Function is derived. I dont see any reason why this would be impractical to separate in the future, should it turn out to be necessary.
I was also considering treating them as separate objects, but their whole comparison infrastructure and everything would end up identical, and it wasn't clear why one would want to use one without the other. As such, for now at least, the PR is keeping procedures bundled under the "function" object category.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

60 of 64 (93.75%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall first build on dc/procedure at 96.453%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/sqlalchemy_declarative_extensions/dialects/postgresql/function.py
33
37
89.19%

Totals

Change from base Build<PHONE_NUMBER>:
96.5%

Covered Lines:
2593

Relevant Lines:
2680

💛  - Coveralls

I tried out the currunt code and that's what I found so far:

The change of the type (function -> procedure) is not detected if the name remains the same.
I changed this definition:
refresh_my_view_function = Function(
    "refresh_my_view",
    """
    BEGIN
        REFRESH MATERIALIZED VIEW my_view WITH DATA;
    END
    """,
    language="plpgsql",
    security=FunctionSecurity.definer,
)

to this:
refresh_my_view_procedure = Procedure(
    "refresh_my_view",
    """
    BEGIN
        REFRESH MATERIALIZED VIEW my_view WITH DATA;
    END
    """,
    language="plpgsql",
    security=FunctionSecurity.definer,
)

The resulting migration looks like this:
def upgrade() -> None:
    op.execute(
        """CREATE OR REPLACE PROCEDURE refresh_my_view() SECURITY DEFINER LANGUAGE plpgsql AS $$
    BEGIN
        REFRESH MATERIALIZED VIEW my_view WITH DATA;
    END
    $$;"""
    )

def downgrade() -> None:
    op.execute(
        """CREATE OR REPLACE FUNCTION refresh_my_view() RETURNS void SECURITY DEFINER LANGUAGE plpgsql AS $$
    BEGIN
        REFRESH MATERIALIZED VIEW my_view WITH DATA;
    END
    $$;"""
    )

Such a migration expectedly raises an error:
sqlalchemy.exc.ProgrammingError: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.WrongObjectTypeError'>: cannot change routine kind
DETAIL:  "refresh_my_view" is a function.
[SQL: CREATE OR REPLACE PROCEDURE refresh_my_view() SECURITY DEFINER LANGUAGE plpgsql AS $$
    BEGIN
        REFRESH MATERIALIZED VIEW my_view WITH DATA;
    END
    $$;]

But if I change the name a bit, the migration is generated correctly:
refresh_my_view_procedure = Procedure(
    "refresh_my_view_new",
    """
    BEGIN
        REFRESH MATERIALIZED VIEW my_view WITH DATA;
    END
    """,
    language="plpgsql",
    security=FunctionSecurity.definer,
)

def upgrade() -> None:
    op.execute(
        """CREATE PROCEDURE refresh_my_view_new() SECURITY DEFINER LANGUAGE plpgsql AS $$
    BEGIN
        REFRESH MATERIALIZED VIEW my_view WITH DATA;
    END
    $$;"""
    )
    op.execute("""DROP FUNCTION refresh_my_view();""")

def downgrade() -> None:
    op.execute(
        """CREATE FUNCTION refresh_my_view() RETURNS void SECURITY DEFINER LANGUAGE plpgsql AS $$
            BEGIN
                REFRESH MATERIALIZED VIEW my_view WITH DATA;
            END
            $$;"""
    )
    op.execute("""DROP PROCEDURE refresh_my_view_new();""")

In that case the migration is executed successfully, and I'm able to CALL the newly credted procedure.
So I guess we need to compare the routine type as well when doing the comparison.

Running alembic check raises an error:
Traceback (most recent call last):
  File "/home/yaraslau/projects/test/.venv/bin/alembic", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/yaraslau/projects/test/.venv/lib/python3.12/site-packages/alembic/config.py", line 636, in main
    CommandLine(prog=prog).main(argv=argv)
  File "/home/yaraslau/projects/test/.venv/lib/python3.12/site-packages/alembic/config.py", line 626, in main
    self.run_cmd(cfg, options)
  File "/home/yaraslau/projects/test/.venv/lib/python3.12/site-packages/alembic/config.py", line 603, in run_cmd
    fn(
  File "/home/yaraslau/projects/test/.venv/lib/python3.12/site-packages/alembic/command.py", line 297, in check
    diffs.extend(upgrade_ops.as_diffs())
                 ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/yaraslau/projects/test/.venv/lib/python3.12/site-packages/alembic/operations/ops.py", line 2572, in as_diffs
    return list(OpContainer._ops_as_diffs(self))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/yaraslau/projects/test/.venv/lib/python3.12/site-packages/alembic/operations/ops.py", line 2582, in _ops_as_diffs
    yield op.to_diff_tuple()
          ^^^^^^^^^^^^^^^^
AttributeError: 'UpdateFunctionOp' object has no attribute 'to_diff_tuple'

When generating a new migration, Alembic tries to repalce the procedure again:
def upgrade() -> None:
    op.execute(
        """CREATE OR REPLACE PROCEDURE refresh_my_view_new() SECURITY DEFINER LANGUAGE plpgsql AS $$
    BEGIN
        REFRESH MATERIALIZED VIEW my_view WITH DATA;
    END
    $$;"""
    )

def downgrade() -> None:
    op.execute(
        """CREATE OR REPLACE FUNCTION refresh_my_view_new() RETURNS void SECURITY DEFINER LANGUAGE plpgsql AS $$
    BEGIN
        REFRESH MATERIALIZED VIEW my_view WITH DATA;
    END
    $$;"""
    )

Can this be related to an old issue of having a diff because of inconsistent leading whitespaces? :thinking:

Can we make imports more consistent by exposing Procedure and FunctionSecurity in src/sqlalchemy_declarative_extensions/dialects/postgresql/__init__.py?
So that we do not need to import like that:
from sqlalchemy_declarative_extensions.dialects.postgresql import MaterializedOptions
from sqlalchemy_declarative_extensions.dialects.postgresql.function import FunctionSecurity, Procedure

and instead just do this:
from sqlalchemy_declarative_extensions.dialects.postgresql import FunctionSecurity, MaterializedOptions, Procedure

Why do we need to add procedures to function definitons?
Base.functions.append(refresh_my_view_procedure)

Why can't we have Procedures and Functions containers separated for more readability?
class Base(DeclarativeBase):
    functions = Functions()
    procedures = Procedures()
    triggers = Triggers()

Base.functions.append(some_function)
Base.procedures.append(refresh_my_view_procedure)

Same question goes for FunctionSecurity enum.
This code seems a bit weird:
refresh_my_view_procedure = Procedure(  # <-----
    "refresh_my_view",
    "...",
    language="plpgsql",
    security=FunctionSecurity.definer,  # <-----
)

This would have looked much more readable:
refresh_my_view_procedure = Procedure(  # <-----
    "refresh_my_view",
    "...",
    language="plpgsql",
    security=ProcedureSecurity.definer,  # <-----
)

Maybe have the same enum exposed under two different name? :thinking:
Or have some universal one like RoutineSecurity:
refresh_my_view_procedure = Procedure(  # <-----
    "refresh_my_view",
    "...",
    language="plpgsql",
    security=RoutineSecurity.definer,  # <-----
)

Should functions and procedures actually be separated into two different modules?
Like:

src/sqlalchemy_declarative_extensions/dialects/postgresql/function.py
src/sqlalchemy_declarative_extensions/dialects/postgresql/procedure.py

I kept them together (and this plays into item 8 for all the same reasons) because function inherits from procedure and they're not meaningfully different from the perspective of the lib. And further in postgres they're saved to the same pg table so it seemed easiest to colocate them. However, i just took a gander at, for example, snowflake and they appear to be wholly different, and perhaps it does make sense to separate them...
Although i'm perhaps starting to believe i could/should just fully separate them. it'd address items 1/6/7/8 de-facto

As for alembic check. I wasn't aware of this command slash assumed interface. It doesn't work for any of the existing object types. I can look into that separately.

As for alembic check. I wasn't aware of this command slash assumed interface. It doesn't work for any of the existing object types. I can look into that separately.

It did work for us before with triggers, function sand views.
I guess trying out Procedure in this PR was the first time it failed.

@DanCardin Ping me when it is ready to be tested again

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

223 of 228 (97.81%)  changed or added relevant lines in 16 files are covered.
No unchanged relevant lines lost coverage.
Overall first build on dc/procedure at 96.626%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/sqlalchemy_declarative_extensions/dialects/postgresql/procedure.py
36
37
97.3%

src/sqlalchemy_declarative_extensions/procedure/base.py
50
52
96.15%

src/sqlalchemy_declarative_extensions/procedure/compare.py
57
59
96.61%

Totals

Change from base Build<PHONE_NUMBER>:
96.6%

Covered Lines:
2761

Relevant Lines:
2850

💛  - Coveralls

@YaraslauZhylko should be good now. For some of your bulleted items.

I wouldn't expect this to be fixed per-se. Converting a procedure to a function might work without edit, but the reverse direction will probably yield the procedure drop after the function create which will fail. this is fairly common even with vanilla alembic, so i dont really consider it a blocker, even if i might still try to fix it eventually.
alembic check wont work, nor does it work anywhere else. i'll raise that as a separate issue.
shouldnt happen in the general case, but isn't foolproof. it's not safe to manipulate unknown function body content beyond the basic normalization i do today.
5/6/7/8. should all be fixed

@DanCardin Actually, everything is fixed now. :upside_down_face:

Alambic now correctly determins the change of the routine type from function to procedure without renaming it. :tada:
def upgrade() -> None:
    op.execute("""DROP FUNCTION refresh_my_view();""")
    op.execute(
        """CREATE PROCEDURE refresh_my_view() SECURITY DEFINER LANGUAGE plpgsql AS $$
    BEGIN
         REFRESH MATERIALIZED VIEW my_view WITH DATA;
    END
    $$;"""
    )

def downgrade() -> None:
    op.execute("""DROP PROCEDURE refresh_my_view();""")
    op.execute(
        """CREATE FUNCTION refresh_my_view() RETURNS void SECURITY DEFINER LANGUAGE plpgsql AS $$
            BEGIN
                REFRESH MATERIALIZED VIEW my_view WITH DATA;
            END
            $$;"""
    )

Even though the indentation is still a bit weird, Alembic does detect it correctly, and does not generate another migration if I run alembic revision for the second time.
Even if I update the indentation/formatting manually in the migration file.

alembic check does work now:
No new upgrade operations detected.

FAILED: Target database is not up to date.

All imports look pretty and logical now.

Thanks!


Information architecture for the Guide

What do you need?

IA user research, especially for the organisation of terms in A-Z.
Consider if 'Please also see' are the right words for cross-links.

Which entry/section is this related to?
http://content-style-guide.apps.staging.digital.gov.au/az-guide.html

Internal card sort exercise in progress.

Replaced by #196


Chrome native v1 error: Illegal constructor

I don't know how to reproduce this yet, it's just been reported internally and this is the issue I'm using to track any progress.

I've tried to reproduce this several times and cannot. Seems that the document-register-element polyfill currently works without having a es5 shim, though, so sticking with recommending that at the moment until we can get around to fixing the other one.


Add --use-cpu-initializatio for Qwen2.5 72B HF2TE ckpt conversion

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.同润 seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Not receiving location post when using golang gin as backend

Your Environment

Plugin version: 0.5.0-alpha.42

Platform: Android

OS version: Android 8.1.0

Device manufacturer and model: ONEPLUS A5000_23_180808

React Native version: 0.56.0

Plugin configuration options:
`
BackgroundGeolocation.configure({
  desiredAccuracy: BackgroundGeolocation.HIGH_ACCURACY,
  stationaryRadius: 50,
  distanceFilter: 50,
  notificationTitle: 'Background tracking',
  notificationText: 'enabled',
  debug: true,
  startOnBoot: false,
  stopOnTerminate: true,
  locationProvider: BackgroundGeolocation.ACTIVITY_PROVIDER,
  interval: 10000,
  fastestInterval: 5000,
  activitiesInterval: 10000,
  stopOnStillActivity: false,
  url: UploadLocationURL,
  syncUrl: UploadLocationURL,
  syncThreshold: 100,
  httpHeaders: {
      'Accept': 'application/json',
      'Content-Type': 'application/json',
      'X-MYAPP-NAME-ID': RequestHeader,
  },
  // customize post properties
  postTemplate: {
      lat: '@latitude',
      lon: '@longitude',
      uid: userID
  }

});
`

Link to your project:
golang gin as http service

Context

Just wondering why  the server still can't receive post request even the url is set in the configuration . I have noticed that there is a comment in the quick example // eg. ajax post location , Does it mean, I need to post to the server manually?
Expected Behavior

Auto post location to the server once the url is set.(Correct me if I'm wrong)
Actual Behavior

Not request to the server as expected.
Possible Fix

Steps to Reproduce

Context

Debug logs

Can't find any logs of http requests when using adb logcat

My fault,  UploadLocationURL is undefined..


 no longer matching `/url` in 2.x

We have routes like <Route path='/url' ... /> and Links that have <Link to='/url?param=whatever' />
In 1.x this works fine. In 2.x – it works for all POP actions, like back/forward navigation – but for PUSH actions, like clicking the link, it doesn't match the route.
Logging in matchRoutes shows the location being passed in like this when you click the link:
{
  "pathname":"/url?param=whatever",
  "search":"",
  "hash":"",
  "state":null,
  "action":"PUSH",
  "key":"3zxs8m",
  "query":{},
  "$searchBase": {
    "search":"",
    "searchBase":""
  }
}

But if you click back from there, and forward again, it matches fine:
{
  "pathname":"/url",
  "search":"?param=whatever",
  "hash":"",
  "state":null,
  "action":"POP",
  "key":"c5blde",
  "query":{"param":"whatever"},
  "$searchBase": {
    "search":"?param=whatever",
    "searchBase":""
  }
}

Poking around quickly I wonder if it's to do with the introduction of createLocation in this commit

Yes, this got broken at some point between https://github.com/rackt/react-router/pull/2658/files#diff-c7fd3a70340dad9a76157e1ad2e35baaR117 and https://github.com/rackt/react-router/pull/2659/files#diff-c7fd3a70340dad9a76157e1ad2e35baaR24. I guess we hadn't covered this with tests.


Crash when pulling/crafting an item after another item has ben removed from the game

We have been encountering a server crash when people take items out of the ezStorage using any method (manual or extractor). From testing the crash occurs when pulling an items out of the storage after an item has been removed from the pack (eg. a mod updates or is removed)
Testing in single player yields no crash report, however http://pastebin.com/iP6ufb6h shows the launcher output.
In this case I had a stack of EnderIO Quite Clear Glass and A stack of cobble in the ezStorage, after removing EnderIO from the pack. I attempted to pull the Cobble from the storage and the game crashed with 'A fatal error has occured, this connection is terminated' and a java.lang.NullPointerException at com.zerofall.ezstorage.util.EZInventory.getItemsAt(EZInventory.java:99) ~[EZInventory.class:?]  - shown in the pastebin - in the console.
NOTE: I could only get this to happen once per missing item, so after I restarted the next time I pulled cobble from the setup it seemed to work fine. However I could reproduce it with the mods: Roots, Tinkers and EnderIO.
Not sure if it is related to this specific issue but I have also heard reports that in Multiplayer, the symptom after pulling an item out is the client will stay connected but unable to do anything but chat (eg. cant open chests, doors...). When that client disconnects the server will then crash.
Version info:
ezStorage 2.2.2
Forge <IP_ADDRESS>6
Minecraft 1.10.2
Pack: Avant 3 on Curse (versions 1.9 and 1.10 are known to have the issue)

Yeah, the only fix for this is restarts like you said. Pretty much no storage mod likes having mods removed from it.

I didn't say we restarted the server, ezStorage2 CRASHED the server with a NullPointerException when people took items out (after a mod pack upgrade an hour earlier). This is far more serious and I am not aware of any other storage mod that does not gracefully handle this situation.
As mod packs change and mod authors add and remove items to their mods, this is a pretty serious bug which will impact if the mod remains in any modpack,

I could only get this to happen once per missing item, so after I restarted the next time I pulled cobble from the setup it seemed to work fine

You said here restarts fixed it.
Anyway, without me adding some elaborate system-check when the storage core is loaded into the world, restarts are the only way to fix this bug.

Yes, that is correct the server is restarted after it crashes. However it also says: 'I could only get this to happen once per missing item'. So if there are 100 storage cores, each store core contains 100 missing items after a pack upgrade it would result in 10,000 crashes to resolve this.  To any server operator/mod creator that is a instant remove the mod as it is crashing the server.
I don't understand why you would need an elaborate check when the core is loaded. A simple catch statement when an item is pulled (via the esStorage GUI or using the extractor) out would be sufficient (although I don't know where the issue occurs, it maybe better to check an item still exists in game before looking up nbt data) - this is how most other storage mods handle it.

would result in 10,000 crashes to resolve this

You actually don't even need to open the cores to fix them, just have them loaded in the world and restart the server.


Support 429 Retry-After

The sync server will soon support throttling via 429 with the Retry-After header that indicates the number of seconds to wait before trying again. When Retry-After is set, sync should be suspended (silently) for the period specified instead of being turned off.

/duplicate https://github.com/microsoft/vscode/issues/100457

When server returns retry-after header with 429 status, client suspends auto sync until mentioned time and enables auto sync after.
[2020-07-20 19:00:33.137] [userDataSync] [info] Auto Sync: Started
[2020-07-20 19:00:33.137] [userDataSync] [info] Auto Sync: Triggered by Interval
[2020-07-20 19:00:33.731] [userDataSync] [info] Auto Sync: Suspended until 2020-07-20T19:02:33.730Z because server is not accepting requests until then.
[2020-07-20 19:00:33.731] [userDataSync] [info] Auto sync: Canelled sync that is in progress
[2020-07-20 19:00:33.731] [userDataSync] [info] Auto Sync: Stopped
[2020-07-20 19:00:33.733] [userDataSync] [error] TooManyRequestsAndRetryAfter (UserDataSyncError) syncResource:unknown operationId:ddfabf1187de472a88b05bcfe32c9a6c: GET request 'https://server/v1/manifest' failed because of too many requests (429).
    at UserDataSyncStoreService.request (file:///Users/sandy081/work/vscode/out/vs/platform/userDataSync/common/userDataSyncStoreService.js:265:19)
    at async UserDataSyncStoreService.manifest (file:///Users/sandy081/work/vscode/out/vs/platform/userDataSync/common/userDataSyncStoreService.js:173:29)
    at async UserDataSyncService.createSyncTask (file:///Users/sandy081/work/vscode/out/vs/platform/userDataSync/common/userDataSyncService.js:97:28)
    at async AutoSync.doSync (file:///Users/sandy081/work/vscode/out/vs/platform/userDataSync/common/userDataAutoSyncService.js:323:33)
[2020-07-20 19:02:33.735] [userDataSync] [info] Auto Sync: Started
[2020-07-20 19:02:33.735] [userDataSync] [info] Auto Sync: Triggered by Interval

@Tyriar Can you please verify ?


When i installing npm i react-native-elements --save packages then after few minutes it give me error So anyone can help me how can i solve it

F:\React-native\myfirstproject\tinderapp>npm i react-native-elements --save
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^4.0.0 || ^5.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^4 || ^5 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules\file-uri-to-path):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename 'F:\React-native\myfirstproject\tinderapp\node_modules\file-uri-to-path' -> 'F:\React-native\myfirstproject\tinderapp\node_modules\.file-uri-to-path.DELETE'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules\nan):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename 'F:\React-native\myfirstproject\tinderapp\node_modules\nan' -> 'F:\React-native\myfirstproject\tinderapp\node_modules\.nan.DELETE'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules\fsevents):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename 'F:\React-native\myfirstproject\tinderapp\node_modules\fsevents' -> 'F:\React-native\myfirstproject\tinderapp\node_modules\.fsevents.DELETE'

npm ERR! code ENOENT
npm ERR! syscall rename
npm ERR! path F:\React-native\myfirstproject\tinderapp\node_modules\react-native-elements\node_modules\hoist-non-react-statics
npm ERR! dest F:\React-native\myfirstproject\tinderapp\node_modules\react-native-elements\node_modules\.hoist-non-react-statics.DELETE
npm ERR! errno -4058
npm ERR! enoent ENOENT: no such file or directory, rename 'F:\React-native\myfirstproject\tinderapp\node_modules\react-native-elements\node_modules\hoist-non-react-statics' -> 'F:\React-native\myfirstproject\tinderapp\node_modules\react-native-elements\node_modules\.hoist-non-react-statics.DELETE'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

npm ERR!      C:\Users\Dr. BR Ambedkar\AppData\Roaming\npm-cache\_logs\2020-06-12T06_58_48_983Z-debug.log

@SandeepAmbedkar I don't think problem is related to Ignite or React Native Elements. Try removing your package-lock.json and see if that helps.

@SandeepAmbedkar I don't think problem is related to Ignite or React Native Elements. Try removing your package-lock.json and see if that helps.

It works


Add Custom Query Parameters

Hi there
I want to add custom query parameter in search function, as documented here https://www.elastic.co/guide/en/elasticsearch/reference/current/search-search.html
such as track_total_hits
because it only return maximum 10000 record, I have to manually add this paramter to query builder.
But there is no place to add in the ScoutSearchCommandBuilder
Can you add some custom Params after this
    $query = new Query();
    $query->setFields($this->fields);
    $query->setSort($this->sort);
    $query->setLimit($this->limit);
    $query->setOffset($this->offset);

like
+ $query->setParams($this->params);
Regards
Jack

Sure, that should be doable.

@Jeroen-G Thanks a lot, you are legend

@Jeroen-G Hello Jeroren, when the new version can be released? I am waiting for the new parameter input now.

Sorry, I have not yet started working on this.

Hi Jeroen, just wondering when the new feature will be released? I am awaiting for on the production. @Jeroen-G

Feel free to contribute 😄

I add #88 pull request.

Hi @Jeroen-G
I have added test, please run CI again.
Thanks a lot

Custom query properties are now a thing in 3.5.0


An alternate FrontEnd using Lanterna to draw to the terminal

I think this might be a good alternate rendering system for Ammonite:
https://github.com/mabe02/lanterna

This would be great =D It can easily be done as a third party library using load.ivy and then activated using frontEnd() = .... I probably won't work on it, having struggled a bit with Lanterna before, but I'm open to someone else doing it and seeing how it goes.

Could/Would this enable Ammonite-Shell on windows?

You can already use ammonite without the custom frontend, just using JLine. I dont know Lanterna enough to say how useful it would be

But that's working as a shell replacement? I use Windows about half the time and was excited to run it under ConsoleZ only to get an error about there not being a /dev/tty

Not sure, you'll have to try it out and let the people on https://github.com/lihaoyi/Ammonite/issues/119 know!

Closing as Wishlist for now


Systematically different results from web server and local version

I tried single runs from local installed version and also from the web server, and I got totally different behaviors of ligand poses even though I used exactly the same input files. I understand that every run should produce slightly different results, but the difference between local version and web server is obviously systematic that the local version gave ligand poses all around the protein while the web server gave most poses in the nearly accurate position.
I did not add any customized settings or "hack" into the backend script to change anything. I just followed the basic instructions and made it run. Is there any differences between web server and local version at the first place?

I also have the same issue.
Beside, I also have a problem: WARNING -Complex XXX Batch 1 Interfence Iteration XX smaple failed.

I also have the same issue. Beside, I also have a problem: WARNING -Complex XXX Batch 1 Interfence Iteration XX smaple failed.

That happens to me occasionally and I'm not sure why. Rerun several more times and this warning just doesn't show up anymore.
I have also noticed that

I have also noticed that in the docker container and web server I always meet this warning: parse_chi.py:91: RuntimeWarning: invalid value encountered in cast Y = indices.astype(int), but the results seem fine and most of the poses are in the nearly correct positions.
However in the local conda environment running, I never see this warning and always get terrible poses for the same input complex.
I have followed the default settings all the time. I also manually checked the scripts from docker container and did not find anything different.

I have also noticed that in the docker container and web server I always meet this warning: parse_chi.py:91: RuntimeWarning: invalid value encountered in cast Y = indices.astype(int), but the results seem fine and most of the poses are in the nearly correct positions.
However in the local conda environment running, I never see this warning and always get terrible poses for the same input complex.
I have followed the default settings all the time. I also manually checked the scripts from docker container and did not find anything different.

Thanks

Update here:
I re-installed all the packages under my local conda environment and this time I strictly followed the version numbers of them according to the authors' environment file (torch==1.13.1+cu117, torch_cluster===1.6.0+pt113cu117, and so on... all of them). Good news is now I can finally get similar results as Docker's and web-server's. It seems that some of those dependencies/packages have some sort of  implicit impacts on the outputs.

There's a reason we specify all of those version numbers. Informally I have observed the same as you, the results absolutely can change based on the library. I would generally expect the effect to be similar to picking a different random seed (assuming nothing breaks) but it isn't tested.

I encounter the similar problem, and it seems to be solved by mainting the same version of
     - e3nn==0.5.1
    - networkx==2.8.4
    - pandas==1.5.1
    - pybind11==2.11.1
    - pytorch-lightning==1.9.5
    - rdkit==2022.03.3
    - scikit-learn==1.1.0
    - torchmetrics==0.11.0
    ```

I install the pytorch and pyg of cuda 12.4, and they are fine, I don't need openfold  and didn't istall it since I don't provide a sequence, also the only difference is

fair-esm[esmfold]==2.0.1

But the results are fine and looks like what webserver gives me, hope this can provide an reference.


 Did you mean to use "wss:"\?$" does not match "ssl argument value passed to ApplicationRunner conflicts with the
E                       "ws:" prefix of the url argument. Did you mean to use
E                       "None"?"
_______________________________________ TestApplicationRunner.test_conflict_SSL_True_with_ws_url ________________________________________
RuntimeError: ssl argument value passed to ApplicationRunner conflicts with the
                    "ws:" prefix of the url argument. Did you mean to use
                    "None"?

During handling of the above exception, another exception occurred:


Evaluation block rewards dUSD burn bot

Some block rewards from dUSD-DFI pool are used for a dUSD burn bot. In this evaluation the percentage value of the dToken block reward used for this bot should be evaluated

evaluation handled together with #258


auth controller

What features should controller support? Only registration and authentication or even password restoring and smth else?

@ilisau user registration and auth


tests/TagsWithSameValueTest.php not adressing the problem

Sorry if the title of this issue sounds a bit harsh. I'm not a native English speaker, so no offense intended. ;)
I have recently submitted issue #12 and you created the TagsWithSameValueTest.php test class for verifying that. I can indeed confirm that my original issue does not occur in this test class.
Puzzled by this, I tried around a bit and found out that my original problem does not occur when creating a new node (This is what's being done in TagsWithSameValueTest.php). It only happens when you are editing an existing node.
The cause of this behaviour is the following:
array_diff($this->getTags(), $set) does compare $this->getTags() and $set.
Values are assigned to $set this way:
$set = array();
            for ($i = 0; $i < $tags->length; $i++) {
                $key = $tags->item($i)->getAttribute('k');
                $val = $tags->item($i)->getAttribute('v');
                $set[$key] = $val;
            }

$set contains the values of an object before your new ChangeSet is applied. Hence when you create a new object, $set is empty and array_diff($this->getTags(), $set) will save two tags with the same value. However, when you're editing an existing object, $set is not empty, and the output of array_diff will indeed not contain two tags with the same value.
I didn't submit a pull request because I'm not sure wether this problem can be replicated without changing "real" data on the OSM database.

No offence taken - please do provide a test/example that does demonstrate the problem conclusively though!


site down - broadcasting down event

Does this indicate an issue?
The reason I ask is I've had one of my sites going down twice now and I can see this in the error discoverd logs appearing around the time the issue started. And just before there's is the error
2017/03/21 22:26:00 [INFO] raft: Node at <IP_ADDRESS>:1111 [Follower] entering Follower state (Leader: "")
2017/03/21 22:26:00 [ERR] raft-net: Failed to flush response: write tcp4 <IP_ADDRESS>:1111-><IP_ADDRESS>:34100: write: broken pipe
2017/03/21 22:26:01 [INFO] raft: Duplicate RequestVote for same term: 453
2017/03/21 22:26:01 [WARN] raft: Failed to get previous log: 6714 log not found (last: 6622)

I've emailed you the logs to look at. This has happened twice now and both times while I've been in bed meaning the site was down for 8 hours leading to a significant lose of sales.
The other occurrence was on 2017/03/14 also around 22:00

@dottodot it looks like your nodes experience frequent network connectivity issues which lead to the discoverd leader marking all services as down because the clients are not configured with an appropriate timeout.
We have fixed this in #3955 which will be in the stable release this week.

Ok thanks, do you know what day yet so that I can keep an eye out for it.

Also are the network connectivity issues related to flynn or do I have another issue in that respect?

do you know what day yet so that I can keep an eye out for it.

You can subscribe to the release mailing list to be notified about stable releases here, although the stable release will most likely be today.

are the network connectivity issues related to flynn or do I have another issue in that respect

They indicate an issue with the underlying network rather than within Flynn itself, although once the clients have a reasonable timeout there should be little impact from this level of unreliability.

Sorry one last thing, apart from upgrading to the new release will there be anything I need to do settings wise?

No settings need to be changed.


initial point neuron network schemas for neurorobotics

FYI @drodarie

With @drodarie we would like to upload some data to KG. Can we merge this one @apdavison @MFSY ?

ok for me.

Great, thanks!


OS X - Fix pasting RTF into web rich text editors

Currently when you copy as rich text, it will not keep the correct colors and formatting when pasting into web-based rich text editors (Google Docs, Webmail and other WYSIWYG). The problem is that browsers want to paste from the HTML clipboard type and pbcopy only fills the plain text and RTF types of the clipboard.
This fix uses a simple applescript to fill the clipboard with the content as plain text, RTF and HTML. Then when you paste, it will retain the colors and formatting.

Looks good! I don't own a Mac anymore, so I couldn't test the patch. I believe it works and add value for Mac users though, so merging this.


Make Use Cases

Make use cases for the project so we understand what steps the user will go through.

Again, barebones, but they exist in some form.


⚠ Bofrost.at has degraded performance

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

HTTP code: 200
Response time: 2092 ms

Resolved: Bofrost.at performance has improved in 4705fb1.


cmd/link: compiled binaries set PT_GNU_STACK alignment to 2**3 on amd64

Apologies ahead of time if this issue is raised in the wrong spot; the golang/tools repo is only a mirror, and couldn't raise it there, where I suspect it belongs.
Issue
I was scanning all of my binaries in /usr/lib and my program noticed the binary at /usr/lib/go/pkg/tool/linux_amd64/cgo seems to have an invalid or unknown program header.
objdump verifies this issue as well.    It's hard to say though, obviously.
Affected platforms
I've only checked on the following linux systems:

64-bit archlinux
64-bit Ubuntu 14.10

/cc @ianlancetaylor
I don't think this is specific to the cgo binary.  I see this for all Go executables on my Ubuntu 14.04 amd64 machine.  However, I also see it for about 20% of executables in /usr/bin.
What exactly is the consequence of this?  I can't find any documented significance to the alignment field of PT_GNU_STACK.  Glibc only seems to care about the flags field.

@mdempsky yea I'm not sure what alignment does :grin: in the dynamic loader, or its significance either, as I can't seem to find any documentation either.  My guess is it's "documented" in the source code for the dynamic linker.
However, I'm not sure I'd have changed the title, since the issue was specifically about the last program header being bad (unless you think the alignment is the cause of the malformed final header), e.g.:
0x65041580 off    0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**3 filesz 0x0000000000000000 memsz 0x0000000000000000 flags --- 2a00
is not a valid header; not only is the program header name unknown, it's flags are nill, and it has '2a00' after flags, which is probably an artifact of objdump not understanding the ph.

Oh, that's the PT_PAX_FLAGS header, and it's working as intended.  Just objdump doesn't know its name.

Ah, apologies, sorry for wasting your time.


fix: spring vulnerability (#1378)

fixes #1378.
Fix spring vulnerability (see Spring4Shell: Spring users face new, zero-day vulnerability).
Was a bit more difficult, since we had to also update to the latest Kotlin version that uncovered some unexpected bugs.

Codecov Report

Merging #1378 (1eab9fc) into main (13b6be7) will increase coverage by 0.62%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1378      +/-   ##
==========================================
+ Coverage   87.46%   88.09%   +0.62%
==========================================
  Files          49       32      -17
  Lines         734      378     -356
  Branches       55       55
==========================================
- Hits          642      333     -309
+ Misses         63       32      -31
+ Partials       29       13      -16

Impacted Files
Coverage Δ

cli/zally/utils/result_printer.go

cli/zally/readers/yaml_reader.go

cli/zally/domain/violations.go

cli/zally/commands/supported_rules.go

cli/zally/utils/formatters/pretty_colorizer.go

cli/zally/utils/http_client.go

cli/zally/utils/formatters/markdown_formatter.go

cli/zally/domain/error.go

cli/zally/app.go

cli/zally/main.go

... and 7 more

Continue to review full report at Codecov.

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

:+1:

:+1:

:+1: