[TwigComponent] Scope of translation domains

There is something unexpected going on with scopes in twig UX components, when it comes to translation domains.
Let's assume there is a template foo.html.twig and it uses a component twig:Bar that allows to pass content to it:
{% trans_default_domain "foo" %}

{{ "foo.whatever"|trans }}
  <twig:Bar baz="bla">

{{ 'foo.bar'|trans }}
 {# |trans will use default "messages" domain here and not "foo" that I declared in this template #}
  </twig:Bar>

To make it work, I have to do:
{% trans_default_domain "foo" %}

{{ "foo.whatever"|trans }}
  <twig:Bar baz="bla">
    {% trans_default_domain "foo" %}

{{ 'foo.bar'|trans }}
 {# |trans will now use "foo" domain correctly #}
  </twig:Bar>

Is that intended? If you want to render multiple twig:Bar and have to repeat the setting again and again. You also don't necessarily want to put it inside of the template of the component, because it might be used in another outer template where the content uses texts from another translation domain. Is there a way to avoid that, because it's pretty unintuitive.
Thank you!

This is how trans_default_domain works: only in the current scope.
This behaviour is similar if you use "embed" instead of components (this is more or less the same isolation logic)

That makes sense, but imagine this:
{% trans_default_domain "foo" %}

{{ "foo.whatever"|trans }}
  <twig:Bar baz="bla">
    {% trans_default_domain "foo" %}

{{ 'foo.bar'|trans }}
 {# |trans will now use "foo" domain correctly #}
  </twig:Bar>
  <twig:Headline level="1">
    {% trans_default_domain "foo" %}

{{ 'foo.bar'|trans }}
 {# |trans will now use "foo" domain correctly #}
  </twig:Headline>
  <twig:Paragraph>
    {% trans_default_domain "foo" %}
    {{ 'foo.test'|trans }}
  </twig:Paragraph>
  <twig:Button purpose="primary">
    {% trans_default_domain "foo" %}
    {{ 'foo.action'|trans }}
  </twig:Button>

TwigComponents suggest you can use them similar as HTML tags, but suddenly you have to add boilder plate to work with simple things, like translations or includes. I understand the limitation, but it leads to a unpleasent DX.
Don't get me wrong, I love the whole symfony ux project! It's really amazing already, but things like that, suggests to me, that it might not be the best solution to pick in the long run. If things like that can't get sorted out over the time at least. Templates are also ment to be used by designers as well in some cases, if they now need to learn complex twig shenanigans, the whole idea gets kinda lost.

Thank you for the nice message ;)
Some comments (some more opiniated/personal than others):

As i said, this is the behaviour or the trans_default_domain tag, so nothing we can do here (and the same code you gave, with embed tags, would require twice the amount of code so i guess it's not that bad 😅 )
Feel free (really) to open an issue in the symfony/symfony repository to suggest some changes about it
Twig components are ... Twig components
I don't think there ever was an intention to "leave Twig" (which is really an amazing template engine)

you have to add boilder plate to work with simple things, like translations or includes

Could you elaborate on "includes" ? Maybe we can do something here :)

TwigComponents suggest you can use them similar as HTML tags

Could you tell me where you feel it is suggested? (genuine question)

Hey, thanks for the response :)

As i said, this is the behaviour or the trans_default_domain tag, so nothing we can do here (and the same code you gave, with embed tags, would require twice the amount of code so i guess it's not that bad 😅 )

That's true, the Syntax is already much better, it's probably just a matter of knowledge, if you see it as a pure replacement for embeds, then it's a different thing than a fully fledged HTML Component Replacement. I mean React, Angular, Vue do also have some kind of abstraction like JSX and such, but with less hassle of scopes mostly.

Feel free (really) to open an issue in the symfony/symfony repository to suggest some changes about it

Yeah, but I am not sure what the suggestion would be in this case, I mean usually that scoping is fine if you work with classic twig features, it only becomes a littly clunky with the twig components, because it's not straight forward that inside of a thing, looking like n HTML tag, you're suddenly in a different scope. While some things like variables are available, some others like that domain setting and probably form theme settings are not.

Twig components are ... Twig components
I don't think there ever was an intention to "leave Twig" (which is really an amazing template engine)

Leaving Twig would be indeed a huge step and I also wouldn't be sure if that makes sense. Twig is pretty cool overall, but it comes with some concepts that may limit the idea of the components. I mean, if I create a Button Component, of coure I want to use it in multiple places and if i seperate things and have multiple translation files for different sections of the application, I can't set a fixed domain for the template, so I have to put it inside every Button content that I want to have a translated text on, based on where the Button is. I mean this follows a clear logic, but it also is somehow unexpected if I am in a template that is configured to be in this domain already. The syntax just doesn't suggest that you're in a fully isolated scope out of a sudden - If you know that, you can deal with that easily, but it's confusing for people not familar with this concept at all :)

Could you elaborate on "includes" ? Maybe we can do something here :)

Ah, that was the wrong word, actually I ment blocks, not includes - Sorry for that. And even tho we have access to blocks by using outerBlocks, I faced situations, when working in templates that overwrites blocks and I added components and forwarded some othr blocks it refused to render at all, The only way around it was having a variable thatt holds the content of a block and then put that variable as content of the component with |raw filter.

Could you tell me where you feel it is suggested? (genuine question)

Purely by the Syntax, actually. It's not like the headline of twig Components is: "A fully fledged HTML Component Solution for PHP" or something like that, but if you see a template like the examples above:
{% trans_default_domain "foo" %}

{{ "foo.whatever"|trans }}
  <twig:Bar baz="bla">
    {% trans_default_domain "foo" %}

{{ 'foo.bar'|trans }}

  </twig:Bar>
  <twig:Hero>
    <twig:Headline level="1">
      {% trans_default_domain "foo" %}
      {{ 'foo.bar'|trans }}
    </twig:Headline>
    <twig:Paragraph>
      {% trans_default_domain "foo" %}
      {{ 'foo.test'|trans }}
    </twig:Paragraph>
    <twig:Button purpose="primary">
      {% trans_default_domain "foo" %}
      {{ 'foo.action'|trans }}
    </twig:Button>
  </twig:Hero>
  <twig:Card>
    <twig:Headline level="1">
      {% trans_default_domain "foo" %}
      {{ 'foo.bar'|trans }}
    </twig:Headline>
    <twig:Paragraph>
      {% trans_default_domain "foo" %}
      {{ 'foo.test'|trans }}
    </twig:Paragraph>
    <twig:Button purpose="primary">
      {% trans_default_domain "foo" %}
      {{ 'foo.action'|trans }}
    </twig:Button>
  </twig:Card>
  <twig:Headline level="1">
    {% trans_default_domain "foo" %}
    {{ 'foo.bar'|trans }}
  </twig:Headline>
  <twig:Paragraph>
    {% trans_default_domain "foo" %}
    {{ 'foo.test'|trans }}
  </twig:Paragraph>
  <twig:Button purpose="primary">
    {% trans_default_domain "foo" %}
    {{ 'foo.action'|trans }}
  </twig:Button>

It looks like you cna mix and match your components easily, but you would expect to have properties of the hero or the card available in the child components, be it the translation domain or some setting or text property for the Button Content etc. you can do some of that via <twig:block> here and there, but I guess this Syntax might gave me a whole wrong idea on what those components actually are. So I wonder, if that assumtion is wrong, what should I use instead to achive that? If I use React for example, why have twig components then?

Thank you very much for all these answers, really instructive. I'll answer more deeply when i have time, but i can maybe unlock you with a precision.
Twig components (both anonymous and class-based) can be simple (and very efficient) or similar to embed blocks in Twig (with similar constraints you experienced).
I feel many of your components could be simpler / easier to read if you passed them props instead of blocks.
<twig:Card>
  {% trans_default_domain "foo" %}
  <twig:Headline level="1" title="{{ 'foo.bar'|trans }}" />
  <twig:Paragraph content="{{ 'foo.test'|trans }}" />
  <twig:Button purpose="primary" label="{{ 'foo.action'|trans }}" />
</twig:Card>

Already better no ?

Thank you very much for all these answers, really instructive. I'll answer more deeply when i have time, but i can maybe unlock you with a precision.

Thank you as well for your answer and I am looking forward to your deeper reply :)

Twig components (both anonymous and class-based) can be simple (and very efficient) or similar to embed blocks in Twig (with similar constraints you experienced).

Exactly and they do really shine if they are simple 🙌 But when it comes to the complex ones, it becomes tricky 😉

I feel many of your components could be simpler / easier to read if you passed them props instead of blocks.
<twig:Card>
  {% trans_default_domain "foo" %}
  <twig:Headline level="1" title="{{ 'foo.bar'|trans }}" />
  <twig:Paragraph content="{{ 'foo.test'|trans }}" />
  <twig:Button purpose="primary" label="{{ 'foo.action'|trans }}" />
</twig:Card>

Already better no ?

Well, yes. But let me elaborate the process from here:
We have a simple component now for a Button that gives me purpose and label attributes, cool.
<twig:Card>
  {% trans_default_domain "foo" %}
  <twig:Button purpose="danger" label="{{ 'foo.action1'|trans }}" />
  <twig:Button purpose="warning" label="{{ 'foo.action2'|trans }}" />
  <twig:Button purpose="primary" label="{{ 'foo.action3'|trans }}" />
  <twig:Button purpose="info" label="{{ 'foo.action4'|trans }}" />
</twig:Card>

Now we start using the Buttons and we discover we need Icons. So we add another (optional) attribute, icon that takes the icon name and renders the UX-Icon internally prefixing the label. Amazing.
<twig:Card>
  {% trans_default_domain "foo" %}
  <twig:Button purpose="danger" label="{{ 'foo.action1'|trans }}" icon="times" />
  <twig:Button purpose="warning" label="{{ 'foo.action2'|trans }}" icon="save" />
  <twig:Button purpose="primary" label="{{ 'foo.action3'|trans }}" icon="eye" />
  <twig:Button purpose="info" label="{{ 'foo.action4'|trans }}" />
</twig:Card>

Now we want Dropdown Buttons, so it needs another trailing-icon or isDropdown (if there is no other case for a trailing icon) Attribute...
Or we would just put them as Content, then it's fully flexible what the Buttons Content is. So it's:
<twig:Card>
  {% trans_default_domain "foo" %}
  <twig:Button purpose="danger" label="{{ 'foo.action1'|trans }}" icon="times" trailing-icon="caret-down" />
  <twig:Button purpose="warning" label="{{ 'foo.action2'|trans }}" icon="save" :isDropdown="true" />
  <twig:Button purpose="primary" label="{{ 'foo.action3'|trans }}" icon="eye" />
  <twig:Button purpose="info" label="{{ 'foo.action4'|trans }}" />
</twig:Card>

VS
<twig:Card>
  {% trans_default_domain "foo" %}
  <twig:Button purpose="danger">
     {% trans_default_domain "foo" %}
     <twig:Icon name="times" /> {{ 'foo.action1'|trans }} <twig:Icon name="caret-down" />
   </twig:Button>
   <twig:Button purpose="warning">
     {% trans_default_domain "foo" %}
     <twig:Icon name="save" /> {{ 'foo.action2'|trans }} <twig:Icon name="caret-down" />
   </twig:Button>
   <twig:Button purpose="primary">
     {% trans_default_domain "foo" %}
     <twig:Icon name="eye" /> {{ 'foo.action3'|trans }}
   </twig:Button>
   <twig:Button purpose="info">
     {% trans_default_domain "foo" %}
     {{ 'foo.action4'|trans }}
   </twig:Button>
</twig:Card>

While the latter is more verbose, it's way more flexible and maybe you need only one special Button, that is again somewhat different, now you need to add an option for that as well even tho you only need it for one usage of the Button Component, while it would be eay to just put other content into it instead.
And here we are still talking about a simple Component, image the Card, that should have optional CardHeader & CardFooter and CardHeader and CardFooter should have ActionBar which has Actions:
<twig:Card>
  {% trans_default_domain "foo" %}
  <twig:CardHeader>
    Some Title Text, this could be moved to an title Attribute for sure
    <twig:block name="action_bar">
      <twig:ActionBar>
        {% trans_default_domain "foo" %}
        <twig:Action type="close" text-for-sr-only="{{ 'foo.action1'|trans }}" />
        <twig:Action type="collapse" text-for-sr-only="{{ 'foo.action2'|trans }} />
      </twig:ActionBar>
    </twig:block>
  </twig:CardHeader>

{{ 'foo.card_body_text'|trans }}

  <twig:CardFooter>
    {% trans_default_domain "foo" %}

Some other markup that includes more translation keys in foo domain

    <twig:block name="action_bar">
      <twig:ActionBar>
        {% trans_default_domain "foo" %}
        <twig:Action type="close" text-for-sr-only="{{ 'foo.action1'|trans }}" />
        <twig:Action type="collapse" text-for-sr-only="{{ 'foo.action2'|trans }} />
      </twig:ActionBar>
    </twig:block>
  </twig:CardFooter>
</twig:Card>

It becomes pretty wild 😅 But if you look at typical UI Framworks like Bootstrap, they have those Card Options, it becomes even more fun when you want to add handling for an image inside of that card, since you have no way to get the sequence of the inner content, like is image first element, then don't apply padding top etc. I mean you can work with css :has() and such, but oh boy

I can understand the easy to use trans_default_domain only once, but what about specifying domain explicitly in each trans() call?

@CMH-Benny oh i totally understand your need, was just illustrating twig component with no embed can be sometimes a good solution :)
What i want to insist on is: tthe trans_default_domain works internally like this.. and this is not a Twig component thing here :/
If you used include, or any Twig layout function or tag, it would be the same problem. And the solution could only be done on the symfony/symfony side
That's the feature i was suggesting you open an issue for on the symfony repo: "keep the domain in included / embed blocks".
But we really cannot do anything here as it's a Twig / Symfony code :)
--
More generally, there is something here that we need to answer and i agree with you. The problem is: currently Twig components are trying to do two things at the same time (isolated component with layout features / HTML component with global context), and this raises some frustrations on both sides.

