Removal of explicit

The Metadata IG agreed to deprecate explicit, since this element regards mainly textual content and thus use cases for it are very uncommon/rare in the musicological context. Furthermore explicit isn't modeled the way incipit is, which works very well in MEI as it has been thought through thoroughly. If someone really needs/wants to encode the last measures etc. of a piece for identification purposes in the header the Metadata IG sees this as a case for a customization.
Please refer to music-encoding/metadata-ig/issues/14 for more context.

I'm -1 on removing explicit.

Having it in doesn't hurt anything, and gives people more options for doing catalogues and encodings
We could fix explicit to function more like incipit; removing it isn't the only option to deal with this.

The Metadata IG did have a longer discussion about that so this proposal or the resulting PR were not made lightly.

Having it in doesn't hurt anything, and gives people more options for doing catalogues and encodings, particularly where they aren't served by any other format. (i.e., MEI is unique in the notation formats for being able to encode explicits.)

As @rettinghaus pointed out and explained in his comment the main problem with explicit in MEI is that it in fact doesn't offer the ability to encode musical explicits. So if anyone would want to encode the final pitch/chord or cadential formulas they couldn't do it. At least not with explicit as-is. On the other hand, if someone would want to encode only text/textual content why not use TEI for that, as this is in fact a text-centered format? Or leave that for a customization if that seems more appropriate?

We could fix explicit to function more like incipit; removing it isn't the only option to deal with this.

The IG thought about and discussed that the functionalities incipit offers should not only be limited to the beginning of a work/piece, because there are use cases where one might want to encode excerpts from a work/piece other than the beginning, like explicits or maybe even a musical theme that appears neither at the beginning nor the end but maybe in some middle part. This is why deprecating explicit is from our point of view only the first step. The idea is to remodel incipit into excerpt (because we see that both incipit and explicit can be classified as types of excerpts) and to indicate via a @form attribute where the excerpt stemmed from. We documented this (although I admit very briefly) in our issue as well, however, implementing that is out of the scope for this PR.

Thanks @doerners -- if I gave the impression that the IG made this suggestion flippantly, I apologize. I was only doing my part as a member of the larger MEI community to review the suggestions made by the IG in light of its impacts on the larger community. I did take your suggestion seriously, but do see some significant problems with the proposal. I hope the length of this response will further indicate that I consider it to be made in earnest.
That explicit does not follow the same model as incipit is very useful to point out. But the model of explicit is not fixed -- we can change it to be identical to incipit and so to encode musical content. Since we can fix it to encode musical content gives less of a reason to remove it entirely because it doesn't.
I'm less thrilled about changing it to excerpt. An incipit and explicit are a form of identification to differentiate them from other compositions with the same title, or indeed with no title. Incipits and explicits are a "thing" -- RISM has over 1.8 million incipits, and they are specifically not excerpts. (The difference being that you might expect an excerpt to have all voices present, while an incipit typically only has the top voice, or the first voice that sounds).
Incipit and explicit are both in the MEI header. MEI is also the only format that I am aware of that lets you specify incipit and explicit, so in that sense there is a unique feature available here that is not available elsewhere. Whether or not anyone uses it now is not necessarily a reason to remove it. Having it in the spec, and indeed fixing it to make it more like incipit, does not harm anything and may, indeed, be useful to someone later.

@ahankinson apologies if my choice of words came across harshly, I merely wanted to point out that indeed the description of this PR doesn't include/reflect the entirety of our discussion and reasoning but that we did i.a. talk about the aspects you mentioned, however, our conclusion was what is expressed by this PR.
To me – and from what I grasped from the IG's discussion I think it's fair to say that this is not only my single opinion – it seems like an awful lot of modelling effort to be made when following your suggestion. That is because:
<incip> does include <incipText> and <incipCode> as child elements and is member of the model.incipLike model class (in fact it is the only element in this model class). When we want to remodel <explicit> like <incip> it wouldn't work to simply move it to model.incipLike  as @rettinghaus pointed out. So we could introduce a new model class model.explicitLike and two new elements <explicitText> and <explicitCode> to achieve the same functionality as <incip>. If we, however, want to offer the same functionality for any excerpt that is not necessarily on incipit or an explicit we could introduce the new elements <excerpt>, <excerptText> and <excerptCode> as well as the model class model.excerptLike.
To me this seems quite redundant and I'm not convinced that it is best practice or efficient to have three different model classes that each contain only one element but are somewhat semantically connected.
If we follow the idea of the IG I mentioned and remodel <incip> to <excerpt> with an additional @form attribute, I imagine that one could choose to designate if the encoding refers to an incipit or an explicit etc. with only one element, similar to:
<!-- incipit encoded here -->
<excerpt form="incipit">
<score>
...
</score>
</excerpt>
<!-- explicit encoded here -->
<excerpt form="explicit">
<score>
...
</score>
</excerpt>
<excerpt form="something other than incipit or explicit">
<score>
...
</score>
</excerpt>

Your point that

(The difference being that you might expect an excerpt to have all voices present, while an incipit typically only has the top voice, or the first voice that sounds).

to me would than seem to be a matter of thorough documentation as to what the users have to expect from the element or what its intention is, respectively.

MEI is also the only format that I am aware of that lets you specify incipit and explicit

Actually TEI offers both incipit and explicit, however, there they are both member of the model.msQuoteLike model class, i.e. the modelling approach is different to MEI. I'm not really sure if it would be the best approach to copy that approach.

Actually, following TEI and making a quoteLike model would be a great example to follow for both incipit and explicits! Thank you for pointing that out. We could also follow this example and remodel rubric to follow it, since they are closely related.
Adding a  quoteLike model would also solve the problem of having a model class that is too narrowly defined for incipits.
Not all incipits are notation, and not all notation is encoded in MEI. incipCode is actually quite useful for projects like RISM, where we have millions of incipits encoded in Plaine and Easie. Using a different notation format other than MEI is useful there. (not to mention it supports parsons code and **kern).
And incipText can be useful where you want to record the text of a piece without necessarily encoding the music.

Sorry, I don't understand this now: do you mean having incipCode and incipText is good, but we don't need these possibilities for explicit?

Nope -- I'm saying having something similar to those would also be useful for <explicit>.

And what about excerpt?

I think @doerners suggested out excerptText and excerptCode.

Yes, <excerptText> and <excerptCode> are meant to be included...the dummy encoding was just supposed to illustrate how the use of the @form attribute could look like.

