Is ItemsRepeater leaky

Describe the bug
@ranjeshj
When navigating away from a page containing ItemsRepeater, ItemsRepeater does not release the all the Item views.
Steps to reproduce the bug
Please get the repo app from here

Steps to reproduce the behavior:

Click on a image, it takes you to next page
Click back button
Repeat [1] and [2] multiple times
End with the clicking on the Image
Take a memory snapshot and check the StoryView count,

Expected behavior
ItemsRepeater should not leak
Version Info

NuGet package version: 2.4.0-prerelease.200203002

Windows 10 version
Saw the problem?

Insider Build (xxxxx)

November 2019 Update (18363)

May 2019 Update (18362)

October 2018 Update (17763)
Yes

April 2018 Update (17134)

Fall Creators Update (16299)

Creators Update (15063)

Device form factor
Saw the problem?

Desktop
Yes

Mobile

Xbox

Surface Hub

IoT

Additional context

@harvinders I think the issue is garbage collection is not kicking in and cleaning up yet. Try adding a destructor on MainPage and see if it is getting hit. It will not get hit every time you navigate back and forth. At some point (when gc runs) it will get hit and everything will get cleaned up.
Alternatively you can try forcing a gc by running gc.collect() in your code to see things getting cleaned up.
You don't have to worry about it as long as it gets cleaned up at some point. If you never see it getting cleaned up or if you see your memory usage going up continuously without dropping down then it is likely a leak.

@ranjeshj I added following code on the DetailPage (The page I navigate to) and still see the count keep on increasing.
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            ViewModel = e.Parameter as StoryViewModel;
            GC.Collect();
            GC.WaitForPendingFinalizers();
        }