Sorry for the late reply

I can understand the easy to use trans_default_domain only once, but as a workaround, what about specifying domain explicitly in each trans() call?

That indeed would be an option, at least it reads quite better and way more clear. Usually we do that switch globally in the template because it's always the same in this context, but since Components live in their own contexts, this maybe is the best solution for now, thanks for that idea 👍

oh i totally understand your need, was just illustrating twig component with no embed can be sometimes a good solution :)

All good, I totally understand that, as you already summed up, there is a more general issue lying here, that's why situations like this appear to be frustrating.

That's the feature i was suggesting you open an issue for on the symfony repo: "keep the domain in included / embed blocks".

Yeah, but at the time I don't really think that makes sense generally, so maybe it needs a second option like trans_override_domain that explicitly overwrites it from the position it appears down to every nested context and only stops on another trans_override_domain or if it finds a trans_default_domain again. Not sure if that is possible, tho :D

More generally, there is something here that we need to answer and i agree with you. The problem is: currently Twig components are trying to do two things at the same time (isolated component with layout features / HTML component with global context), and this raises some frustrations on both sides.

I agree 100%, it totally makes sense to think about that and introduce 2 types of components for each of those 2 purposes, so that I can exactly tell, this is a global context component like a button, that i want to use everywhere also inside of isolated components so they kinda merge the global kontext with the isolated context provided by the outer component. The vise versa is probably more easy, because an isloated component in a global context component won't interfere much within the context.
Thank you so much


add maintainer @mlin

As maintainer of conda-forge/miniwdl-feedstock and its upstream, which have lark-parser as a core dependency, I'll be pleased to help maintain this one

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Fix version with platform-server version due to ^ version

Trying to fix issues I hit with a clean npm install this morning.
It seems Angular 2.1 has been released 5 days ago, package.json should be careful
around which versions of various angular 2 components are being used as
this will be a source on ongoing issue otherwise.
It might help to look at npm shrink wrap or the new yarn package
manager to try and reduce these problems as this commit fix only solves
direct dependencies, downstream versions can still get bumped and will
be out of this projects control without npm shink wrap, yarn or
something else to lock down versions.

Hi Darren,
Thanks for that.  The tests fail.  I don't think its related to your change though perhaps you may have considered what the problem is:
Failed: Uncaught (in promise): TypeError: Cannot read property 'textContent' of undefined
    Error: Uncaught (in promise): TypeError: Cannot read property 'textContent' of undefined
        at resolvePromise (/Users/brookes/dev/work/ga/gnss-site-manager/node_modules/zone.js/dist/zone.js:418:31)
        at /Users/brookes/dev/work/ga/gnss-site-manager/node_modules/zone.js/dist/zone.js:454:17
        at ZoneDelegate.invokeTask (/Users/brookes/dev/work/ga/gnss-site-manager/node_modules/zone.js/dist/zone.js:225:37)
        at ProxyZoneSpec.onInvokeTask (/Users/brookes/dev/work/ga/gnss-site-manager/node_modules/zone.js/dist/proxy.js:84:43)
        at ZoneDelegate.invokeTask (/Users/brookes/dev/work/ga/gnss-site-manager/node_modules/zone.js/dist/zone.js:224:42)
        at Zone.runTask (/Users/brookes/dev/work/ga/gnss-site-manager/node_modules/zone.js/dist/zone.js:125:47)
        at drainMicroTaskQueue (/Users/brookes/dev/work/ga/gnss-site-manager/node_modules/zone.js/dist/zone.js:357:35)
        at XMLHttpRequest.ZoneTask.invoke (/Users/brookes/dev/work/ga/gnss-site-manager/node_modules/zone.js/dist/zone.js:297:25)

Note also that there are 17 tests or so.  This is a problem unrelated to your work - it is with a dependency not being listed in the karma.conf.  Or something like this.  Annoying that there doesn't seem to be any error messages to help.  However more information is available.  Run build.test.watch (npm run build.test.watch) and a browser window will open.  Hit the debug button and check out the console.  Actually it seems you don't have to hit the debug button.
Those last comments were FYI.
Perhaps the test failure is related to this.  I'll check it our.


Fix MCS integration tests that were implictly skipped

Please provide a description of this PR:
I noticed that MCS tests are silently skipped - look at a random output of successful pilot multi-cluster test and you can see the following logs:
=== RUN   TestMeshWide
2023-05-01T15:21:42.838305Z	info	tf	=== BEGIN: Test: 'pilot_mcs_discoverability[TestMeshWide]' ===
2023-05-01T15:21:42.838371Z	info	tf	=== BEGIN: Create ServiceExport[cross-network-primary primary remote] ===
2023-05-01T15:21:42.838628Z	info	tf	No MCS Controller running. Manually creating ServiceImport in each cluster
2023-05-01T15:21:42.847031Z	info	tf	=== DONE (success): Create ServiceExport[primary remote cross-network-primary] (8.656724ms) ===
=== RUN   TestMeshWide/clusterset.local
2023-05-01T15:21:42.847284Z	info	tf	=== BEGIN: Test: 'pilot_mcs_discoverability[TestMeshWide/clusterset.local]' ===
    run.go:54: Running tests with: sources [] -> destinations []
2023-05-01T15:21:42.851001Z	info	tf	=== DONE (passed):  Test: 'pilot_mcs_discoverability[TestMeshWide/clusterset.local] (3.70504ms)' ===
=== RUN   TestMeshWide/cluster.local
2023-05-01T15:21:42.851295Z	info	tf	=== BEGIN: Test: 'pilot_mcs_discoverability[TestMeshWide/cluster.local]' ===
    run.go:54: Running tests with: sources [] -> destinations []
2023-05-01T15:21:42.855040Z	info	tf	=== DONE (passed):  Test: 'pilot_mcs_discoverability[TestMeshWide/cluster.local] (3.736767ms)' ===
2023-05-01T15:21:42.855105Z	info	tf	=== DONE (passed):  Test: 'pilot_mcs_discoverability[TestMeshWide] (16.803365ms)' ===
--- PASS: TestMeshWide (0.03s)
    --- PASS: TestMeshWide/clusterset.local (0.00s)
    --- PASS: TestMeshWide/cluster.local (0.00s)

Sources and destinations are empty, so actually no test was executed. That was caused by wrong service selector, but when I fixed that, it turned out that the test fails. To make TesMeshWide work, I had to add the following changes:

Test requests for *.clusterset.local are send to/from services only in primary and remote clusters, because when no MCS controller exists, we don't have direct service-to-service connectivity between clusters in different networks, e.g. primary -> cross-network-primary. In other words, without MCS controller we are not able to create VIP that would route traffic across services in all clusters from the cluster set.
Services in *.clusterset.local were not resolvable, so I enabled DNS proxying and created service entries without addresses to avoid DNS query failure.

I also removed TestClusterLocal, because its functionality was already covered by TestMeshWide and the only difference was checking that clusterset.local is not resolvable by default, so I think it does not make sense to maintain that test.

Hmm, I thought we added an assertion to fail on Running tests with: sources [] -> destinations []. Good catch!

@jewertow: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-pilot-istiodremote-mc_istio
0b71087ef7ac66b853b4ae5827f7a58b3efd549b
link
true
/test integ-pilot-istiodremote-mc

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

@jewertow: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-pilot-istiodremote-mc_istio
0b71087ef7ac66b853b4ae5827f7a58b3efd549b
link
true
/test integ-pilot-istiodremote-mc