And what benefits would that bring us over having dedicated incipit and explicit encoding methods? (Noting, particularly, that you can constrain where an element appears using the schema, but you can't constrain where an element with a given attribute value appears, other than with Schematron. So in this model we would have to allow <excerpt form="incipit"> anywhere we allow `.)
But listen -- we could go back and forth for days. I am still very much -1 to this specific change, but would like to leave the floor open for others to chime in.
(there are a lot more things I could probably say about excerpt but I'm trying to contain my comments to the change in this PR, which is specifically deleting explicit -- there are no changes here that would replace it with anything else, so on the face of it this is a loss of functionality and a breaking change to the schema.)

The benefit, in my opinion, would be that we could encode the different aspects with three instead of nine elements. Furthermore I think it shouldn't be a problem to constrain the use with Schematron as MEI already uses Schematron in other cases, so why not here?
<incip> is allowed in <expression>, <physDesc> and <work>, in which case would it be problematic to allow <excerpt> in these exact places? From the top of my head I can't name any.

@ahankinson If I read you correctly, the removal of the explicit element without a proper encoding alternative is something to be concerned about. Would it help if the Metadata IG (that has gone through a long decision finding process about this element) would prepare another PR to implement such an alternative? (Until then, this PR would remain in draft mode?)

@musicEnfanthen yes, my specific objection at the moment is that this PR removes functionality without replacing it with something equivalent.
However, I believe there are larger issues with the direction of this change.
The reason <incip> and <explicit> do not have the same model is because they come from two different lineages. <incip> has, as far as I can tell, been in MEI since the beginning, primarily due to the significance of the incipit projects like RISM (and the work at CCARH with these incipits, which had a direct influence on the development of MEI). <explicit> was introduced in 2018 as part of an effort to improve manuscript descriptions in MEI, in response to community requests and to possibly align better with the (relatively new) msDesc functions of TEI. (See Issue #489 and commit cd39884a73284f97e860b52c39bca793a0307407). That it hasn't been widely adopted may be an artifact of its rather late introduction to the spec.
That <explicit> does not currently allow encoding of musical material is, I believe, an oversight that should be rectified. It should be aligned with <incip>, since they serve similar functions and, as we've seen, would be following the example set by the TEI. The <incip> element has been fairly widely used. The Carl Nielsen Catalogue of Works uses this in almost every entry; there are some examples encoded in the Delius catalogue as well. These are just two that I know of off the top of my head. This would suggest that this is a good model to follow.
The alternative solution (excerpt) has problems, since it suggests removing something that works and is widely adopted (<incip>) because of something that doesn't work (<explicit>) and replacing it with a third, new thing (<excerpt>), simply because implementing this would somehow be more "optimal". As I suggested before, if it's a question of the internal implementation not having the right names, we can adopt the TEI strategy and consolidate the modelling to something more generic and equivalent to their quoteLike model to align the internal implementation with the public-facing schema.
I am also a bit taken aback by the approach the IG has taken with this change. The initial indications (https://github.com/music-encoding/metadata-ig/issues/14) were that they were to discuss it for the purposes of improving the documentation for it. After a single meeting, they then announce a decision to completely remove it and have filed this PR. This was despite earlier indications that "... we didn't have an idea how to transfer this to music. But maybe there is a specialist for medieval music who can [help] us." On that ticket I provided several links to help them with the improvements to the documentation. As far as I can tell, no effort was made to communicate this change outside of the IG, nor their findings from any consultations they may have had.

@doerners thank you for your response. I'm not going to engage directly, because I don't think it will be particularly helpful at this point.
I'll just point out that I am just one vote (hence the "-1") on the larger technical team. If others are on board with your approach, then I won't stand in the way.

Thank you both very much @doerners and @ahankinson for sharing your inputs, ideas and concerns. I think that – beside different perspectives concerning the expected outcome – this discussion is still very constructive and will help to improve the subject under consideration. In fact, I see perfect agreement in your arguments that explicit, as it is now, needs to be changed. The question that arises is whether this change should manifest in an improvement to the documentation, a deprecation of <explicit>, the removal of the element, or a rebuild of incip and explicit as excerpt. Looking at the initial issue in the metadata repo, it seems that all these different options were taken in consideration at one point or another.
I agree with @ahankinson that it is somewhat difficult to track the decision finding process regarding these different options from the description in the original issue or this PR for non-metadata-ig members: starting as "discuss explicit" to improve its documentation, going to a proposal to "deprecate" the element (comment), which finally resulted in this PR that removes the element. I also agree with @ahankinson  that the removal without alternative or the remodelling as excerpt would have far-reaching implications that need to be considered thoroughly, also from members of the @music-encoding/technical-team that are not members of the @music-encoding/ig-metadata .
On the other hand, I totally see and understand the frustration of the @music-encoding/ig-metadata (and eventually other IG's) resulting from the lack of guidance on what an appropriate workflow should look like so that an idea developed in an IG and deemed important to that IG's use cases might someday find its way into the schema. And I see it as the responsibility of the @music-encoding/technical-team-co-chairs to come up with such guidance in order to give a little more security of action and communication here. So that is something that @bwbohl and I will definitely work on, in coordination with the @music-encoding/mei-board  and also the @music-encoding/technical-team and IG members. I would propose to dedicate a good part of our next ODD meeting to that topic, and to start/continue discussion about that crucial subject in another issue/GH discussions/any of our SLACK channels (but outside of this PR here).

I agree that having a better definition for <explicit> would be highly desirable. Before dropping it, I would suggest to take into account a couple of additional points. Maybe they have been discussed by the IG already, and I apologize for going through them again if that is the case. I hope they will still be useful.
We should not forget that MEI documents can also be text (only) ones. For example, it would not be unrealistic to have a project wiling to build an MEI corpus out of which some of the documents are just text. One can argue they should mix MEI and TEI documents, but there is no reason to force them to do so. In such cases, having a purely textual <explicit> element might make sense, in the same way one might have a purely textual <incipit>.
Another point that is also in favour of a revision / extension of <explicit> instead of dropping as suggested by @pe-ro is that fact that music can sometimes be equally well (if not better?) described by the end of a piece rather than its beginning. I am thinking in particular about the question of mode identification and the role of the final here. Using <explicit> might not be the traditional way of encoding excerpt of a document, but raising the role of the final might be a perfectly valid argument for willing to do things differently.

it took me a while to know how to proceed here…
Today @musicEnfanthen and I had a chat about this.
First: This issue brought to our attention that there is no general procedure for deprecating things in MEI, but we think there should be one (how exactly that would work should be discussed in another place).
With that in the back of our heads, our proposed compromise for this 'explicit' issue here would be a multi-step process:

We think the current content model of <explicit> seems to be a bug or oversight; fixing this should be the priority. So we propose to align the content model of <explicit> with that of <incipit> to get these two in sync.
(Side note: maybe it hasn't been used just because of that odd behavior)
Meanwhile, if the need arises for encoding other 'excerpts', a proposal for a corresponding encoding model could be fleshed out. – maybe even with merging the three cases in a general concept for encoding 'typed excerpts' (incipit, explicit, …). Then a fleshed-out proposal on how to replace explicit/incipit or any other middle excerpts should be drafted and elaborated and discussed with the wider community before implementation.

Thanks @bwbohl -- Just a few notes.

There is no <incipit> -- only <incip>. I think this is because of their different histories in MEI.
In principle no problem with aligning the content models, but I wouldn't want to see <incip> or <explicit> removed and replaced with <excerpt type="incipit"> (or something similar). In that sense, I think we should follow the example of the TEI with their model.msQuoteLike class and keep the individual elements available, and possibly expand the content model for our own <rubric> element.

I’m -1 on remodeling explicit.
Please let me recap why the IG believes removing this element is the best way to go with the least impact on the schema. Trying to align explicit with incip would lead to too many duplications, since you would have to match incipText and incipCode to the parent explict element. Although one could try to remodel incipCode into musicCode (from TEI), this would be a real breaking change. Eventually a generalized replacement (e.g. excerpt) for both would be desirable, but we do not see this for the upcoming version of MEI.
The IG didn’t took the decision light hearted, and it was in fact discussed over several weeks. Every IG meeting is public and everyone is invited to join them. The IG is made up of librarians, information scientists, and musicologists, most of whom have worked on work catalogues themselves. Given the fact that explicit currently is poorly modeled (and yes, it hurts), and that a musical ending of a piece is barely used in the context of work catalogues for identification purposes, we decided unanimously that just removing it would pretty much solve the problem. I am saddened that the IG is denied competence in such matters. Some people are beginning to wonder why you need an IG at all. Throwing constantly red herrings into the discussion on a pull request (e.g. the key word of doom: „breaking change“) isn’t very helpful either to say the least.
I'm frankly disturbed that what the IG clearly sees as the worst possible course of action here is now supposed to be the best. (BTW is the name of the element incip not incipit, so to bring it in line wouldn’t explicit have to be renamed into explic?)
Interestingly, we had a fairly similar discussion about the removal of fingerprint, where it was declared indispensable until we found out that it was originally removed more than ten years ago, whereupon the voices in the wilderness suddenly fell silent.
I would be really interested in seeing three real-world examples from a project that actually used explicit in MEI.

Because I feel a certain sense of responsibility for this response, I will try to address it as best I can.

I am saddened that the IG is denied competence in such matters.

At no point was any member of the Metadata's IG's competence questioned. I think that needs to be stated clearly, outright and up-front to avoid any misunderstanding. This proposal came from a certain viewpoint, and that viewpoint was always understood to come from a place of professional competence. I, nor any other participant in this discussion, ever once called into question the competence of any person making this proposal. To suggest otherwise is disingenuous.
What I think is misunderstood, however, is that the IG does not have authority over any part of the schema. Authority in this community is, principally, the elected MEI Board, and in day-to-day operations, the Technical Team. When the IG proposes a change, that change is subject to critique and review by the Technical Team, who have their own competencies (including metadata, but who are not part of the metadata IG). When setting up the IG mechanisms there was never any precedent, nor expectation, that the IGs would have singular authority over any part of the schema, and whose proposals would be "rubber stamped" and accepted simply because it comes from an IG rather than an individual.
Additionally, this statement worries me:

we decided unanimously that just removing it would pretty much solve the problem.

No person, or group of people, "decides unanimously" to make a change. Again, the mechanisms for change here are through the Technical Team (whose membership is wide open).
My sense is that the IG felt it had sufficient expertise within its own ranks to make a decision, and then were surprised when this viewpoint was not unanimously accepted outside of the IG. This says to me, principally, that the change was not consulted widely enough before it was "decided". When it finally did make it out of the IG it was presented to the community as a "fait accompli", and there was surprise, and indeed some idignation, that this decision would be questioned.
If we were to re-run this whole scenario, I would hope the process would go something like this:

Metadata IG: Hey, we've noticed that there's a problem with <explicit>. We've looked at it and noted that it has X and Y problems. We've filed an issue on the schema repo describing these problems.
Technical Team / MEI Community: Thank you for noticing this! It is true that there are problems here. We should make sure (X project | Y community) knows about this. (Discussions happen). OK, we have decided to (remodel explicit | remove the element | do something else). Would the IG be willing to make a pull request?
Metadata IG: Sure! Here is the PR that implements the changes that were decided.
Technical Team: Great! Thanks.

This is in contrast to this process:

Metadata IG: We're going to discuss <explicit>. (Discussions happen). OK, we've decided to remove it. Here's the PR.
Technical Team / MEI Community: Uhm. Right. Uh. Why? What's wrong with it? What options did you consider? Can we examine this decision or propose alternate solutions? Who did you talk to?
Metadata IG: No, we discussed all of those extensively, and decided that this is the best option.
Technical Team: But we don't agree with that!

I'm frankly disturbed that what the IG clearly sees as the worst possible course of action here is now supposed to be the best.

I'm likewise disturbed by the fact that the IG seems to think its decisions need to be unilaterally approved and are not open to critique or discussion, improvement or alteration. All Interest Group decisions, by any IG, are subject to the Technical Teams advice and review. To be "disturbed" by alternate proposals and compromise solutions by the larger community is a highly problematic attitude, particularly coming from a member of the MEI Board.

If we were to re-run this whole scenario, I would hope the process would go something like this:

I would also like to have done it in another way. I also do not want to argue and stay out of it. However, just some background information about the workflow during the last few years (from my view):

Metadata IG: Discussing Issues. Agreeing on a proposal. Bringing "wishes" to the ODD team.
ODD-Meetings: If you like to have something like this, please prepare a PR, and then we can discuss it.
Metadata IG: Some members starting to learn ODD. Opening PRs for discussion.

Besides: To make everything much more transparent we brought all our discussions and issues (most of them are also discussions right now) to our IG-repo. We'll try to adjust this by using discussions for all kinds of ideas and questions and using issues only for working on 'real issues' or 'noticed problems' (from our perspective) in the future.
What I think we need is a basic standardized workflow of "how to contribute" because we all have different ideas about how it works or should work, and to avoid further frustration. This workflow should, no, must be defined by a schema authority. As I know the technical board ( @bwbohl and @musicEnfanthen ) are already working on that issue.

Perhaps we could bring the discussion back into an objective mode. Nobody in the IG thinks that our decisions have to be accepted just like that. I am sorry if this impression has been created. We are all well aware of the steps it takes to initiate change.

My sense is that the IG felt it had sufficient expertise within its own ranks to make a decision, and then were surprised when this viewpoint was not unanimously accepted outside of the IG. This says to me, principally, that the change was not consulted widely enough before it was “decided”.

That is not fair. What do you think interest groups are for, if not to pool expertise on a subject and to contribute their knowledge? Just to express that you like metadata? I think we all have enough other things to do.
As one of the convenors of the IG, I’m a little frustrated right now to read all this. The Interest Group has done so well in the last year. There really is a will to bring expertise and help improve the format. Sorry to say this, but this discussion is not conducive to this workflow and mixes up different things. There has been a feeling in the group for some time that metadata concerns have to take a bit of a back seat to other things that always seem too important.
Margrethe and I have always encouraged contributing things in git, not to be deterred. Klaus is just standing up for the whole group here. Maybe we should talk about the workflow and the role of IGs in general separately, I’m with Dennis on that. The discussion about explicit, incip and excerpt should perhaps be taken a step back again. Thank you.

Thank you very much @KristinaRichts and @riedde for sharing your feelings and perspective on that issue. And with issue I do not mean the technical content of this PR ("Removal of explicit"), but the path this discussion has taken towards a perceived friction between the interests of the Metadata IG and those of the Technical Team which, in my opinion, should not be in contradiction.
First of all let me say that @bwbohl and I take this issue very seriously! When feelings get hurt, we all should be very careful and prudent, and try to avoid further escalations and find ways to restore mindful communication and trust.
Saying this, I am convinced that all participants of the discussion of this PR are acting on good will, that is with the intention to help and support each other. And I am also convinced that no one involved here has ever intended to deny or diminish the work, competency, or expertise of other individual members of the community or an Interest group as a whole.
Unfortunately, however, this is one of the perceptions/hurt feelings that emerged from the discussion above, and I feel very sorry about this. As part of the Technical Co-Chair Team I also feel responsible for this and would like to apologize for this impression to all members of the Metadata IG. You are doing an amazing job and your contributions to the development of MEI are highly appreciated, valued and always welcome! And so are you, as individuals, colleagues and members of this community. Please do never assume otherwise.
I totally see and understand the frustration of the IG, having several open tickets and PR's over the last months that seem to be delayed, questioned or rejected. We will need to identify reasons for that and solutions to improve the situation.
As @ahankinson pointed out above, one of the responsibilities of the Technical Team is that of a supervision, in the sense of advice and support like a second eye in proofreading or reviewing. This supervision, in my view, should not be understood by any party as "the final obstacle in a hurdle race" preventing the ideas of the PR creators from running, but as a springboard to let them fly. There should be no competition between people who prepare a PR and those who review it, but ideally it is a symbiotic process which helps to improve the issue at hand. That this is not always possible without discussion, dissent or objection, and even sometimes leads to final rejection of a good idea, is without saying, but finding a "best possible compromise" is probably not possible without searching, checking alternatives, or listening to contradictory perspectives and concerns. For the thorough and responsible work they have done in this respect over the past years, I would like to thank all the members of the Technical Team. Your critical voices are always challenging, and can be quite annoying and frustrating, but I believe them to be crucial and vital to this community. We should just make sure that our communication and feedback is perceived as constructive and doesn't leave people with bad feelings, especially since purely written communication has its own pitfalls and tends to be more prone to misunderstandings.
Concerning the need for a "basic standardized workflow" for contributions that was raised multiple times above: I would not like to see the Technical Co-Chairs dictate such a workflow. Rather, I would suggest having a joint meeting (or multiple) with interested people, members of the IGs, of the Technical Team and the Board to collect needs and requirements from all parties. The contributing guidelines we have already could serve here as a point of departure from where discussion, dissent or obejction could finally lead to a "best possible compromise" as well.
[On monday, we will take this topic to our next Board meeting, too, to discuss further approaches. Meanwhile, I invite everyone to stay in touch, to continue talking to each other, and to address any issues of discomfort as soon as they arise.]


code-generator: init at 0.25.4

Description of changes
Project description
Generators for kube-like API types
Metadata

homepage URL: https://github.com/kubernetes/code-generator
source URL: https://github.com/kubernetes/code-generator
license: Apache License 2.0
platforms: any

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/1492

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/1541

Result of nixpkgs-review pr 203926 run on x86_64-linux 1

1 package built:

kubernetes-code-generator


Event Page Header

The Header should be Clueless | Events for the all events page and for a particular Event page, this should be [The event name]. And when shared that page should also show the Logo of the event.\
Here is a reference for what you need to change!

for share link, need some reference.

Quick fix for the event page it's right now " Clueless | Session Zero ". Instead we just want " Session Zero ". @Kingshuk3006

Fixed this one myself no problem @Kingshuk3006 . So closing the issue.


Error: unknown opcode cli

I try to use SimplyAtomic on Arduino using ESP8266 board.
On compiling I get the message: Error: unknown opcode or format name 'cli'.
How can I solve this?
Thanks for your help.
Best regards,
Ton

I have found the problem, works now.


Knobs are not clearing when switching between stories

In React Native, when navigating between stories on a device (simulator), the knobs persist and stack rather than clearing/resetting.
If the same knob exists on multiple components, the value of the first knob caries over to the next.
Potentially related to closed issue https://github.com/storybooks/storybook/issues/794?
If the knob does not exist, it remains anyway and new knobs are added underneath.

Yee-haw!! I just released https://github.com/storybooks/storybook/releases/tag/v5.1.0-alpha.12 that addresses this issue. Upgrade today to try it out!
Because it's a pre-release you can find it on the @next NPM tag.
Closing this issue. Please re-open if you think there's still more to do.

We’ve released a brand new @storybook/react-native with a bunch of core improvements. It’s available in the latest 5.1-alpha on next and has been verified by several RN users on their existing apps. It should fix a bunch of compatibility issues, especially if you’re using the web server feature. Please give it a try and comment here if it fixes your problem. Migration instructions available here: https://github.com/storybooks/storybook/blob/next/MIGRATION.md#react-native-server
@LinaBell @davi0015

We're using 5.1.0-rc.3 with addon-knobs on @storybook/react-native-server, but we're still experiencing the same problem, particularly when switching between stories with knobs to stories w/o knobs: The knobs don't clear out, and you have to press the "reset" button for it to actually say that there are no knobs on the story.

Had the same issue in 5.1.9 and did not attempt using with@storybook/react-native-server
It seems fixed using the @next, guessing 5.20-beta.12 may have resolved it.

Can confirm it is working in 5.3.0-alpha.37 :)


fix metadata-related memory leaks in ruby

prompted by https://github.com/GoogleCloudPlatform/google-cloud-ruby/issues/1421
running below under a build from tip of v12x branch:
require "google/cloud/datastore

  datastore = Google::Cloud::Datastore.new(...)

  task = datastore.entity "...", "..." do |t|
    t["email"] = "...."
    t["name"] = "..."
    t["enabled"] = ...
  end

  datastore.save task

with valgrind memcheck leak-check-full showed:
==4306== 52 bytes in 1 blocks are definitely lost in loss record 11,167 of 19,348
==4306==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==4306==    by 0xD810AB2: gpr_malloc (alloc.c:71)
==4306==    by 0xD7E333D: grpc_slice_malloc (slice.c:243)
==4306==    by 0xD7E320B: grpc_slice_from_copied_buffer (slice.c:200)
==4306==    by 0xD7C84C0: grpc_rb_md_ary_fill_hash_cb (rb_call.c:396)
==4306==    by 0x4F01EC8: hash_foreach_iter (hash.c:356)
==4306==    by 0x4FD7C7A: st_general_foreach (st.c:1465)
==4306==    by 0x4FD7C7A: st_foreach_check (st.c:1536)
==4306==    by 0x4F01E6E: hash_foreach_call (hash.c:395)
==4306==    by 0x4EE5297: rb_ensure (eval.c:926)
==4306==    by 0x4F04345: rb_hash_foreach (hash.c:412)
==4306==    by 0xD7C8B17: grpc_rb_md_ary_convert (rb_call.c:495)
==4306==    by 0xD7C92CD: grpc_run_batch_stack_fill_ops (rb_call.c:672)

...

 ==4306== 126 bytes in 2 blocks are definitely lost in loss record 15,017 of 19,348
 ==4306==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
 ==4306==    by 0xD810AB2: gpr_malloc (alloc.c:71)
 ==4306==    by 0xD7E333D: grpc_slice_malloc (slice.c:243)
 ==4306==    by 0xD7E320B: grpc_slice_from_copied_buffer (slice.c:200)
 ==4306==    by 0xD7C881F: grpc_rb_md_ary_fill_hash_cb (rb_call.c:431)
 ==4306==    by 0x4F01EC8: hash_foreach_iter (hash.c:356)
 ==4306==    by 0x4FD7C7A: st_general_foreach (st.c:1465)
 ==4306==    by 0x4FD7C7A: st_foreach_check (st.c:1536)
 ==4306==    by 0x4F01E6E: hash_foreach_call (hash.c:395)
 ==4306==    by 0x4EE5297: rb_ensure (eval.c:926)
 ==4306==    by 0x4F04345: rb_hash_foreach (hash.c:412)
 ==4306==    by 0xD7C8B17: grpc_rb_md_ary_convert (rb_call.c:495)
 ==4306==    by 0xD7C92CD: grpc_run_batch_stack_fill_ops (rb_call.c:672)

...

 ==4306== 249 bytes in 2 blocks are definitely lost in loss record 16,724 of 19,348
 ==4306==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
 ==4306==    by 0xD810AB2: gpr_malloc (alloc.c:71)
 ==4306==    by 0xD7E333D: grpc_slice_malloc (slice.c:243)
 ==4306==    by 0xD7E320B: grpc_slice_from_copied_buffer (slice.c:200)
 ==4306==    by 0xD7C881F: grpc_rb_md_ary_fill_hash_cb (rb_call.c:431)
 ==4306==    by 0x4F01EC8: hash_foreach_iter (hash.c:356)
 ==4306==    by 0x4FD7C7A: st_general_foreach (st.c:1465)
 ==4306==    by 0x4FD7C7A: st_foreach_check (st.c:1536)
 ==4306==    by 0x4F01E6E: hash_foreach_call (hash.c:395)
 ==4306==    by 0x4EE5297: rb_ensure (eval.c:926)
 ==4306==    by 0x4F04345: rb_hash_foreach (hash.c:412)
 ==4306==    by 0xD7C8B17: grpc_rb_md_ary_convert (rb_call.c:495)
 ==4306==    by 0xD7CAAE2: grpc_rb_call_credentials_callback_with_gil (rb_call_credentials.c:1

closing since this was a guess at the issue in GoogleCloudPlatform/google-cloud-ruby#1421, and it turned out to not be the real issue.
Planning to set up builds of grpc-ruby under asan/msan/tsan to see if leaks can show up there.


添加地图功能

Checklist

[X] I have already read docs/Tips.md, but my feature is not implemented.
[X] My suggested feature was not mentioned by others, and it is not a duplicate feature.

Summary
请在游戏或启动器内添加一个地图(空荧酒馆原神地图是我见过最好用的)
Solution or Design
.

谢谢你的建议，但是此功能无必要，我拒绝。


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-yml-archive-non-versioning-archive/pull/36 is merged into live branch.
Auto archive content to https://github.com/VSC-Service-Account/docs-yml-archive-non-versioning-archive.git

Docs Build status updates of commit 364a336:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

docs/TOC.yml
:white_check_mark:Succeeded
View

docs/to-be-archive/level1/article3-1-1.md
:white_check_mark:Succeeded
View

docs/to-be-archive/level1/article3-1-2.md
:white_check_mark:Succeeded
View

docs/to-be-archive/level1/article3-1-3.yml
:white_check_mark:Succeeded
View

docs/to-be-archive/level2/article3-2-1.md
:white_check_mark:Succeeded
View

docs/to-be-archive/level2/article3-2-2.md
:white_check_mark:Succeeded
View

docs/to-be-archive/level2/article3-2-3.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Add vps docs

Hi dr.max @maximilien ,
This PR is for README.md and a manifest example under docs/vps-init-example.yml. It should be a small one and please help to review it after PR #25. Thank you.
The PR dependency is as below. Just FYI.
PR #18 <- PR #23 <- PR #24 <- PR #25 <- PR #27
/cc @mattcui @jianqiu

Comments Addressed. Thank you.

Also, resolved the conflicts, I imagine these exist now due to the fact I merged previous PR

All comments addressed and re-submitted in PR #36. So I'll close this PR. Thank  you.


OpenSource : 5.23 Explain everything related to etcd

Description :

Explain everything related to etcd

Note :

Changes should be made inside the Open_Source/ directory & Opensource branch.
Put  your doc inside section-5
Issue only for GWOC'21 contributors.
Issue will be assigned on a first come first serve basis, 1 Issue  ==  1 PR == 1 Contributor
For Contributor please don't create the same issue again, before creating any issue do visit OpenSource Milestone
Doc name should same as the issue title

Must Follow : Contributing Guidelines & Code of Conduct before start Contributing.
Happy Contributing 🙌

I would like to contribute to this
Full name: Khushi Agrawal
Batch Number: 2
GitHub profile: https://github.com/Khushi-Agrawal-1
Type: Documentation

@Khushi-Agrawal-1  Assigned to you, Complete that first
Thanks

Hey!
I would like to contribute on this issue
Batch: 03

I would love to work on this, Please Assign me this Issue. :octocat:

@mayankkuthar  Go ahead, Happy Learning 🎉🎉


Failed to fetch http://azure.archive.ubuntu.com/ubuntu/pool/main/p/poppler/libpoppler118_22.02.0-2ubuntu0.1_amd64.deb

Description
Looks like the Azure problems seen in e.g. #6909 and #6913 are back:
sudo apt-get install -y poppler-utils
  shell: /usr/bin/bash -e {0}
  env:
    pythonLocation: /opt/hostedtoolcache/Python/[3](https://github.com/benetics-ag/benetics/actions/runs/5764023672/job/15669840958#step:8:3).10.12/x6[4](https://github.com/benetics-ag/benetics/actions/runs/5764023672/job/15669840958#step:8:4)
    PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.10.12/x64/lib/pkgconfig
    Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.12/x64
    Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.12/x64
    Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.12/x64
    LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.10.12/x64/lib
    VENV: .venv/bin/activate

Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
  libpoppler118 poppler-data
Suggested packages:
  ghostscript fonts-japanese-mincho | fonts-ipafont-mincho
  fonts-japanese-gothic | fonts-ipafont-gothic fonts-arphic-ukai
  fonts-arphic-uming fonts-nanum
The following NEW packages will be installed:
  libpoppler118 poppler-data poppler-utils
0 upgraded, 3 newly installed, 0 to remove and 27 not upgraded.
Need to get 3434 kB of archives.
After this operation, 17.7 MB of additional disk space will be used.
Get:1 http://azure.archive.ubuntu.com/ubuntu jammy/main amd64 poppler-data all 0.4.11-1 [2171 kB]
Ign:2 http://azure.archive.ubuntu.com/ubuntu jammy-updates/main amd64 libpoppler118 amd64 22.02.0-2ubuntu0.1
Ign:3 http://azure.archive.ubuntu.com/ubuntu jammy-updates/main amd64 poppler-utils amd64 22.02.0-2ubuntu0.1
Err:2 http://azure.archive.ubuntu.com/ubuntu jammy-updates/main amd64 libpoppler118 amd64 22.02.0-2ubuntu0.1
  404  Not Found [IP: [5](https://github.com/benetics-ag/benetics/actions/runs/5764023672/job/15669840958#step:8:5)<IP_ADDRESS> 80]
Err:3 http://azure.archive.ubuntu.com/ubuntu jammy-updates/main amd[6](https://github.com/benetics-ag/benetics/actions/runs/5764023672/job/15669840958#step:8:6)4 poppler-utils amd64 22.02.0-2ubuntu0.1
  404  Not Found [IP: 52.14[7](https://github.com/benetics-ag/benetics/actions/runs/5764023672/job/15669840958#step:8:7).219.192 [8](https://github.com/benetics-ag/benetics/actions/runs/5764023672/job/15669840958#step:8:8)0]
E: Failed to fetch http://azure.archive.ubuntu.com/ubuntu/pool/main/p/poppler/libpoppler118_22.02.0-2ubuntu0.1_amd64.deb  404  Not Found [IP: 52.147.21[9](https://github.com/benetics-ag/benetics/actions/runs/5764023672/job/15669840958#step:8:9).192 80]
Fetched 2171 kB in 0s (18.8 MB/s)
E: Failed to fetch http://azure.archive.ubuntu.com/ubuntu/pool/main/p/poppler/poppler-utils_22.02.0-2ubuntu0.1_amd64.deb  404  Not Found [IP: <IP_ADDRESS> 80]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
Error: Process completed with exit code [10](https://github.com/benetics-ag/benetics/actions/runs/5764023672/job/15669840958#step:8:10)0.

Platforms affected

[ ] Azure DevOps
[X] GitHub Actions - Standard Runners
[ ] GitHub Actions - Larger Runners

Runner images affected

[ ] Ubuntu 20.04
[X] Ubuntu 22.04
[ ] macOS 11
[ ] macOS 12
[ ] macOS 13
[ ] Windows Server 2019
[ ] Windows Server 2022

Image version and build link
Image: ubuntu-22.04
  Version: 2023072[8](https://github.com/benetics-ag/benetics/actions/runs/5764023672/job/15669840958#step:1:9).3.0
  Included Software: https://github.com/actions/runner-images/blob/ubuntu22/20230728.3/images/linux/Ubuntu2204-Readme.md
  Image Release: https://github.com/actions/runner-images/releases/tag/ubuntu22%2F20230728.3

Is it regression?
Yes. Non-image related error (Azure likely).
Expected behavior
Can install Ubuntu packages.
Actual behavior
Installing Ubuntu packages fails.
Repro steps
Install any Ubuntu package.

Hey @tibbe!
Yes, it looks like the temporary unavailability of the mirror nodes - it happens from time to time.
It's gone by now as far as I can see. Please check your pipelines.

@erik-bershel I just restarted my pipeline after reading your comment and poppler-utils still throws a 404

@flopana hmm. This one works fine:
name: 8047
on:
  workflow_dispatch:
jobs:
  check_apt:
    runs-on: ubuntu-latest
    steps:
      - name: Check apt
        run: |
          sudo apt-get update
          sudo apt-get install -y poppler-utils

I'll add more tries to check if the issue still exists.
But it definitely might be random luck, sure. I'll wait info from users too before closing it anyway.

The issue still persists in our pipeline

@flopana @ttrvdw
May I ask you to drop a link to the failed runs? Regardless of whether they belong to private or public repositories. I think the issue might be connected to the geo.

@flopana
https://github.com/integrated-analytics/LS-Lead-Studio/actions/runs/5783422511/job/15673508824#step:7:35

@erik-bershel
https://github.com/benetics-ag/benetics/actions/runs/5783031951/job/15673388664

Seeing this as well. It appears like the .deb package was removed from the repository? If so, where is the right place to report this?
$ curl -vvv http://azure.archive.ubuntu.com/ubuntu/pool/main/p/poppler/libpoppler118_22.02.0-2ubuntu0.1_amd64.deb
*   Trying <IP_ADDRESS>:80...
* Connected to azure.archive.ubuntu.com (<IP_ADDRESS>) port 80 (#0)
> GET /ubuntu/pool/main/p/poppler/libpoppler118_22.02.0-2ubuntu0.1_amd64.deb HTTP/1.1
> Host: azure.archive.ubuntu.com
> User-Agent: curl/8.0.1
> Accept: */*
>
< HTTP/1.1 404 Not Found
< Date: Mon, 07 Aug 2023 17:45:16 GMT
< Server: Apache/2.4.52 (Ubuntu)
< Content-Length: 283
< Content-Type: text/html; charset=iso-8859-1
< X-Cache: MISS from <IP_ADDRESS>
< X-Cache-Lookup: MISS from <IP_ADDRESS>:8000
< Via: 1.1 <IP_ADDRESS> (squid/5.2)
<
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">

<title>404 Not Found</title>

Not Found

The requested URL was not found on this server.

<address>Apache/2.4.52 (Ubuntu) Server at us.archive.ubuntu.com Port 80</address>

* Connection #0 to host azure.archive.ubuntu.com left intact

Running sudo apt-get update before running the apt-get install line seems to resolve the issue for me.

@AlistairNorman
Yeah, sudo apt-get update should be always used before apt-get install. I dropped the example of code with it earlier.

Running sudo apt-get update before running the apt-get install line seems to resolve the issue for me.

Yep, fixes it for me too! Cheers 👍

@AlistairNorman
Yeah, sudo apt-get update should be always used before apt-get install. I dropped the example of code with it earlier.

Same for me. Thanks a lot!

Hey @tibbe,
I'm going to close this issue. Please feel free to open new one in case of other concerns.


Serial Number from Discovery

I was trying to integrate the Epson SDK to our Android POS system when I found your package and thought it would be smarter to contribute to yours than to build my own.
Is there any way to get the serial number from Discovery? There is a method called Printer.getPrinterInformation, but as far as I can tell, I need to connect to the printer first. The sample programs from Epson don't use this method at all.
The use-case is that we are auto-detecting printers across the network and we need to be be able to pick and identify them. IP addresses or USB ports can change, but the serial-number remains the same.
I'd be happy contribute any changes that we make to your library.

Hi @andrioid.
According to docs, there is no way to get serial numbers within the discovery method.

Why don't you show the device name instead of the serial number?
We can add this method, but according to this table, not all printer series support it

It seems that the only way, for now, is to discover.
After the search finished try to get serial numbers using loop
search.results.forEach(async printer => {
  const { target, name } = printer;

  await EscPosPrinter.init({
    target: target,
    seriesName: getPrinterSeriesByName(name),
  });

  const info = await EscPosPrinter.getPrinterInfo();

  console.log(info) /*
  {
"PrinterSpec": {
"Product": {
"SerialNo": "ABC1234567"
} },
"Maintenance": { "ThermalHead": {
"NumberOfWarningDot": "0", "PositionOfWarningDot": "", "NumberOfBrokenDot": "0", "PositionOfBrokenDot": ""
} }
}

  */

  })

If you OK with this approach and limitations ( regarding printer series ) I'll add this method asap

Ok. Hang tight. I asked our Java dude to take a look and he might have a PR soon

@andrioid OK then keep me posted and I'll add corresponding logic for iOS as well

@andrioid Just released new version 0.13.4 with latest updatets included.

Hi @andrioid.
According to docs, there is no way to get serial numbers within the discovery method.

Why don't you show the device name instead of the serial number?
We can add this method, but according to this table, not all printer series support it

Hi, @tr3v3r first of all thanks for maintaining this package. I was looking online for this documentation but could find it, can you please send the link or pdf?

@fragilehm Hi!
Could you please check this link?
You need to download this zip.

Inside you can find user manual with corresponding information about API.

@andrioid were you able to obtain the serial number of printer?
I'm currently trying to accomplish it, but also receive error code 33 which means device is busy although it isn't.
 device = Epos2Printer(printerSeries: EPOS2_TM_P20.rawValue, lang: EPOS2_MODEL_ANK.rawValue)

/** Connecting to the discovered device */
let result = device!.connect("TCP:<IP_ADDRESS>", timeout: 15_000)
guard result == EPOS2_SUCCESS.rawValue else {
    Log.e("Epson", "Couldn't connect to device. Code: \(result)")
    return
}
Log.i("Epson", "Connected to device. Next step will be to retrieve printer information for ...")

device!.getInformation(15_000, delegate: self)

The delegate function looks like
func onGetPrinterInformation(_ code: Int32, jsonString: String!) {
    Log.i("Epson", "Information found (Code \(code)) for the discovered printer: \(String(describing: jsonString)). ")
}

Received log message from it is:
Information found (Code 33) for the discovered printer: Optional("{\"Maintenance\":{\"ThermalHead\":{\"PositionOfBrokenDot\":\"\",\"NumberOfBrokenDot\":\"\",\"NumberOfWarningDot\":\"\",\"PositionOfWarningDot\":\"\"}},\"PrinterSpec\":{\"Product\":{\"SerialNo\":\"\"}}}").

I tried to find some examples or existing code snippets, but didn't find anything related to calling getInformation (former getPrinterInformation) and after days, now getting kinda frustrated and hope you managed to do it and can a provide working example.
Thanks a lot for your help!


Fix Replay In Console bug

Fixes #487
Adds a task for Replay in Browser - I thought this was easier for people to understand than Replay in Console, but can be solved by both.
WIP while I try to add some regression tests...
Signed-off-by: Simon Bennetts<EMAIL_ADDRESS>

OK, the regression tests are proving to be non trivial :(
I'll keep working on them but might as well get this merged as I dont know how long they will take.

Worth update the changelog to mention the fix.

Fixed the text and added a changelog line.

Thanks!


Property 'src' does not exist on CCardImage props

I'm using the CCardImage inside a CCard just like this:

And I'm having this error:
ERROR in ./src/components/ProductBox/ProductBox.tsx 64:39-42
TS2322: Type '{ orientation: "top"; src: string; }' is not assignable to type 'IntrinsicAttributes & CCardImageProps & RefAttributes<HTMLOrSVGElement | HTMLOrSVGImageElement>'.
  Property 'src' does not exist on type 'IntrinsicAttributes & CCardImageProps & RefAttributes<HTMLOrSVGElement | HTMLOrSVGImageElement>'.
    62 |         </div>
    63 |
  > 64 |         <CCardImage orientation="top" src={productImages[0].path} />
       |                                       ^^^
    65 |         <ProductInput
    66 |           idPrefix={reference}
    67 |           value={reference}

I monkey-patched it adding the src: string prop to the CCardImageProps interface and it started working fine, so I guess it's just a TS typo?
Using:

OS: Windows 10
Browser: Chromium rendering engine (with Electron)

I also have confirmed this issue with @coreui/react version 4.2.0.

@miguel-fresh @nickisyourfan will be fixed in next release

Fixed


[go_router] 'No GoRouter found in context' after opening the deeplink

Hi!
I have a problem with getting go router via GoRouter.of(context) after opening a deeplink.
The error message: No GoRouter found in context

I/flutter ( 9162): Caught error: 'package:go_router/src/router.dart': Failed assertion: line 280 pos 12: 'inherited != null': No GoRouter found in context
I/flutter ( 9162): #0      _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:51:61)
I/flutter ( 9162): #1      _AssertionError._throwNew (dart:core-patch/errors_patch.dart:40:5)
I/flutter ( 9162): #2      GoRouter.of (package:go_router/src/router.dart:280:12)

Inside the app everything works good.
It started after go_router upgrate to 5.0 version.
go_router version: 5.0.3
flutter doctor
[√] Flutter (Channel stable, 3.3.3, on Microsoft Windows [Version 10.0.19044.1766], locale ru-RU)
    • Flutter version 3.3.3 on channel stable at E:\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 18a827f393 (2 days ago), 2022-09-28 10:03:14 -0700
    • Engine revision 5c984c26eb
    • Dart version 2.18.2
    • DevTools version 2.15.0

[√] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at E:\Android\sdk
    • Platform android-33, build-tools 33.0.0
    • ANDROID_HOME = E:\Android\sdk
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.12+7-b1504.28-7817840)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[X] Visual Studio - develop for Windows
    X Visual Studio not installed; this is necessary for Windows development.
      Download at https://visualstudio.microsoft.com/downloads/.
      Please install the "Desktop development with C++" workload, including all of its default components

[√] Android Studio (version 2021.2)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+7-b1504.28-7817840)

[√] Android Studio (version 4.2)
    • Android Studio at C:\Android Studio 3.2\android-studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)

[√] Connected device (4 available)
    • SM G955F (mobile) • ce03171393e1893505 • android-arm64  • Android 8.0.0 (API 26)
    • Windows (desktop) • windows            • windows-x64    • Microsoft Windows [Version 10.0.19044.1766]
    • Chrome (web)      • chrome             • web-javascript • Google Chrome 105.0.5195.127
    • Edge (web)        • edge               • web-javascript • Microsoft Edge 105.0.1343.53

[√] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

main.dart
import 'dart:async';

import 'package:app_links/app_links.dart';
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  @override
  MyAppState createState() => MyAppState();
}

class MyAppState extends State<MyApp> {
  late AppLinks _appLinks;
  StreamSubscription<Uri>? _linkSubscription;

  final _title = 'GoRouter Example';

  final GoRouter _router = GoRouter(
    routes: <GoRoute>[
      GoRoute(
        path: '/',
        builder: (BuildContext context, GoRouterState state) => const Page1Screen(),
        routes: <GoRoute>[
          GoRoute(
            path: 'page2',
            builder: (BuildContext context, GoRouterState state) => const Page2Screen(),
          ),
        ],
      ),
    ],
  );

  @override
  void initState() {
    super.initState();

    initDeepLinks();
  }

  @override
  void dispose() {
    _linkSubscription?.cancel();

    super.dispose();
  }

  Future<void> initDeepLinks() async {
    _appLinks = AppLinks();

    final appLink = await _appLinks.getInitialAppLink();
    if (appLink != null) {
      openAppLink(appLink);
    }

    _linkSubscription = _appLinks.uriLinkStream.listen((uri) {
      openAppLink(uri);
    });
  }

  void openAppLink(Uri uri) {
    final destination = uri.pathSegments.join('/');
    context.go('/$destination');
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: _title,
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MaterialApp.router(
        routerConfig: _router,
        title: _title,
      ),
    );
  }
}

class Page1Screen extends StatelessWidget {
  const Page1Screen({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) => Scaffold(
        appBar: AppBar(title: const Text('Screen 1')),
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              ElevatedButton(
                onPressed: () => context.go('/page2'),
                child: const Text('Go to page 2'),
              ),
            ],
          ),
        ),
      );
}

class Page2Screen extends StatelessWidget {
  const Page2Screen({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) => Scaffold(
        appBar: AppBar(title: const Text('Screen 2')),
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              ElevatedButton(
                onPressed: () => context.go('/'),
                child: const Text('Go back to home page'),
              ),
            ],
          ),
        ),
      );
}

You also have to add an intent filter to the activity:
<intent-filter>
    <action android:name="android.intent.action.VIEW" />

        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />

        <data
            android:host="link.go_router_example.com"
            android:scheme="http" />
</intent-filter>

The deeplink: http://link.go_router_example.com/page2

Hi @dmitry-nechaev, please provide a complete minimal reproducible code sample along with steps to reproduce so that we can verify this.
Please also provide the output of flutter doctor -v and the exact version of go_router you're using.
Thank you

@danagbemava-nc I can use _router.go('/$destination'); instead of context.go('/$destination');, but what if I don't have access to the router object? In the version 4 it was the working solution.

Hi @dmitry-nechaev, have you tried using the built-in deep_linking that comes with flutter?
You can find the resource here https://docs.flutter.dev/development/ui/navigation/deep-linking.
I believe with your current example, there won't be an instance of go_router in the widget at the time the deeplink is being resolved, which explains why you are getting that error.

We found another solution, but it's wierd - the current one worked fine in the previous version.


chore: fix pull request build

On #1096, Github Action didn't build mlkit, but did build mlkit-langid and mlkit-smartreply. mlkit was not being added to the list of modules because the list already contains "*mlkit*" (* means any). This should update our script to match *mlkit instead.
I tested this at my fork: rosariopfernandes/quickstart-android#8

@rosariopfernandes ah that explains it!


Do NOT use Exchange PowerShell console with Exchange online

If you have hybrid Exchange, do NOT run the cmdlet in Exchange PowerShell console.  Instead, run in pure PowerShell console.
This is not clearly written out and the error message is very misleading.

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

ID: 28421932-300b-18b5-4a26-1cfc12f1e60d
Version Independent ID: b5bd9f7a-f780-f5dc-c7d5-4d3dd60c3cb6
Content: Set-UserPhoto (exchange)
Content Source: exchange/exchange-ps/exchange/mailboxes/Set-UserPhoto.md
Service: exchange-powershell
GitHub Login: @chrisda
Microsoft Alias: chrisda

@officedocsbot assign @yogkumgit

@Hi @cheesecracker, thank you for your feedback.
Could you please let me know how to find this message? I cannot find it in the article.

@dariomws306  Thank you very much for the contribution and digging deep into it.  @cheesecracker We appreciate any feedback that improves the content in the Microsoft docs but we haven't had any response from you so we are going to close this issue.
Please feel free to re-open this issue if you see an improvement is required in the specific area of this documentation. We will certainly update this documentation with that valuable information. Thanks again, for taking out some time to open the issue. Appreciate and encourage you to do the same in future also

@dariomws306

@hi @cheesecracker, thank you for your feedback.
Could you please let me know how to find this message? I cannot find it in the article.

Find what message?
@yogkumgit

@dariomws306 Thank you very much for the contribution and digging deep into it. @cheesecracker We appreciate any feedback that improves the content in the Microsoft docs but we haven't had any response from you so we are going to close this issue.
Please feel free to re-open this issue if you see an improvement is required in the specific area of this documentation. We will certainly update this documentation with that valuable information. Thanks again, for taking out some time to open the issue. Appreciate and encourage you to do the same in future also

I didn't reply because I didn't see your question.  Or are you talking about dariomws306?

Hi @cheesecracker, I have been testing and this cmdlet should be running on Exchange Management Shell (on-premises) or Exchange Online Powershell, not pure Powershell console.

Hi @cheesecracker, I have been testing and this cmdlet should be running on Exchange Management Shell (on-premises) or Exchange Online Powershell, not pure Powershell console.

That's NOT what I observed and found.
What did you mean by Exchange Online Powershell?  I'm not sure such thing exists.
If you have hybrid Exchange as I wrote, and if you run the command of the matter (Set-UserPhoto) in Exchange Management Shell (on-prem), it will be received by Exchange on-prem which will leads to error message.  Suppose you want to set the photo for an account called user1.  The error message will state that ".... object user1 does not exist in ...."   The  is the name of one of the domain controllers.

Hi @cheesecracker,
I confirm that the cmdlet exist on Exchange Management Shell (on-premises). Also in Exchange Online:
https://docs.microsoft.com/powershell/exchange/exchange-online/connect-to-exchange-online-powershell/connect-to-exchange-online-powershell
When you try to use a cmdlet which doesn't exist you get "The term 'XXXXX-XXXXXXXXXX' is not recognized as the name of a cmdlet, function, script file, or operable program". In this case you are getting different error, you have to double check what you are passing to the Identity parameter.
Anyway, in a hybrid environment you should use Set-UserPhoto in Exchange Online "Powershell":
https://support.microsoft.com/help/3062745/user-photos-aren-t-synced-from-the-on-premises-environment-to-exchange
If you have more issues running this cmdlet I kindly suggest that you open a support ticket. Docs feedback is there to improve documentation and we cannot give you product support.
Thank you for understand!

@dariomws306 Thanks for the comments, I proceed and close it.


Add wall clock time and CPU time

Could wall clock time and CPU time be added to the ekg output?  They would be very helpful.

The wall clock time is already there as ekg.server_time_ms. We could add the CPU time as ekg.server_cpu_time or similar. Want to give it a try?

I don't see ekg.server_time_ms.  I do see ekg.server_timestamp_ms, which is not what I want (Although I notice the comment does say ekg.server_time_ms.  Is that a mistake?).  It seems to be some arbitrary timestamp.  I would like to see the elapsed time since the program started running.
Is elapsed time actually missing then?  If so I'm happy to try to add it.

I think the comment is wrong and it should say ekg.server_timestamp_ms. I have been thinking about adding other metrics, such as scraping /proc on Unix. It should be doable without changing ekg at all. You need to use ekg-core and define e.g. a new group of metrics using registerGroup. registerGroup is for pulling groups of metrics on demand. This is good for things like the current time. You should be able to have registerGroup read /proc and pull out all kinds of interesting metrics. Perhaps you could even publish it as a new ekg package!


Update homepage and what is istio page

update the two pages
make the links point to the Chinese document

Refer to #2028

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: rootsongjc
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

content_zh/OWNERS [rootsongjc]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@geeknoid I updated the Chinese homepage, but CI failed with these errors:
- ./public/blog/2018/announcing-1.0/index.html
  *  External link https://www.trulia.com/ failed: 403 No error
- ./public/docs/tasks/policy-enforcement/rate-limiting/index.html
  *  External link https://raw.githubusercontent.com/istio/istio/master/samples/bookinfo/policy/mixer-rule-productpage-ratelimit.yaml failed: 404 No error

https://www.trulia.com/  is OK
https://raw.githubusercontent.com/istio/istio/master/samples/bookinfo/policy/mixer-rule-productpage-ratelimit.yaml is missing

That broken link to GitHub is because there's a YAML file in the
release-1.0 branch that's not yet in master. As soon as that gets merged
into master, the link will work.
On Tue, Jul 31, 2018 at 3:34 AM Jimmy Song<EMAIL_ADDRESS>wrote:

@geeknoid https://github.com/geeknoid I updated the Chinese homepage,
but CI failed with these errors:

./public/blog/2018/announcing-1.0/index.html

External link https://www.trulia.com/ failed: 403 No error

./public/docs/tasks/policy-enforcement/rate-limiting/index.html

External link https://raw.githubusercontent.com/istio/istio/master/samples/bookinfo/policy/mixer-rule-productpage-ratelimit.yaml failed: 404 No error

https://www.trulia.com/ is OK
https://raw.githubusercontent.com/istio/istio/master/samples/bookinfo/policy/mixer-rule-productpage-ratelimit.yaml
is missing
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio.github.io/pull/2085#issuecomment-409175065,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AVucHcfG-RyjZV1GqX-Pyb4T6GWBZ1tnks5uMDLJgaJpZM4Vn-ID
.


OLS-508: New suite with collector

Description
The e2e scripts update to run new marker with collector sidecar.
Type of change

[x] Refactor
[x] New feature

Prerequisite

[ ] https://github.com/openshift/lightspeed-service/pull/584

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 94.85%. Comparing base (5590b61) to head (16a7286).
Report is 18 commits behind head on main.

Additional details and impacted files

@@            Coverage Diff             @@
##             main     #751      +/-   ##
==========================================
+ Coverage   94.80%   94.85%   +0.04%
==========================================
  Files          53       54       +1
  Lines        1906     1884      -22
==========================================
- Hits         1807     1787      -20
+ Misses         99       97       -2

Files
Coverage Δ

ols/user_data_collection/__init__.py
100.00% <100.00%> (ø)

... and 4 files with indirect coverage changes

Closed in favor of https://github.com/openshift/lightspeed-service/pull/789


Ignore GREASE in EC

GREASE in EC algorithms (supported_groups) is not ignored:
[...]
2019/05/28 09:35:23 [debug] 3065#0: *3 ssl_ja3: curves: length: 4

2019/05/28 09:35:23 [debug] 3065#0: *3 ssl_ja3: |    curves: 23130
2019/05/28 09:35:23 [debug] 3065#0: *3 ssl_ja3: |    curves: 29
2019/05/28 09:35:23 [debug] 3065#0: *3 ssl_ja3: |    curves: 23
2019/05/28 09:35:23 [debug] 3065#0: *3 ssl_ja3: |    curves: 24
[...]
2019/05/28 09:35:23 [debug] 3065#0: *3 ssl_ja3: fp: [771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53-10,23-65281-10-11-35-16-5-13-18-51-45-43-27-21,23130-29-23-24,0]

EC fragment 23130-29-23-24 contains GREASE (0x5A5A), what makes JA3 a little bit random - JA3 should be 771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53-10,23-65281-10-11-35-16-5-13-18-51-45-43-27-21,29-23-24,0 instead.
It is very easy to fix, I can create a PR.

@bartebor Nice, please open the PR!

Also if you want to check the correctness of the fingerprint, use this: https://ja3er.com/

I tried to compare results using website provided, but it seems it ignores EC:
# nginx
771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53-10,0-23-65281-10-11-35-16-5-13-18-51-45-43-27-21,29-23-24,0
# ja3er.com
771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53-10,0-23-65281-10-11-35-16-5-13-18-51-45-43-27-21,,

I confirmed that EC extensions are present in both cases (they are visible in JA3 extensions field and in wireshark):
Extension: supported_groups (len=10)
    Type: supported_groups (10)
    Length: 10
    Supported Groups List Length: 8
    Supported Groups (4 groups)
        Supported Group: Reserved (GREASE) (0xcaca)
        Supported Group: x25519 (0x001d)
        Supported Group: secp256r1 (0x0017)
        Supported Group: secp384r1 (0x0018)
Extension: ec_point_formats (len=2)
    Type: ec_point_formats (11)
    Length: 2
    EC point formats Length: 1
    Elliptic curves point formats (1)
        EC point format: uncompressed (0)

It may be reasonable, Chrome may respond with different fingerprints depending on the specific situation.
If you switch between incognito and normal mode sometimes the fingerprint changes.

Please check if with new version in master after #12 merge rewrite, that this still happens.


Project Explorer View

From<EMAIL_ADDRESS>on 2010-12-15T09:09:48Z
What steps will reproduce the problem?

Create a new package or module by right clicking in the project explorer view and choosing new. 2. 3. What is the expected output? What do you see instead? The package/module is created by the project explorer is not updated. What version of the product are you using? On what operating system? spyderlib 2.04. MacOSX 10.6

Please provide any additional information below
.
Original issue: http://code.google.com/p/spyderlib/issues/detail?id=504

From pierre.raybaut on 2011-04-24T07:38:06Z
This issue was closed by revision df9ef2f1b571 .

From pierre.raybaut on 2010-12-15T10:01:39Z
This issue was closed by revision df9ef2f1b5 .
Status: Fixed


Use "OUTPUT" for the "Compile Active File" task

Feature Request
Could you change the "Compile Active File" task (the button at the top-right of the opened C++ file) to report the g++ output to the OUTPUT tab rather than to TERMINAL?
The reason is because it is inconvenient to navigate upon the errors and warnings inside the TERMINAL tab. Home and End buttons actually move the cursor to the begin/end of the command line at the bottom of the tab rather than scroll the compilation output top/down. And PgUp/PgDown also do not scroll up/down.
PS. Previously I posted this issue to VS Code. They say it has to be moved here. Please excuse me if that is the wrong place again. I just do not know which plugin created the "Compile Active File" button.

Thank you @bobbrow very much for assistance

Thanks for reporting this issue. With "Compile Active File", g++ output to the TERMINAL tab now. Our development team will investigate this issue further. We will get back to you if there is any update. Thank you for your support.

@Evelyn-001 I have to add that I'm running VS Code on Linux. Looks like Visual Studio does not have bits/stdc++.h

@ujos , thanks for your reply. We just reproduced the problem of g++ output to TERMINAL tab in "Compile Active File" with your code. This problem can also be reproduced with simple code. Thanks.

@Evelyn-001 The output to TERMINAL is a part of the problem. Another problem is that VSCode is unable to catch the error message (so it does not appear in the PROBLEMS tab) if message is too long. Try to compile the code I posted above with the "Compile Active File" button.

@ujos, could you please share us a video for your clear repro steps in order to investigate that issue further? We are looking forward to hearing from you. Thanks.

[Window Title]
Visual Studio Code

[Main Instruction]
Visual Studio Code

[Content]

Version: 1.92.2 (system setup)
Commit: fee1edb8d6d72a0ddff41e5f71a671c23ed924b9
Date: 2024-08-14T17:29:30.058Z (2 wks ago)
Electron: 30.1.2
ElectronBuildId: 9870757
Chromium: 124.0.6367.243
Node.js: 20.14.0
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.19045

[Copy] [OK]

https://github.com/user-attachments/assets/7e2fe5bf-4a4e-4ab4-b79c-92a766438fe9

@gcampbell-msft User's question: 1.User wants the compilation result to be displayed in the output window, is this a feature request? 2.User feels that the errors inside the compilation result should be displayed in the PROBLEMS window, I am not sure if this is a bug, can you give some suggestions? If it is a bug I will remind the user to create a new issue to track the this problem.


Import WordPress draft posts correctly

Currently import_wordpress fails if there are any draft posts due to missing pub_date, as discussed e.g. here. This patch makes them import correctly as drafts.
Publish date gets set as the current date, which might not be optimal, but changing that would require delving too deep into the code and this seems to work OK.

Fantastic - thanks a lot Jan.


[Bugfix] Use the correct label to distinguish the lower layer from th…

…e upper layer
Previously, the unreliable (may not exist, such as when disable_snapshot_annotations = true) label added by cri was used as the basis for judging the upper layer, then when the OCI image without the label was started, it would mistakenly enter prepare for upper layer logic.
We noticed that "containerd.io/snapshot.ref" is a label added by containerd before calling sn.Prepare(), and only exists in the lower layer snapshot, not in the upper layer, so we can simply put the negative situation of lower layer as the upper layer.
Signed-off-by: zhaoshang<EMAIL_ADDRESS>

Hi @power-more, did this test in an actual environment?

Hi @power-more, did this test in an actual environment?

not yet


My company uses Sass MQ

Hi, we're using Sass MQ at Kwiziq (language learning site) and we'd like to be mentionned in the README of the project. Cheers!

Apologies for the late response – feel free to open a PR!


Avoid some deprecations with PHP 8.1

They appear on the CI: https://github.com/mongodb/mongo-php-library/runs/3530599314#step:10:6237 and also when adding support to doctrine/mongodb-odm: https://github.com/doctrine/mongodb-odm/pull/2378/checks?check_run_id=3903213010#step:11:13

@franmomu: I created PHPLIB-766 to track this and am looking into it now. Thanks!

I've incorporated the commits in this PR into https://github.com/mongodb/mongo-php-library/pull/874. Thanks again!


Move Windows between virtual desktops

Description of the new feature / enhancement
It would be great to get an official version of the 3rd party tool SylphyhornEx (which appears to be unmaintained and broken on Windows 11). This make it easy to move windows between virtual desktops.
https://github.com/ViRb3/SylphyHornEx
Current Windows solution is very manual (Windows-Tab, select window, right-click, select move)
Scenario when this would be used?
Moving windows between virtual desktops
Supporting information
A third party open source tool exists, but is broken on Windows 11 and unlikely to be fixed anytime soon.
Several people have filed bugs that they miss this functionality on Windows 11.
It THE perfect addition to PowerToys

Duplicate of #24

Thanks for your suggestion! This issue is a duplicate.
I'm linking this issue to #24 to centralize the discussion thread, please go to that thread for discussion.
Thanks for your help to make PowerToys a better piece of software!


The anchor certificates for the self-singed certificates

What did you do?
In the file ServerTrustEvaluation.swift,
/// Sets a custom certificate chain on `self`, allowing full validation of a self-signed certificate and its chain.
///
/// - Parameter certificates: The `SecCertificate`s to add to the chain.
/// - Throws:                 Any error produced when applying the new certificate chain.
func setAnchorCertificates(_ certificates: [SecCertificate]) throws {
    // Add additional anchor certificates.
    let status = SecTrustSetAnchorCertificates(type, certificates as CFArray)
    guard status.af.isSuccess else {
        throw AFError.serverTrustEvaluationFailed(reason: .settingAnchorCertificatesFailed(status: status,
                                                                                certificates: certificates))
    }

    // Reenable system anchor certificates.
    let systemStatus = SecTrustSetAnchorCertificatesOnly(type, true)
    guard systemStatus.af.isSuccess else {
        throw AFError.serverTrustEvaluationFailed(reason: .settingAnchorCertificatesFailed(status: systemStatus,
                                                                                certificates: certificates))
    }
}

if you want to reenable system anchor certificates, you should call the func with false for the second parameter, instead of the true as the apple's document says.
SecTrustSetAnchorCertificatesOnly(type, false)

This method is correct, as we only want to trust the certificate chains for the certificates provided. The comment may be incorrect, but this is the behavior we want. This code is carefully designed and tested and any change in behavior must be thoroughly considered and well tested. Is there a specific use case you have in mind here?

No specific use case.
Just confused when reading the code.
Please correct the comment if possible. :)

Sure. We'll update when we do another documentation pass. A PR is also welcome!

i'm confused when reading the code. Is the purpose of this function to trust only provided certificates? How can I also trust the system's default certificate?

Yes, it's used to trust the provided certificate when pinning a self-signed cert. There is no system default leaf certificate. And if you want to just use the system trust settings there's no need to pin anything at all, or call any of this code.


✨⚗Implement ensemble

What do these changes do?
make ensemble predictions based on 3 different strategies:

Mean
Vote
Choose best generalized tissue

Related issue/s

How to test

Checklist

btw. I guess you need to add the pytorch-ignite dependency, needed by EnsembleEvaluator (i.e. here)


How to avoid excessive GC

So I have the following situation in unicode-data:

Bench function on chars.
Lots of codepoints are unassigned or private use area, so we want to filter these out.
We do not want the filtering be part of the benchmark, so we use env to create a list of chars to bench.
This big list seems to trigger the GC anyway, giving every unstable results.

Lately I have experimented a hack that creates a pinned “list” using the foreign interface. This is ugly but seems to work, thanks to pinned memory being excluded from GC.
@Bodigrim What do you think? Is there a better way? Note that we would like to keep the dependencies as small as possible.

@wismill maybe pack "interesting" Chars into a ByteArray instead of list?

You mean using e.g. newPinnedByteArray? But then I guess I can just reach for newPinnedByteArray# and further functions from GHC.Exts.
Anyway, you confirmed that pinned memory a good direction. It may be worth noting it in the README.

Not necessarily even pinned, copying continuous blocks of memory is extremely fast on modern processors. And any arrays over 3-4K are automatically pinned by RTS.


Obstacle Avoidance from SDK

Hi all!
Is it possible to control the robot velocity from the SDK in obstacle avoidance mode? This is now possible with the joystick, and I wonder if, instead of getting the desired velocity from the joystick, one could get it from a script.
Thank you very much, and I appreciate the help!

Please refer to this content in the comm.h file

Thank you very much @xyq1223. What do these 4 numbers mean?


test descending_branch_length using tree arrays

@wasade suggested a method for refactoring TreeNode.descending_branch_length() using TreeNode.index_tree() and two arrays to avoid the redundant movement over already counted branchlength. Shouldn't take too long, but low priority as the current code is pretty fast.

Closing in favor of #809


priority doesn’t police the maximum_streams parameter

This is silly:
>>> p = priority.PriorityTree(maximum_streams=-5)
>>> p.insert_stream(1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/chana/.virtualenvs/tempenv-577e1050112c7/lib/python3.6/site-packages/priority/priority.py", line 343, in insert_stream
    self._maximum_streams + 1
priority.priority.TooManyStreamsError: Refusing to insert -4 streams into priority tree at once

and this is confusing:
>>> p = priority.PriorityTree(maximum_streams='foo')
>>> p.insert_stream(1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/chana/.virtualenvs/tempenv-577e1050112c7/lib/python3.6/site-packages/priority/priority.py", line 340, in insert_stream
    if (len(self._streams) + 1) > self._maximum_streams:
TypeError: '>' not supported between instances of 'int' and 'str'

Would be better if there was a little bit of checking that we’re not trying to create an obviously nonsensical tree.

Garbage in, garbage out. ;) Regardless, I think this would benefit from a type and positivity check. :)

Agreed. 😁


A15: Fatal error with research. If too many rethinks are applied, hard crash

I was trying to discover golemancy, so trying to obtain experiment theory pages. I used the rethinks when possible to roll the experiment pages. I think the stack of pages got too large and crashed.

Check reference for linked incident

Could you please post the crash report?


Replace appveyor with azure build pipelines

appveyor can run only one process.
azure build pipelines can run 10 processes.
I've tested other repository  https://github.com/redboltz/abp_mqtt_cpp_test and finally works well.

Implemented by #270.


Naming Conventions

I was browsing the project the other day and noticed something. Since we apparently are going to expand this further, I think we should focus on consistency and naming as well.
Currently, Expressions and Effects follow the Syntax naming rule, for example ExprAmount and EffPrint. We should consider the following:

Events should use this convention as well, for example EvtScriptLoad. This is because that class REGISTERS event syntax.
Contexts on the other hand should stay the same, like Bukkit Events. This is because they hold INFORMATION about an event. You could do something like CtxScriptLoad, but I personally think the first is better.
Lastly, there is an argument to create a custom ‘sections’ package that registers all the sections. Currently, all sections are registered in the ‘lang’ package, but as we will add more sections (think of async and wait sections for example), this will clog that package imo with unnecessary files. We could move all sections to a new package except for the Condional class, because what they essentially do is REGISTER a section.
We could then add naming conventions for these as well, like SectWhile, but I don’t know if this is necessary. It may turn out better to keep consistency.

I’d like to make a sort of discussion about this and gather some opinions, before we actually start releasing new content.

I concur, these are good changes, I'm thinking about the following naming scheme :

Expressions are named ExprX
Conditional expressions are named CondExprX
Effects are named EffX
Events (SkriptEvent) are named EvtX
Sections are named SecX

Contexts (TriggerContext) are named XContext

Let me know what you think about it, and I'll apply the changes accordingly. Somewhat related to this is the lang.base package : wouldn't it be better if each class inside it were moved to its appropriate syntax package ? Currently all classes in this package are Expressions, so they would go in expressions.base, but if we had utility sections or effects, they would go in sections.base and effects.base respectively.

Personally I think we should keep a difference between API and registration. I think the base package in the language file is fine as it is because of this. I don’t think we will add that much new utility classes but this might end up better in the future.
I think your naming rules make the most sense and I think we should use them together with moving the sections (except for Conditional) to their own package.

Closed because of latest commits. Thanks for the addition!

Closed because of latest commits. Thanks for the addition!


Possibility to opt-out from causality tracking

Individual event-sourced actors should be able to opt-out from causality tracking.

This feature becomes obsolete should we decide to go for #68.


Fabric support

Are you planning on migrating to fabric soon?

hi Sebastian,  fully migration to RN 0.72, won't happen right now, maybe next year if we could find time.
But feel free to fork a new repo build =)

Hi,
As we have an updated react-native version as 0.73.6, So, is there any ETA to enable Turbo Modules for the updated react-native version?

Do we have any ETA for fabric too?


修复Spring的AOP导致dubbo注解读取失败的问题

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


Some pipeline components do not have a clone method

Bug 💥
After making clone an abstract method in the base class some pipeline components do not instantiate.
Analyzer building fails due to missing clone method in some pipeline component.
Expected behavior  🧮
Analyzer builds without errors
Screenshots 🖼
If possible, please add a screenshot of the error message, if possible
Desktop (please complete the following information, if any other than the one in the install requirements):

OS: [e.g. iOS]

Additional context 🧬
If necessary add some context related to the problem

Closing with 0d840f77


Add focus forwarding for BaseElement

Is your feature request related to a problem? Please describe.
I need to programatically set the focus to a mwc-icon-button
Describe the solution you'd like
The focus() method should focus the button.
Describe alternatives you've considered
As a workaround it is possible to set the focus by accessing the shadowRoot directly:
this.shadowRoot.querySelector('mwc-icon-button').shadowRoot.querySelector('button').focus();

ShadowRoot.delegatesFocus would be nice to use for this, though it's only available in Chrome/Edge. Adding to our backlog to prioritize.

We're going to re-purpose this to add focus/click forwarding functionality for all elements in our BaseElement class.


Fix check permission for GHA XVR workflows

These XVR workflows permared on GHA but pass on Jenkins.
Also, PostCommit_SinglestoreIO_IT permared on GHA but pass on Jenkins pending investigation

https://github.com/apache/beam/actions/workflows/beam_PostCommit_Java_SingleStoreIO_IT.yml?query=event%3Aschedule
https://ci-beam.apache.org/job/beam_PostCommit_Java_SingleStoreIO_IT/

Add missing PostCommit_Singlestore_IOIT to change.md

Please add a meaningful description for your change here

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

R: @volatilemolotov

Looks good, thanks


Prep for v1.0.0 release

Update CHANGELOG
Bump versions
Include a note in README for backwards incompatibility

Closing following internal discussion.
1.0.0 release will happen later.


Bad design in REST method

Method post(...) currently returns a simple String on success and throws exception on failure.
It should always return a Response object with appropriate status. Also, we can get rid of "NotNull" annotation and replace it with DefaultValue("") (maybe check for empty string and return a Response with 412 status?)
Thus, on success it would
    return Response.ok().entity(
             Json.createObjectBuilder()
                .add("spec", xml.nodes("/spec").get(0).toString())
                .add("html", xsl.applyTo(xml))
                .build().toString()
    ).build();

and on error it would
    return Response.status(HttpURLConnection.HTTP_INTERNAL_ERROR)
                    .entity(ExceptionUtils.getStackTrace(ex))
                    .build();

@yegor256 please take a look at it and dispatch (see par.21)

@yegor256 ping

@yegor256 ping

@amihaiemil I don't see why returning a String is bad. JAX-RS recommends to do it this way. it's simpler.


WIP: See if this fixes Travis

As of about two days ago, Travis isn't working so well here on on SG. This tests to see if it's due to a change in ci-helpers.

Looks like #6959 is working and it's better so I'll close this one


Fix font in invalid format message when importing dataset

Before:

After:

Alternative font size:

This PR comes with the small size (middle screenshot) because it wrapped better, but easy to change it.
--
Also fixes or separator in marker image upload.
Before:

After:

Some frontend :tophat: fixes while testing S3 uploads. Please CR @xavijam

👍


CodeActionParams#range didn't pass the cursor line when exec source action

Version: 1.31.0 (user setup)
Commit: 7c66f58312b48ed8ca4e387ebd9ffe9605332caa
Date: 2019-02-05T22:35:56.624Z
Electron: 3.1.2
Chrome: 66.0.3359.181
Node.js: 10.2.0
V8: 6.6.346.32
OS: Windows_NT x64 10.0.17763
When exec Source Action, the parameter CodeActionParams#range of LSP request textDocument/codeAction doesn't regard the cursor line any more, it always starts with line 0 and ends with the last line.
See the screenshot below, click Source Action menu at line 6, but the LSP request returns the line 0. The expected value is the cursor line 6. This works in the previous version 1.30.1 (2018 November). Looks like a regression bug.

This was an intentional change requested in #53525. If there is no selection, source actions now expand to the entire document.
@testforstephen What is your use case?

One java file could contain multiple classes (inner class, anonymous class). When exec Source Action, for example, Generate Getter and Setter, toString(), Override/Implement Methods, we expect it's targeting to the class near to the cursor position instead of the whole file (the top class). This behavior is both supported by eclipse and intellij.
Besides, source action is a very common feature for java developers. If you remove the mouse context info for source action, it has a big impact on java language server.

@dbaeumer I'm feeling that we should not be clever for source actions. Can we revert #53525 and leave it up to extensions to get diagnostics for the entire file if they wish, or is there some issue that #53525 is really needed for?

+1 to revert that change, it definitely has a negative impact on the java support

@mjbvz As I was pointing in #53525 not having the diagnostics has bad side effects if you try to compute stuff for the whole file.
The doc clearly says:
		/**
		 * Base kind for source actions: `source`
		 *
		 * Source code actions apply to the entire file and can be run on save
		 * using `editor.codeActionsOnSave`. They also are shown in `source` context menu.
		 */
		static readonly Source: CodeActionKind;

Should these Java code actions be quick fix actions and no source code actions. May be we need an entry in the menu to make this more clear.

Put these Java code actions into quick fix, they are possibly confused with the normal quick fix.
Generally Quick-fix appears associated with a particular highlighting (a warning or an error).
For example, when hover at line 6, it shows a quick fix saying "Create getter and setter for 'age'".

But the Java source actions we provides, such as Generate Getters and Setters, Override/Implement Methods, they are targeting to a code block (naming a class) and provide bulk operation.
For example, when click the context menu "Source Action..." at line 7, it shows the sub menu "Generate Getters and Setters". This action will bulk generate the accessor methods for all three members.

Make all these actions under quick fix, feel like a little weird.

Whatever we do I think we need to stay consistent with what we do in regards of range and diagnostics. If we use the selection for the source action the diagnostics can only overlap with the range. Otherwise we have different behavior if something is a source or quick fix action.
We never clearly specified that code actions should only be computed for the provided range but I know that quite some LS do that. So we need to clarify this for source action or even add a property to the context.

I think not altering the range is the most consistent (which means reverting #53525). The code API involves requesting code actions at a given position, so whole document source actions—such as organize imports—choose to say that organize imports is available at every position in the file. We do not filter out results at all based on the range, that is left entirely up to the provider
Starting with a selection, a code action provider can choose to access the entire document's diagnostics instead but there is no way to recover the original selection if we discard the selection as we are currently doing.

Just to clarify: which diagnostic do you now provide. Only the once around the selection. Right?

Yes, this now behaves the same as all other code actions: only the diagnostics in the selection are provided


Fixed Issue #101: Updated Style Guide for PRs in CONTRIBUTING.md

Description

Category (If Applicable)

[x] Introduction to Open Source
[x] Learn Git and GitHub
[x] Contributing to Open Source
[x] Beginner-Friendly Repos
[x] Open Source Programs

Related Issue

Fixes #XX
Checklist

[x] I have gone through the CONTRIBUTING guide
[x] The name of the resource is correctly spelled (if applicable)
[x] The link to the resource is working (if applicable)
[x] The resource is added in the correct format (if applicable)

Hey @ItzAmrit2002, you are not assigned to the corresponding issue. So, unfortunately we have to close the PR.


How prevent double entry of record in dynamic forms

I will love to know how to use dynamic from in Orchard  to prevent double entry of record like submiting of more than  one phone number  per different users and generating a unique number for their from.
I have been having difficulty in activating code generation and hence creating modules in Orchard 1.10

Hi, Kindly ask questions on the forum. We use the issue tracker for bugs and feature suggestions. Thank you