Hi @ranjeshj @StephenLPeters
I have updated and simplified repo here.
The repo shows that if I use GridView instead of ItemsRepeater, there is no leak, however when I start using ItemsRepeater it starts leaking. I have added GC calls already in the code so that GC should not be a factor. For quick summary, I am attaching the diagnostic view of heap using visual studio.
GridView
Look for NewsView and NewsViewModel
Opening the application (Heap at snapshot#1)

Tapping and moving to detail page. (Heap at snapshot#2)

Press back and come back to main page. (compared snapshot#3 with snapshot#2 above)

Move to and fro, settled on main page after some time. (compared snapshot#4 with snapshot#3 above)

ItemsRepeater
Opening the application (Heap at snapshot#1)
Please note, instead of 13 NewsView 14 gets created. Compared to GridView one more is created everytime.

Tapping and moving to detail page. (Heap at snapshot#2)
13 NewsView are removed

Press back and come back to main page. (compared snapshot#3 with snapshot#2 above)
NewsView count is 28, (2 more than GridView)

Move to and fro, settled on main page after 5 times. (compared snapshot#4 with snapshot#3 above)
NewsView count is increases by 5

I think the ItemsRepeater is leaking. We create 14 views, 13 with the actual item from the ItemsSource and one with no item set in binding. After navigating, we clear all elements that have an item set and then recreate 14 items, 13 with item and one without.

Unless someone (from the team or the community) is working on this issue right now, I would like to work on this!
@ranjeshj @AnaWishnoff FYI

@chingucoding Would be great for you to work on this, thank you!

I was able to track down where we create the element that does not get cleared:
https://github.com/microsoft/microsoft-ui-xaml/blob/c5fa8a6b45efe820b80aa994751801df553117f7/dev/Repeater/ItemsRepeater.cpp#L626
This if case creates one item as part of loading the datatemplate, however this item will never get cleared. Assigning the loaded template or the framework element to a field that only sits in that scope also does not clear the item.
@StephenLPeters @ranjeshj Shouldn't the item be cleared when we leave the scope? Is there a way we can manually force clearing/freeing such items (delete and free both crash)? Unfortunately, I haven't found much information on this.

I don't think that line can be causing the leak. These are ref counted and should get collected automatically once it leaves that scope.

@ranjeshj I looked at all the items that got eventually got garbage collected and looked at the "indices" of those items and I am very sure that this is the only item that does not get collected.
I tested this the following way:

Have a UserControl with a number property which defaults to -1
Have list of items that expose numbers in some way (all numbers are 0 and above)
Have a DataTemplate which uses said UserControl and binds the number property to the numbers exposed by the collection.

Then I opened the page with the repeater, saw that the usercontrol got created 11 times, once mentioned in the line above, and the other 10 times somewhere in the ElementFactory I think.
Then I left the page, and re entered the page. That is when the "old" usercontrols got cleared. Then I checked which numbers where being cleared. Every number in my "numbers collection" was present in a single UserControl. No cleared UserControl had the number -1.
Since the line linked above does not set the datacontext and thus not override the number, the number for that UserControl must be -1. As we didn't find any UserControl that got gc'ed with the number property being -1, that item has to be the one not being cleared.

When you mean 'cleared' do you mean to say that ElementClearing got called ? This particular instance was not prepared so it won't get cleared. Can you check if the destructor gets called  ? I would expect the destructor to get called once we are out of the scope for this particular element.

With "cleared" I meant the destructor of said UserControl got called. And the strange thing is that when we leave the scope of the line linked above, there is no call to the destructor, instead we keep creating new controls in the ElementFactory.

That is interesting. I would have expected it to get collected. Perhaps you can try breaking that line out of the condition block and see if that helps. @jevansaks @kmahone Any ideas what might be happening here ?

Unfortunately that doesn't help either. I've tried the following combinations:
            const auto content = dataTemplate.LoadContent();
            const auto element = content.as<winrt::FrameworkElement>();
            if (element == nullptr) {
                // We have a DataTemplate which is empty, so we need to set it to true
                m_isItemTemplateEmpty = true;
            }

            const auto element = dataTemplate.LoadContent().as<winrt::FrameworkElement>();
            if (element == nullptr) {
                // We have a DataTemplate which is empty, so we need to set it to true
                m_isItemTemplateEmpty = true;
            }

Also I've tried recycling the element with the following code, however that didn't work either:
            const auto element = dataTemplate.LoadContent().as<winrt::FrameworkElement>();
            if (element == nullptr) {
                // We have a DataTemplate which is empty, so we need to set it to true
                m_isItemTemplateEmpty = true;
            }

            // Recycle template
            const auto factoryArgs = winrt::make_self<ElementFactoryRecycleArgs>();
            factoryArgs->Element(element);
            m_itemTemplateWrapper.RecycleElement(static_cast<winrt::ElementFactoryRecycleArgs>(*factoryArgs));

@ranjeshj you did work in the DataTemplate code a long time ago to cache the last-built element for an optimization. Is that coming into play here?
Also if the test app is C# then there's very possibly some .NET GC behavior coming into play that's keeping things alive. I've definitely seen oddities with the Frame control where things on a Page don't get cleaned up until you go backwards and then go forwards to a different Page instance.
I think the best way to dig in is write a C++ app to see if direct references (no GC) leaks. If it does then the problem is in native code somewhere for sure. If not then we should suspect a GC problem, which could be mitigated with weak_refs on whatever link you want to be cleaned up.

Created a C++ version of the repro project and it seems that is issue is also existent there too.
We create one more view than we clean up, the repro project can be found here: https://github.com/chingucoding/RepeaterMemoryLeak

Created a C++ version of the repro project and it seems that is issue is also existent there too.
We create one more view than we clean up, the repro project can be found here: https://github.com/chingucoding/RepeaterMemoryLeak

Thanks @chingucoding. Could you run an experiment to further track it down? Can you try providing a custom ElementFactory as ItemTemplate instead of DataTemplate. If it does not leak with a custom element factory, that will scope down the leak to DataTemplate. Thanks.

I've swapped out the DataTemplate in the linked repo with a custom ElementFactory, and with that, we always clear the same number of items, that we created, resulting in no memory leaks. So it is an issue with the DataTemplate not clearing the items correctly, given that an ElementFactory behaves as expected and results in no memory leak.
Btw: Thanks @harvinders for the repro project, that helped a lot here!

Thanks @chingucoding . That helps narrow it down. We could probably repro the issue with just a DataTemplate (no repeater). When the DataTemplate goes out of scope it looks like it is not cleaning all the containers recycled into it. It looks like navigating back and forth is making it show up more because we use a different DataTemplate object each time.
One mitigation could be to take the DataTemplate out of the page and have it in App.Resorces. Perf wise, that is much better because you are now not throwing away and creating new elements when navigating across the pages. The elements get recycled into the same DataTemplate instance.
That said, this does look like a bug in DataTemplate that needs to be fixed (post WinUI3 since DataTemplate code is in OS XAML)

@harvinders to see @chingucoding and @ranjeshj 's latest updates

@StephenLPeters , @chingucoding , @ranjeshj If I am not mistaken the early experiments that I did I compared ItemsRepeater with ListView keeping other things as such. If the issue is with DataTempate should we also not see the leak in ListView? However, I did not saw any leaks there when I did my early experiements.

I'm going to try debugging through and see what clues I can find about the leaked objects. I agree with @harvinders that if we don't see this issue with ListView that I suspect the issue is somewhere in between ItemsRepeater and DataTemplate. When I looked at this yesterday I didn't see any outstanding pointers to the leaked object so I suspect that these are ref count leaks. Such things are very uncommon with the type of coding patterns we use in this codebase but I've seen it when there's some subtle unsafe things happening (like reinterpret_casts). Anyhow ... I'll debug for a bit.

Thanks @jevansaks.
@harvinders  ListView does recycling on its own internally (does not leverage the IElementFactory). IElementFactory was introduced to decouple recycling from the collection controls when ItemsRepeater was created. It looks like we are leaking somewhere in this new codepath. Given that custom implementations of IElementFactory are not leaking (as @chingucoding investigated), I suspect the leak is somewhere in DataTemplate or its usage.

From what I can see so far, the call in ItemsRepeater to LoadContent here:
https://github.com/microsoft/microsoft-ui-xaml/blob/6265117611bfd5bb84a3c582c67071775fa9a1ca/dev/Repeater/ItemsRepeater.cpp#L624
Is returning an element that has a ref count of 2 instead of 1. It doesn't appear to be doing anything different than the other LoadContent() call that produces the items which are then going into the tree. But I wonder if LoadContent is adding a reference under the assumption that it will eventually be added into the tree and without parenting the element that we've broken some implicit contract?

It appears that there's some kind of expectation of how we're supposed to handle the return value of DataTemplate.LoadContent() -- we can't just discard the result like we are doing here.
The good news is that another workaround in addition to the IElementFactory approach is a DataTemplateSelector in place of the direct DataTemplate works as well.
We'll continue to investigate what's going on here.

So we understand the problem and it is a bug in DataTemplate::LoadContent. We will work to get a fix in WinUI3 for it but in the meantime we'll need some kind of workaround in ItemsRepeater. The only way I can see to work around it is that the element returned by LoadContent needs to be added to a UIElement collection. It can be immediately removed after it's added.
The other option is to reconsider the code where we're calling LoadContent at all. Why is it important that we set the m_isItemTemplateEmpty flag ? We don't do that if DataTemplateSelector returns empty things, do we?
But if it is important then I think the simplest workaround is add the item to the Repeater's own Children and then immediately remove it. Something like:
    if (auto content = dataTemplate.LoadContent().as<winrt::FrameworkElement>())
    {
        // Due to bug <To be filed> we need to get the framework to take ownership of the extra implicit ref that was returned by LoadContent
        auto children = Children();
        children.Append(content);
        children.RemoveAtEnd();
    }
    else
    {
        // We have a DataTemplate which is empty, so we need to set it to true
        m_isItemTemplateEmpty = true;
    }

@chingucoding it sounds like you have a repro in MUXControlsTestApp where you can check this. Can you try this out?

@jevansaks did you want to open a new issue for the Winui3 work and leave your context there or is it pretty much all here?

Yes @StephenLPeters  I'll create another issue for the DataTemplate::LoadContent bug, we can use this one to track the ItemsRepeater workaround.

@jevansaks Your workaround works, with it, we don't have a memory leak due to that LoadContent call!
You can find the testcode I used here: https://github.com/chingucoding/microsoft-ui-xaml/tree/itemsrepeaterleak-testcode
Note that the API test is broken though, not entirely sure why.

Thanks @chingucoding ! Did you build a new test to verify this functionality? If not I'll continue my tinkering to build one.

Note that the API test is broken though,

Which API test is broken with this change?

Oh right, should have mentioned this. I've added both a test UI and tried to add an API test for this, which you can find here.
However that test does not work as expected, maybe this is a timing issue?

Check out LeakTests.cs for API tests that verify leaks in C#. The problem is that you'll need to poke the GC to get the garbage collector to run and clean up the objects. Try adding this just before your last check:
            GC.Collect();
            GC.WaitForPendingFinalizers();
            GC.Collect();

Adding the snippet worked, the test works now as expected! If you like, you can use that test, if you want to create a PR for this issue 😄

Adding the snippet worked, the test works now as expected! If you like, you can use that test, if you want to create a PR for this issue 😄

You did all the hard work, you should create the PR! But I'm happy to create the PR if you'd prefer. :)

You did all the hard work, you should create the PR! But I'm happy to create the PR if you'd prefer. :)

You were the one finding a fix for this issue not me, so feel free to create the PR :)

m_isItemTemplateEmpty  flag is quite straightforward when we are passed in a DataTemplate. I suspect that when using a template selector, we don't know if the selected template is empty or not until much later. What if one of the templates is empty and the others are not. We cannot use the same logic (if m_isItemTemplateEmpty is true, we currently short-circuit measure and report zero desired size for the repeater). So we did not support the case where if the data template is empty in a template selector is empty. Instead we just don't support that case. One can workaround by providing a template that contains a single element of 0 size. This was discussed in the PR which added m_isItemTemplateEmpty flag.

You did all the hard work, you should create the PR! But I'm happy to create the PR if you'd prefer. :)

You were the one finding a fix for this issue not me, so feel free to create the PR :)

Acknowledged @chingucoding , I'll get the PR ready.

I know this issue is closed but I'm just using the ItemsRepeater and noticing that if I dynamically add and remove items (via databinding to an ObservableCollection), if I remove all items from the collection there is still one item that never gets cleaned up. Is this a known issue? I'm testing this on 0.5.6 of WinUI3

@ranjeshj thoughts?

@nickrandolph are you using a UniformGridLayout? That layout does some special logic with the first item.  Keep in mind that even if you remove all of the items from your data source, we will still keep the containers for the previous items around so they can be recycled when needed.  I think if you set items source to null it would remove the containers.
Can you open a new issue on this bug?

@StephenLPeters I'm using a StackLayout. If I dispose the page, I think the final instance is cleaned up along with the control, so I don't think this warrants raising a new bug. I was more interested to know why the last instance would still be floating around.
What's interesting is that the instance is effectively dead - I have a weak reference to it from a messaging component, and it doesn't seem to think the instance exists any more (and yes, I've tried removing the messaging reference and the instance is still there)


Using PEP 649 annotations with status code 204 No Content and return type None raises AssertionError

Privileged issue

[X] I'm @tiangolo or he asked me directly to create an issue here.

Issue Content
Reproduce

create FastAPI app
create route with status code 204 No Content
add return type None to said route
add future annotations (PEP 649)

from __future__ import annotations

import http
import logging

from fastapi import FastAPI

app = FastAPI()

@app.post("/", status_code=http.HTTPStatus.NO_CONTENT)
async def root() -> None:
    logging.info("endpoint called.")

Expected
The file above should boot up fine when running uvicorn filename:app --reload
Actual
This raises an error: AssertionError: Status code 204 must not have a response body
full traceback
Traceback (most recent call last):
  File "/<python_location>/lib/python3.11/multiprocessing/process.py", line 314, in _bootstrap
    self.run()
  File "/<python_location>/lib/python3.11/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/<project_dir>/venv/lib/python3.11/site-packages/uvicorn/_subprocess.py", line 76, in subprocess_started
    target(sockets=sockets)
  File "/<project_dir>/venv/lib/python3.11/site-packages/uvicorn/server.py", line 59, in run
    return asyncio.run(self.serve(sockets=sockets))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/<python_location>/lib/python3.11/asyncio/runners.py", line 190, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/<python_location>/lib/python3.11/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "uvloop/loop.pyx", line 1517, in uvloop.loop.Loop.run_until_complete
  File "/<project_dir>/venv/lib/python3.11/site-packages/uvicorn/server.py", line 66, in serve
    config.load()
  File "/<project_dir>/venv/lib/python3.11/site-packages/uvicorn/config.py", line 471, in load
    self.loaded_app = import_from_string(self.app)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/<project_dir>/venv/lib/python3.11/site-packages/uvicorn/importer.py", line 21, in import_from_string
    module = importlib.import_module(module_str)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/<python_location>/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/<project_dir>/main.py", line 12, in <module>
    @app.post("/", status_code=http.HTTPStatus.NO_CONTENT)
     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/<project_dir>/venv/lib/python3.11/site-packages/fastapi/routing.py", line 661, in decorator
    self.add_api_route(
  File "/<project_dir>/venv/lib/python3.11/site-packages/fastapi/routing.py", line 600, in add_api_route
    route = route_class(
            ^^^^^^^^^^^^
  File "/<project_dir>/venv/lib/python3.11/site-packages/fastapi/routing.py", line 401, in __init__
    assert is_body_allowed_for_status_code(
AssertionError: Status code 204 must not have a response body

Current workarounds

remove from __future__ import annotations
or remove the return type None

PRs
There was a PR posted in the discussion https://github.com/tiangolo/fastapi/discussions/6060#discussioncomment-5102253
After stepping through the code, I think it might make sense to return early in ~fastapi.dependencies.utils.get_typed_annotation~fastapi.dependencies.utils.get_typed_return_annotation if annotation == "None" (PR incoming).

According to the referenced link  in the issue #9424, you're returning  a string in the body " "
@app.post("/", status_code=http.HTTPStatus.NO_CONTENT)
async def root() -> str:
    logging.info("endpoint called.")
    return ""

Even if this was edit the code to
@app.post("/", status_code=http.HTTPStatus.NO_CONTENT)
async def root() -> None:
    logging.info("endpoint called.")
    return None

The error is thrown because you are still returning something  in  body  as json though it may not be valid
e.g null
With the third approach of not returning anything like
@app.post("/", status_code=http.HTTPStatus.NO_CONTENT)
async def root() -> None:
    logging.info("endpoint called.")

The server does not seem to complain one bit , maybe there's a special case or more information should be provided to resolve this issue .

I already submitted a PR and it was approved (#9425). You can try the test there (with and without the change). The test fails on my machine as expected.
I deleted the repo (it wasn't up-to-date and I don't think it adds anything). The code in the issue already tells the whole story.

Oh ok I think this issue should be closed then .

just like NoReturn will have same error.

Did you test this with my PR? I can add a test later and see if that's also fixed.
No idea when or if this will be merged though.

The -> None syntax is used to indicate that the function does not return anything. This is different from returning None, which is a value.

This is incorrect.

every function in python returns something; there are no real void functions in Python
annotating the return value of a function is more correct than not annotating it; even if it's None

So the conclusion should be:

accept None as return annotation
allow it for http status 204

Please reconsider.

annotating the return value of a function is more correct than not annotating it; even if it's None

I don't disagree but in the this scenario, allowing the -> None syntax for HTTP status 204 will introduces ambiguity regarding the presence or absence of a response body.  For clarity and HTTP compliance, excluding response body for status 204, ensures consistency and avoids client confusion.

Well, let's see what the FastAPI devs think.

Well, let's see what the FastAPI devs think.

Yeah, that's cool this way we have a guideline further because you know this is quite controversial and I follow what my team or the project requires me to personally.

I think None should be a valid return type hint for 204 endpoints.
I also think that anything different than None (or lack of return statement, which conceptually is the same, but since we retrieve the type hints at runtime, is a bit different, and that's why not using a type hint works as expected here) should raise an error.

An explicit return NONE, a bare return, or "falling off the end of the function" all return None, and since the return type hint is really about what the function returns (and not, strictly speaking) about the function's role as a 204 endpoint, -> None should be the required return type hint on such a function.  See this discussion.


Update readme for counting

Just incorporates the setcount command into the readme. Also I don't know why its taking into consideration the thing in the  setcount command, I'm still very new to github.

Also I don't know why its taking into consideration the thing in the setcount command, I'm still very new to github.

In brief, you're making many very small commits, every time you edit and save a file in Github, and one of these commits was included in this PR due to it being on the same branch.
Contributing to projects on Github is covered in Github and Git's documentation.
I would highly recommend going through at least the quickstart, as it contains pretty much everything you need to know for basic use of git.
I'd also recommend getting comfortable with using command-line git, as it allows you to contribute on many more platforms than just Github, but this of course isn't strictly necessary.

Sweet, thanks!

I planned to redo all readmes but never started it again.
I'll probably merge this when I come home from work and then idk

Me: still not having it merged xd


库1的分表关联库2的不分表，使用库1的

Bug Report
For English only, other languages will not accept.
Before report a bug, make sure you have:

Searched open and closed GitHub issues.
Read documentation: ShardingSphere Doc.

Please pay attention on issues you submitted, because we maybe need more details.
If no response more than 7 days and we cannot reproduce it on current information, we will close it.
Please answer these questions before submitting your issue. Thanks!
Which version of ShardingSphere did you use?

org.apache.shardingsphere
sharding-jdbc-core
4.0.0-RC1

org.apache.shardingsphere
sharding-jdbc-spring-namespace
4.0.0-RC1

Which project did you use? Sharding-JDBC or Sharding-Proxy?
Sharding-JDBC
Expected behavior
-- simple select sql
SELECT
t0.userid,
t1.userType
FROM
'database0'.table0 t0
LEFT JOIN 'database1'.table1 t1 ON t0.id = t1.id；
execute without error.
Actual behavior
error occured when executing the upper sql.
error detail: cannot find table 'database0.table1',Cause: c.m.j.e.jdbc4.MySQLSyntaxErrorException: Table 'database0.table1' doesn't exist
Reason analyze (If you can)
i config the ds0 as the datasource to split table .(table split,no database split).In the select sql ,i need to join a table in ds_default,and table1 not exists in ds0.When i execute the upper sql,the shardingjdbc sql rewriter change the origin sql into
SELECT
t0.userid,
t1.userType
FROM
'database0'.table0 t0
LEFT JOIN 'database0'.table1 t1 ON t0.id = t1.id；
Steps to reproduce the behavior, such as: SQL to execute, sharding rule configuration, when exception occur etc.
the core config in my xml file is shown as following:
<!--默认数据源 tzadmin.-->
<bean id="ds_default" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="mysqlDriver" />
    <property name="url" value="jdbc:mysql://ip:port/database1?useSSL=false" />
    <property name="username" value="usr" />
    <property name="password" value="pwd" />
</bean>
<!--需要分表的库-->

<sharding:data-source id="shardingReadOnlyDataSource">
    <sharding:sharding-rule data-source-names="ds0"
                            default-data-source-name="ds_default"
                            default-database-strategy-ref="noneStrategy"
                            default-table-strategy-ref="noneStrategy">
        <sharding:table-rules>
            <sharding:table-rule logic-table="table0"
                                 actual-data-nodes="ds0.table0_$->{1..12}"
                                 table-strategy-ref="tableShardingStrategy"
                                 key-generator-ref="orderKeyGenerator" />
        </sharding:table-rules>
        <sharding:binding-table-rules>
            <sharding:binding-table-rule logic-tables="table0" />
        </sharding:binding-table-rules>

    </sharding:sharding-rule>
    <sharding:props>
        <prop key="sql.show">true</prop>
        <prop key="executor.size">2</prop>
    </sharding:props>
</sharding:data-source>

Example codes for reproduce this issue (such as a github link).
I have provide the namespace configuration file and the example sql and explain the situation ,please help me with my question.THX very much.

123

For English only, other languages will not accept.

i have change the detail info into english ,please reopen this issue. @terrymanu


dotnet-compile-fsc

@enricosada I noticed that using the latest dotnet cli on an clean slate (empty nuget cache and no packages), doing dotnet restore on a new F# project does not pull the dotnet-compile-fcs and does not create the .tools in the .nuget/packages folder.
But, if I dotnet restore netcorecli-fsc first, then go back to the F# app, it now starts working as expected (pulls dotnet-compile-fsc, creates .tools, etc).
Any idea what dependency is missing in the template for a new F# core app?

maybe you need a feed, ref https://github.com/dotnet/cli/issues/2384
You can use last known good version, that work for develop .net core libraries/app

Thanks! The workaround with restoring netcorecli-fsc first works too for now.


export_jit of unified conformer model seems to crash in decoder_main.cc

When I attempt to decode with a unified conformer model, it seems that something is wrong in the torch script export or with the decoder code expectations.
To Reproduce
Steps to reproduce the behavior:

train a conformer model based on examples/librispeech/s1/conf/train_unified_conformer.yaml

run export_jit.py on one of the checkpoints to create jit.1.zip

go to runtime/server/x86 and build the code

run ./decoder_main --chunk_size 16 --wav_path ~/Downloads/my-16khz-mono-wavfile.10secs.wav --model_path /path/to/my/jit.1.zip --dict_path /path/to/bpe_units.txt 2>&1 | tee test.decode.log

I've tried with -1 for the chunk_size with similar results.
This is running on a ubuntu machine.  I get the same results when I'm on a machine with a GPU or without.
Is is only the transformer models that work?  Could it be that the unified conformer doesn't work?
Here's the stacktrace output I get:
I0408 02:33:25.523442 21106 torch_asr_model.cc:36] torch model info subsampling_rate 4 right context 6 sos 10010 eos 10010
I0408 02:33:26.328414 21106 decoder_main.cc:79] num frames 998
I0408 02:33:26.328558 21106 torch_asr_decoder.cc:77] Required 67 get 67
terminate called after throwing an instance of 'std::runtime_error'
  what():  The following operation failed in the TorchScript interpreter.
Traceback of TorchScript, serialized code (most recent call last):
  File "code/__torch__/wenet/transformer/asr_model.py", line 105, in forward_encoder_chunk
    elayers_output_cache: Optional[List[Tensor]]=None,
    conformer_cnn_cache: Optional[List[Tensor]]=None) -> Tuple[Tensor, Tensor, List[Tensor], List[Tensor]]:
    _20 = (self.encoder).forward_chunk(xs, offset, required_cache_size, subsampling_cache, elayers_output_cache, conformer_cnn_cache, )
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~ <--- HERE
    return _20
  def right_context(self: __torch__.wenet.transformer.asr_model.ASRModel) -> int:
  File "code/__torch__/wenet/transformer/encoder.py", line 102, in forward_chunk
    tmp_masks = torch.ones([1, _58], dtype=11, layout=None, device=_59, pin_memory=None)
    tmp_masks0 = torch.unsqueeze(tmp_masks, 1)
    xs21 = (self.global_cmvn).forward(xs, )
            ~~~~~~~~~~~~~~~~~~~~~~~~~ <--- HERE
    _60 = (self.embed).forward(xs21, tmp_masks0, offset, )
    xs22, pos_emb, _61, = _60
  File "code/__torch__/wenet/transformer/cmvn.py", line 11, in forward
  def forward(self: __torch__.wenet.transformer.cmvn.GlobalCMVN,
    x: Tensor) -> Tensor:
    x0 = torch.sub(x, self.mean, alpha=1)
         ~~~~~~~~~ <--- HERE
    if self.norm_var:
      x1 = torch.mul(x0, self.istd)

Traceback of TorchScript, original code (most recent call last):
  File "/workspaces/jp/wenet/examples/librispeech/s1/wenet/transformer/cmvn.py", line 44, in forward
            (torch.Tensor): normalized feature
        """
        x = x - self.mean
            ~~~~~~~~~~~~~ <--- HERE
        if self.norm_var:
            x = x * self.istd
RuntimeError: The size of tensor a (80) must match the size of tensor b (83) at non-singleton dimension 2

oh, nevermind, the problem is that the feature set I used for training had 83 dimensions instead of the default 80 that gets used in wenet when processing directly from audios.
I'm closing this.


Escape short_url to prevent SQL Injections

Related to https://github.com/PadamSethia/shorty/issues/3

It all works fine for you ? Because I tried the same when building this and was stuck at this exact point . There was python parsing error everytime .

Hey, yes, works fine for me.


File is seeded but still shows it downloading

https://i.imgur.com/ioXqU39.png
https://i.imgur.com/dOTMjRq.png

Hi @Mazmol, this is definitely a bug, could you go on http://localhost:4000/jobs and tell me if there's an error under rename_and_link job?
Example:

there is not but will try to recreate the bug and then showcase in a video

Sure, can you tell me what is your configuration of jackett and what file you tried to download ? Maybe I can reproduce as well 👍

Hi !
I've had the same problem with movies. The movies has been download, but doesn't show up in the web page.
The "rename_link" has not been done and it didn't generate any errors.
Ex. :
/bobarr/bobarr $ ls -la library/downloads/complete/The.Gentlemen.2020.720p.WEBRip.800MB.x264-GalaxyRG[TGx]
total 816372
drwxrwxr-x 2 ts ts      4096 Jun  2 17:34  .
drwxr-xr-x 6 ts ts      4096 Jun  2 21:11  ..
-rw-rw-r-- 1 ts ts       689 Jun  2 17:31 '[TGx]Downloaded from torrentgalaxy.to .txt'
-rw-rw-r-- 1 ts ts 835920663 Jun  2 17:34  The.Gentlemen.2020.720p.WEBRip.800MB.x264-GalaxyRG.mkv
-rw-rw-r-- 1 ts ts       148 Jun  2 17:31  The.Gentlemen.2020.720p.WEBRip.800MB.x264-GalaxyRG.srt
In the movie library :
/bobarr/bobarr $ ls -l library/movies/
total 4
drwxr-xr-x 2 root root 4096 Apr 15 14:02 'Ad Astra (2019)'

I believe I've found my problem, and don't know if anyone else have this issue...

I've select from the "Discover" tab a new TV show call : "Home Before Dark"
It didn't appear under tv show tab neither movie.

from the postgres database I've find that :

bobarr=# SELECT * FROM movie;
id | tmdbId |               title                |    state    |         createdAt          |         updatedAt
----+--------+------------------------------------+-------------+----------------------------+----------------------------
6 | 419704 | Ad Astra                           | processed   | 2020-04-15 13:17:16.360094 | 2020-04-15 14:02:00.694528
8 |  98161 | Home Before Dark                   | searching   | 2020-05-11 16:03:21.864162 | 2020-05-11 16:03:21.864162
7 | 618344 | Justice League Dark: Apokolips War | downloading | 2020-05-11 16:00:54.785007 | 2020-05-12 00:00:04.06861
12 |  69735 | Batman: Year One                   | downloading | 2020-06-02 17:08:53.348629 | 2020-06-02 17:24:05.720793
14 | 157336 | Interstellar                       | downloading | 2020-06-02 17:25:57.134032 | 2020-06-02 17:25:58.896786
15 | 522627 | The Gentlemen                      | downloading | 2020-06-02 17:26:26.136206 | 2020-06-02 17:26:28.005115
16 | 335984 | Blade Runner 2049                  | missing     | 2020-06-02 17:26:51.301765 | 2020-06-02 17:26:52.898256
(7 rows)
So, it has been inserted in the wrong content type, and because of that, the UI wasn't able to display correctly.
Solution : I've delete manually from the DB
bobarr=# DELETE FROM movie where id=8;
Now, the UI is back on track.
What work :

If I go to Search tab and enter the show name => click season ==> Download
It will show in the UI under TV Show, not movie like the other.

So it seem that when we add a TV Show from Dicsover, it add the media in the wrong category.
Tx

Hi @mune360 thank you for the details of the issue, I'll try to reproduce myself and fix this 👍


command to list parameters of add-on installation

== Describe Add-on Installation sample output start ==
Id:                          bar
Href:                        /api/clusters_mgmt/v1/clusters/foo/addons/bar
Addon state:                 ready
Parameters:
"id_1"                      : "value_1"
"id_2"                      : "value_2"
== Describe Add-on Installation sample output end ==

@renan-campos If there is not a Jira for this, can you create one and link them, just so we can get this through QE

/lgtm

@renan-campos If there is not a Jira for this, can you create one and link them, just so we can get this through QE

will do

!JIRA - SDA-6174


Update cla.yml

previous cla gh action didn't appear to be working correctly. Updating the CLA to retry.
Description
The previous CLA was causing failing checks and not displaying the correct info to the user. Trying again by updating the CLA.yml file.
Additional Information

[ ] I read the contributing docs (if this is your first contribution)

I have read the CLA Document and I hereby sign the CLA

@0xLienid could you take a look at this? Had Jem on it but doesn't look like he was able to yet.

I have read the CLA Document and I hereby sign the CLA

I have read the CLA Document and I hereby sign the CLA


Refactor editor prompt to unblock tests

Description
Currently, it is not possible to add integration tests for any command that involves opening an external code editor, such as rules create or rules update. The editor prompt does not honor the --no-input flag, and we'd also need to add support for an alternative input method (e.g. piping).
This PR tackles the first problem, by having the editor prompt use the same code infrastructure as the rest of the prompts. That makes the editor behave similarly to the other prompts, e.g honoring --no-input and handling errors the same way.
Testing

[ ] This change adds test coverage for new/changed/fixed functionality

Checklist

[ ] I have added documentation for new/changed functionality in this PR or in auth0.com/docs
[ ] All active GitHub checks for tests, formatting, and security are passing
[ ] The correct base branch is being used, if not master

It is transparent.


Mobile staging

Coverage remained the same at 91.911% when pulling d3a2b77bcbdbea9a6e06fe6013311024c393d594 on mobile-staging into ae560006b277a89b51fcc2c72a20db8e7644b5b8 on master.


Teams Page

teams page done with react

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 1
- Added 7

Complexity increasing per file
==============================
- src/TeamRep.js  1
- src/components/Footer.js  1

Clones removed
==============
+ src/Team.js  -6

See the complete overview on Codacy


Chrysler: use unified signal definitions

I'll see why process replay didn't fail first before merging

The segment in test_processes is only available and engaged so flipping them has no effect. We should soon try to get more comprehensive routes, and test more things like doors, blinkers, gas, etc.

This is good to go now, but not sure we want to start using this camel case convention in the DBC, it's not in the reference DBC and was chosen by @realfast I think


Pcq tests

Before creating a pull request make sure that:

[ ] commit messages are meaningful and follow good commit message guidelines
[ ] README and other documentation has been updated / added (if needed)
[ ] tests have been updated / new tests has been added (if needed)
[ ] the enable_keep_helm label has been added, if the helm release should be persisted after a successful build

Please remove this line and everything above and fill the following sections:
JIRA link (if applicable)
https://tools.hmcts.net/jira/browse/PRL-4166
Change description
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[ X] No

Local run log:


Managers

Add three components for this module:

List
Edit
Add

Only admin has access to these components.

Check up having of all the endpoints on the server side.

#72


Enhance group membership admin filters.

Remove old geolocation search fields from admin.

Coverage remained the same at 92.212% when pulling 2e396c0723d0eea685ec345ae99861b2501710d5 on akatsoulas:admin-expire-filter into e868244e89a28e8ee074ed0cb7c26eb6bc9d6ac8 on mozilla:master.


Rename external_ref to topology_task_ref

Leftover from PR https://github.com/ManageIQ/service_portal-api/pull/68

@mkanoor It seems you missed the db/schema.rb from this PR...can you make a follow up PR?


Modbus address change

Hi,
I recently was trying your code on 2 Wanderer's that I bought this month.  My older Wanderer worked fine with your code, but the newer devices required changing the modbus address to 255 to get them to work.  This is even though 255 is not a valid modbus address.  I tried all possible addresses (1-255)
I'm not sure what changed, but likely a firmware revision in the controller.
--bryan

@bryanc806 Thank you for letting me know!!


modules/lib/picolibc: Use version with _ZEPHYR_SOURCE support

Merge in picolibc support for _ZEPHYR_SOURCE so that picolibc will expose the Zephyr C library API.
Synchronized with sdk-ng PR https://github.com/zephyrproject-rtos/sdk-ng/pull/676

Note that, if this is merged for the 3.4 release, a new Zephyr SDK releases (v0.16.2) must be made with https://github.com/zephyrproject-rtos/sdk-ng/pull/676.

Note that, if this is merged for the 3.4 release, a new Zephyr SDK releases (v0.16.2) must be made with zephyrproject-rtos/sdk-ng#676 to keep the toolchain and module Picolibc versions synchronised.

@nashif ^^


Update the trust sandbox documentation to use theupdateframework/notary images

Update the trust sandbox docker-compose setup to be on par with latest notary images
Proposed changes
I have updated the docker security trustsandbox documentation to use the actively developed notary server. The current example shows deprecation notices and isn't representative to what users would be using today.

Deploy preview for docsdocker ready!
Built with commit dafe6881329f3744907f7410f906274cb40bab7c
https://deploy-preview-10078--docsdocker.netlify.com

Please let me know if there are any further actions required to merge this PR.

Hey @marcofranssen , is there any chance you can remove the UCP enterprise commits from this PR as they are not related to the Notary Compose file changes. Thanks :)

@ollypom what do you mean by UCP enterprise commits?

@ollypom I have rebased my branch again on master. Should be good now.

For convenience here the particular page https://deploy-preview-10078--docsdocker.netlify.com/engine/security/trust/trust_sandbox/


CI for Node

Contains the compiled JavaScript
Initializes with two players
Sets the current player to be whoever it is not
Starts the game with a random player


RavenJS triggers deprecations from jQuery Migrate

jQuery team provides a tool called jQuery Migrate to ease migration from version to version. It's especially a nice tool when migrating from jQuery 1/2 to jQuery 3.
However, when using jQuery migrate and RavenJS, deprecations are triggered by this code https://github.com/getsentry/raven-js/blob/master/src/raven.js#L927-L934
        var $ = _window.jQuery || _window.$;
        if ($ && $.fn && $.fn.ready) {
            fill($.fn, 'ready', function (orig) {
                return function (fn) {
                    return orig.call(this, self.wrap(fn));
                };
            }, wrappedBuiltIns);
        }

It's unclear to me how this is a problem for us. We're intending to monkey patch jQuery, but we'd need to support any version of jQuery. Everything here is guarded and should be safe between any of these versions, so I don't see what we would need to do here.

Possibly related, but honestly I can't tell if this is a raven issue or raven reporting an issue from somewhere else.
JQMIGRATE: Migrate is installed with logging active, version 3.0.0
raven.js:80 JQMIGRATE: jQuery.unique is deprecated, use jQuery.uniqueSorta.(anonymous function) @ raven.js:80
jquery-migrate.js:64console.tracec @ jquery-migrate.js:64

@tacman – for breadcrumbs Raven.js overrides console.log which causes log statements to appear to come from Raven.js. It definitely does not use jQuery.unique, so I suspect the deprecation notice is being triggered by somewhere in your own code / other library.

Thanks, Ben.  That makes sense, we'll check it out.
On Mon, Feb 6, 2017 at 3:57 PM, Ben Vinegar<EMAIL_ADDRESS>wrote:

@tacman https://github.com/tacman – for breadcrumbs Raven.js overrides
console.log which causes log statements to appear to come from Raven.js.
It definitely does not use jQuery.unique, so I suspect the deprecation
notice is being triggered by somewhere in your own code / other library.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/getsentry/raven-js/issues/817#issuecomment-277810826,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAl0QbqJkZ0WeJNhuAcj3Z8Wnk2gfsoxks5rZ4kkgaJpZM4LcyP2
.

@romainneutron – I think we'll just remove this code, it serves less and less purpose today.


alluxio/journal/raft/xx/log_ A large number of files, can this be cleaned?

A large number of files, can this be cleaned?

@liangrui1988 Hi liangrui, how many masters in your Alluxio cluster? Normally, after the cluster generates a snapshot, it will automatically clean up the redundant journals.

@codings-dan 3 a master
It seems that it has not been cleaned up. Do you need to configure anything?

@liangrui1988 Now only the Alluxio standby master will generate snapshots. When the snapshot are generated, ratis will be called to purge the log to complete the cleanup. So you can see less space on other nodes. Since the Alluxio primary master does not generate snapshots by itself, but copies snapshots from other followers, there seems to be no cleanup logic here.
I think there are two ways to solve this problem :

Manually switch the Alluxio Primary master to the standby Master, which can help clean up the log next take snapshot
Check /data/alluxio/alluxio/journal/raft/02511d47-d67c-49a3-9011-abb3109a44c1/sm/ to find the largest log id in the snapshot file, and then journals smaller than this id can be cleaned up.

However, I think a more elegant solution is to purge log after maybeCopySnapshotFromFollower on Alluxio primary master. Do you have any advice on this issue? @jenoudet

@liangrui1988 We have noticed the same issue as you and fixed it in #15245. After this fix, all logs cleanup properly after a snapshot installation, both on the leading master and the standby masters.
This PR and fix are available starting in Alluxio 2.8.
@codings-dan Thank you for bringing this question to my attention.

@jenoudet can we close this issue?

@jenoudet can we close this issue?

I believe so.


New option - Week starts from Monday?

Our culture uses Monday as the first day of the week.
I feel this option could ease up my (and some others') lives 💗

Okay, we will improve and add this option later.


Supporting parameterized host "x-ms-parameterized-host"

https://github.com/Azure/azure-rest-api-specs/blob/dc439efcfc15448824877603f66fc1578d1c71c5/specification/search/data-plane/Microsoft.Azure.Search.Service/stable/2019-05-06/searchservice.json#L11

Proposal

Add a new decorator for namespaces that allows specifying a host template, parameters, and optional schema.  Also consider adding a decorator that designates a model as metadata only.@compositeHost("{accountName}.{regionSuffix}", MyServiceHost, "https" )
namespace Microsoft.MyService
@metadata
model MyServiceHost {
 @doc("The name of your myService Account")
  accountName: string;
 @doc("The regional suffix of the service")
 regionSuffix: "azure.com" | "azure.cn";
}

Export function accessors that allow retrieving the host details for a namespace: getHostTemplate, getHostParameters, getHostSchema
Add decorators to the Azure library
Note that parameter model could be inline, it might also contain references to properties in real models (for example, storage service parameters may be properties of the storage account, which may have a rpersentation in the library)

Proposal 2

Add a core mechanism for parameterizing strings and use this for the host@parameterizedString("${foo}/${bar}")
model FooBarParameters extends string{
  foo: string;
  bar: string;
}

add discussion of openapi3 servers feature
include how we might represent paths and other common features using composite strings

clear indication that these things are strings


A good solution to reuse parameter-definitions

I am aware that it is possible to add (query)parameters in the swagger-object:
QueryParameter download = new QueryParameter();
download.name("download").description("Triggers the browser to set the download flag. The parameter is the filename");
swagger.addParameter("download", download);

It would be really nice if it was possible to refer to these parameters when defining the @ApiOperation annotation (or a new @ApiReferParameter) on the endPoints so they could be reused. A am aware that it is possible to use @ApiImplicitParams - but this doesn't allow for reuse :-(
An even better solution would be to group a bunch of parameters and refer to the group as many of my endPoints have the same QueryParameters (eg. it is possible to sort all endPoints returning a Collection by defining a "&sort=name" query parameter, on all endPoints a download trigger can be activated, etc...)

Regarding your second option, isn't that exactly what BeanParam covers?

Actually I wasn't aware of this - thank you for pointing me in that direction.
After experimenting a little with @BeanParam - swagger-core doesn't seem to parse it the way I was expecting. When annotating fields with @QueryParam:
public class CollectionParameters {
    @QueryParam(value="sort")
    public String sort;

    @QueryParam(value="excluded")
    public String excluded;

    @QueryParam(value="included")
    public String included;
}

I was kind of hoping that Swagger would render the above 3 query parameters as QueryParameters. It seems like it is rendering it as a class...?

Am I doing something wrong?
Here is how I use the CollectionParameters class:
@GET
@ApiOperation(
        value="Gets a collection of Feedbacks",
        response = Feedback.class,
        responseContainer = "List"
)
public Response getFeedbacks(@BeanParam CollectionParameters collectionParameters, ...) {
    ...
}

Is this a bug or is it supposed to be this way?

Actually this is how I was expecting the QueryParameters would turn up in the UI:

(This is programmed using @ApiImplicitParams )

@HenrikHL - if you're getting that, then it looks like a bug. It should definitely render as it does in your second screenshot. Which version of swagger-core did you test it with?

I am using latest version 1.5.3

@lugaru1234 - can you check it please? There's a test with a @BeanParam that includes a body parameter as well. It may fail if a body parameter is not included.

It is version 1.5.3
The code is as above. I am only using 3 QueryParam annotations in the CollectionParameters class above. I am not using neither PathParams or BodyParams...

That's where the bug may occur. The parameter is treated as a body parameter mistakenly.

I can try tomorrow to add a @BodyParam (or a @PathParam) and let you know if anything changes...

It doesn't matter what kind of Params I insert - every time it produces a "double"-body in the documentation. Code example:
public class CollectionParameters {
@QueryParam(value="sort")
public String sort;
    @QueryParam(value="excluded")
    public String excluded;

    @QueryParam(value="included")
    public String included;

    @HeaderParam(value="xxx")
    public String xxx;

    @FormParam(value="yyy")
    public String yyy;

    @MatrixParam(value="zzz")
    public List<String> stringList;
}

An example of the use:
@GET
@ApiOperation(
        value="Gets a collection of figures",
        notes = "Gets all Figures.",
        response = Figure.class,
        responseContainer = "List"
)
public Response getFigure(@BeanParam CollectionParameters collectionParameters, ...) {
    ...
}

...and the result from the Swagger-UI:

Hi, @HenrikHL. I have tested your sample. What jersey version do you use? It should work for jersey2 as you expected. Please look at the https://github.com/swagger-api/swagger-samples/tree/master/java/java-jersey2

I am pretty sure I am using Jersey2 - otherwise the project wouldn't compile (@BeanParam was added in version 2.0 as far as I can see...)
I will check the code again on Monday - maybe I can find a reason as to what is wrong...?

@HenrikHL, Sure, sorry. I forget about this fact. I have added your code to the test and it works fine, also I have added the same code to the swagger-jersey2-sample-app and it works as you expected too.
Here is CollectionParameters https://github.com/lugaru1234/swagger-samples/blob/beanParam/java/java-jersey2/src/main/java/io/swagger/sample/model/CollectionParameters.java, and its use https://github.com/lugaru1234/swagger-samples/blob/beanParam/java/java-jersey2/src/main/java/io/swagger/sample/resource/PetResource.java#L101
And the result from the Swagger-UI:

Please check the swagger dependency. It should include swagger-jersey2-jaxrs:
<dependency>
      <groupId>io.swagger</groupId>
      <artifactId>swagger-jersey2-jaxrs</artifactId>
      <scope>compile</scope>
      <version>${swagger-version}</version>
</dependency>

If it doesn't help I'll look for another reason

I am totally mystified as to why this doesn't work in my project. I have copied the code from your example and made a simple class:
import io.swagger.annotations.*;
import javax.ws.rs.*;
import javax.ws.rs.core.*;

@Path("/figures")
@Api(tags = {"pet"})
@Produces({"application/json", "application/xml"})
public class FiguresService {
    @GET
    @ApiOperation(
            value="Gets a collection of figures",
            responseContainer = "List"
    )
    public Response getFigure(@BeanParam EntityParameters entityParameters) {
        return Response.ok().build();
    }
}

This is what swagger.json produces:
"/figures" : {
  "get" : {
    "tags" : [ "pet" ],
    "summary" : "Gets a collection of figures",
    "description" : "",
    "operationId" : "getFigure",
    "produces" : [ "application/xml", "application/json" ],
    "parameters" : [ {
      "in" : "body",
      "name" : "body",
      "required" : false,
      "schema" : {
        "$ref" : "#/definitions/EntityParameters"
      }
    } ],
    "responses" : {
      "default" : {
        "description" : "successful operation"
      }
    }
  }
},

The "schema" is referring to EntityParameters - is it supposed to? The EntityParameters look like this (it is a little modified compared to your example):
"EntityParameters" : {
  "type" : "object",
  "properties" : {
    "excluded" : {
      "type" : "string",
      "description" : "Comma separated list of fields that should be excluded from the result"
    },
    "included" : {
      "type" : "string",
      "description" : "Comma separated list of fields that should be included in the result"
    },
    "print" : {
      "type" : "string",
      "description" : "PrettyPrint (print=pretty) the result or don't send anything back in the payload (print=silent)",
      "enum" : [ "pretty", "silent" ]
    }
  }
},

In another place in my swagger.json I code the parameters myself (using @ApiImplicitParam) - then swagger.json looks like this:
"parameters" : [ {
      "in" : "body",
      "name" : "body",
      "required" : false,
      "schema" : {
        "$ref" : "#/definitions/InputStream"
      }
    }, {
      "name" : "included",
      "in" : "query",
      "description" : "Comma separated list of fields that should be included in the result",
      "required" : false,
      "type" : "string"
    }, {
      "name" : "excluded",
      "in" : "query",
      "description" : "Surround the result with additional information",
      "required" : false,
      "type" : "string"
    }, {
      "name" : "page",
      "in" : "query",
      "description" : "Get a specific page in the result",
      "required" : false,
      "type" : "integer"
      },

Notice here that the parameters are defined outside the schema scope (or outside the "in" : "body")?!?
Can you please verify that the swagger.json above looks ok?
And my result: :-(

I am so sorry @lugaru1234 - I didn't read all of your message:
"...Please check the swagger dependency. It should include swagger-jersey2-jaxrs:..."
I was missing the swagger-jersey2-jaxrs-1.5.3.jar library. After adding this everything is working. Thank you so much for your help - it is much easier now to reuse parameters :-)
It might though be easier to find the bug if Swagger displayed an error when the jersey2 jar was missing...

@HenrikHL , you're welcome)

@HenrikHL - are we good to close this issue?

Yes - you can close the case. The reason it didn't work was because I forgot to include the swagger-jersey2-jaxrs-1.5.3.jar. My only concern was that I think it should have produced an error instead of wrong output...?


conduit becomes invisible with redstone signal

I have a clear dark glass façade on an insulated redstone conduit with a lever on top. If the lever is on, the conduit connector becomes invisible in the façade, unless you are holding the yeta wrench, but when the lever is off, the connector is rendered.
Forge 2185
MC 1.10.2
EnderIO <IP_ADDRESS>
EnderCore <IP_ADDRESS>
https://postimg.org/image/5lu2zhj61/ - Lever Off - Conduit Rendered
https://postimg.org/image/nsjtvr25r/ - Lever On - Conduit Invisible
https://postimg.org/image/45lz0t1c9/ - Lever On w/ Yeta - Conduit Rendered Again

The screenshots are now unavailable.

This may be a dupe of another bug I fixed in the meantime. Please re-test with the current version, thx.


Maybe we can pass perlcritic before there is any working code?

Corrected the usual suspects

Pull Request Test Coverage Report for Build 7

3 of 3 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 3:
0.0%

Covered Lines:
29

Relevant Lines:
29

💛  - Coveralls

@avullo I have sublime-text set to auto replace tabs with spaces.
you can do the same in emacs, a quick search to recommend:
M-x untabify
or put in your .emacs for permanent results
(setq-default indent-tabs-mode nil)

Thanks, I'm now running perltidy and perlcritic each time :)


trying to use flexbox breaks player

Without using flexbox everything works fine. Whenever I wrap the player with a horizontal flexbox the wave just disappears.

Any idea why? Can you submit a PR?

Under investigation will update once I have any updates.

By the way, I am using react-wavesurfer. Wrapping the player in a div with width: 100%, solved the problem for me.

OK! :thumbsup:


Add jump list support

What would the contents of the jump list look like?  Would it be populated by the contents of "saved timers"?

Yup. The idea is that it would be saved timers and recent inputs.


增加了取消模型点赞展示

What changes were proposed in this pull request?

Why are the changes needed?

Will break the compatibility? How if so?

Does this PR introduce any user-facing change?

How was this patch tested?

Checklist

[ ] I've run the tests to see all new and existing tests pass.
[ ] If this Pull Request resolves an issue, I linked to the issue in the text above.
[ ] I've informed the technical writer about the documentation change if necessary.

增加了取消模型点赞的演示


Change veth pair ip

Changes the IP Addresses for the veth pair to reduce collision with users' existing network.
Fixes: https://github.com/rancher-sandbox/rancher-desktop/issues/7383

The plan is to migrate this repo under Rancher Desktop's main repo. We would need to also upgrade gvisor, we will then re-visit this PR.


IOS Google Login no response

Dear teams,
I am a newbie in NativeScript, I follow the instruction to set up my Application.
The google and facebook login works prefect in Android, It's will open the correct page to handle the login process, and once the process be done I will get the user result from callback !
However, when I jump into IOS, the google login is out of function, after I called SocialLogin.loginWithGoogle will crash the application, I tried both iPhone & simulator.
Here is my testing result :
IOS : 10.2.1、11.2
nativescript-social-login: "^3.0.5"
tns-platform-declarations: "^3.3.0"
tns-core-modules: "~3.1.1"
Due to there is no error message been log, I couldn't figure out where I did wrong.
Any suggestion would be helpful !

Thanks for reporting this issue. Could i suggest you try out the demo application included? It shows how this plugin can be implemented on both iOS and Android.

@jogboms Thank you for suggestion, I will try the demo tomorrow, hope I can solve the problem which I faced.

@jogboms I had tried the demo this morning. Unfortunately, the demo running on IOS failed to process google login, but the facebook login works perfectly.
Here is my testing  result :
IOS : 10.2.1、11.2
nativescript-social-login: "^3.0.5"
tns-platform-declarations: "^3.3.0"
tns-core-modules: "3.2.0"
The console didn't log any error message, once I clicked the "Login with Google", the application was crash.

Okay @Willis0826. I'd check it out.

@Willis0826 could you try installing the @next version and confirm if its working for you?

@jogboms Spectacular! After I used npm install --save nativescript-social-login@next everything works perfectly!
Now, the plugin can running  on my iPhone(10.2.1) without any error! Thank you for great help.

Awesome. Thanks for your feedbacks @Willis0826

Recently, Our team used this package to implement the login function in our Application.
And we found a problem is : The function invokeLoginCallbackForGoogle which is in the SocialLogin.ios.js didn't pass the photo property, I am not sure if this is a bug or not.
However, we using the user.profile.imageURLWithDimension(100) to get the user photo url, and then pass it to googleSuccessCallback function.
@jogboms Here to share, hope this will help.

Problem with GoogleLogin on iOS , android works perfectly. On button click I get log login with google..
and then nothing happen, no google login popup. help?


multicolor for progressbar indeterminate

Could you please add multicolor for indeterminate

I guess you mean the linear ProgressBar. I did not add it because it's not in the spec but you still can customize the component to add a progressive transition. :)


Openstack provider?

Any chance of an OpenStack provider?

Assuming this is not needed anymore - though it is currently possible to create compliance tests against any providers - closing the issue


make sure that put!(ch, buf) is callback-safe

This line here is the potential concern:
https://github.com/StefanKarpinski/Downloader.jl/blob/37718937228e77ccea6e27fa132724a94d84e357/src/Curl/Easy.jl#L60
If this yields, then everything could crash. I haven't observed this, but @JeffBezanson indicated that it might do so due to locking (even though the channel has an infinite buffer). The consumer of buffers is here:
https://github.com/StefanKarpinski/Downloader.jl/blob/37718937228e77ccea6e27fa132724a94d84e357/src/Downloader.jl#L20-L22
I'm not set on using a channel, but it seemed to me like the way to do it. Jeff, do you have a safer alternative that I could use here?

I think this is fairly safe; it won't block to wait for buffer space, and the way this is used (for now) the producer and consumer are likely to be on the same thread, so the lock won't be contested. If we move to a separate I/O thread, this could use Base.InvasiveLinkedListSynchronized instead, which uses a SpinLock.

Ok, great. If that does happen since we will be using this code for all our downloads, it will presumably start causing crashes, at which point we'll surely notice.

Seems to work.


Export Toolbar buttons to enable devs to create custom Toolbars

Currently it is possible only to use the predefined set of buttons. New buttons can be added via the customButtons property however they are inserted only at the end of the toolbar. Adding new editing options in the middle of the Toolbar is impossible. The goal of this ticket is to export the Toolbar buttons such that developers can create custom looking toolbars with a mix of internal buttons and custom made buttons.
Join on discord to get advice and help or follow us on YouTube Visual Coding to learn more about the architecture of Visual Editor and other Flutter apps.

Now this is entirely possible:
  Widget _toolbar() => Container(
        padding: const EdgeInsets.symmetric(
          vertical: 16,
          horizontal: 8,
        ),
        child: EditorToolbar(
          children: [
            ToggleStyleButton(
              attribute: AttributeM.bold,
              icon: Icons.format_bold,
              iconSize: toolbarIconSize,
              controller: _controller!,
            ),
            ToggleStyleButton(
              attribute: AttributeM.italic,
              icon: Icons.format_italic,
              iconSize: toolbarIconSize,
              controller: _controller!,
            ),
            Padding(
              padding: const EdgeInsets.only(top: 12),
              child: Text(
                'Custom Content',
                style: TextStyle(
                  fontSize: 20,
                ),
              ),
            ),
            ToggleStyleButton(
              attribute: AttributeM.small,
              icon: Icons.format_size,
              iconSize: toolbarIconSize,
              controller: _controller!,
            ),
            ToggleStyleButton(
              attribute: AttributeM.underline,
              icon: Icons.format_underline,
              iconSize: toolbarIconSize,
              controller: _controller!,
            ),
            ToggleStyleButton(
              attribute: AttributeM.strikeThrough,
              icon: Icons.format_strikethrough,
              iconSize: toolbarIconSize,
              controller: _controller!,
            ),
          ],
        ),
      );


fix(coral): bundle monaco editor together with rest of vendor

When the build was run with 'NODE_ENV=production' it resulted in an require error. The monaco editor bundle has a requirement to JSX as the monaco editor we have in the project already has bindings to React.
Signed-off-by: Samuli Suortti<EMAIL_ADDRESS>

How to test this
Broken behaviour (current main)
git co main
cd coral
make clean
make enable-coral-in-springboot

Run Klaw Core
Run following step in browser:

Login
Navigate to: http://localhost:9097/browseTopics
Click browse topics

Coral React application does not load.
Broken behaviour (fix)
git co smulis-fix-monaco-prod-bundle
cd coral
make clean
make enable-coral-in-springboot

Run Klaw Core
Run following step in browser:

Login
Navigate to: http://localhost:9097/browseTopics
Click browse topics

Coral React application loads without errors.

Was the manualChunk for monaco-editor added to be able to load it it parallel with vendor for better performance?

That was the initial purpose. A better solution would be to download the Monaco lazily when the editor is actually required, but as able to get it working in the timebox I gave my self. I am sure we can find better solution with more time, but now I just want to ship the topic request and optimize later.
And your understanding of the issue is the same as mine.


Discuss: error message for contract calls

@niels89 @fabiank0 currently, in the frontend I just get success=true/false, no reason given. in the backend logs I have not seen much more. question is:

is there more extensive feedback from tacker? (we just get the classic 409, NoneType not subscriptable when e.g. trying to deploy a vnf with duplicate name)
how much changes would be required in contract to pass through the error message in addition to the other parameters and how would that impact the measurements done so far?
also, what is the benefit? or do we simply delegate more 'detailed error handling' to potential future work, in particular since the frontend is actually not really a relevant part of the work/report/thesis, as it is just for demonstration purposes and the 'core part' of the system is actually contract+backend?

so really it's more a question of effort vs. reward, rather than whether it is actually possible to get more detailed responses from tacker.
opinions?

Decision: we are implementing a separate errormsg repo in the backend, from which we can fetch the error messages for failed vnf deployments through the deployment ID. this way, no potentially sensitive information is leaked onto the contract.


fix casts in issue parsing

Fixes: #124.
Validated w/
var github = createGitHubClient();
var slug = RepositorySlug('dart-lang', 'linter');
var issues = await github.issues.listByRepo(slug).toList();
print(issues.length);

which prints:
231

👍
/cc @robbecker-wf @Pacane

How is this better than using as ?

as no longer works for dynamic casts with lists so
var labels = input['labels'] as List<Map<String, dynamic>>;

fails at runtime (see, e.g., #124).
Check out https://github.com/dart-lang/site-www/issues/736 for a bit of background and context.


Investigate into JAWS support

Look into how VS Code works with JAWS and identify the current limitations.
@GS-Avaluka feedback is very welcome

fyi @ggordon-vispero

I just gave JAWS a spin on my Windows machine. Here are my findings:

File explorer, works well overall but every item has a suffic "To move through or expand items use the arrows keys" @ggordon-vispero is this expected, does JAWS read this suffic because focus is on a tree item. Same happens for list items, so this feels like a JAWS thing
Editor works well overall but I noticed punctionations like , . are not being read. Is this a JAWS setting? Or should JAWS respect that we set the role code on the Container of the editor?
Main Menus and context Menus seem to work fine
Navigation seems to work fine
Chrome nicely detects that JAWS is attached

I am not a screen reader user, so my findings are of course not complete. It would be great to get much more feedback from users.
fyi @jfayre @RussellSprouts as you have filled JAWS related issue to this repository

I just gave JAWS a spin on my Windows machine. Here are my findings:

File explorer, works well overall but every item has a suffic "To move through or expand items use the arrows keys" @ggordon-visperohttps://github.com/ggordon-vispero is this expected, does JAWS read this suffic because focus is on a tree item. Same happens for list items, so this feels like a JAWS thing
It is a JAWS thing, they’re called Tutor Messages. Many users toggle them off under Options/Basic Options/Tutor Messages.

Editor works well overall but I noticed punctionations like , . are not being read. Is this a JAWS setting? Or should JAWS respect that we set the role code on the Container of the editor?
It’s a JAWS setting, under Options/Voices/ punctuation level. Those who are writing code set this to most or all.
It’s an interesting idea to force higher if  something is tagged as code, but we’re not currently doing that.

Main Menus and context Menus seem to work fine

Navigation seems to work fine

Chrome nicely detects that JAWS is attached

I am not a screen reader user, so my findings are of course not complete. It would be great to get much more feedback from users.
fyi @jfayrehttps://github.com/jfayre @RussellSproutshttps://github.com/RussellSprouts as you have filled JAWS related issue to this repository
I too will try this over the weekend and report back.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/vscode/issues/95225#issuecomment-614068765, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AGBCJAQKHIINTOMK2JGL4RDRMW7CTANCNFSM4MHX5F4A.
Caution This email originated from outside Vispero. Do not click links, open attachments or forward unless you recognize the sender and know the content is safe.

@ggordon-vispero awesome, thanks!

The first two items you mention are in fact expected Jaws behavior, and not something which applications can control. I suspect that the extra information will not be read if the user decreases the verbosity, but I have not confirmed this. Regardless, there's nothing you can do about it.

The punctuation is also a JaWS setting, and role "code" is very new. It is slatted for WAI-ARIA 1.3, and WAI-ARIA 1.2 hasn't even been finalized yet, but both Firefox and Chromium already support it because it was low-hanging fruit. Screen Reader support will need to be added for this first. Orca is, so far, the only screen reader that does it, and AFAIK only in Master.

Hi @isidorn and thanks for this, it's greatly appreciated!
for me the main issues with JAWS are:

As the editor is a forms-mode environment, JAWS does not speak indentation there even if turned on.
Even if it did speak the indentation in editors, it would not differ between editor and non-editor parts of VS Code. I.e., when in the trees or even in virtual cursor mode, you'll hear superfluous indentation markings which is as annoying as not having them at all. @ggordon-vispero Probably it's something that needs to be tweaked in JAWS as well as separating VS Code settings from Chrome ones.
this is very intermittent and extremely hard to describe, but JAWS sometimes loses focus and hangs for some time, especially in big trees and lists. the best way to reproduce it is to replicate my setup: install Remote SSH, SSH to some other machine with a large codebase on it and try to work fast.

Thank you again, and I hope my two favorite companies (Microsoft and Vispero) will come with a robust solution that would allow us to work with our preferred screen reader and there won't be people moving from JAWS to whatever anymore (see the Gitter chat).

Thanks all for feedback.
@Menelion We would love to improve this, however I am not sure what can be done on the VS code side for this.

Is there something in VS code which we can do such that the editor is no in forms-mode environment?
Why doesn't JAWS use different role we set. For example the editor has the role textbox and the trees have role tree
This might be due to a large number of accessilibity events. @joanmarie already investeged in this for the Orca screen reader and this might be an underlying Chrome issue https://bugs.chromium.org/p/chromium/issues/detail?id=1050718 Please note that I am only speculating here

Overall to improve with JAWS we would need somebody from Vispero to share his thoughts. So let's see what @ggordon-vispero has to say.

@isidorn Just investigated. Yes, it seems, you can do nothing here, sorry. @ggordon-vispero It's a JAWS issue. If you want more info, please chime in, I'll write you privately.

@Menelion , please write me with additional details. I have already noticed the JAWS failure to announce intentation and agree that it's an issue on our side. If you have additional JAWS specific details about either indentation or the JAWS hanging
please write to me privately. I think you already have my contact info. If not it's first Initial followed by my last name.

Thanks @isidorn for this.
Actually, I'd be very happy if the problems with indentation levels will be fixed from freedom  scientific side.
Also, I've observed, that JAWS sometimes responds little slower inside command pallat.

We have done the inital investigation and it seems like the work should be done on the JAWS side.
However we will still keep this issue open to have all the information in one place.
I should also have a meeting with the authors of JAWS in the next one month so I will keep updates here.

JAWS reacts too quickly and repeats text in some situations. One such situation is in the editor when you select some text, then delete it. JAWS repeats the selected text.

Regarding the indentation issue, I believe JAWS thinks it is seeing characters or something where the cursor cannot go to the left of every line. It thinks every line starts at the margin. I can check related settings in the JCF.

Hi @ggordon-vispero @isidorn Guys, I've observed that If I use JAWS with VS Code, it doesn't read the terminal output automatically.
Can you guys please look into this?
@ggordon-vispero We'll be thankful to you for improving the JAWS support for VS Code.

I just happened to be looking through default JAWS settings. There is a checkbox in JAWS Quick Settings that turns the speaking of live regions on and off. It is off by default. I have begun to put together a configuration and script set for JAWS for VS Code. I'm going to turn the live region checkbox on and see how far this takes me and report back. I'm hoping that a lot of nice speaking will simply just start happening.

Reporting back. If you use VS Code Insider with JAWS, press INSERT+V. Unfortunately, this gives you Chrome Quick settings because JAWS does not have a configuration and script set for VS Code. I have started one here. So for me, the right stuff comes up. You can still test this, but you may want to remember to put it back the way you had it, so you do not have any adverse affects in Chrome. Anyway, here is what to do. Arrow down to Virtual Cursor > General, and toggle live region speaking on. This will suddenly make JAWS speak all sorts of helpful messages just like NVDA does. I will package up my script set for VS Code Insider and put  it somewhere so others can use it, once I have more of it working.

One more observation.
If more than one file editor is open, and you switch back and forth with Ctrl+Tab and Ctrl+Shift+Tab, You get extraneous verbiage such as "Et active input active input 2 results list box list box".
A similar thing happens when you start typing a keyword. JAWS says: "Suggestion suggestion list box 13 of 29, type to narrow search" (sorry, the citation might not be exact).

@sana-ajani just let me know that the news JAWS version has an improved VS Code support. From their release notes: "Improved the user experience when using JAWS with the Visual Studio Code application. This includes turning off the Virtual PC Cursor by default, eliminating the announcement of ARIA regions, and removing the announcement of a long URL when the program is launched."
Let us know if JAWS behaves better with VS Code now and what are the biggest issues remaining.

@sana-ajani just let me know that the news JAWS version has an improved VS Code support. From their release notes: "Improved the user experience when using JAWS with the Visual Studio Code application. This includes turning off the Virtual PC Cursor by default, eliminating the announcement of ARIA regions, and removing the announcement of a long URL when the program is launched."
Let us know if JAWS behaves better with VS Code now and what are the biggest issues remaining.

Hi,
I started coding JAWS scripts for VS Code. I will unhook the scripts
and report back.
Jim
On 1/6/21, Isidor Nikolic<EMAIL_ADDRESS>wrote:

@sana-ajani just let me know that the news JAWS version has an improved VS
Code support. From their release notes: "Improved the user experience when
using JAWS with the Visual Studio Code application. This includes turning
off the Virtual PC Cursor by default, eliminating the announcement of ARIA
regions, and removing the announcement of a long URL when the program is
launched."
Let us know if JAWS behaves better with VS Code now and what are the biggest
issues remaining.
--
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/microsoft/vscode/issues/95225#issuecomment-755155965

--
Jim Homme
Website: https://www.jimhomme.com/
Twitter: @jimhomme
Facebook: http://www.facebook.com/jimhomme
LinkedIn: https://www.linkedin.com/in/jimhomme
Skype: jim.homme
FreeChess: jhomme

Hi,
I started coding JAWS scripts for VS Code. I will unhook the scripts
and report back.
Jim
On 1/6/21, Isidor Nikolic<EMAIL_ADDRESS>wrote:

@sana-ajani just let me know that the news JAWS version has an improved VS
Code support. From their release notes: "Improved the user experience when
using JAWS with the Visual Studio Code application. This includes turning
off the Virtual PC Cursor by default, eliminating the announcement of ARIA
regions, and removing the announcement of a long URL when the program is
launched."
Let us know if JAWS behaves better with VS Code now and what are the biggest
issues remaining.
--
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/microsoft/vscode/issues/95225#issuecomment-755155965

--
Jim Homme
Website: https://www.jimhomme.com/
Twitter: @jimhomme
Facebook: http://www.facebook.com/jimhomme
LinkedIn: https://www.linkedin.com/in/jimhomme
Skype: jim.homme
FreeChess: jhomme

The issue of JAWS saying the page address is fixed.

The issue of JAWS saying the page address is fixed.

As a Jaws user just learning VS Code I have some thoughts and requests to add to this conversation. Most of this needs to be fixed on the Jaws end, but in accordance with a prior comment, I am posting it here to keep everything in one place.
The following are some hotkeys that would be very useful to me, and should be relatively easy to implement.

Automatic speaking of indentation is nice, but a higher priority for me would be a hotkey to announce current nesting level.
Speak the control flow statement or function signature that begins the current block of code.
Speaking a nested form of the above output, such as "namespace zoo, class animal extends creature, function walk(distance), if this.numLegs == 4..."
The above speach could also be put in the form of a dialog that allows for easier review and to facilitate jumping to the beginning of code blocks.
A keyboard help mode analygus to the Jaws keyboard help mode.

@jhomme, you said you were working on some Jaws scripts and an ideal Jaws config. Do you have those in a public repository? I know a thing or two about Jaws scripting, and am willing to do what I can to implement these ideas.

@travisroth has created some useful JAWS scripts here: https://github.com/travisroth/VSCodeJAWSScripts


Don't silently ignore swizzler errors

These calls can fail, and errors would cause false failures later in the
tests.
Signed-off-by: Miloslav Trmač<EMAIL_ADDRESS>

Can one of the admins verify this patch?

(Most of the other swizzler operations can probably fail as well; this only adds error handling to the tests which were failing for me at this time.)

@mtrmac I think that spelling mistake that is causing CircleCI to fail has been fixed in master, if you wanted to rebase?  Otherwise this LGTM pending CI :)  Thanks for adding the checks!

LGTM after rebase and CI green :+1:

Rebased.

test this please

Thanks again @mtrmac!


Apply resource configs and env vars to init containers.

This change is

Depends on world-federation-of-advertisers/rules_cue#5 and #649.

Dropping this in favor of a different approach.


popup and persistent split to spec

Primarily: Updated the "choose map" and "choose scenario" popups and the "jump" persistent split in the speed panel.
Note they're both using "day" theme for now since it's legible in both themes.

Secondarily: Because we don't currently have a way to choose different styles (only different button colors) between themes, I've made some changes so that a couple specific controls look reasonable in both day theme and night theme for the next release.
This is some pretty fresh code - I'm still doing some testing, but opened the PR early if you were getting antsy.

LGTM! I poked at all of the changed controls in day/night mode, and everything looks awesome. If you want me to hold off on merging for further testing, lmk, but otherwise this seems ready

LGTM! I poked at all of the changed controls in day/night mode, and everything looks awesome. If you want me to hold off on merging for further testing, lmk, but otherwise this seems ready

Ok, I've tested as much as I plan to for now. So merge ahoy!

Ok, I've tested as much as I plan to for now. So merge ahoy!


Gets myosim to build on windows with MSVC++

MSVC++ has a broken <chrono> header file, which does not allow arbitrary pointer arithmetic on duration types. We get around this by using duration_cast.
Please note that I have not tested the build on OSX, would you be able to make sure it still builds and runs the same as before on OSX? I haven't worked with durations in C++11 so I might have accidentally changed some precision somewhere for example.

Builds on OS X!
Can you add a comment explaining why a duration_cast is necessary? Otherwise this is good to merge. Thanks!

Oh also can you close the issue from the commit message by including closes #16 in the commit? Thanks!

Can do!


[review] Law of mass action and theory background

(1) In Chap 3.1 Eq suggests that the law of mass action can be applied to calculate K_b and Delta G_B from MD simulations. I am aware the authors just mean to provide the conceptual background here, but I am similarly aware of a few groups that actually have used the LMA. This is very dangerous. As shown in [54], the LMA does not strictly hold for systems with very few particles, and it contradicts in fact the more fundamental and general eq  (7). E.g., if a simulation system just contains one L and one R molecule, and these bind and unbind many times during the simulation, eq (7) would (correctly) predict that \Delta G = -kT log Z(RL)/Z(R+L) \approx -kT log T(RL)/T(R+L), where the latter means the time fraction of the trajectory where the system is bound / unbound. In contrast, the LMA would (wrongly) claim that Delta G = -kT log [RL]/[R][L] \approx -kT log T(RL)/(T(R+L))^2. The authors might want to add a word of caution to this not so well-known fact.
(2) Eq (4) is a bit confusing, at least to a physicist. Naively, I would say it would be correct without the concentration term: \Delta G then simply means the free energy difference for the concentration used in the simulation. Apparently, this is not meant here, but then I would refer to Delta G as the standard free energy, \Delta G^0.
(3) In Sec 3.2, the issue of a Delta G (Delta Delta G) between states with different number of atoms is touched upon. This issue is more subtle than the text suggests, and the authors might want to spend a few more sentences to explain under which conditions the ‘unit-of-volume-factor’ actually cancels out and when not. There’s chances for pitfalls for new practitioners!

I've updated Sections 3.1 and 3.2 on the overleaf document to address (1) and (2).
For (3), can someone with more experience on relative calculations check my interpretation below?
I assume the reviewer refers to Eq. 9 and the last sentences at the end of that paragraph. I can see two things they are suggesting us to warn the user about:

If the dummy atoms bonding terms are removed in the noninteracting state, and the receptor/solvent boxes have different volumes, the contribution would not cancel out.
If a beginner would simply simulate the end states without dummy atoms, the free energy difference estimators are not applicable.
In both cases, I don't think these observations belong to the theory introduction section, but we could mention them, for example, in section 7, and just refer to those sections for more info.

Possible answers for the response letter for (1) and (2):
(1) The referee raises a valid concern, and we have made the warning explicit in Section 3.2.
(2) The standard free energy is indeed what we are referring to throughout the paper. We have adopted the convention of using \Delta G (without the ^o) to refer to the standard free energy. This is common practice in the alchemical calculations literature as the standard free energy is typically the only quantity of interest and the one reported and compared to experiments. We agree this might create some confusion, and we have thus added a comment in Section 3.1 to clarify the notation.

@andrrizzi, can you add comments for your edits to the review document? https://www.overleaf.com/project/5c5879b06343590b46b70041

Added answers for points (1) and (2) to the review document.

Thank you!

Just to make sure this wasn't closed prematurely, I haven't addressed (3) yet (see my question above).

Yes sorry. I hadn't seen that third part.
I am not sure if this is possible in practice for relative calculations, unless you write your own software? I think standard implementations in Amber, Gromacs and Sire deal with this. Maybe someone else has thoughts on this?

So...this third point? I also thought this was dealt with and would not pose massive issues. @mrshirts?

So, the offending section seems to be:
"Note that, when $A$ and $B$ have different number of atoms, Eq.~\ref{eq:delta-delta-G-alchemical} implies the presence of a factor having units of volume entering both logarithms, which require unitless arguments.
However, the value of this factor is inconsequential as it cancels out in practice."
Looking at the equation, you have ln( Z(RB)Z/(RA)) - ln Z(B)/Z(A).  In theory, yes, ln( Z(RB)Z/(RA)) has units, but ln Z(B)/Z(A) has exactly cancelling units, as it can be rewritten as ln [Z(RB)Z(A)/Z(B)Z(RA)], which by counting the DoF on top and on the bottom, is unitless. So the text itself is confusing (I did a pass at clarifying), but I'm not sure exactly what the author wants to say here - I think it's actually always true.  I think there are a lot of issues in HOW the transformation is implemented (i.e. if you have dummy atoms the cancellations are not exact), but I don't think there's an issue per se in the equation itself.   I tried to handwave over this in the response as well.


language error(?)

this is node.js isn,t javascript!

Already fixed, nekit apparently did not understand the difference between the 2 and ignored my request to let me review it before he would push it to master


Better errorring

request must only be retryable when a satisfactory HTTP URL code (timeout etc.) or a lastfm error code 11 and 16.
If last.fm error code is 9, the retry option should be to reauthenticate.


Show column chart for categorical feature in data explorer

This PR adds column chart when user selects a categorical feature with chart type aggregated plots in data explorer.
Description
Before:

After:

One issue: we are seeing a outlier point in the chart that need to be fixed. Still investigating on this.
Areas changed

npm packages changed:

[ ] responsibleai/causality
[ ] responsibleai/core-ui
[ ] responsibleai/counterfactuals
[x] responsibleai/dataset-explorer
[ ] responsibleai/fairness
[ ] responsibleai/interpret
[ ] responsibleai/localization
[ ] responsibleai/mlchartlib
[ ] responsibleai/model-assessment

Python packages changed:

[ ] erroranalysis
[ ] raiutils
[ ] raiwidgets
[ ] rai_core_flask
[ ] responsibleai

Tests

[ ] No new tests required.
[ ] New tests for the added feature are part of this PR.
[ ] I validated the changes manually.

Screenshots (if appropriate):
Documentation:

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

@tongyu-microsoft the outlier point may be fixed if you pull in @xuke444 's latest merged PR (the one that sets the key).
I am a bit confused about the chart to be honest. The y-axis says relationship but it's values are numbers. Are they counts? If so, the axis label should say so I think. At the very least it should say "count of ", i.e., "count of relationship."
Does that make sense or did I completely misinterpret this?

@tongyu-microsoft the outlier point may be fixed if you pull in @xuke444 's latest merged PR (the one that sets the key).
I am a bit confused about the chart to be honest. The y-axis says relationship but it's values are numbers. Are they counts? If so, the axis label should say so I think. At the very least it should say "count of ", i.e., "count of relationship."
Does that make sense or did I completely misinterpret this?

Oh yes the outlier is fixed by Ke's change!! Thank you, saved me!
The y axis is count when user selects categorical features. Yes your question makes sense to me. We should probably update the y axis label, and maybe put "relationship" into legend.  Ilya also mentioned about it. This PR is the first step to at least show the plot. I will continue following up with Minsoo on how we could improve it. @minthigpen

Codecov Report

Merging #1355 (d652cad) into main (ccb1ceb) will increase coverage by 4.11%.
The diff coverage is n/a.

:exclamation: Current head d652cad differs from pull request most recent head 1d12519. Consider uploading reports for the commit 1d12519 to get more accurate results

@@            Coverage Diff             @@
##             main    #1355      +/-   ##
==========================================
+ Coverage   86.34%   90.45%   +4.11%
==========================================
  Files         100       34      -66
  Lines        4723     1457    -3266
==========================================
- Hits         4078     1318    -2760
+ Misses        645      139     -506

Flag
Coverage Δ

unittests
90.45% <ø> (+4.11%)
:arrow_up:

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

Impacted Files
Coverage Δ

...sibleai/responsibleai/rai_insights/rai_insights.py

...iwidgets/raiwidgets/explanation_dashboard_input.py

raiwidgets/raiwidgets/constants.py

raiwidgets/raiwidgets/explanation_constants.py

...ponsibleai/responsibleai/_tools/causal/__init__.py

raiwidgets/raiwidgets/dashboard.py

raiwidgets/raiwidgets/error_analysis_constants.py

...idgets/raiwidgets/responsibleai_dashboard_input.py

.../responsibleai/_managers/counterfactual_manager.py

raiwidgets/raiwidgets/__version__.py

... and 56 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 ccb1ceb...1d12519. Read the comment docs.


Spyder froze during script execution. Script was saved, but savefile nowhere to be found

I have been working on a particular script for several days now. I have saved it using the "save" button in spyder (even making backup-copies using "save as", but not double checking if they were actually created but simply expecting them to  turn up in the working dir...).
However, right now, now the whole IDE just froze during execution ("F5") of the script. Naturally, before killing the whole process, I wanted to check if the saved file is actually intact. However, it (nor the backups) is nowhere to be found in the working directory! Also cant find it anywhere using find ~/. -name "*.py.
I have tried opening a secend instance of spyder using spyder --new-instance and looking at "recent-files" but that script is not listed there (only something much older).
Please, Is there any possibility of finding/reconstructing that file again?
I noticed that spyder saves the current version of the script when hitting "run script" (F5). But does it actively delete the previous version before saving the current one?
Does it have any "Temporary directory" for saving currntly opened documents? Where would i find that (I have installed spyder using conda?)

Update: Spyder finally killed itself with the following error message:
QTextCursor::setPosition: Position '26176' out of range
QClipboard::setData: Cannot set X11 selection owner for PRIMARY

The presumably "saved" versions of the script are nowhere to be found...

Phew, after restarting spyder (now that the instance in which I edited the scripts in question has been killed), I do have the scripts again and could save them (to the cloud this time, and double checking that the files were actually created where I expected them to be...).
Sorry for the panicked issue, I consider this solved ...

I have the same problem, spyder crashed and I need to reset it, so naturally, I go to anaconda console and run 'spyder --reset' I can't do drag and drop to the script and when I open the script with notepad++ it shows a line full of Nul.