integ-cni_istio
0b71087ef7ac66b853b4ae5827f7a58b3efd549b
link
true
/test integ-cni

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

@jewertow: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-pilot-istiodremote-mc_istio
0b71087ef7ac66b853b4ae5827f7a58b3efd549b
link
true
/test integ-pilot-istiodremote-mc

integ-cni_istio
0b71087ef7ac66b853b4ae5827f7a58b3efd549b
link
true
/test integ-cni

integ-pilot_istio
39b081e6338f975ce0742ff8ac06f2ea8eba3f90
link
true
/test integ-pilot

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

@jewertow: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-pilot-istiodremote-mc_istio
0b71087ef7ac66b853b4ae5827f7a58b3efd549b
link
true
/test integ-pilot-istiodremote-mc

integ-pilot_istio
39b081e6338f975ce0742ff8ac06f2ea8eba3f90
link
true
/test integ-pilot

integ-cni_istio
39b081e6338f975ce0742ff8ac06f2ea8eba3f90
link
true
/test integ-cni

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

@jewertow: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-pilot_istio
39b081e6338f975ce0742ff8ac06f2ea8eba3f90
link
true
/test integ-pilot

integ-cni_istio
39b081e6338f975ce0742ff8ac06f2ea8eba3f90
link
true
/test integ-cni

integ-pilot-istiodremote-mc_istio
39b081e6338f975ce0742ff8ac06f2ea8eba3f90
link
true
/test integ-pilot-istiodremote-mc

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


Battery linear with 11 segments (images)  incorrect

Real MI band 5/6 shows this:

May be, battery icon is the same

Fixed, will be available in v1.2


Unable to access data link

Hi,
I am unable to access the links mentioned in the README file for downloading the dataset.
Would be great if the data could be made available at the links provided.
Thanks!

Hey @bharaniuk I think the link is fine now. Thank you.


main site logo refresh

image at the following path should be updated with circa 2023 NeuVector logo
"user/themes/nvlearn2/images/NVFullLogo.png"

Done


Reintroduce owl-plplot

owl-plplot provided a convenient and seamless way to plot, and is also used in the documentation. It is such thin layer and so easily installable that it is a pity that it has been removed.

The plplot module itself is a thin layer, but it depends on the plplot library which is a bit heavy. The previous idea is to reduce external reliance such as eigen and plplot. Perhaps we can follow the numpy+matplotlib paradigm and put the plplot stuff in a separate repo in owlbarn.

I understand removing eigen since the way it needs to be compiled to work properly is simply a nightmare. Similarly I understand that removing aeos simplifies the code.
But ocaml-plplot is a rather stable and well designed package, and owl-plplot has always worked fine on all systems so far, so in principle you could keep it there at no extra cost.
in any case, I thunk the location does not matter. It is perfectly fine on a separate repository if you prefer it that way. Without owl-plplot there is no owl ergonomic plotting solution at the moment so it would be nice not to lose it

True, I totally agree that plotting is an important part in numerical computing, just like NumPy is accompanied by Matplotlib.  I've added it to the Todo list in the Project. It would be great if any one interested can help to add this package.

If you create an empty owl-plplot repository and give me (also just temporary) writing rights, I can push my fork (which is just a copy of the old sources) there

Hi Marcello, I've created the repo and a temp write access as suggested.
Thanks a lot for helping to set it up!
On Thu, 14 Mar 2024 at 17:35, Marcello Seri @.***>
wrote:

If you create an empty owl-plplot repository and give me (also just
temporary) writing rights, I can push my fork (which is just a copy of the
old sources) there
—
Reply to this email directly, view it on GitHub
https://github.com/owlbarn/owl/issues/659#issuecomment-1997868022, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAK6ZA4O6P44PHSIDGY34QTYYHGWRAVCNFSM6AAAAABEJKOG2WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOJXHA3DQMBSGI
.
You are receiving this because you commented.Message ID:
@.***>

Done


 I think this is a quite serious issue as the usage of words clearly indicates discrimination based on color (basically racism).
I'd love to see those issues fixed as soon as possible.

Please make meaningful contributions instead.


Transition of Navigation Panel in mobile can be enhanced.

Describe the feature
Transition of Navigation Panel is not good. It can be enhanced make its transitions look good.
Add ScreenShots

As we can see Navigation Panel and Login are overlapping. When Navigation Panel is open and we resize the window, panel is still visible.

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a SWOC24 contributor
[X] I want to work on this issue

@dakshsinghrathore I want to work on this issue, please this to me


chore: update dependencies

Summary
Now weæve dropped node 10, we can bump some stuff. Some modules has moved to ESM which we cannot use, but not all

Test plan
Green CI

Codecov Report

Merging #12357 (7d5e255) into main (ff7a751) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main   #12357   +/-   ##
=======================================
  Coverage   66.91%   66.91%
=======================================
  Files         329      329
  Lines       17353    17353
  Branches     5058     5058
=======================================
  Hits        11612    11612
  Misses       5709     5709
  Partials       32       32

Continue to review full report at Codecov.

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


Add BroadcastDistributionRule

First patch for #4032.

This change is

@jihoonson  I have read the code of this part PR . The 'BroadcastDistributionRule' is a really good way to express DataSource distribution for the join target .
But  another thing needs to be care about is DruidCoordinatorBalancer. As I ever mentioned , Druid now hard code using CostBalancerStrategy . When the DruidCoordinatorBalancer  runs periodically, it may breaks the DataSource distribution specified by the broadcast or LocalJoin load rule.
My solution is to rewrite the CostBalancerStrategy to use my specific BalancerStrategy first to pick a segment to move . Then check the segment DataSource again to enforce it's movement not to break the distribution rule.  A little indirect but not extensible . I wonder whether you have thought about this and anyone else has a good solution ?

@gianm thanks. Addressed your comments. I'll document soon.
@weijietong I haven't thought about that yet, but your idea sounds to make sense to me. I'll think about that too.

The travis failure seems not related to this patch. @jon-wei, would you restart the build? I don't have permission.

I updated the patch to drop segments which are not co-located anymore.

I found two problems when this patch is applied.

Segments of broadcast data sources might not be fully co-located with segments of colocatedDataSources if load/drop rules for colocatedDataSources are run before BroadcastDistributionRule.
Since DruidCoordinatorBalancer is run after DruidCoordinatorRuleRunner, DruidCoordinatorBalancer breaks the co-location of broadcast segments and colocatedDataSources' segments.

The solution I'm currently considering is as follows.

Building a dependency graph of rules, and run rules from independent ones to dependent ones. There must be no cycle in the dependency graph. This solution changes Druid's rule application policy, 'first matched rule is applied', so we need more discussion.
Changing the unit for load balancing from a segment to a set of co-located segments. The cost for moving co-located segments will be definitely large, so usually independent segments will be chosen for load balancing.

Since BroadcastDistributionRules are just introduced here, and not used in anywhere, I think it would be ok to fix these problems in follow-up PRs.

👍

@jihoonson, on the two points you raised, it sounds like the issue is that (a) loading new segments, and (b) moving existing segments for balancing, could break broadcasting if a segment from the colocated datasource is moved onto a historical node that didn't already have any segments from that datasource.
I guess in practice this is potentially an issue, but won't be a huge one, since odds are that a distributed datasource will have at least one segment on all historical nodes in a given tier anyway (unless it has a number of segments smaller than the number of historical nodes).
To keep things (very) simple, what do you think about removing the "colocatedDataSources" concept, and instead broadcasting the broadcast datasources to every historical node the given tier for the rule? I think in practice this achieves mostly the same thing (given the reason above) as having colocatedDataSources. It also avoids bugs due to this effect, since every historical in a tier will have the broadcast segments and there's no need to worry.

Or at least, making that the behavior if colocatedDataSources is empty, so users can leave it empty and not have to worry.

The docs should mention this caveat.

@gianm sounds good, but I'm concerned with the usability. If we support broadcasting to tiers instead of broadcasting to data sources, users will need two steps to design their data distribution. That is, they first need to check each data source to be joined is involved which tiers, and then decide which data sources need to be broadcasted to which tiers. Broadcasting to data sources will be simpler because users need to decide which sources are broadcasted to which source.
In addition, if load rules for a data source are changed, broadcast rules relating to that data source should be changed accordingly. This will be inconvenient.
What do you think?

@gianm if colocatedDataSources is null or empty, segments are broadcasted to all nodes.

Maybe we can support two different types of broadcast rules for 1) broadcasting to tiers and 2) colocating data sources.

The latter suggestion sounds good. I think in practice many users will choose to broadcast to tiers -- since if you're already very aware of your tier structure (as many users are, if they use tiers) then it should be pretty easy to choose the right tier for a broadcast. It also works around the issue you brought up, which is nice.
The colocated data source option is a nice alternative that would make configuration simpler, just should come with a caveat about the issue you brought up.

Ok, then I'll make another PR for broadcasting to tiers.

@gianm, I added a caveat


Transaction/Rollback on failure

Since for each look can run in parallel what happens when one of the execution fails, since there is no transactions in data factory it is not possible to rollback. is there a workaround for rollback?

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

ID: 524aa8f2-ebea-7fa0-230e-98af2a0bff20
Version Independent ID: 16533efd-8d16-10e4-9f21-92a8a15fe452
Content: Bulk copy from a database using control table - Azure Data Factory
Content Source: articles/data-factory/solution-template-bulk-copy-with-control-table.md
Service: data-factory
GitHub Login: @dearandyxu
Microsoft Alias: yexu

@KarthikYan - Workaround can be to use temporary tables for every partition(parameterized using partition id) and use an Stored procedure activity at the end to merge the data in all the tables and then remove the tables if destination is Synapse DW. If it is ADLS, separate files will help and then merging at the end using copy data (Merge option). Other workaround to roll back if a partition load fails might be complex in case of same final table/file. Hope this helps!

@KarthikYan- I will now proceed to close the issue. Please feel free to comment for more clarification.


sleep syncing return "Failure: 4" caused by mixing deprecated code with not deprecated code

### Sync sleep data error
after react-native-google-fit got support for sleep hours, we started facing intermittent issues that prevent customers to read and sync sleep records, the customer is only able to read and sync steps records. It also caused other issue related to disconnect functionality., after some research, testing, and debugging we realized that the issue was caused because at the library level we are mixing deprecated code(steps) with new code (sleep), apparently, the deprecated implementation do not request for all the required permissions to read sleep records.
looking at android developers tools, we found a specific error that mentions that we do not have enough permission to read sleep records
Failure: 4: The user must be signed in to make this API call
that error message was also returned on disconnect call after we did exhaustive research about those errors, the posts mention some issues related to the cert key was not added correctly to google cloud, but apparently our configuration was right.
the way to fix this was by creating a function into SleepHistory.java to fix that state when a customer is partially connected(able to read steps records, but not able to read sleep records), that function was placed in to addOnFailureListener  of Fitness.getSessionsClient(this.mReactContext, gsa), and the function looks like this
`
private void fixDisconnectedState(int requestCode) {
    FitnessOptions fitnessOptions = FitnessOptions.builder()
        .addDataType(DataType.TYPE_ACTIVITY_SEGMENT, FitnessOptions.ACCESS_READ)
        .build();
        // Get currently signed in account (or null)
    GoogleSignInAccount account = GoogleSignIn.getLastSignedInAccount(SleepHistory.this.mReactContext);
    if (!GoogleSignIn.hasPermissions(account, fitnessOptions)) {
        // Note: this launches a sign-in flow, however the code to detect
        // the result of the sign-in flow and retry the API call is not
        // shown here.
        GoogleSignIn.requestPermissions(this.mReactContext.getCurrentActivity(), requestCode, account, fitnessOptions);
        return;
    }
}
`

we know this probably could be improved.

@davidguerrerolopez The issue was informed multiple times. and the sign in-out trick, but I never got confirm it can work from that person.
https://github.com/StasDoskalenko/react-native-google-fit/issues/175#issuecomment-674197633
By the way, step (at least the fetch data part), is using the not deprecated API right before the sleep feat added. So the issue comes from somewhere else.
There are a lot of code duplications between functions and a little bit of disorganize among functions (Some functions like sleep requires callback as a must otherwise it's going to crush, some take it as a option).
In fact, the callback arg can be simply dropped and handle by your own after await getSleepData(options)
instead of const callback = function(){}; getSleepData(options, callback), it doesn't bring any advantages besides personal preferences from past merge ASAIK.
I really want to get rid of it to simplify the codebase as well as unite all functions into one common standard, but I am not sure how it would affect users like you.

@aboveyunhai thanks for your answer,
I'm not sure if this help but the solution that I mentioned before was the only solution that works properly for us, I have to mention that I work at the same company than the guy that introduced sleepHistory.java class, and that class was introduced in order to add the support to our app, regarding to the sing in-out trick, I have to said that it only works for production.keystores, but we don't want customer disconnecting and reconnecting manually if we can fix it directly at the catch of Fitness.getSessionsClient.
I agreed with you about the callback arg, is not a problem for us refactor a bit our implementation with this library, I think the async/await is also a lot better, so I think it should not be a big issue for users like me, our biggest concern right now is to get this working properly with the right permission to read sleep data and get disconnect/disabledFit working properly

@davidguerrerolopez  since your solution includes permission check, I believe the problem comes from the missing permission and I also checked the official doc.  Not sure if this is the problem but I wish you can try this out in .js instead of native side, it should just do the same trick, if the problem is still reproducible
// Note: The android.permission.ACTIVITY_RECOGNITION permission is
// required to read DataType.TYPE_ACTIVITY_SEGMENT

import { PermissionsAndroid } from "react-native";
const yourFunction = async () => {
  try {
    const granted = await PermissionsAndroid.request(
      PermissionsAndroid.PERMISSIONS.ACTIVITY_RECOGNITION,
      {
        title: "title",
        message: "message"
        buttonNeutral: "Ask Me Later",
        buttonNegative: "Cancel",
        buttonPositive: "OK"
      }
    );
    if (granted === PermissionsAndroid.RESULTS.GRANTED) {
       // do your sleep functions here
    } else {
      //  do something else / user don't wanna give the permission
    }
  } catch (err) {
    console.warn(err);
  }
};

I know it's a little verbose, request in native side will run silently but complete dismiss the user right.

@aboveyunhai yeah you are right, it came from the permissions, is great to know we can do it in our front end side, instead of the native side, if this works well will fix our problem let me try your suggestion, for sure I will back with news about it, probably this could be helpful for somebody else as well.

@davidguerrerolopez  you might want to check permission first so it's not necessary to trig the panel every time

@aboveyunhai looks like your approach did not fix the issue, after some research I figured out that ACTIVITY_RECOGNITION  is not part of PermissionsAndroid.PERMISSIONS, another observation about this is that the error show the number "4" as error code, so for that reason, I requested permissions for that specific error code. do you know if there is another way to request permission from the JS side?

@davidguerrerolopez You are right. It seems like RN does not support this particular permission but I misread it somewhere from google doc. I did see some ppl tried to add this feature to RN but it did not get merged successfully.
Then the only way we can go is stick in the native side like you did.  There is not naive JS way for this permission, but you can request other general permissions listed in the RN doc.

@aboveyunhai I was able to request permission for ACTIVITY_RECOGNITION it prompt a request window for activity recognition, by using your approach but it did not fix the issue, looks like its no a issue with ACTIVITY_RECOGNITION, its already added to our AndroidManifes.xml, is there a way to include my fix into SleepHistory.java? if possible I can create a PR so it could be helpful for the people with the same issue

@davidguerrerolopez Go ahead and do it, Im just a contributor by the way. My only suggestion is to change the function name to requestSleepPermission or requestPermision instead of fixSomething

@aboveyunhai I will do it, thanks

@aboveyunhai hey! I have invited you as a collaborator 👍 Thank you very much for helping to maintain this repo!

@StasDoskalenko  Im glad to hear that. Hope we can make it better

guys @aboveyunhai @StasDoskalenko Im trying to apply the fix, but I have some doubts regarding the catch method where the call for requestSleepPermission  will exist, looks like that catch is being executed in two scenarios, when there is not sleep data and when this state occurs Failure: 4: The user must be signed in to make this API call, so as you can see there are two different strings from the exception class, My question is whats the best option to validate this in order to execute requestSleepPermission only for Failure: 4 scenario?

im not exactly sure about the exact code
but my logic will be something like
if (does not have permission){
  run some functions/codes to get necessary permission
}

if(has permission) {
 run sleepfuncton to get data
} else {
 return something wrong
}

Though the problem might be if permission request permission failed/or something else happen, sleep function will never be run

@aboveyunhai  there is a problem within GoogleSignIn.hasPermissionsfor some reason it always return true, but I still getting the Failure: 4: The user must be signed in to make this API call for sleep records, the only way to successfully catch this error is at the catch of the sleep records call, is ok to add the GoogleSignin.requestPermissions as handle exception? maybe by defining a constant for Failure: 4: The user must be signed in to make this API call and comparing it between e.getMessage()

Maybe you can just do it if it really solve the issue. Then I can test out the PR if I had some free time recently.
My own problem with this issue is that I was not able to reproduce the problem since my account is signed in with necessary permission I guess.

@aboveyunhai there is a way to cause that error, I was able te replicated it by removing the permissions from Google fit app, if you goto GoogleFit app -> Profile -> Settings -> Manage connected apps and remove the permissions to your app, it could replicate the issue.

Merge #187 addresses this issue.


RecordWildCards suggested to be removed when actually it's needed

The following causes HLint to complain that RecordWildCards is unnecessary, but it's actually important:
module A where

data T = T { foo :: Int }

{-# language RecordWildCards #-}
module B where

import qualified A

bar :: A.T
bar =
  A.T { foo = 42 }

While it appears that I'm not using RecordWildCards, this extension actually subtles changes the scoping for field names in a record. Without RecordWildCards, you need to write:
bar :: A.T
bar =
  A.T { A.foo = 42 }

The warning is actually:
C:\Neil\temp>hlint B.hs
B.hs:1:1: Warning: Unused LANGUAGE pragma
Found:
  {-# LANGUAGE RecordWildCards #-}
Why not remove it.
Note: you may need to add DisambiguateRecordFields

And it's right - in this instance you are using the DisambiguateRecordFields extension, and if you switch to that alone the example still works.

Oh, I blindly missed that - haven't even heard of that extension! Thanks,
that should do the job. Feel free to close this.
On 21 Mar 2018 8:21 pm, "Neil Mitchell"<EMAIL_ADDRESS>wrote:
The warning is actually:
C:\Neil\temp>hlint B.hs
B.hs:1:1: Warning: Unused LANGUAGE pragma
Found:
{-# LANGUAGE RecordWildCards #-}
Why not remove it.
Note: you may need to add DisambiguateRecordFields
And it's right - in this instance you are using the DisambiguateRecordFields
extension, and if you switch to that alone the example still works.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ndmitchell/hlint/issues/459#issuecomment-375082682,
or mute
the thread
https://github.com/notifications/unsubscribe-auth/AABRjmHQCSMUkquCBfdexBJriqh66cbrks5tgrZhgaJpZM4S07gI
.

Since I was working in that area due to #457 I improved the note to say:
Note: may require `{-# LANGUAGE DisambiguateRecordFields #-}` adding to the top of the file

Hopefully that might give a clue to the next person who stumbles into the issue.

That looks great, thanks.
On Sat, 24 Mar 2018, 5:41 pm Neil Mitchell<EMAIL_ADDRESS>wrote:

Since I was working in that area due to #457
https://github.com/ndmitchell/hlint/issues/457 I improved the note to
say:
Note: may require {-# LANGUAGE DisambiguateRecordFields #-} adding to the top of the file
Hopefully that might give a clue to the next person who stumbles into the
issue.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ndmitchell/hlint/issues/459#issuecomment-375911142,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABRjgS248vVL2V4p12rfmOrErXmug_oks5thoUygaJpZM4S07gI
.


fix kfctl version

fix issue https://github.com/kubeflow/website/issues/2983

/assign @Bobgy

@kimwnasptd  done

/assign @Jeffwan

cc @Bobgy

I will defer to @kubeflow/azure to approve this PR because it touches Azure distribution doc.

cc @dtzar
cc @berndverst

/approved
/lgtm

/approved

Ah - looks like I no longer have approval ability.  @eedorenko - this is just a doc fix to get the proper kubectl version in there.

Ah - looks like I no longer have approval ability. @eedorenko - this is just a doc fix to get the proper kubectl version in there.

try /approve

@dtzar
https://github.com/kubeflow/website/pull/3046#issuecomment-957327670
try /approve

/approve

Nope - I'm not in the owners list anymore

/approve


Adds an ident--const command line option for each language.

Also, adds support for camel case Djinni members being converted to underCaps. Previously an underscore was not added for each upper case letter.

Automated message from Dropbox CLA bot
@fostah, it looks like you've already signed the Dropbox CLA. Thanks!

A few comments:

I think you mean "ident" not "indent" in the title.
I feel like I'm not seeing a full set of changes.  I see you adding new cmd-line args for const style, but I don't see any cases of them being used.
Can you explain more your intent with the under-caps style?  In general, Djinni is built to assume that the names in the .djinni file itself are always in under_lower style, which is why it splits on underscores, before converting to the configured ident style.  I'm not entirely against supporting different styles in the Djinni file itself, but it seems like trying to do so implicitly is going to be unpredictable, and doing it only for the underCaps style seems very limited.  Seems totally fine for a private fork where you know which features you need to use and don't care about others, but not for the public version.

I feel like I'm not seeing a full set of changes. I see you adding new cmd-line args for const style, but I don't see any cases of them being used.

When you say, "...cases of them being used." Are you referring to within Djinni itself or as part of the examples/test-suite? If you mean the former, Djinni already supports customizing const style, it just didn't expose it through the CLI options. So no further changes were needed.
For background on the camel case support: we weren't aware that the Djinni interfaces were only suppose to include under_lower style. We defined all our interfaces with camel case. This worked fine for everything but our C++ and Java constants, where we would SEECONSTANTSNAMEDLIKETHIS. Hence the change to underCaps specifically.
I can remove the underCaps change. However, looking at IdentStyle, it would be easy for me to add support for camel case in the Djinni interfaces to the rest of the style options, if you're open to it. camelUnder and camelLower already support it, and the change to underLower and underUpper would be very similar to what I did for underCaps.

Oh, I didn't realize const style customization was an internal feature you were simply exposing.  Makes more sense now, thanks.
Which other ident styles were you using in Java and C++?  There's definitely an assumption that the names in IDL are under_lower, which you can see in the various ident style definitions, e.g. the fact that underLower() simply returns its input, or that underUpper() splits on underscore.
I'm not averse to supporting different styles in the IDL file, but I feel like it should be done in a way which supports all options, not just some of them, which might mean a separate command-line arg to tell Djinni what input form to expect.
Are there specific styles in generated code weren't able to support using under_lower in IDL and some combination of Djinni arguments?  Or do you just prefer camelCase names in your IDL files?  If the latter, do you use them for everything (including class names), or just for "variable" names?

The choice to use camelCase was a preference and we use it for everything in our Djinni interface files. The only problem that it caused was with underCaps. However, we don't leverage underLower and underUpper.
I think supporting all the generated code styles in the Djinni interfaces would be possible, without a separate command-line argument. I would like to, at least, take a crack at it.
For this pull request, though, I think it would make sense to revert the camelCase support changes and just focus on exposing the const style customization. They're not related and I don't want the const style change held up while I experiment with the Djinni interface style support.

I like the idea of splitting this PR, to land the const options, and work on the variable styling separately.  If you have an idea of how to support multiple styles cleanly without an argument I'm open to it, though I'm a bit wary of embedding too many assumptions such as the split-on-underscore-else-on-capital in this PR.  It think it might be better to be explicit, and support all styles if you're going to support more than one.


Fixed some file permissions

Fixed some file permissions

Changes 755 to 644 permissions for images and all the .md, .c, .cpp, .h, .yml files that I could find


Add documentation section about LoRA

I was using LoRA adapters recently and noticed it is currently not in the documentation, so I wrote a little section about it

Closes https://github.com/vllm-project/vllm/issues/2603

I think it would be good to also include a list of supported architectures by multi lora. What do you think?


[Concurrency] execq - Smart queue that executes tasks in threadpool-like manner

Concurrency:
execq - Smart queue that executes tasks in threadpool-like manner (serial / concurrent) in C++11.

up


implement ddmin and simple test

I implemented a ddmin function and write a simple test for it.
The test is following the paper, which using delta debugging to find [1,7,8] from [1,2,3,4,5,6,7,8].

I have merged ddmin into master!
I'll sty to combine ddmin with other delta-debuggers I have written!


"ABC-abc-1234" barcode drives the app in a loop

What

non-stop loading spinner after scanning a product that doens't exist in DB

Part of
Screenshot

Hi @jasmeet0817! Supposed to be fixed by https://github.com/openfoodfacts/smooth-app/pull/630

Ah perfect, thank you

@jasmeet0817 If your tests with #630 are OK, would you please close this issue?

Hey, update on this one, it works for all devices except smaller ones (and perhaps might not work for some languages) so I'm trying another approach but it's really difficult to get this one right, I'm currently working with Greg from the flutter team for it

Let's be more precise:

you actually scanned a barcode (you did not type in a string)
and this barcode was not found on the server database
and you saw an endless spinner

Is that correct?

i believe this one is fixed.

Can still reproduce with this barcode

What does the server respond for this barcode

https://world.openfoodfacts.org/api/v0/product/ABC-abc-1234.json

assuming we send this request

I have checked codes and found response from backend is certainly received. But the following widget rebuilding is not working. I have confirmed scanning of an another product existing in DB works well. Perhaps the loop is due to a bug in provider library?
https://github.com/openfoodfacts/smooth-app/blob/631b3675afc6205382a74c3de530fcea7cb0771c/packages/smooth_app/lib/data_models/continuous_scan_model.dart#L87-L93

Still here

Still here, but changed visually
https://user-images.githubusercontent.com/39344769/209358894-7d588ef4-3333-4f63-8372-c03dcbcb4c44.mp4

Looks like it's fixed now.


IL2CPP error for type 'UnityEngine.Experimental.Rendering.RenderPipeline' in assembly

I am built a project called Try on watch. This project is based on AR(Augmented reality). This is a mobile application. So I build this project now I want to connect this project with my android studio because I want a login page or something more in my application that's why I'm connection my project with android studio. Like I want a button in android studio and when I click this then it open's my project like this. So I read about this and  they told me that go to project setting -> player -> and change the scripting backend into IL2CPP. I did this and now when I export this project 4 error pop's up.
1)IL2CPP error for type 'UnityEngine.Experimental.Rendering.RenderPipeline' in assembly 'E:\Demo\Temp\StagingArea\assets\bin\Data\Managed\UnityEngine.dll'
Additional information: Exception has been thrown by the target of an invocation.
2)Exception: C:\Program Files\Unity\Hub\Editor\2019.4.32f1\Editor\Data\il2cpp/build/deploy/net471/il2cpp.exe did not run properly!
3)Build completed with a result of 'Failed' in 46 seconds (45800 ms)
UnityEngine.GUIUtility:ProcessEvent (int,intptr)
4)UnityEditor.BuildPlayerWindow+BuildMethodException: 3 errors
at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (UnityEditor.BuildPlayerOptions options) [0x002bf] in <4330b7b9ef6d4dd780b09ebcbf09fc68>:0
at UnityEditor.BuildPlayerWindow.CallBuildMethods (System.Boolean askForBuildLocation, UnityEditor.BuildOptions defaultBuildOptions) [0x00080] in <4330b7b9ef6d4dd780b09ebcbf09fc68>:0
UnityEngine.GUIUtility:ProcessEvent (int,intptr)
4)UnityEditor.BuildPlayerWindow+BuildMethodException: 3 errors
at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (UnityEditor.BuildPlayerOptions options) [0x002bf] in <4330b7b9ef6d4dd780b09ebcbf09fc68>:0
at UnityEditor.BuildPlayerWindow.CallBuildMethods (System.Boolean askForBuildLocation, UnityEditor.BuildOptions defaultBuildOptions) [0x00080] in <4330b7b9ef6d4dd780b09ebcbf09fc68>:0
UnityEngine.GUIUtility:ProcessEvent (int,intptr)
The project is based on a vuforia engine
I want to export my project then I will access this project in my android studio then I cam make a UI for my project.

Desktop (please complete the following information):

OS: Windows 10
Build target: Android, Unity
Unity version: 2019.4.32f1
Mirror branch:

Can someone plz help me about this?

This seems to be more Android and Unity-related question?
(You should try unity forums or their discord, maybe even google)
This is for Mirror Multiplayer Networking-specific questions.

Like Jesus said above, this error is not related to Mirror judging from your error report. If Mirror causes this error in the RenderPipeline (which is VERY odd/unlikely) then the team would look at it, otherwise you're better off asking in the Unity discord or forums.

can you check the logs if the IL2CPP error is coming form Mirror's ILPOstProcessor or from Unity's?

Closing for lack of response and that it appears to be on Unity's side.  Reopen if more current info becomes available.


Update the manifest of eventing to release 14

Issue to be fixed
Fixes #
Proposed Changes

As eventing release 0.14, this operator picks up the manifest of eventing 0.14.0.

Release Note

/lgtm


TypeScript: decorators do not work with abstract classes

Is this a bug report?
Yes.

Did you try recovering your dependencies?

Yes.
yarn --version
1.13.0

Which terms did you search for in User Guide?

"Typescript decorators abstract classes".
Environment

Environment Info:

  System:
    OS: Linux 4.20 Arch Linux undefined
    CPU: x64 Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz
  Binaries:
    Node: 11.6.0 - /usr/bin/node
    Yarn: 1.13.0 - /usr/bin/yarn
    npm: 6.5.0 - /usr/bin/npm
  Browsers:
    Firefox: 64.0.2
  npmPackages:
    react: ^16.7.0 => 16.7.0
    react-dom: ^16.7.0 => 16.7.0
    react-scripts: 2.1.3 => 2.1.3
  npmGlobalPackages:
    create-react-app: 1.3.0

Steps to Reproduce

Basically, the problem lies in https://github.com/babel/babel/issues/8172 :

Add a file Bar.ts:

function decorate() {
  return (target: any, propertyKey: string) => {
    console.log(propertyKey);
  };
}

abstract class Foo extends Object {
  @decorate()
  baz: String = "baz";
}

export class Bar extends Foo {}

Add a jest test file tests/Bar.test.ts:

import {Bar} from "../Bar";

it('fails', () => {
    const bar = new Bar();
    expect(bar.baz).toEqual("baz");
});

yarn run test

Expected Behavior

The jest test runs successfully.
Actual Behavior

 FAIL  src/test/Bar.test.ts
  ● Test suite failed to run

    Jest encountered an unexpected token

    This usually means that you are trying to import a file which Jest cannot parse, e.g. it's not plain JavaScript.

    By default, if Jest sees a Babel config, it will use that to transform your files, ignoring "node_modules".

    Here's what you can do:
     • To have some of your "node_modules" files transformed, you can specify a custom "transformIgnorePatterns" in your config.
     • If you need a custom transformation specify a "transform" option in your config.
     • If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.

    You'll find more details and examples of these config options in the docs:
    https://jestjs.io/docs/en/configuration.html

    Details:

    /home/ought/Coding/Web/Frontend/test-app/src/Bar.ts:24
    let Foo = (_dec = decorate(), (_class = abstract class Foo extends Object {
                                                     ^^^^^

    SyntaxError: Unexpected token class

    > 1 | import {Bar} from "../Bar";
        | ^
      2 |
      3 | it('fails', () => {
      4 |     const bar = new Bar();

      at ScriptTransformer._transformAndBuildScript (node_modules/jest-runtime/build/script_transformer.js:403:17)
      at Object.<anonymous> (src/test/Bar.test.ts:1:1)

Reproducible Demo

https://github.com/StragaSevera/test-app

Can you try the latest release and see if this has improved? If not please open a new issue.


Cleanup __HResults

Combine HResults files. Name the class HResults to match other repos. Sort, change hex to upper case.
Closer to sharing with CoreCLR.

Do you really need to touch the System.Private.Interop ones? I would leave System.Private.Interop alone  for this change. I think System.Private.Interop should keep its own copy of the HResults file with the WinRT codes, etc.
This non-shared portions of the CoreLib change should be appended to the mirror of the CoreCLR change.

Sure, I'll fix that.

#4404


Add audit tools

Add an audit mode to WarpScript.
After calling WSAUDITMODE, the parser create macros with WarpScriptTraceableStatement. These special statements can contain errors, function call, variable load.
The errors are also listed in ATTRIBUTE_PARSING_ERRORS attributes of the stack. WSAUDIT returns a json of this error list.
The macros produced in this mode are executable and snapshotable (errors statements are replaced by MSGFAIL).
This PR also clarify the error message linked to early binding.
Examples:
WSAUDITMODE
[ 42 ] 'info' STORE
<%
  !$info INFO [ 43] +!
%>
WSAUDIT

Will return the error with the missing space line 4, position 3 (position starts at 0)
WSAUDITMODE
[ 42 ] 'info' STORE
<%
  !$info INFO [ 43] +!
%>
MACRO->

Will return a list of traced statements (with line and position), that will be easy to use for audit tools.

PTAL


Remove bitbox-sdk dependency to reduce bitbox-sdk installation time and package size

bitbox-sdk is currently not used in bip32-utils.
If bitbox-sdk can be removed as a dependency in the package that would reduce the installation time and size of bitbox-sdk.

I have no objections to this. For some reason I remember bitbox-sdk needing to be a peer dependency of this lib.
But if we can remove bitbox-sdk from this lib and it doesn't cause the bitbox-sdk tests to fail I say go for it. Thanks.


Rootston: configure keymap per keyboard

The rootston config should be able to configure a keymap for each keyboard in the keyboard config separately.

input "some keyboard" {
    options "caps:escape"
    layout "us,de"
}

That's the sway syntax.

Yeah, I was just posting this for reference. Rootston's will look like:
[input:some keyboard]
options = caps:escape
layout = us,de


New git rebase + git show aliases

Not sure if this is an okay suggestion, but those are some usefull git aliases that I thought was missing here ;)

Thanks - really nice.


Add TimeStamp to the Telemetry Signals

Currently the telemetry signals are emitted without a Timestamp! We need a Timestamp on this data! Make sure no tests fails after adding the Timestamp! Do this for both the PowerPlant types.

Fix the telemetry signals such that the double values are not sent as string, but as doubles! For example., the activePower is sent as a String!

Fixed!


Pop count - Added practice exercise

I've added pop-count exercise as @colinleach and @jonmcalder suggested.
Somehow during autogeneration config.json was changed in other parts also, I guess only for formatting issues.

@Nerwosolek Thanks! Will review this when I get a gap.
@colinleach you'll probably beat me to it so feel free to review and provide feedback or merge if you're happy.

I agree that the changes to config are just formatting (whitespace and ordering of fields), so presumably that's just a recent-ish improvement to configlet.
Happy to merge - thanks again @Nerwosolek and to @colinleach for reviewing!


Docs v3 - missing semicolons in almost every js example script

The javascript section of the docs of V3 is missing semicolons in almost every jquery script, see: http://getbootstrap.com/javascript/#transitions

They're not required.

Yup, most of our JS doesn't use semicolons.

Approximate duplicate of #3057.
I personally don't like it either, but it's Jacob's house style and not currently open to reconsideration.


Create<EMAIL_ADDRESS>

Vuminhchien11
** >> Make sure you describe your PR to the README Change Log section! << **
This PR changes (delete as applicable)

Documentation
TypeScript Defs
The public-facing API
Nothing, it's a bug fix

Describe the changes below:

Vu minh chien


Being able to specify the binding address

It would be great if it was possible to pass in not just the binding port, but also address.
Perhaps something like the following?
FsInteractiveService.exe <IP_ADDRESS>:8707

That would be a good feature to add. If you want to send a PR, you just need to:

Change the parameter parsing code here
Update the documentation around here


add the stellar model files for the reduction tutorials

Whoops we (I) forgot to add the stellar model files, which are used in the tutorials.

FYI @kglidic

This can probably be merged without review, since it's just adding two data files. FYI @AarynnCarter


[Bug] tvmc compile failed on onnx model with 'Expand' operator

Thanks for participating in the TVM community! We use https://discuss.tvm.ai for any general usage questions and discussions. The issue tracker is used for actionable items such as feature proposals discussion, roadmaps, and bug tracking.  You are always welcomed to post on the forum first :smile_cat:
Issues that are inactive for a period of time may get closed. We adopt this policy so that we won't lose track of actionable issues that may fall at the bottom of the pile. Feel free to reopen a new one if you feel there is an additional problem that needs attention when an old one gets closed.
Expected behavior
I have a simple onnx model with an 'expand' operator (with shape input set to [70]) followed by 'reshape' operator (with shape input set to [1, 1, 70]). The input dimension is [1, 1]. So, the expected dimension of the 'expand' output is [1, 70]. And it should be reshaped to [1, 1, 70] by 'reshape' operator. I tested with onnx runtime interpreter and got the expected output. I expected 'tvmc compile' can work successfully on this simple onnx model.

Actual behavior
The 'tvmc compile' command returns the following error:
Check failed: oshape_sum == data_shape_sum (70 vs. 4900) : Input tensor shape(1,1,70) and reshaped shape((int64)70,(int64)70) are not compatible!
Looks like it got [70, 70] as the shape of the 'expand' output instead of [1, 70].
Environment
Operating System: Ubuntu Linux
TVM version: 0.9.dev0
Steps to reproduce
Run the following script to create the example onnx model file:
from onnx import helper, numpy_helper
from onnx import TensorProto as tp
import onnx
import numpy as np
initializers = []
initializers.append(numpy_helper.from_array(np.array([70], dtype=np.int), name='c1'))
initializers.append(numpy_helper.from_array(np.array([1, 1, 70], dtype=np.int), name='c2'))
n1 = helper.make_node('Expand', inputs=['x', 'c1'], outputs=['y1'], name='n1')
n2 = helper.make_node('Reshape', inputs=['y1', 'c2'], outputs=['y'], name='n2')
g1 = helper.make_graph([n1, n2], 'preprocessing',
[helper.make_tensor_value_info('x', tp.FLOAT, [1, 1])],
[helper.make_tensor_value_info('y', tp.FLOAT, [1, 1, 70])],
initializers)
m1 = helper.make_model(g1, producer_name='demo')
onnx.checker.check_model(m1)
onnx.save(m1, '/tmp/test.onnx')
After creating the file, run:
tvmc compile --target "llvm"  --output /tmp/model.tar /tmp/test.onnx

I can reproduce this bug; and am digging it.

@jianzhangru Thanks for pointing this out! This should be fixed by https://github.com/apache/tvm/pull/11278. Please use the latest TVM after its being merged.


Fixed bipartite graph mini-batching example

Running the previous example produced an error for me.  This dimensions change fixes the problem.

The broadcasting works for me, but I think its more understandable this way. Thanks.


[docs] add responsive AppBar with drawer

[ ] I have followed (at least) the PR section of the contributing guide.

Similar to https://getbootstrap.com/docs/5.2/components/navbar/

The drawer is for responsive mode. when the screen size is small then the menu button will be visible on the left side of AppBar. After clicking this button drawer will be open.

I am leaving this up to @samuelsycamore to decide if we want to have it.

LGTM! 🙌 Thanks for this @dvlprAlamin! Sorry I missed it last month. I'm always happy to see more demos in the docs, and this one is great! Let's do it. 🚀


Login call setPassword frontend implementations

Issues

relates #1130

TODOs

[ ] Withdraw password fields of registration form
[ ] Make a view that will handle (set password, Forgot password & loginViaEmailVerificationCode) same as thx.vue

Originally posted by @Elweyn in https://github.com/gradido/gradido/issues/1130#issuecomment-976217673

For a normal registration the frontend prozess will look like following:

User registrate (Register form)
User klicks on registration link (http://.../vue/activate/{optIn})
Call ResetPassword form
User send new password
Set Password, Activate Email & Register email to KlickTipp
User is send to a thx/activate page

For the forgot password prozess it will look like:

User clicks "Forgot Password"
User enters his Email
User clicks on the link that he got in the Email
Calls ResetPassword form
User send new password
Set Password & change OptIn state
User is send to a thx/reset page

Is this prozess good for you guys? (@ulfgebhardt, @Mogge, @ogerly)

Has been done in #1130


Add mutation tests

new tests for mutation.
This captures behavior from Power Apps

✅ No public API change.

✅ No public API change.


Confliction With Corodova File Download

Hello,
When i trying to download file after that when i tried to play it hangs the device and when i wrap the code into the ionicPlatform then the seekbar is not working, can you please help me in that.
Thanks and Regards,
Kapil Karda

Inactive issue? Can we close this?
Otherwise:
Hi, I'm not the repository owner but I'm trying to help out as I need to use this package too so I'm doing my best to iron out the remaining issues. I've started to check out the opened issues. There are lots of doubles without any examples whatsoever. I'd like to do some clean up, so first I need to make sure the opened issues are legitimate.
Please make sure to follow these simple guidelines in the future:

Use the GitHub issue search — check if the issue has already been reported. Check if the issue has been fixed.

If none is found, create a new issue by describing your problem, providing example of the boggus code and also make sure to write it with proper syntax and syntax. Re-read your issue twice or more to make sure it will makes sense to the repository owner. He might not even reply if he doesn't understand what's the problem.

A good bug report shouldn't leave others needing to chase you up for more information. Please try to be as detailed as possible in your report. What is your environment? What steps will reproduce the issue? What browser(s) and OS experience the problem? What would you expect to be the outcome? All these details will help people to fix any potential bugs.
Example:

Short and descriptive example bug report title
A summary of the issue and the browser/OS environment in which it occurs. If suitable, include the steps required to reproduce the bug.
This is the first step
This is the second step
Further steps, etc.
 - a link to the reduced test case
Any other information you want to share that is relevant to the issue being reported. This might include the lines of code that you have identified as causing the bug, and potential solutions (and your opinions on their merits).

Once a proper issue description is provided, we will be way more prepared to help you out. Thanks a lot and have a nice day.


fix: add EnsureCapacity for dictionary types

Resolves #251

Modifed a bit of #312 to work with dictionaries.
Adjusted ImplementsGeneric to support interface inheritance, added a guard to TryBuildEnsureCapacity because Dictionary does have EnsureCapacity for older versions.
Added 3 tests

Codecov Report

Merging #361 (15165e3) into main (dce4b42) will increase coverage by 0.27%.
The diff coverage is 92.31%.

:exclamation: Current head 15165e3 differs from pull request most recent head 51828e6. Consider uploading reports for the commit 51828e6 to get more accurate results

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main     #361      +/-   ##
==========================================
+ Coverage   91.71%   91.98%   +0.27%
==========================================
  Files         109      126      +17
  Lines        3379     3993     +614
  Branches      438      545     +107
==========================================
+ Hits         3099     3673     +574
- Misses        189      213      +24
- Partials       91      107      +16

Impacted Files
Coverage Δ

src/Riok.Mapperly.Abstractions/MapEnumAttribute.cs
100.00% <ø> (ø)

...berMappings/MemberNullDelegateAssignmentMapping.cs
57.14% <0.00%> (ø)

.../Mappings/NewInstanceObjectFactoryMemberMapping.cs
100.00% <ø> (ø)

...Mapperly/Descriptors/UserMethodMappingExtractor.cs
98.38% <50.00%> (ø)

...riptors/MappingBuilders/QueryableMappingBuilder.cs
68.42% <68.42%> (ø)

...numerables/EnsureCapacity/EnsureCapacityBuilder.cs
72.97% <72.97%> (ø)

...Descriptors/Mappings/EnumFromStringParseMapping.cs
73.68% <73.68%> (ø)

...ptors/Mappings/MemberMappings/NullMemberMapping.cs
76.27% <76.27%> (ø)

src/Riok.Mapperly/Symbols/FieldMember.cs
78.57% <78.57%> (ø)

src/Riok.Mapperly/Symbols/PropertyMember.cs
78.57% <78.57%> (ø)

... and 65 more

... and 1 file with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


db update

What has changed:

Added reconcile script to makefile and created an (currently empty) lambda
Added interface for type checking the parse garms data
Removed unused columns/constants
Updated Date type and numeric type for entities
Added a location entity
Added payment-method entity
Updated Payment entity to use a sequential id based off the corresponding trans id

Closing, all work is on another branch. All comments addressed.


Python 0.716 tagged, but not available in pypi

https://pypi.python.org/pypi/python-keyczar
^ still lists 0.715.  Could someone push the new version to pypi?

Thank you!!


Simulated camera crashes when config contains markers

Hello,
during our code upgrade to robotic v0.1.3 we encoutered a bug when using the robot's camera in the simulated mode. When we add a custom marker to the config and try to get an image with bot.getImageAndDepth(), the program crashes with a segmentation fault.
Minimal example:
import robotic
assert robotic.__version__ == '0.1.3'

config = robotic.Config()
config.addFile(robotic.raiPath("../rai-robotModels/scenarios/pandaSingle.g"))

frame = config.addFrame('myTestFrame')
frame.setShape(type=robotic.ST.marker, size=[0.3]) # <-- Marker

bot = robotic.BotOp(config, useRealRobot=False)
bot.getImageAndDepth('cameraWrist')

If we set the shape to a cylinder instead with frame.setShape(type=robotic.ST.cylinder, size=[0.3, 0.05]), the program does't crash.
We replicated the problem at the lab pc using the simulation and had the same outcome. However, the program works when we use the real robot.  Also, we tested this once with and without a rai.cfg present in the workspace directory, but this also didn't change anything either. I suspect it is a bug in the C++ rai implementation.

Works with newly released v0.1.4. Thanks!


Update lvlgen.js

FRENCH traduction of files / Traduction en francais du fichier.

#60 ... Dont spam pls.
"I dont think that much persons in France using agar lvlgen.
And i hope everyone there can speak english too... We cant add every language, but im not a mod^^"

TWO different files... its not an spam. Please read.

Yeah, but you can edit 2 files in one request :)

ohhh.... i have difficult with git website haha ... sorry for double post ;)

No problem :) but can you told me why we need englisch and french? :D

I don't know how to make change in same pull request :O

We should make a separate branches for different languages :)

I make German!!11elf

if translation is needed it should be made in a lang file instead of total translation of each files...

^^^^^^^^^

I'm going to make a lang file for this ;)


Promote x-ms-text to a property of XmlSerializationFormat

@pakrym requested that x-ms-text be lifted out of the extensions sub-object of XmlSerializationFormat so that it can be a well defined part of the CodeModel schema.  This issue tracks the discussion around that work.

While investigating this, it occurred to me that it's probably better to create a legimitate property for this in the XmlSerializationFormat type, but doing that might require rethinking things slightly.  Now that we will have both attribute and text as properties of this type, we need to ensure that they are mutually exclusive since the same property can't take it's value from both places at the same time.
A better way to do this would be to have a new field like location that uses an enum to determine whether the property can be found in an attribute or the text of the node.  However, this would require all code generators to adjust to attribute being removed (or deprecated and still populated with true if it location is attribute).
Thoughts?  @pakrym @lmazuel

I think it's overkill, and I'm happy with attribute and text being two separate boolean entitites :)

Yeah, I'm fine with two attributes and maybe an error if both are set.

I would not expect any generator to have to check the mutex part of attribute/text, but to assume this was done correctly, and let m4 fail if it was not.

OK, I can add extra logic to modelerfour to fail if both properties are true so that it never makes it to the generator and the user gets a reasonable error message.  Thanks for the feedback!

This was fixed in https://github.com/Azure/autorest.modelerfour/pull/332.


mbstring extension missing

Hey, what about adding mbstring to the container? Seems fairly common to me, e.g. it is a requirement for Laravel: https://laravel.com/docs/5.3/installation#server-requirements

Extension is already included in php5-cli cf. https://packages.debian.org/jessie/php5-cli.

Extension php7.0-mbstring has been added to stretch (php7.0) branch.


Added Zyxel default username and password based on CVE-2020-29583

Hi
I added the newly discovered  hardcoded credentials for Zyxel devices to the cirt list. This is based on the following source:
https://www.eyecontrol.nl/blog/undocumented-user-account-in-zyxel-products.html
Reg.
m4p0

#551


In node the .end callback is fn(err, res) in contrast with fn(res) in the browser

What the title says. Is this on purpose? If so it should be mentioned in the readme because it is confusing.

actually yeah i'll change this. though the typical errors for the CS will be parse errors etc, pretty rare I'd think. I'll be adding global error handlers so it's less redundant to deal with

I'm a little new to nodejs, so forgive me if this is painfully obvious.
But what type of error would need to occur in order to make the err, in the callback fn(err, res), return something other than null? I return 400 etc and it still comes back as null.

on the client/server-side that would be for things that are truly exceptions like parse errors etc, not just responses. I got really frustrated with all the special-casing that jQuery had, a request is a request, and a response is a response, so they are not currently treated differently. That being said I do plan on adding optional global support for error handling so you can opt-in to that

though on the client-side we could just ignore parse errors and leave the res.text as the invalid json or whatever. the inconsistency would just have to be properly documented

Thanks for the reply.
I like the idea of emitting error events on the node side and making the .end callback have the same signature as on the client-side.
I think I'll have some time tonight, I'll see if I can't add this. Like I said, I'm new to node, but I was looking through your code quite a bit to figure out why the first argument was always returning null. I think I can do it. I'll give it a try and make a pull request.  Thanks again.

the only issue I have with it is that it gets rid of the typical (err, result) signature that everything in node uses, but it'll be nicer to use for sure

Oh, maybe I misunderstood. I thought you had accepted that result.
On the node-side, am I missing some use for err if we change it to emit error events?
On Oct 17, 2011, at 3:52 PM, TJ Holowaychuk wrote:

the only issue I have with it is that it gets rid of the typical (err, result) signature that everything in node uses, but it'll be nicer to use for sure
--
Reply to this email directly or view it on GitHub:
https://github.com/visionmedia/superagent/issues/19#issuecomment-2435841

i like the idea but at the same time i dislike it haha, but since it's stream-like I think we should be fine to just emit errors, and then if no listeners are present for that stream we can have the global handler superagent.on('error'.. or whatever

Yea, I understand what you mean. In talking to you, I've kind of started to reverse my position and starting to think that we should keep the standard node signature of (err, result). Originally, I liked the idea of using the same library on both the client and node side of things (since my project will use both) and having everything act the same, but now....I'm wavering since it would brake convention. I'll look at it some more...
Honestly, I think alot of my (the) confusion could be alleviated simply by changing this example on http://visionmedia.github.com/superagent/ :
The node client may also provide absolute urls:

 request
   .get('http://example.com/search')
   .end(function(err, res){

   });

In the example online atm, it reads .end(function(res){... which is what confused me for so long.
Want a pull request to just fix that in the meantime?

yeah it's a bit tough since on the client-side, errors will be pretty infrequent and you'll ideally want to handle them globally quite often, though not always. The server-side is slightly different, but core does this actually with http.get(options, callback(res)), there's no error signature there. We could simply emit the error, but with node if you emit "error" and do not have a listener it'll throw, so it's a tough call

Check fn.length and support both :)

haha yeah we could. it's definitely annoying, you already usually will be checking if (res.ok){ blah blah so checking an error too is annoying

I decided what I'm going to do is both, but you can opt-in for the error otherwise you can handle it at the globally:
.end(function(err, res

vs

.end(function(res

Cool, I really like the consistency between Node and the client. That is .end(function(err,res){ .... code .... });.

yeah it's nice when you need it, but on the client it's not uncommon at all to just have a global handler and show some kind of notification etc, we really need both

I'd go with the fn.length check :)


chore(main): release 1.0.0

:robot: I have created a release beep boop
1.0.0 (2023-02-16)
Features

initial code (37ddf08)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/br14n-sol/Query-Builder-for-DriveAPI/releases/tag/v1.0.0 :sunflower:


Please list the Platform Update version

Hello,
Since there are many areas in the Docs site that refer to a specific D365 Platform Update version, can we please have the PU number added to this grid for easy reference?
https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/fin-ops/get-started/public-preview-releases#targeted-release-schedule-dates-subject-to-change
Thanks!

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

ID: e7dcb285-f32c-c92e-fe49-1617f213066b
Version Independent ID: 8f28c1a0-9da5-f853-90ee-d82a4c32df7e
Content: Service update availability - Finance & Operations | Dynamics 365
Content Source: articles/fin-ops-core/fin-ops/get-started/public-preview-releases.md
Service: dynamics-365-cross-app
Product: ****
Technology: ****
GitHub Login: @ShellyBakke
Microsoft Alias: smiller

@sericks007 Hi Sally - Can you consider adding the PU numbers? Thanks.

Thank you for providing this feedback.  We will refer to One Version service updates with the version number, such as 10.0.19 and 10.0.20.


[Bug]: Elysia 0.7.3 Context.set type mismatch

Package
lucia-auth
Describe the bug
Updated to Elysia 0.7.3, and the Lucia x Elysia middleware is breaking on the context.set type as there has been a new context.set type on Elysia's side
example
export const privateRoot = new Elysia()
  .use(publicRoot)
  .derive(async ({ auth, ...context }) => {
    const authRequest = auth.handleRequest({
      request: context.request,
      set: context.set, // would be type mismatch, "Type 'string' is not assignable to type 'number'."
    });
    const session = await authRequest.validateBearerToken();
    context.logRoute('Validating session');

    if (!session) {
      context.log.error('Blocked unauthorized request');
      throw new ErrorException('UNAUTHORIZED', 'Unauthorized');
    }

    return {
      session,
    };
  });

I'll be trying to make a PR for this :)

Elysia's new Context.set type
export type HTTPStatusName =
	| "Continue"
	| "Switching Protocols"
	| "Processing"
	| "Early Hints"
	| "OK"
	| "Created"
	| "Accepted"
	| "Non-Authoritative Information"
	| "No Content"
	| "Reset Content"
	| "Partial Content"
	| "Multi-Status"
	| "Already Reported"
	| "Multiple Choices"
	| "Moved Permanently"
	| "Found"
	| "See Other"
	| "Not Modified"
	| "Temporary Redirect"
	| "Permanent Redirect"
	| "Bad Request"
	| "Unauthorized"
	| "Payment Required"
	| "Forbidden"
	| "Not Found"
	| "Method Not Allowed"
	| "Not Acceptable"
	| "Proxy Authentication Required"
	| "Request Timeout"
	| "Conflict"
	| "Gone"
	| "Length Required"
	| "Precondition Failed"
	| "Payload Too Large"
	| "URI Too Long"
	| "Unsupported Media Type"
	| "Range Not Satisfiable"
	| "Expectation Failed"
	| "I'm a teapot"
	| "Misdirected Request"
	| "Unprocessable Content"
	| "Locked"
	| "Failed Dependency"
	| "Too Early"
	| "Upgrade Required"
	| "Precondition Required"
	| "Too Many Requests"
	| "Request Header Fields Too Large"
	| "Unavailable For Legal Reasons"
	| "Internal Server Error"
	| "Not Implemented"
	| "Bad Gateway"
	| "Service Unavailable"
	| "Gateway Timeout"
	| "HTTP Version Not Supported"
	| "Variant Also Negotiates"
	| "Insufficient Storage"
	| "Loop Detected"
	| "Not Extended"
	| "Network Authentication Required";


Avoid state in p2p validation, compute committee count per slot for epoch

This PR changes something subtle in the beacon-spec, but does not result in any effective different behavior, and can be regarded as a cosmetic change. I do like some extra review though, as I am not 100% if I am breaking any phase 1 requirements.

The previous committee count function looked like:
def get_committee_count_at_slot(state: BeaconState, slot: Slot) -> uint64:
    """
    Return the number of committees at ``slot``.
    """
    epoch = compute_epoch_at_slot(slot)
    ...

And I think we should change it to:
def get_committee_count_per_slot(state: BeaconState, epoch: Epoch) -> uint64:
    """
    Return the number of committees in each slot for the given ``epoch``.
    """
    ...

We rotate through the committees, and some places already make the assumption that get_committee_count_at_slot does not change throughout the epoch.
One of these is the subnet id calculation in the validator spec:
def compute_subnet_for_attestation(state: BeaconState, slot: Slot, committee_index: CommitteeIndex) -> uint64:
    slots_since_epoch_start = slot % SLOTS_PER_EPOCH
    committees_since_epoch_start = get_committee_count_at_slot(state, slot) * slots_since_epoch_start
    return (committees_since_epoch_start + committee_index) % ATTESTATION_SUBNET_COUNT

The compute_subnet_for_attestation is used in the p2p attestation validation, and creates the impression that the latest state of an attestation is necessary to validate. While it is necessary to have validated the attested block, having the full state in the p2p pipeline complicates things a lot for an implementer.
So we can change that too:
def compute_subnet_for_attestation(committees_per_slot: uint64, slot: Slot, committee_index: CommitteeIndex) -> uint64:
    committees_since_epoch_start = committees_per_slot * slots_since_epoch_start
    return (committees_since_epoch_start + committee_index) % ATTESTATION_SUBNET_COUNT

The attestation signature and bitfield checks already require the committee information, so it is much less difficult to provide the committees_per_slot number than the full state.
Similarly, the attestation bitfield check does not require the state either, a client should just check if a single bit has been set. (unless there is some indirect bitfield length check that is not already checked by another condition, like the signature check?)
So this PR changes:

get_committee_count_at_slot -> get_committee_count_per_slot (and update usages, caching, testing, phase 1)
Update compute_subnet_for_attestation to take the committee count per slot as input parameter. Continuing the trend set by PR #1876 to simplify input parameters for the benefit of clients
Simplify the bitfield check to also not require the full state
This also helped clarify the comment in the p2p spec about phase-1 like rotation of committees around the subnets, throughout an epoch.

Thanks to @paulhauner who highlighted how the subnet attestation validation was different from the other conditions by requiring a full beacon state. And thanks @cemozerr for an earlier mention of the unnecessary inefficiency of the attestation bitfield condition.

Note: line count increased a little, not because of changes, but the network spec has unnecessarily long markdown lines, making it difficult to browse git history. Markdown renders consecutive lines as the same paragraph, so it looks the same. So I'm splitting every line that is modified where I am making changes.

I am not 100% if I am breaking any phase 1 requirements.

I think this PR doesn't break phase 1 requirements. However, it points out the need of avoiding passing the full state when we are computing phase 1 shard subnet. It may be more verbose to achieve it.

Oh no, I made merge conflicts


[HW] Zhoucai Ni

Name: Zhoucai Ni
Email<EMAIL_ADDRESS>Linkedin Profile: https://www.linkedin.com/in/zhoucai-ni-3257a8189/
Attach the homework step I screenshots below:

Attach the homework step II screenshots below:

Hey Zhoucai Ni, great job! Congrats! Here is your badge! https://api.badgr.io/public/assertions/fNyEnu5sSrOMUsB330iSRw


puppeteer fetcher does not work

I'm trying to use the puppeteer fetcher with this script from the examples:
from pyspider.libs.base_handler import *

class Handler(BaseHandler):
    def on_start(self):
        self.crawl('http://www.twitch.tv/directory/game/Dota%202',
                   fetch_type='chrome', callback=self.index_page)

    def index_page(self, response):
        return {
            "url": response.url,
            "channels": [{
                "title": x('.title').text(),
                "viewers": x('.info').contents()[2],
                "name": x('.info a').text(),
            } for x in response.doc('.stream.item').items()]
        }

The result is this:
{'channels': [], 'url': 'https://www.twitch.tv/directory/game/Dota%202'}
The puppeteer fetcher is supposed to be running since I see this when I start start pyspider:
puppeteer fetcher running on port 22222
When I modify the content of the js_script and rerun the script, pyspider it doesn't do anything. It doesn't even give an error if I insert faulty code.
I've already found a related issue:
https://github.com/binux/pyspider/issues/902
but it didn't help.

pyspider version: Latest commit ad3ae13
Operating system: Arch Linux
Start up command: ./pyspider

Expected behavior

Get results.
Actual behavior

No results.
How to reproduce

Use latest development version of pyspider.
Use above script
Start pyspider & run the script.

This is wrong:
fetch_type='chrome'
correct:
fetch_type='puppeteer'
Because, you can find the answer in
https://github.com/binux/pyspider/blob/master/pyspider/fetcher/tornado_fetcher.py#L141
elif task.get('fetch', {}).get('fetch_type') in ('puppeteer', ):
    ...


Update doc gen

Pull Request Test Coverage Report for Build 605659202

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 97.812%

Totals

Change from base Build 604854485:
0.0%

Covered Lines:
539

Relevant Lines:
545

💛  - Coveralls


Flip-flop reset support for QuickLogic qlf_k4n8

This PR adds support for local flip-flop resets for the QuickLogic qlf_k4n8 architecture. It also adds an additional flip-flop type for a shift register as well as shift register inference. Tests have been updated accordingly.

LGTM


ubuntu14.04 not install

ubuntu14.04 error 0855970a5ce02ea12f5a53d520315f200b4847a1/django-pure-pagination-0.3.0.tar.gz
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "", line 1, in
File "/tmp/pip-install-isuua6j4/django-pure-pagination/setup.py", line 5, in
README = readme.read()
File "/var/env/django_env/lib/python3.4/encodings/ascii.py", line 26, in decode
return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 672: ordinal not in range(128)
----------------------------------------

Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-isuua6j4/django-pure-pagination/
(django_env) root@iZ941w016mwZ:~#

I think this was fixed on the following pull request for Python 3. We just need it to be merged and release a new version.


⚠ Orpheus has degraded performance

In 605ae19, Orpheus ($OPS) experienced degraded performance:

HTTP code: 200
Response time: 5127 ms

Resolved: Orpheus performance has improved in 8701e69.


[SPARK-48639][CONNECT][PYTHON] Add Origin to RelationCommon

What changes were proposed in this pull request?
This PR proposes to add Origin (from https://github.com/apache/spark/pull/46789) to Relation.RelationCommon
This is a revert of the revert.
Why are the changes needed?
To have the common protobuf message to keep the source code info.
-  // TODO(SPARK-48639): Add origin like Expression.ExpressionCommon
-
-  // (Required) Shared relation metadata.
-  string source_info = 1;
+  // (Optional) Shared relation metadata.
+  reserved 1;

This is considered as a breaking change, and we should fix up all other branches down to avoid, which isn't really worthwhile.
Does this PR introduce any user-facing change?
No. This is not used.
How was this patch tested?
CI should validate protobuf definition, and exiting tests should pass.
Was this patch authored or co-authored using generative AI tooling?
No.

cc @grundprinzip

Yup

Merged to master.


Add the MessageComposeCommandSurface extension point

This step is outdated. following the instructions leads to a invalid manifest and hence I can't install it. I don't know where do I add this and repercussions of adding it elsewhere than suggested. Please update this page with appropriate edits!!

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

ID: 2b98fcab-f608-d0dd-08ab-633d4772f699
Version Independent ID: ad0a00c9-e5c2-fdfc-732e-f14869088f4a
Content: Tutorial: Build a message compose Outlook add-in - Outlook Developer
Content Source: docs/add-ins/addin-tutorial.md
Product: outlook
Technology: add-ins
GitHub Login: @o365devx
Microsoft Alias: o365devx

@vikramhimanshu Thanks for raising this issue. We'll take a look.
Thanks.

@vikramhimanshu In the Define buttons section of the tutorial, we discuss replacing the Read extension point with the Compose one. Can you share your manifest so we can further investigate?
Thanks.