Improve landing page

Firstly I want to say - awesome work!  I love this new design which IMHO looks quite a lot more professional and appealing than the old one, and is quite close to perfect :-)  I just noticed a few minor things which I have tried to address with this pull request.
Firstly I wonder if it is maybe slightly too early to drop the mentions of the pre-Leap releases (13.2 etc.) from the main page.  A lot of people won't have heard of Leap yet, so there are some user stories which could maybe be addressed a bit better here:

As a total newbie to openSUSE who got recommended to try out openSUSE, I want to learn in more detail the difference between Leap and Tumbleweed and 13.2.
As a total newbie to openSUSE who got recommended to try out openSUSE, I want to learn how to download and install Leap
As a total newbie to openSUSE who got recommended to try out 13.2, I want to learn how to download and install 13.2.
As a non-newbie, I want to quickly download and install 13.2 or Leap or Tumbleweed

Hopefully the changes are obvious from the commit messages.

Thanks for the changes, feedback below
I disagree with the suggestion of not removing 13.2 from the landing page - we want this landing page to reflect the present and future of openSUSE, and the old releases, while still supported for some time yet, do not really have a place in that picture.. in fact I think it muddies things somewhat
I dont like the Leap and Tumbleweed being swapped - I preferred cynthias original. Reading left to right, Tumbleweed is the first you see, which is precisely where I think peoples first thoughts should be.
I like the idea of the install buttons, but I'm not sold on their placement on the frontpage..it 'feels' wrong, hopefully cynthia can give a professional designery reason why I feel that way, because I dont like giving comments about right or wrong. (I really like them in the details)
Machinery current deserves its 'own' section as a Tool under spotlight because we want to give it some attention and focus - in the future I agree it should be merged in the tools section like you have, but not now
Thanks for the KIWI fix :)

Thanks for the quick review!  Replies inline below:

I disagree with the suggestion of not removing 13.2 from the landing page - we want this landing page to reflect the present and future of openSUSE, and the old releases, while still supported for some time yet, do not really have a place in that picture.. in fact I think it muddies things somewhat

To me it sounds like you are contradicting yourself ;-)  13.2 is the present.  Therefore unless you want to wait until Leap is released before changing the landing page to this repo (which IMHO is a bad idea due to the many issues with the current landing page), this new landing page needs to reflect the present and make it clear that 13.2 is the current release.  Additionally, even without my PR, the draft version already links to https://software.opensuse.org/132/en, but only if you first click for more information on Leap, which is misleading because Leap != 13.2.
Furthermore I would suggest that it is important for the landing page to represent not only the present and future but also the recent past, since the recent past is relevant to all existing users which form a huge chunk of the target audience.  And as the saying goes, you can't know where you're going until you know where you've been ...

I dont like the Leap and Tumbleweed being swapped - I preferred cynthias original. Reading left to right, Tumbleweed is the first you see, which is precisely where I think peoples first thoughts should be.

Why do you think that?  Surely Tumbleweed is for the minority who like to live on the bleeding edge?  Even if Tumbleweed has less blood than Factory did, I would expect the majority to choose stable.  Or is this a fundamental shift in the priorities of openSUSE?  (Entirely possible that I missed that since I'm not good at keeping up to date with openSUSE mailing lists.)

I like the idea of the install buttons, but I'm not sold on their placement on the frontpage..it 'feels' wrong, hopefully cynthia can give a professional designery reason why I feel that way, because I dont like giving comments about right or wrong. (I really like them in the details)

By 'feels' I guess you mean 'looks'?  Yeah, I would definitely appreciate a more concrete reason if you reject this, because I already gave a concrete reason to change it and even a corresponding user story.  UX principles dictate that people should be able to get the information they want as quickly as possible.  So if you want to keep an extra hop in there, please be prepared to justify it ;-)

Machinery current deserves its 'own' section as a Tool under spotlight because we want to give it some attention and focus

Why do you want to give it attention and focus?
Even if you do, I'm sorry, but putting it as a single item under a "What's New" section is just wrong because:

a) it makes no sense to have both "What's New" and "News" sections,
b) when people visit the openSUSE landing page due to wondering what's the biggest hot new topics, they are much more likely to be interested in finding out what the hell this Leap thing is than what Machinery is,
c) Machinery is only tangentially related to openSUSE, and
d) whilst machinery-project.org looks stunningly beautiful and is an amazing piece of web design which I really love, the content has significant issues which have yet to be fixed

in the future I agree it should be merged in the tools section like you have, but not now

I think it's fine for the openSUSE project to link to sister projects.  But a far better way to promote Machinery would be to fix its own landing page.  Currently, by making Machinery a prominent part of the openSUSE landing page, you would achieve two things:

steal focus from things which are more relevant to openSUSE
pass that focus to a page which currently makes it very hard to figure out what Machinery is.  I mean, I tried for a lot more than a few minutes before failing and giving up, and I'm not exactly a SUSE newbie ...

Hi @aspiers two things I would like to respond to:
Why do you think that? Surely Tumbleweed is for the minority who like to live on the bleeding edge? Even if Tumbleweed has less blood than Factory did, I would expect the majority to choose stable. Or is this a fundamental shift in the priorities of openSUSE? (Entirely possible that I missed that since I'm not good at keeping up to date with openSUSE mailing lists.)
Yes. The priorities have shifted. We have been gaining a lot with Tumbleweed and want to continue that momentum. We want to push people more for contributions for reporting bugs, contributing, etc. Leap is new and a lot of people already not about it. Those who want stable know what they want it for and have a very good reason for selecting it.
I think it's fine for the openSUSE project to link to sister projects. But a far better way to promote Machinery would be to fix its own landing page. Currently, by making Machinery a prominent part of the openSUSE landing page, you would achieve two things:
steal focus from things which are more relevant to openSUSE
pass that focus to a page which currently makes it very hard to figure out what Machinery is. I mean, I tried for a lot more than a few minutes before failing and giving up, and I'm not exactly a SUSE newbie ...

Machinery is one of those subtle branding issues we need for more people to use it. We don't want the political, religious selecting of a distribution to hinder people from using it because it is openSUSE. A Ubuntu or Fedora fan might choose not to use it because it is strongly branded as openSUSE. Hence, the subtle branding. We want to encourage use and subtle association with openSUSE for Machinery. Don't you think? The drawbacks of branding strong for this new project can discourage new use, which is what we want, no matter what distro a person or sysadmin associates with.

(BTW when replying to comments here on github, you can quote them simply by prefixing with >  just like in normal email; then it will format the quotes properly.)

Yes. The priorities have shifted. We have been gaining a lot with Tumbleweed and want to continue that momentum. We want to push people more for contributions for reporting bugs, contributing, etc. Leap is new and a lot of people already not about it. Those who want stable know what they want it for and have a very good reason for selecting it.

OK then, that sounds fine to me.  Actually it doesn't matter so much which is on the left or right.  What's more important IMHO is that there is a clear comparison between the two, e.g. we could add a Compare button in the centre below both, which links to a comparison table.  I'll submit another issue for that.

Machinery is one of those subtle branding issues we need for more people to use it. We don't want the political, religious selecting of a distribution to hinder people from using it because it is openSUSE. A Ubuntu or Fedora fan might choose not to use it because it is strongly branded as openSUSE. Hence, the subtle branding. We want to encourage use and subtle association with openSUSE for Machinery. Don't you think? The drawbacks of branding strong for this new project can discourage new use, which is what we want, no matter what distro a person or sysadmin associates with.

I totally agree with all that, but everything you said just reinforces the points I have already made.  If you want to avoid too strong an association of Machinery with openSUSE (which I agree is a good idea),

the heavy bias of the machinery-project.org towards openSUSE must be fixed, and
why do you want to give it disproportionately high focus on the openSUSE landing page, by setting it apart from the other openSUSE-related tools?

What's more important IMHO is that there is a clear comparison between the two, e.g. we could add a Compare button in the centre below both, which links to a comparison table. I'll submit another issue for that.

Submitted as #38.

@aspiers per #2. we didn't want to bury is at the bottom of the tools onwithin our own page seeing that it's a new tools. The driver of machinery is mostly going to be independent, but supported by openSUSE. The branding of the machinery website is the subtle portion. On our own page, we wanted to highlight it, just not on its own page.

Regarding Machinery I'm not sure it belongs on the landing page at all. @aspiers is right that the focus and audience of the landing page is (potential) users of openSUSE and we should not distract from that. We are working on fixing the issues with the Machinery home page (will take another few weeks, though), and it can stand on its own. We do want it to be associated with openSUSE as openSUSE users are one of the primary targets, but this can be done in other ways as well.
And while I'm commenting here, let me also comment on Tumbleweed vs. Leap. I think @aspiers's intuition that Leap should be the primary target is right. This will be the successor of openSUSE 13.2 for most users, so it hopefully will reach a similar number of users. The number of Tumbleweed users is still an order of magnitude below that. So until this has changed, I think it makes a lot of sense to focus on what people actually are looking for, not what we wish them to look for (and I actually think we should try hard to make Leap as popular as possible and not put it behind Tumbleweed).
The idea with the comparison table is great. That's actually the one thing where the page is still lacking most, in addressing the needs of those people who don't already know about openSUSE and what the different distributions are. We do want to attract new users, don't we? :smile:

@cornelius Glad we are so closely aligned.  BTW any progress on https://mailman.suse.de/mailman/private/research/2015-June/010287.html since June? ;-)

@sysrich have a look at the "install" buttons on the main page (before clicking on the product to see more information). The links are duplicated. Im not sure if that is ideal to have the install button twice.
Secondly, when clicking on "install" the animation shouldn't be triggered.
About the removal of the "What's new" section. That is entirely your decision, but I recommend whether putting something else instead of Machinery, or redesigning that section because we have a sort of HR that was necessary when we had 2 white sections and we needed to separate them, but now the green line looks unnecessary if there is nothing above it.

The links are duplicated. Im not sure if that is ideal to have the install button twice and I would remove the install buttons from inside.

@cyntss The duplication was deliberate, to minimise the number of clicks for both of the following use cases:

Newbie visits home page not knowing much about Leap / Tumbleweed and not sure if they want to install, but curious enough to learn more before deciding, so they first mouse over and click More information, then after reading maybe they decide to click Install.
  They visit the home page, mouse over, and click Install directly.

If you remove either Install button then that forces one of these two users to do an extra click.  It's not much but it all counts when designing for the best UX.

Secondly, when clicking on "install" the animation shouldn't be triggered.

Yeah that's probably just me getting the HTML wrong :-)

@aspiers Good explanation for the double btn. Makes a lot of sense now :)


Remove spec docs duplication

Reason/Context
With specification, we have at the moment the following situation.
1 https://github.com/asyncapi/spec/blob/2.0.0/versions/2.0.0/asyncapi.md is the location of official specification
2 https://github.com/asyncapi/spec/blob/2021-06-release/spec/asyncapi.md is the candidate for next release
3 https://github.com/asyncapi/website/blob/master/pages/docs/specifications/2.0.0.md 2.0 spec duplicate that should not be edited in website but automatically updated from spec repo
Description
In short, on every release in spec (no matter if official or pre-release) update website through PR so after automerge it is automatically published.
not in scope
Automation of spec release. The creation of GitHub releases for latest and candidates. Just assume it will be in place, so automation from this task should be based on GitHub release event. How you can tell that release is a release candidate? it is marked as Pre-release and the release tag will look something like v2.1.0-2021-06-release.1 (some example from another project https://github.com/asyncapi/asyncapi-react/releases/tag/v1.0.0-next.2)
Website repo

this link https://www.asyncapi.com/docs/specifications/latest should always display the latest spec version
link in the left-hand side navigation should point to the latest only
versions >=2.0.0 should be available on website too, there must be a toggle/dropdown that you can use to switch between versions. Direct links should also be available.
next version, the release candidate should also be available in the UI, marked as release candidate for next version, with release date
Edit this page on Github should not take you to website but to spec repository where spec is located and actually ug fixes can be suggested

Spec repo

we need update in the spec in https://github.com/asyncapi/spec/blob/2021-06-release/spec/asyncapi.md to support website features, frontmatter and anchors in sections
now how to get updates from spec repo into website? I suggest push approach rather then pull. In other words, spec repo pushes changes to website repo instead of website repo pulling for changes from spec. We need GitHub Action workflow that would be triggered on every release, it would pick up changes either from master (in case of official release when tag is createdor from the release branch (in case there is a pre-release). In the workflow you would need to pullwebsite`, add proper files there and then open a PR using proper GH action. Auto approve and merge is already in place, because you will use asyncapi bot here.

hints

feel free to ping me or @magicmatatjahu that also recently played a lot with workflows related to release candidates, and had to figure out how to check release type in the workflow https://github.com/asyncapi/asyncapi-react/blob/master/.github/workflows/release-wc-and-playground.yml#L15
in case there will need to be some custom js code used in workflow:

if there is not much of it needed, then get inspiration from https://github.com/asyncapi/.github/blob/master/.github/workflows/release-announcements.yml#L29
otherwise see this workflow https://github.com/asyncapi/generator/blob/master/.github/workflows/templates-list-validation.yml where we have a simple action that is not published on official list of GH actions https://github.com/asyncapi/generator/tree/master/.github/templates-list-validator

this link https://www.asyncapi.com/docs/specifications/2.0.0 should always display the latest spec version

I guess you meant https://www.asyncapi.com/docs/specifications/latest, right? it's currently being redirected here: https://github.com/asyncapi/website/blob/master/public/_redirects#L8. Also, let's make sure it never redirects using 301 because this will make the redirect permanent and will be cached by browsers.

there must be a google that you can use to switch between versions.

a google? 🤔

a google?

toggle, drop down, come version chooser component 😛

I guess you meant https://www.asyncapi.com/docs/specifications/latest, right?

right, updated, thanks. I also think https://www.asyncapi.com/docs/specifications should redirect to latest

I would like to work on this.(Just commenting here for the Issue)

just for your information, I realized we do not need a feature toggle as we have left nav anyway and all specs will be listed there, so no need to add additional navigation element - toggle

Do we have any specific design to show that a spec is "Pre-release"?
For the time being, I'm just doing

I guess, we should close this issue now. :D


`With Full WiFi 🛜 Facility 📲863O4IO335📲Dehradun Call Girls By Premium Call Girls Dehradun At 25% Discount

With Full WiFi -🛜 Facility 📲863O4IO335📲Dehradun Call Girls By Premium Call Girls Dehradun At 25% Discount
Dehradun Call Girls Service: Free Doorstep Delivery, ❤7O7889260I 100% Verified Call Girls
Although Dehradun is among the most beautiful destinations on earth, its main attraction for tourists is surely its laid-back way of life and the natural attractiveness of its people. Located in the exotic state of Dehradun on India's west coast, welcome to Dehradun Call Girls Service. Our committed group of attractive Call Girls is hand-selected with care, and their services are offered at a range of price points to accommodate any budget.

We are a premium Call Girl service that offers girls in Dehradun to gentlemen.❤7O7889260I   All of our Dehradun Call Girls are stunning, alluring, and sensuous. Depending on your demands, you can select from a wide range of services included in their fantastic package.

We take great satisfaction in offering clients an amazing experience through our elegant and professional approach. We have a highly educated and dependable network of girls for Dehradun Call Girl service.
Are you searching for the ideal Call Girl service in Dehradun nearby? ❤7O7889260I  Our Dehradun Call Girls agency has the best independent Dehradun call girls in your area. You've located the genuine gem. Our Sizzling Hot Girls will fulfill any kind of request you may have; we have the greatest Call Girls in Dehradun. We are a well-known professional Call Girl agency that provides elegant and trustworthy girls for any kind of occasion.
Our staff offers a diverse selection of Dehradun Call Girls,❤7O7889260I   so you may select from a sultry and feisty companion or a more polished one. Our girls might be your ideal business meeting or love date partner because they are skilled at pleasing guys of all races.
❤7O7889260I Experience The Ultimate in Luxury: Get an Elegant Escorts  in Dehradun at Incredibly Low Costs
We are the Cheapest Call Girl agency in Chandigarh if you would rather hire an independent Call Girl instead of paying for pricey [Dehradun Call Girl services Dehradun. We offer a remarkable selection of stunning and seductive Dehradun call girls for hire at your leisure and on your preferred schedule in any hotel, resort, or location.
Thanks to the extremely reasonable prices of these female Escorts services in Dehradun, you may finally live out all of your wild, sensual, and erotic fantasies. Exclusive Deal for New Clients Receive a flat 70% discount on your first Chandigarh sex service booking when you pay with cash.
❤7O7889260I Discover Dehradun's Alluring and Enchanting Beauty with Russian Call Girls Dehradun
Because of its amazing locations, rejuvenating environment, and charming beaches, Dehradun is sometimes referred to as a bachelor's paradise. These attributes can uplift anyone's spirits at any moment. You need a hot guide in the form of a Russian Call Girl in Dehradun if you want to view the unspoiled and virgin beauty of Dehradun outside of the popular tourist destinations.
❤7O7889260I These Model Call Girls are very helpful in providing a wide range of services and are well-versed in all areas of various cities. These Russian Dehradun Call Girls, who have lived here for a long time, can be your ideal tour guide during the day and wonderful bed companions at night. Traveling with someone attractive and knowledgeable is always a better idea than going it alone since beauty never lets you down.
Dehradun Call Girls ⬇※ 863O4IO335 ※⬇  Quality Escorts in Dehradun
DEHRADUN CALL-GIRLS ⏫↬!@$ 863O4IO335 ↫⏬ !@$Russian Call Girls In Dehradun

Looking for reliable Call Girls services in Dehradun? 🤝 Call 🧣 863O4IO335 We specialize in providing Best Quality Russian Call Girls In Dehradun Service. You are at best one stop solution for all yours Dehradun call girls arranging facilities.https://github.com/fastlane/fastlane/issues/25804 Here you will get great Escorts in Dehradun Service At 70% Discount also, So we are just a call away at call girls Dehradun Prem Nagar, Free Home delivery also available by call girls in Dehradun. Call 📞 863O4IO335 Dehradun Escorts !


Request for Comment: Add Security Courses

Problem:
OSSU:CS does not give students the proper broad introduction to information security.
Duration:
Feb 29, 2020
Background:
OSSU promises the equivalent of an undergraduate degree in Computer Science. In order to evaluate our recommended courses, we use the Curriculum Guidelines for Undergraduate Programs in Computer Science (CS2013). More information can be found here.
CS2013 specifies a number of knowledge areas a curriculum must cover, one of which is Information Assurance and Security (IAS). This is described as "...the set of controls and processes both technical and policy intended to protect and defend information and information systems by ensuring their confidentiality, integrity, and availability, and by providing for authentication and non-repudiation." There are 6 topics within this knowledge area.

Foundational Concepts in Security
Principles of Secure Design
Defensive Programming
Threats and Attacks
Network Security
Cryptography

It is important to note that the expectation is generally just an introduction of these areas. There need only be 1-2 hours of lecture material on each topic (this time does not count course readings, assignments, etc, which will be extra time). The learning outcomes on most topics expect only that students are familiar with the topics, not necessarily that they have used them. For example, students must be able to "Explain why input validation and data sanitization is necessary in the face of adversarial control of the input channel." Asking students to undertake data sanitization goes above and beyond the curricular requirements. (It should be noted that students may certainly choose electives that far exceed the general requirements.)
The four learning outcomes that expect students to demonstrate 'usage' are:

Analyze the tradeoffs of balancing key security properties (Confidentiality, Integrity, and Availability).
Classify common input validation errors, and write correct input validation code.
Demonstrate using a high-level programming language how to prevent a race condition from occurring and
how to handle an exception.
Demonstrate the identification and graceful handling of error conditions.
Only 2 of these expect students to write code.

Proposal:
Add three courses to the curriculum:

Information Security: Context and Introduction
Principles of Secure Coding
Identifying Security Vulnerabilities

And give students the option between one of these two courses:

Identifying Security Vulnerabilities in C/C++Programming
Exploiting and Securing Vulnerabilities in Java Applications

Alternatives:
a) Use only one course to cover all of the IAS topics:

Introduction to Cyber Security

b) Choose one of the following specializations (which go more in depth).

Cybersecurity
Fundamentals of Computer Network Security
Introduction to Cyber Security Specialization

@waciumawanjohi OK; since my comment, I finished Cryptography I. It's a fairly hard MATH class (with optional programming exercises that are pretty cool). You are correct it does not go much into other security topics. The instructor said it would, but in the second class.
I think I would support the Alternative you suggested. It is less workload heavy, and gives more options/choice to students. Looks pretty good to me. I prefer the thin and lean options; Proposal seems a bit bloated.
Also, off-topic: wouldn't it be so great if secure coding/vulnerabilities were actually taught as standard part of "ordinary" programming classes?

@spamegg1 very on topic. The CS2013 actually makes a nod to this. The Knowledge Area Information Assurance and Security was newly added in 2013. It is unique in that some of its topics are listed just under that knowledge area, but the majority are distributed through other knowledge areas. So while we should have some content that is focused exclusively on security, we should also expect other courses to their due diligence in teaching the security practices germane to their topics.
It's seemed that there's relatively little experience with these courses in the OSSU community, so I'm taking time to work through a number of the courses. I've taken Information Security: Context and Introduction and it is very well suited to teach the CS2013 topic "Foundational Concepts in Security". Because of that, I suspect it will be included in any final configuration of the security courses.
I'm currently trying out Unlocking Information Security at the moment. Enjoyable so far.
If you have time, I think this is one of the highest need areas of OSSU. Information Security Analysts are projected to be one of the fastest growing jobs in the US and we have no courses that address the field. I would love to have more OSSUnians that could speak to these courses, particularly about:

the quality of the lectures
the amount of feedback available to students who are auditing the course for free
which topics of the CS2013  are covered by the course

@waciumawanjohi Yeah, security is going to be the biggest growth area in CS, might be even bigger than Data Science related jobs.
I think the top quality main security training hub is considered by many to be Cybrary but they are non-free.

@waciumawanjohi I'll preface by saying I wasn't a CS Major and only have a few years in the security field (so I'm by no means an expert), but just found OSSU and am a fan of what you guys are doing - so figured I'd try to contributed in any way I can. I generally agree that the security core is a good idea, and think your courses listed should satisfy CS2013 under the assumption of the four learning outcomes you've mentioned - noting that it's just to give users a basic understanding of security and not necessarily meant to be comprehensive (which I think you're already doing a good job of noting by linking the RFC to make users aware).
If you ever decide to create a security section under Advanced CS - which I believe would generally a good idea once a comprehensive list of security classes are curated, I'd probably add Web Security (which some may argue falls between Threats and Attacks or Defensive Programming) but since web development is so popular compared to learning its security aspects, I'd justify it being it's own topic:
Advanced Security

Foundational Concepts in Security
Principles of Secure Design
Defensive Programming
Threats and Attacks
Network Security
Cryptography

https://www.coursera.org/learn/crypto
https://www.coursera.org/learn/crypto2
Following up on the prior comments mentioned by another user, I understand why these were removed from core but would recommend adding them to the Security Advanced CS section if one is ever created because the content in the two courses above are good and more detailed than most of the general online security courses I've found.

Web Security

https://web.stanford.edu/class/cs253/
Haven't finished yet but it is more detailed than most of the general security courses I've found online
Pre-Req: Basic HTML and JavaScript, probably would equate to a Sophomore Undergrad CS class

If I find courses for the other topics, I'll update this comment but noting it's been somewhat difficult for me to find decent security courses; often many security courses I've found online give a high level of an overview without actually having assignments to provide the ability to put the knowledge to use (which in general I feel is the most important part of learning).
Last Note: The following three courses above are denoted Advanced CS in terms of comprehensiveness opposed to difficulty. Explanation: I considered them as Advanced CS primarily because they are full a semester's length courses - that provide a more comprehensive approach to the four assumed learning outcomes you mentioned in the description (by going into more detail about a particular topic and allowing a person to take the courses only if they are interested).

@JacobAgunloye I took Crypto I from Coursera and I'd be OK with adding it to an elective Advanced Security section if one exists in the future. I agree it's high quality and the instructor is good.
Otherwise it's a very hard math course that teaches the implementation of many ciphers in technical detail (then advises against implementing them yourself), but does not really teach how to use security, or how security concepts fit into a wider context. So probably it should not be outside an elective section.

@spamegg1 I agree with your thoughts on the Crypto Courses. Let me know what you think about the Web Security course as well if you get a chance to take it.
If an Advanced CS Security section is ever created, here's a list of courses that may be of interest that were created by people a lot smarter than me (would have to be vetted first before selected, as I haven't gotten a chance to take all of them): https://www.reddit.com/r/netsec/wiki/start
This last note is a digression but an interesting note on why it's always advised to never implement crypto other than standardized and established libraries, is that even the good libraries sometimes become compromised, two that come to mind are:

Openssl a while back:
https://en.wikipedia.org/wiki/Heartbleed
Also Microsoft's crypto32 library earlier this year:
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2020-0601

Even though I'm not on that section of the curriculum yet, I definitely agree that security courses should be added since its a knowledge area that was missing in the curriculum.
However I think its just a knowledge area, so I don't think it deserves its own bucket, it should be inside the Applications track. And courses should comply with the following topics stablished in cs2013. I'll be happy to comment more about the courses later when Im on that section of the curriculum.

Applications

[IAS - Information Assurance and Security]

Foundational Concepts in Security
Principles of Secure Design
Defensive Programming
Threats and Attacks
Network Security
Cryptography
Web Security
Platform Security
Security Policy and Governance
Digital Forensics
Secure Software Engineering

Btw, here its my overall proposal for structuring the curriculum: Draft

Hey folks, I just wanted to add my two cents as a security engineer myself. I think the University of Maryland Cybersecurity specialization on Coursera is the highest quality security coursework available on any MOOC right now. Most of the other treatments I've seen are superficial, broad, or dated (the UC Davis courses in your curriculum now look decent). The UMD course is a more rigorous review of fundamentals with a particularly strong software security course, essentially the underpinning of all modern security. I appreciate they included the 'Usable Security' course in the specialization, too, which covers human factors most other programs won't even consider.

Has anything been decided about this RFC, and the aforementioned security courses?

The courses in the original proposal have been included in the curriculum. Before them is this note:

Note: These courses are provisionally recommended. There is an open Request For Comment on security course selection. Contributors are encouraged to compare the various courses in the RFC and offer feedback.

I take from Xxylem's and Dguido's comments that the UC Davis courses are reasonable courses. Dguido's perspective is valuable as is his endorsement of U Maryland's specialization (one of the alternate possibilities I listed). My hope is that more students will offer feedback and perspective on these two programs (UC Davis & U Maryland).

The 'Defensive Programming & Debugging' PRACE course on FutureLearn is great (I have taken it). It teaches the practical aspects of code security, and is taught by academics from supercomputing centres in Europe.
The drawback is that it is not available on-demand, and therefore may not be suitable for OSSU.

l

Why not making a specific track for Cyber Security in a new project or in the same project like After Core CS you add Cyber Security Courses , Thanks in Advnace

l

Why not making a specific track for Cyber Security in a new project or in the same project like After Core CS you add Cyber Security Courses , Thanks in Advnace

@waciumawanjohi
Hi , Please can you make the final list of the cyber security track

@waciumawanjohi
Hi , Please can you make the final list of the cyber security track

One possible resource:
https://www.hoppersroppers.org/training.html

One possible resource:
https://www.hoppersroppers.org/training.html

This resource is pretty interesting: http://howto.hackallthethings.com/2016/07/learning-exploitation-with-offensive.html

This resource is pretty interesting: http://howto.hackallthethings.com/2016/07/learning-exploitation-with-offensive.html

With 1 comment over the past year, it seems time to close this call for comments. I remain interested in the recommendation for U Maryland's cybersecurity course and welcome future comments comparing its quality to the current recommendations. I am also interested in recommendations for courses that would be appropriate for an Advanced Security section. See this comment as a starting point.

I just finished the first two courses
Principles of Secure Coding
Identifying Security Vulnerabilities
They pretty much all of the topics in IAS/Principles of Secure Design and IAS/Foundational Concepts in Security
Except:
• Concept of trust and trustworthiness
• Usable security
• Security composability
• Prevention, detection, and deterrence
With the exception of the last one, the first don't seem to be covered in either of the optional courses. Maybe we could do away with them to make the curriculum lighter.

To elaborate on what is covered, please refer these images:

The 4th course in the spec does cover "Prevention, detection, and deterrence" but that's a tier 2 topic. I haven't done the other 2 courses, so maybe someone who has can provide more guidance. We could move them to advanced or remove them to make the curriculum lighter. The first 2 courses seem to pretty much cover what we need except a small handful of topics.
When I say "Secure Coding Practices Specialization", I mean just the first 2 courses that I've done.

This is good info! Can you make a new RFC so that this gets visibility from interested contributors?

Will do this weekend!


Not Fix for Promise Rejection ? RN v 0.55.4

There is no promise code in this library, so I am not sure where this error is coming from.
I'm going to close this for now, but if you want to provide some sample code, or better yet a snack so I can reproduce the issue, feel free to re-open this.


docs: A new build process

Our existing documentation build process is ugly, hacky and brittle, and suffers from several problems:

It's set up in such a way that changes on release branches (v0.34.x and v0.37.x at the moment) only get built when changes are pushed to main.
Any changes to the build process and theme need to be backported across multiple branches, instead of being managed in a single place.

My recommendation is to split our docs build process out of the main repo into its own repo (https://github.com/cometbft/cometbft-docs), and there we would host:

Any code/config needed to build the docs (the static site generator config, theme, etc.).
Workflow(s) to build and push each version's documentation. What we ultimately want is:

https://docs.cometbft.com to redirect the user to the latest stable release's documentation (must be configurable).
We must be able to easily configure and build different versions' documentation to different subpaths at https://docs.cometbft.com, e.g.

https://docs.cometbft.com/v0.34/ to host CometBFT v0.34's documentation from the v0.34.x branch.
https://docs.cometbft.com/v0.37/ to host CometBFT v0.37's documentation from the v0.37.x branch.
https://docs.cometbft.com/main/ to host CometBFT's documentation from the main branch.

The config that controls which versions should be built should ideally be located in a single file (i.e. single source of truth).
We need to build the documentation from the docs, spec and rpc/openapi folders for each release's documentation, e.g.:

https://docs.cometbft.com/v0.34/ should show the contents of the docs folder
https://docs.cometbft.com/v0.34/spec/ should show the contents of the spec folder
https://docs.cometbft.com/v0.34/rpc/ should show the contents of the rpc/openapi folder
All of these different docs must be available via the documentation navigation.

We need a version dropdown selector on the docs site that allows users to choose which version's documentation they want to read.
We need to be able to control which versions' documentation actually appears in that dropdown selector (i.e. we may want to expose the v0.34 and v0.37 docs via the version selector, but not the main docs).
We need to be able to search the documentation for each version separately (i.e. when searching while viewing the v0.34 docs, it should only return results for v0.34; when searching while viewing the v0.37 docs, it should only return results for v0.37; etc.)
There should be a way for us to trigger this rebuild in the docs repo every time we make changes to the docs in the main CometBFT repo. At the very least we could set up a cron job that executes this on a daily basis, as well as a manual workflow dispatch that would allow for manually triggering a docs site rebuild.

@aaronmw's kindly rethemed our docs site in #125, so I suspect that some of this would move across to the cometbft-docs repo if we go this route.

@thanethomson A good bunch of the points you listed in the original description have been addressed by the new docs site, no? Can we refresh the list with remaining issues?

I think we should put checkboxes in each item for track completion. I'll do that next week to ensure this is completed. I believe we're pretty much done with most of the items but it will be visually easier to see this way.

Hi @thanethomson, @aaronmw and I implemented all the items specified on this issue. Not sure how you want to close this, but one idea would be to associate it with the PR #368, or you can manually close this just before we deploy the site to docs.cometbft.com. Please let us know if you think anything is missing.

Cool! I'd suggest a good "definition of done" here to be that the docs are up and available at https://docs.cometbft.com/ for both v0.34.x and v0.37.x, and those docs are deployed from https://github.com/cometbft/cometbft-docs (right now you're still deploying to the staging site, right?).
Any further improvements can be tackled in follow-up issues.

agreed, let's wait the production deploy and when https://docs.cometbft.com is live and is continually deploying we can close it.

I'd consider this done now that https://docs.cometbft.com is up :+1:


cache cargo testing dependencies during CICD pipeline

Background
Currently only dependencies used during the build phase of the pipeline are cached, while dev deps required when running tests are not. This contributes to a longer pipeline runtime.
Requirements

[ ] cache the dev dependencies

could maybe be done with cargo build --tests --verbose


Support icons on badge

Now badges support icons from https://simpleicons.org/

Doesn't work when embedded in html page. Use data:image/svg+xml;base64,... format


consider adding an option for generating only latest version

Generating the latest version may be useful for many cases, like doc generation team may only want to refresh the latest version

@jianyexi Has there been an ask from the docs team about this?  Is there a reason why they can't simply use the latest version spec that is part of normal, versioned generation (is there some ambiguity about what is latest?)

@markcowl
The main requirement from service team is to publish the latest version of swagger files to docs site.
Right now, a cadl file could define multiple versions, and cadl compile will generate all versions of swagger files.
There is no way for docs team to know what the latest version is.

@markcowl The main requirement from service team is to publish the latest version of swagger files to docs site. In the future, the swagger files will not be included in the spec repo any more for Cadl. A cadl file could define multiple versions, and cadl compile will generate all versions of swagger files. There is no way for docs team to know what the latest version is.

Are you always planning to generate the docs from the swagger? When making your own emitter when listing the version they are in order.

@live1206  If they are generating docs from swagger, then the emitted swagger will be in the same directory structure as it is now.   If they are generating from Cadl, then we will have a docs emitter from Cadl.  Either way, being able to emit a single version doesn't seem to be a blocker.

This option was added to the cadl-autorest emitter.  Closing


Fix inheritance in DataTree.copy()

Previously, we were copying parent coordinates/dimensions onto all child nodes. This is not obvious in the current repr, but you can see it from looking at the private ._node_coord_variables and ._node_dims.
To make the use of _to_dataset_view() little more obvious, I've added a required boolean inherited argument.

[x] Closes #9454
[x] Tests added

Thanks Tom for the comment suggestions!


Move to latest version of azure-storage-cpplite

Moved to the latest version of azure-storage-cpplite to alleviate some network related issues with azure blob storage. Also, added a little bit of debugging and some minor refactoring to pinpoint the network issues when they arise.

Codecov Report

Merging #118 (5d6813d) into develop (58f7007) will decrease coverage by 0.00%.
The diff coverage is 74.07%.

@@             Coverage Diff             @@
##           develop     #118      +/-   ##
===========================================
- Coverage    63.18%   63.17%   -0.01%
===========================================
  Files           59       59
  Lines        17875    17898      +23
===========================================
+ Hits         11294    11307      +13
- Misses        6581     6591      +10

Impacted Files
Coverage Δ

core/include/storage_manager/storage_azure_blob.h
72.13% <ø> (ø)

core/src/storage_manager/storage_azure_blob.cc
74.32% <66.66%> (-0.30%)
:arrow_down:

core/src/c_api/tiledb_utils.cc
76.89% <77.77%> (-0.19%)
:arrow_down:

core/src/array/array.cc
54.75% <0.00%> (-0.38%)
:arrow_down:

Continue to review full report at Codecov.

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


🔴 Ecosystem Project Idea: Optimism Resource Center

What is an Ecosystem Project Idea?
An Ecosystem Project Idea is an idea for a project that someone could build within the Optimism ecosystem. As opposed to an Ecosystem Concept or an Ecosystem Idea, an Ecosystem Project is generally more fleshed out and corresponds to a relatively clear product to be built.

Summary
Optimism-related resources are dispersed across a range of locations such as the Community Hub, the OP Stack documentation, the Optimism Twitter account, and the Optimism Governance Forum. The fragmentation makes it challenging for individuals to find relevant information, especially data about grants as the programs are frequently updated. To mitigate this issue, we suggest developing a user-friendly website that consolidates these resources and guides users to pertinent details efficiently.
Possible Features

Easy navigation to guide users across available resources seamlessly.
Detailed descriptions of crucial elements such as how to apply for specific grants, recent changes in policies, upcoming events, and more.
A feature to help users establish connections with other projects and members of the Optimism community.
Ensure the website is regularly updated to reflect the most recent information and developments.

Impact

Enhance the user experience by facilitating easier navigation through the Optimism ecosystem.
Aid individuals and projects in securing grants, promoting good work within the community.
Encourage more individuals to join the Optimism community by providing them with a centralized source of necessary information.

This project is being worked on by RetroHunters.

RetroHunters

It turns out that this project is no longer available?

This'd be really really helpful, plus, I think we could setup a page under learn.optimism.io and provide a nice UI to interact and access all of these resources in an easy way.

Hello @smartcontracts, is there a team actively working on this?
To provide some background, I've submitted a Mission proposal and am currently in the process of developing Web3xplorer. The primary objective of Web3xplorer is to streamline the web3 journey for newcomers by consolidating essential resources in one centralized location.
Currently, our focus is on cataloging apps and tools. However, we could consider expanding our directory to encompass a myriad of Optimism resources. Would that align with any ongoing efforts here?
Cheers,
Maxime

Hi everyone, I thought it wouldn't be a bad idea to also share here on GitHub that I built the 'Optimism Resource Center' some time ago to consolidate all resources related to Optimism governance into a single place. Visit the page here: https://optimism.help
It's, to a large extent, inspired by this Ecosystem Project Idea, however I did not include resources related to the OP Stack for now, and focused exclusively on governance. That will probably change in the future, but can't give a definite timeline yet.


Support PlatformColor in borderColor on Android

Summary
PlatformColor should work on all *color style attributes on all platform.
Partially fixes #32942
Changelog
[Android] [Fixed] - Support PlatformColor in borderColor
Test Plan
Open rn tester (USE_FABRIC=false) platform color api examples. Without the changes to ViewProps.java, it will error out.

Hi @NickGerleman, thanks for importing the PR. Is there anything I can do about the Internal Linter warning?


Make the "Run" menu remember the selection

When I am using the non-"Run" modes in the "Run" menu, like generating assembly or LLVM IR, I usually don't do that just once. I write some code, ask for the IR, but then there's a type error so I fix that, ask for the IR, see something, tweak the code, ask for the IR again to see the effect that has, and so on.
Currently, every time I want to update, I have to go to the submenu again and find the right entry. It would be great if that menu could remember what I used, so I only have to click once for subsequent re-generation of the IR.

Hmm, I'm surprised that this issue doesn't already exist. We pretty much planned on adding this after the recent UI revamp; I guess you are the first person to care enough to actually file an issue!


Destinations service keeps complaining about external name not being valid IP

When resolving an ExternalName service, the IP is resolved but the logs complain about the IP.
Reproducing
Env:
<EMAIL_ADDRESS>git rev-parse HEAD
1ed4a93b5ecf68ceb758c7f375e9eb528c689849
<EMAIL_ADDRESS>go version
go version go1.10 darwin/amd64
<EMAIL_ADDRESS>minikube status
minikube: Running
cluster: Running
kubectl: Correctly Configured: pointing to minikube-vm at <IP_ADDRESS>
<EMAIL_ADDRESS>minikube version
minikube version: v0.25.0
<EMAIL_ADDRESS>kubectl version
Client Version: version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.4", GitCommit:"9befc2b8928a9426501d3bf62f72849d5cbcd5a3", GitTreeState:"clean", BuildDate:"2017-11-20T05:28:34Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"", Minor:"", GitVersion:"v1.9.0", GitCommit:"925c127ec6b946659ad0fd596fa959be43f0cc05", GitTreeState:"clean", BuildDate:"2018-01-26T19:04:38Z", GoVersion:"go1.9.1", Compiler:"gc", Platform:"linux/amd64"}

Run destination service locally using something like  $ ./bin/go-run controller/cmd/destination -kubeconfig ~/.kube/config -log-level debug
Deploy an ExternalName service like below:

kind: Service
apiVersion: v1
metadata:
  name: test-service
  namespace: default
spec:
  type: ExternalName
  externalName: conduit.io

Run the client script like this: $  bin/go-run  controller/script/destination-client/main.go -path  test-service.default.svc:80 -addr :8089

What happens:
The client receives the correct IP:
INFO[0000] Add:
INFO[0000] - <IP_ADDRESS>:80
INFO[0000] - <IP_ADDRESS>:80
INFO[0000]

But this message is displayed in the destination services log:
...
INFO[0001] [endpoints watcher] initialized
INFO[0001] [endpoints watcher] initialized
INFO[0001] Adding ipv4 name resolver
INFO[0001] Adding k8s name resolver
INFO[0001] starting gRPC server on <IP_ADDRESS>:8089
INFO[0001] serving scrapable metrics on :9999
DEBU[0007] Get scheme:"k8s" path:"stat-test-t2-svc.conduit-stat-test.svc.cluster.local:80"
INFO[0007] Establishing watch on endpoint conduit-stat-test/stat-test-t2-svc:80
DEBU[0082] Updating conduit-stat-test/stat-test-t2-svc:80 to [<IP_ADDRESS>:80,<IP_ADDRESS>:80,<IP_ADDRESS>:80,<IP_ADDRESS>:80,<IP_ADDRESS>:80,<IP_ADDRESS>:80,<IP_ADDRESS>:80,<IP_ADDRESS>:80]
DEBU[0082] Updating conduit-stat-test/stat-test-t2-svc:80 to [<IP_ADDRESS>:80]
DEBU[0155] Updating conduit-stat-test/stat-test-t2-svc:80 to []
DEBU[0158] Updating conduit-stat-test/stat-test-t2-svc:80 to []
DEBU[0159] Updating conduit-stat-test/stat-test-t2-svc:80 to [<IP_ADDRESS>:80]
INFO[0221] Stopping watch on endpoint conduit-stat-test/stat-test-t2-svc:80
DEBU[0245] Get scheme:"k8s" path:"<IP_ADDRESS>:80"
DEBU[0267] Get scheme:"k8s" path:"example.org:80"
DEBU[0732] Get scheme:"k8s" path:"test-service.default.svc:80"
INFO[0732] Establishing dns watch on host conduit.io
INFO[0732] 2400:cb00:2048:1::6818:658f is not a valid IP address
INFO[0732] 2400:cb00:2048:1::6818:648f is not a valid IP address
INFO[0742] 2400:cb00:2048:1::6818:658f is not a valid IP address
INFO[0742] 2400:cb00:2048:1::6818:648f is not a valid IP address
INFO[0752] 2400:cb00:2048:1::6818:658f is not a valid IP address
INFO[0752] 2400:cb00:2048:1::6818:648f is not a valid IP address
INFO[0762] 2400:cb00:2048:1::6818:658f is not a valid IP address

What did I expect to happen
No log message as this is a valid IP.

Heyyy, so I think 2400:cb00:2048:1::6818:648f  is the IP address that is given to ParseIPV4in utils be resolved, and it's not resolvable. It does take the valid ip addr - <IP_ADDRESS> sometimes and when that happens, it doesn't log anything, which is the expected output.  just FYI , and i am doing more investigation to see who is the culprit щ（ﾟДﾟщ）

2400:cb00:2048:1::6818:648f is an IPv6 address.
With respect to this specific issue, we may be able to resolve this by following the course of action suggested at https://github.com/runconduit/conduit/issues/571#issuecomment-379356516: remove the DNS logic from the control plane. We should figure out if that will work before doing significant work here.
However, regardless of that, we should look at any IP address parsing we are doing in our Go code and make sure it is IPv6-capable or at least IPv6-tolerant.

@briansmith will implementing a ipv6 parser in util.go and have dns.go call both(ipv4+6parse) to determine if an ip is valid solve this issue? i.e. will that make it "IPv6-capable or at least IPv6-tolerant" ?

#727

This code was removed in PR #764.


Support tree-sitter based code folding

It would be great to utilize tree-sitter for code folding detection. This was done in atom with great success, especially for C based projects with #if pre-processor commands on column zero in the middle of deeply nested code.
I tried my best to search for an existing issue for this, but the closest I found was #50140 which is using tree-sitter for syntax highlighting.

It would be straightforward to add this to https://github.com/georgewfraser/vscode-tree-sitter . The hard part of creating and mantaining the tree-sitter syntax tree is done, we just need to implement a FoldingRangeProvider

I'm actually already using tree sitter to fold with my language server.
https://github.com/elm-tooling/elm-language-server/blob/master/server/src/providers/foldingProvider.ts

The idea is that language aware folding providers are contributed by language extensions.
Typically a language extension runs a language server that already parses the file for other features, so it can easily also emit folding regions. And of course if can also do this using treesitter.
-> If you miss a language aware folding regions, make a request against a language extension of your language to add this.
Having this provided by an extension like https://github.com/georgewfraser/vscode-tree-sitter is also a good idea, except that I think it would be better to have an extension per language so users can avoid conflicts by selectivity installing and uninstalling extensions.


Depend on transform-es2015-modules-commonjs, mentioned in .babelrc

Our .babelrc uses:
  "env": {
    "test": {
      "plugins": ["transform-es2015-modules-commonjs"]
    }

But transform-es2015-modules-commonjs is never mentioned in package.json.
Making sure it is :).

Uh, yeah, sorry about that, my defaults are not sui or v2v defaults :)
Updating to ^ :)


Fix show_settings tests not to be affected by system configs

Summary
Override XDG_CONFIG_DIRS in show_settings tests, in order to ensure that they don't pick system configuration, and therefore fail due to value mismatches.  This specifically addresses test failures on Gentoo where a default /etc/xdg/uv/uv.toml is installed, and users are free to modify it.
Prior to #9914, we used to set XDG_CONFIG_DIRS locally before running the test suite.  However, since the test now wipes the environment, the problem can no longer be resolved downstream.
Test Plan
cargo test on a Gentoo system (with /etc/xdg/uv/uv.toml present).

Confirmed that the updated version works. Thanks a lot!


az containerapp up fails to create resource group when the containerapp extension is present.

Describe the bug
If a resource group is specified in an az container app up command, but does not exist, the command creates it if the containerapp extension is not installed. If the extension is installed, the command fails:
az containerapp up --resource-group my-fastapi-aca-rg --name my-aca-app
--ingress external --target-port 3100 --location eastus --source .
The behavior of this command has been altered by the following extension: containerapp
(ResourceGroupNotFound) Resource group 'my-fastapi-aca-rg' could not be found.

It seems like the command should behave the same regardless of whether the extension is present or not;
Related command
az extension add -n containerapp
Errors
The behavior of this command has been altered by the following extension: containerapp
(ResourceGroupNotFound) Resource group 'my-fastapi-aca-rg' could not be found.
Issue script & Debug output
The command didn't create the resource group. (Debug output is too long to attach >65k characters.)
az containerapp up --resource-group my-fastapi-aca-rg --name my-aca-app --ingress external --target-port 3100 --location eastus --source .
Expected behavior
The command creates the resource group.
Environment Summary
azure-cli                         2.59.0
core                              2.59.0
telemetry                          1.1.0
Extensions:
containerapp                      0.3.50
rdbms-connect                      1.0.5
serviceconnector-passwordless               1.0.3
Dependencies:
msal                              1.27.0
azure-mgmt-resource             23.1.0b2
Python location 'C:\Program Files\Microsoft SDKs\Azure\CLI2\python.exe'
Extensions directory 'C:\Users<username>.azure\cliextensions'
Python (Windows) 3.11.8 (tags/v3.11.8:db85d51, Feb  6 2024, 22:03:32) [MSC v.1937 64 bit (AMD64)]
Legal docs and information: aka.ms/AzureCliLegal
Your CLI is up-to-date.
Additional context
Environment output is from Windows command shell, but got the same behavior in CloudShell Bash environment.

Thank you for opening this issue, we will look into it.

Hi @JimacoMS4
Thanks for reporting this issue. I will take a look for it.


Update glossary entry for Xcode

The current glossary entry for Xcode is a copy of the preceding webpack entry. I have updated the entry with what I believe is an accurate definition.

Thanks!

You got it!


[BUG] inconsistency in log on starting template server

Describe the bug
In the configuration file config.yaml the attribute template_base is specified, however the log of does not show the correct host
Egress Version
1.8.4
Egress Request

Additional context
I have reviewed the source code and everything indicates that at the time of lifting the server the log message has not read the template_base.

This is just starting the default template server - if you are using a custom template URL, this one will not be used


takeLatest waits for previous promises to be resolved before resolving last promise.

This is more like a question
I am making api call using takeLatest and everything works perfectly fine as excepted but if I make 10 api calls at the same time it picks up the 10th one as returns the result but before returning the result it waits for all the api calls to be resolved I don't know how to overcome this problem. Am I making any mistake?
I tried it with delay in codesandbox here https://codesandbox.io/s/0x143670v and its seems to be working fine as expected but it with real network call it doesn't here is the youtube link https://youtu.be/gl92JMmN2Sk
I am using this same code as code I have given above except I am making real api call instead of delay.
/**
 * Gets the repositories of the user from Github
 */

import { call, put, select, takeLatest, takeEvery } from 'redux-saga/effects'
import { LOAD_REPOS } from 'containers/App/constants'
import { reposLoaded, repoLoadingError } from 'containers/App/actions'

import request from 'utils/request'
import { makeSelectUsername } from 'containers/HomePage/selectors'

/**
 * Github repos request/response handler
 */

export function* getRepos() {
  // Select username from store
  const username = yield select(makeSelectUsername())
  const options = {
    method: 'GET',
    mode: 'cors',
    cache: 'no-cache',
    credentials: 'same-origin',
    headers: { 'PRIVATE-TOKEN': 'z8f89iatcYzSSrg8A-gd' }
  }
  const ul = `api_url`

  try {
    // Call our request helper (see 'utils/request')
    const repos = yield call(request, ul, options)
    console.log('REYANSH', repos)
    //   yield put(reposLoaded(repos, username))
  } catch (err) {
    yield put(repoLoadingError(err))
  }
}

/**
 * Root saga manages watcher lifecycle
 */
export default function* githubData() {
  // Watches for LOAD_REPOS actions and calls getRepos when one comes in.
  // By using `takeLatest` only the result of the latest API call is applied.
  // It returns task descriptor (just like fork) so we can continue execution
  // It will be cancelled automatically on component unmount
  yield takeLatest(LOAD_REPOS, getRepos)
}

This is how my saga looks.

Hi, not sure what do u mean - according to the youtube recording all previous requests get cancelled correctly. Maybe your API hangs on cancelled requests for too long? redux-saga certainly won't work for cancelled tasks to finish before returning your "10th" result.

@Andarist Ohh got it thanks


Hidden tags visible in "Select a tag"

Newsbeuter version (copy from newsbeuter -v):
newsbeuter 2.10-f8db
System: Linux 4.10.8-1-ARCH (x86_64)
Compiler: g++ 6.3.1 20170306
ncurses: ncurses 6.0.20170128 (compiled with 6.0)
libcurl: libcurl/7.53.1 OpenSSL/1.0.2k zlib/1.2.11 libpsl/0.17.0 (+libicu/58.2) libssh2/1.8.0 (compiled with 7.53.1)
SQLite: 3.18.0 (compiled with 3.18.0)
libxml2: compiled with 2.9.4
Steps to reproduce the issue:

Add a hidden tag to a feed. (open urls file) and add "!hidden" to some url.
Open newsbeuter and type 't' to Select a tag:
Now, you can see the hidden tag, but when you try to open it, the feed is empty.

Proposed solution:

hidden tag should be hidden from "Select tag" and only visible when defined in a query

Hi. What's going on here?

Sorry, my browser went nuts.

I'm in two minds about this.
On one hand, the docs don't say that tags starting with "!" are "hidden tags", so this isn't a bug.
On the other hand, I don't see why the act of hiding a feed and the act of tagging it were lumped up into one feature, i.e. tagging with a tag that starts with "!".
Can you explain how you're using these tags so I can understand the problem better and think of a proper solution?

From the manual:

Another special type of tag are tags that start with the exclamation mark. When
such a tag is found, the feed is hidden from the regular list of feeds and its
content can only be found through a query feed.
http://rss.orf.at/news.xml "!ORF News (hidden)"

I thought that I'm going to use that feature to hide non-important feeds and then create a query feed to list them. Currently, the "hidden" tags are listed (and empty) in tag view screen.
I'm okay with that feature being removed, then I'll find a different way of organising feeds.


Is this a nativeflier issue or .js issue?

I'm currently trying to run ./nativeflier.js but I seem to keep getting permission denied.
It seems to also be happening in localtunnel as well.
And only in Mint 18.1

I'll see if I can find a length error report. Thanks for the patience.

./nativefier.json: line 2: name:: command not found
./nativefier.json: line 3: targetUrl:: command not found
./nativefier.json: line 4: badge:: command not found
./nativefier.json: line 5: width:: command not found
./nativefier.json: line 6: height:: command not found
./nativefier.json: line 7: showMenuBar:: command not found
Are there certain dependencies I'm missing?

Hey @LWFlouisa. Just provide the information requested in the issue template please.

@LWFlouisa JSON files are not executables, I suspect you are not invoking the command correctly.

Ah ok, how do I do that? I'll look up a bit in the source material.^ ^

I resolved the issue, it seems to be working now.


[1.12.2] Cannot Remove Manufactory Recipes

Well I wanted to remove the Silicon recipe that the Manufactory has, but it doesn't work and gives me: No such member:nuclearcraft

Could you paste the line of script you're trying to use?

mods.nuclearcraft.manufactory.removeRecipe(appliedenergistics2:material:5);

Hmmm - don't know the answer to that one - I'll look into it.

I have the same problem and while checking something else with CraftTweaker I did a /ct dumpzs and NuclearCraft wasn't listed under Root/mods.
Here is my CraftTweaker's Registered Modlist:
https://i.imgur.com/WG7PUFC.png


vendir: 0.30.0 -> 0.31.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/vmware-tanzu/carvel-vendir/releases.
meta.description for vendir is: "CLI tool to vendor portions of git repos, github releases, helm charts, docker image contents, etc. declaratively"
meta.homepage for vendir is: "https://carvel.dev/vendir/"
meta.changelog for vendir is: ""
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.31.0 in filename of file in /nix/store/5jnzdh8xgrkibxaa5qlfraslv41rbx7g-vendir-0.31.0

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
vendir

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/5jnzdh8xgrkibxaa5qlfraslv41rbx7g-vendir-0.31.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A vendir https://github.com/r-ryantm/nixpkgs/archive/edba148bff6a062af3f448a8980711ec80c192ab.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/5jnzdh8xgrkibxaa5qlfraslv41rbx7g-vendir-0.31.0
ls -la /nix/store/5jnzdh8xgrkibxaa5qlfraslv41rbx7g-vendir-0.31.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

vendir

Maintainer pings
cc @russell for testing.

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

1 package built:

vendir


AppConfigurationPolicy_Export.ps1 doesn't work as intented.

It creates one .json file with Null in it and just loops overwriting the same file.

Fixed in https://github.com/microsoft/mggraph-intune-samples/commit/37a1f8a3c6890aa7b97d2daf7ba6b0a7546fc0a9


Remove unused variables

Removed some left over variables that don't get used.

Thanks for the PR! this got fixed in bb7dd00


Cairo-run should not build the package

Problem
Docs:

The scarb cairo-run command executes the main function of a local package. It does not compile any cairo code within the package so using scarb build beforehand is necessary.

(https://docs.swmansion.com/scarb/docs/extensions/cairo-run.html#using-cairo-run-in-scarb-projects)
Actual code:
https://github.com/software-mansion/scarb/blob/dc2e88b36e9109803cff222cf6197d4be0b33ff1/extensions/scarb-cairo-run/src/main.rs#L44
Steps
No response
Possible Solution(s)
I suggest removing the build from cairo-run as it would allow to run code compiled by custom plugins. Currently you have to reimplement both build and cairo-run to do that.
Notes
No response
Version
2.3.1, also current main

Hi!
Thanks for this report. We will update the docs and an option to skip build.


Update Composer dependencies (2021-07-30-00-12)

Visual regression test passed!
View the visual regression test report


docs: added mkdocs webpage

run Markdown files through formatter
assets were copied into docs, not sure if they could be moved
README links were fixed, out of date and broken
GitHub Action added

I'll close this and reopen a PR within the repo not the fork


Awesome plugin! I would like to help in project for translating in french the documentation

中文用户请注意：请尽量用英文描述你的 issue，这样能够让尽可能多的人帮到你。
If you want to report a bug, please provide the following information:

The steps to reproduce.
A minimal demo of the problem via https://jsfiddle.net or http://codepen.io/pen if possible.
Which versions of APlayer, and which browser / OS are affected by this issue?

Feel free to pull requests, thanks.


Extremely long training time

Dear DRAFTS developers,
I am facing the issue of an extremely long training time for the detection model.
When I tried running
python binary_train.py resnet18 BinaryNet
It takes > 30 mins for just one epoch to complete training.
Is this time normal? Is there any way I can make it faster?
Thank you.
Best regards,
Simon Ho

I found out you can increase the number in num_workers in centernet_train.py to speed up the training process:
    train_loader = torch.utils.data.DataLoader(train_data, batch_size=batch_size, shuffle=True, num_workers=8, pin_memory=True)
    val_loader   = torch.utils.data.DataLoader(val_data,   batch_size=batch_size, shuffle=True, num_workers=8, pin_memory=True)

I found out you can increase the number in num_workers in centernet_train.py to speed up the training process:
    train_loader = torch.utils.data.DataLoader(train_data, batch_size=batch_size, shuffle=True, num_workers=8, pin_memory=True)
    val_loader   = torch.utils.data.DataLoader(val_data,   batch_size=batch_size, shuffle=True, num_workers=8, pin_memory=True)

The training data for the binary classification model in DRAFTS underwent random RFI augmentation and random data merging (randomly combining 1-5 data samples). These randomization processes can take up a significant amount of training time.
If you are training on a Windows system, please set num_workers to 0 (since the implementation of multiprocessing on Windows differs from Linux). If you have access to a powerful Linux server, it's recommended to increase num_workers as much as possible. Generally, setting num_workers to a value equal to the batch_size or half of it can optimize computational efficiency. Additionally, setting pin_memory to True can speed up training starting from the second epoch.


Deep copy of value is skipped when the map entry key is zero value.

I have a map field in a structure that might contain an entry with an empty key (zero value). The clone function skips recursive deep copying if a map entry's key is zero. Is there any reason for this check !k.IsZero()?
for iter.Next() {
    k := iter.Key()
    // if key needs to be copied, copy it recursively
    if !keyIsBasic && !k.IsZero() {
        newK.Set(k)
        if err := cloneNested(ctx, newK); err != nil {
            return err
        }
        k = newK
    }
    v := iter.Value()
    // if value needs to be copied, copy it recursively
    if !valueIsBasic && !k.IsZero() {
        newV.Set(v)
        if err := cloneNested(ctx, newV); err != nil {
	    return err
        }
        v = newV
    }
    // put key and value to a map copy
    res.SetMapIndex(k, v)
}

Hi! The check has a simple reason - if your key is zero, you do not need to deep copy it; you can put the zero key into the new map directly.
However, if you have some bugs because of the library, you can send me some additional information or even a test case.


Moving Motor Using Degree Commands

Hi,
I was wondering if you could explain how the send_deg_command works in the can_motorlib_test.py file. For the moving 180 degrees test, 0 degrees was passed and 90 was passed for vel_des. I'm not understanding how the motor should move 180 degrees when only a desired velocity value is used.
Thank you very much.

Hi!
send_deg_command(0, 90, 0, 2, 0) has the following arguments: position desired, velocity desired, Kp (position gain), Kd (velocity gain/damping), and feedforward/commanded torque.
Internally, the motor computes the following: (position_desired * Kp) + (velocity_desired * Kd) + feedforward_torque.
So in the can_motorlib_test.py, the above command is used which commands 90 deg/s velocity with velocity gain (Kd) as 2. As Kp is set to zero, no position control is applied. Same for zero torque.
On line 47, you can see time.sleep(2). This causes the script to wait 2 seconds before sending the next command which is zero velocity. As 90 deg/s is applied for 2 seconds, the motor is expected to rotate 180 degrees approximately if the motor parameters are correct.
hope this helps!


Are all the functions in the tutorial link supported? Not able to get \alpha working

https://math.meta.stackexchange.com/questions/5020/mathjax-basic-tutorial-and-quick-reference
I am using \( \alpha \) and it doesn't work. However, it works with indent-line $$ \alpha $$

Can't confirm the problem, I've got alpha working. I may suggest you didn't escape backslashes but that doesn't explain why you have the second variant working


Compiler perf: consider HashMap indices for “find by” queries

Currently find_object_type_by_name is implemented by iterating through all object types until a match is found:
https://github.com/apollographql/apollo-rs/blob/c99504406c669e394a53045bbf1f4233b59e4790/crates/apollo-compiler/src/database/document.rs#L156-L166
Many find_*_by_* methods follow the same pattern.
If there are many object types, finding them all by name would take O(n²) time. This could be brought down to O(n) if this query relied on a different queries that builds and caches a hashmap of all object types, with their names as keys. (In this case, find_object_type_by_name might even be better off not being a query at all since salsa’s caching would be redundant) is_subtype uses a similar pattern with subtype_map.
The tradeoff is additional cost building the index if it ends up not being useful, for example if there are many object types but only one of them is ever fetched by name.

This is a good thing to consider!
a small note on find_object_type_by_name being cached - we can add an attribute that does not store this query in the cache with #[salsa::transparent]. still keep the nice interface, but don't waste our storage facilities if we really think we will never want to find the same object type ever again.

This was done in https://github.com/apollographql/apollo-rs/pull/387 and https://github.com/apollographql/apollo-rs/pull/403

find_directives_by_name is a filter iterator, effectively a linear scan. IndexMap is used for things where duplicate names are invalid.


Unable to connect to the database. We will attempt to use the API instead

Getting this even after resetting sublert:
Unable to connect to the database. We will attempt to use the API instead

@jaikishantulswani, it's not a sublert problem but it looks like crt.sh is not accepting connections on port 5432 for some time now, not sure what's happening but i'm hitting this with my tools too.

@manuelbua @yassineaboukir but by running https://crt.sh/?q=%.example.com&output=json directly on a web browser showing results.
Can you please let me know why the same is not performing in sublert

Hi,
I have the same error than @jaikishantulswani if I add more than 6 domains to sublert.
Thank's

Also have the same issue. Seems like it's not switching to the API when DB connection is not available.

@yassineboukir im also having the same issue when using a large list of domains.
Script seems to have broken as im also getting rate limiting errors.

Hi,
This should now be fixed. Please clone the new repo.
Thanks!


Watchman link in prerequisites is not working

The right link is https://facebook.github.io/watchman/docs/install (without .html)

@Ronanb3 thank you! the link has been fixed


how to set parameters of graphdr function

Hi
I am using graphdr function with the following parameters;
The graphdr map looks strange than my umap, is there is a way to adjust for graphdr function?
dr = graphdr(pca50, n_neighbors=15,_lambda=10, refine_threshold=10,refine_iter=6, no_rotation=False,rescale=False)
My original umap looks like:

GraphDR CODE:
import plotnine
plotnine.options.figure_size=(20,15)
from plotnine import *
import warnings
warnings.simplefilter("ignore")

p = ggplot(pd.DataFrame({'x':-dr[:,0], 'y':dr[:,1],
            'c': adata_T2D_HC_PT.obs['T2D_HC']}))+geom_point(aes(x='x', y='y', color='c'),size=0.01, alpha=1)+ guides(color=False)+  theme_void()+scale_color_hue(l=0.6,h=15/360,s=0.8)

p

WHICH looks like

Thanks for trying GraphDR! The plot you showed seems to divide cells into two compartments. if that's not what you want, you can reduce refine_threshold  and refine_iter or turn it off to preserve more graph edges.
Other parameters that will affect the look the most are _lambda (you can equivalently use regularization to set it and leave _lambda as default, using regularization is recommended because you usually need similar regularization parameters for different datasets but the proper _lambda can be dataset dependent). You may also decide how many PCs to use with GraphDR (for datasets with fewer reads, sometimes using a lower number of PC is better, but usually it is quite robust to the number of PCs).
If the first two dimensions do not give the best look for you, you can also try higher dimensions (I would also try with no_rotation=True to keep the PCA dimensions), or if you like, use 3D visualization. In addition, there are ways to find a good linear rotation that best separates your cell type, such as linear discriminant analysis/LDA.  An example that applies LDA with GraphDR could look like
dr = graphdr(pca50, no_rotation=True, ...)
lda = LinearDiscriminantAnalysis()
dr_lda = lda.fit_transform(dr, celltype_label)

Sorry, actually refine_threshold should be higher, not lower, in order to avoid cutting off too many graph edges. I would just set refine_iter=0 as a starting point.  If it still looks similar, I would suspect this actually reflects what the data looks like (you can also compare it with what PCA shows).

pca50 = adata_T2D_HC_PT.obsm['X_pca']
pca50 = pca50/pca50[:,0].std()
dr = graphdr(pca50, n_neighbors=15, refine_threshold=10,refine_iter=0, no_rotation=True,rescale=False)

@jzthree does it makes sense comparing graphdr and pca using n_neighbors=15, refine_threshold=10,refine_iter=0, no_rotation=True,rescale=False

It should give results comparable with your input (which I assume was PCA). One way to check that is if you use smaller and smaller regularization parameter, it will gradually converge to your input. With regularization=0, it should just return your input.

@jzthree thank you, what is the default value of regularization? or it differs by dataset,
which line of code to get it?

The default now is regularization=100 https://github.com/jzthree/quasildr/blob/c5ccfbafaed855e55bf8d0396591cb6e2a3e0384/quasildr/graphdr.py#L436


Make LiveDevMultiBrowser's Launcher instance configurable via public set Launcher() method

We're working on using the new LiveDevMultiBrowser code to allow an in-browser Brackets to use an iframe-based browser and postMessage-based protocol, see https://github.com/humphd/brackets/issues/27.  One of the snags we've hit is that we need a way to override how the default browser is launched, and the Launcher is currently not configurable.
This patch follows the same pattern currently in place for swapping the protocol's transport (which we also make use of in order to use postMessage to/from the iframe), and adds a setLauncher() method.  If you'd consider this API change, we'd be able to get our own iframe-based launcher hooked into live dev.
cc @busykai, @sebaslv, @sedge

@humphd, looks good to me having this mechanism to dynamically set a different Launcher instance. We have a unique launcher instance now to make it compatible with CDT-based live dev UI but, in the near future we would like to decouple launch mechanism from live dev session to better support launching multiple clients per session.
Just curious, have you consider some way of static configuration also for your use case? I mean, something like having a pref that allows setting the Launcher instance to be loaded during initialization  rather than always loading DefaultLauncher and then dynamically swapping it?

OK, great.  Using this patch (which I landed on our brackets fork), we've just today been able to get Live Dev working in the browser with an iframe and postMessage--it's awesome :)  It would be great if you'd take this patch upstream so we don't have to modify brackets at all to make it work.
Regarding your other question, I've been wondering about that too.  I don't love the idea of doing it with prefs, since that still forces changes in brackets proper, and isn't something you can do from an extension.  I like the model you have with the live dev server manager, where you can register a server with a priority.  In an ideal world, it would be great if an extension could somehow provide the transport, launcher, and maybe a few other internal implementations for Live Dev, and have Live Dev's init use these instead of starting with the defaults and then being forced to switch them.  It's a bit of a pain to switch them, because you have to get the timing right, or your transport/launcher get overwritten by the defaults again.
I had the same issue with swapping out my in-browser filesystem (https://github.com/filerjs/filer) for the appshell's impementation, which requires me to change the brackets source internally.  It would be great if there was a way for extensions to override more of the internal code, but that's a larger issue, and I don't want to block this bug on figuring that out if possible.

Sorry I haven't been able to get to this for a little while. I'll review and merge this code. We'd want to have as little diffs as possible with the mainstream Brackets. As for static configuration, we'll consider it as the next step (this one may actually help it).

@humphd, looks good, only one minor comment.

Thanks, fixed.

Ugh. Fixed.

@busykai ping?

Looks good! Merging. Sorry for the delay.

Great, thanks!


dependencies: bump app-rdm and rdm-records for release 0.7.0

Requires https://github.com/inveniosoftware/cookiecutter-invenio-rdm/pull/62
closes https://github.com/inveniosoftware/cookiecutter-invenio-rdm/issues/63

Coverage remained the same at ?% when pulling 848b551e5a44504558750d2408313b244a227091 on ppanero:release into c973f74f62a748913bf4e855d4cdb750f71010c8 on inveniosoftware:master.

Coverage remained the same at ?% when pulling 848b551e5a44504558750d2408313b244a227091 on ppanero:release into c973f74f62a748913bf4e855d4cdb750f71010c8 on inveniosoftware:master.

Missed that one. For cookiecutter (this repo) it should be version 0.7.0 i.e. these changes should be merged back into branch v0.7.0

Fixed commit message, states 0.7.0 now. PR for v0.7.0 brach: https://github.com/inveniosoftware/cookiecutter-invenio-rdm/pull/62

Build passes but Travis isn't being updated here...


yarn start gives error

Operation System: Arch Linux
Beaker Version: master of safe_browser
Following the exact steps in the README leads to yarn start giving the following output:
Error: Dynamic Symbol Retrieval Error: /home/benno/safe_browser/app/node_modules/safe-app/src/native/libsafe_app.so: undefined symbol: test_create_app
    at DynamicLibrary.get (/home/benno/safe_browser/app/node_modules/ffi/lib/dynamic_library.js:112:11)
    at /home/benno/safe_browser/app/node_modules/safe-app/src/native/lib.js:27:42
    at Array.forEach (native)
    at Object.<anonymous> (/home/benno/safe_browser/app/node_modules/safe-app/src/native/lib.js:23:5)
    at Object.<anonymous> (/home/benno/safe_browser/app/node_modules/safe-app/src/native/lib.js:51:3)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)
A JavaScript error occurred in the main process
Uncaught Exception:
Error: Dynamic Symbol Retrieval Error: /home/benno/safe_browser/app/node_modules/safe-app/src/native/libsafe_app.so: undefined symbol: test_create_app
    at DynamicLibrary.get (/home/benno/safe_browser/app/node_modules/ffi/lib/dynamic_library.js:112:11)
    at /home/benno/safe_browser/app/node_modules/safe-app/src/native/lib.js:27:42
    at Array.forEach (native)
    at Object.<anonymous> (/home/benno/safe_browser/app/node_modules/safe-app/src/native/lib.js:23:5)
    at Object.<anonymous> (/home/benno/safe_browser/app/node_modules/safe-app/src/native/lib.js:51:3)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)

This also happens with yarn run watch.

@b-zee When safe-app loads libsafe_app library, it dones't find test_create_app function in it. If you are using mock-routing, build the library with testing features with following command cargo build --features "use-mock-routing testing".

@b-zee Just noticed that you are using Arc-Linux which we don't support for now. But give a try with above solution.

I'm having the same issue on my Mac. Guess I'll give it a try on my Windows machine

Where can I build the library manually? With NPM, NODE_ENV=dev had to be passed which apparently built the library with the mock router. Is there a way to provide yarn with options for the SAFE client library?

@b-zee remove node_modules and app/node_module folder, set NODE_ENV=dev and install the dependencies. Now try running the browser.

Still encountering the issue for both npm and yarn. Please advise.

@b-zee , @mnoster , can you please pull latest code from the Browser's master branch and try again as this should have been solved now.
Please make sure you clean your node_modules and app/node_modules folders, and make sure you have the NODE_ENV=dev env variable set up for building. Then run yarn install && yarn run rebuild && yarn run build.

@bochaco, it builds fine!
However, the browser freezes once I authorise the SAFE browser app. When I restart the browser, it's listed as authorised, but the overlay asks me to authorise it again. A test application seems to not be able to find any requested data. window.safeApp.refreshContainersPermissions for example.
Something seems off with the mock vault?

Thanks @b-zee . We are aware of the other issues you mentioned, they issue with the browser hanging is tracked with https://maidsafe.atlassian.net/browse/MAID-2275, and the one about refreshing container access is believed to be due to the issue tracked with https://maidsafe.atlassian.net/browse/MAID-2262 which seems to be only with the the mock.
The overlay is being shown because you must have the lock option locked, so any app that requests access triggers the popup/overlay. Although, you are bringing up a good point, perhaps this case of the browser's app (which is the one that stores your bookmarks and history) must probably be an exception to the lock option rule. I'll raise this internally for consideration.

I did not have the lock option locked, on opening the browser window it will ask me to authorise, no matter whether it's locked or not. My test application does not seem to get a response from window.safeApp.authorise. The application will not lead to an authorisation window pop-up.
I can not view the authorisation page of the SAFE browser app (which shows which permissions are given per container to the app).
Thanks for the effort!
I did not have these issues the past week with commit 7dbcf8658670301d99bff4e9e3b67fc7a7266503.

The issue with building the browser were all solved.
@b-zee , if you still facing some other issues please raise them in separate tickets, thanks a lot for your help!!


Feature: Support for messages on damage rolls of features/spells with no attack rolls

Add support for a flag like flags.adv-reminder.message.damage.other for showing messages if there's no attack.
Currently you can only do it with flags.adv-reminder.message.damage.all, but it includes features/items with attacks.

When I added the messages for damage rolls, I just copied the critical role flags. I can easily get all the other action types and add message support for those.

I can get them from CONFIG.DND5E.itemActionTypes

Looks like they already work, lucked out there. For example, I created an effect with flags.adv-reminder.message.damage.save and it showed the message when I rolled damage on a spell with a saving throw (e.g. Sacred Flame).
There is an integration with DAE so these flags show up in the drop-down. I'll update that so they show up. I'll also double-check the documentation on the Wiki so it shows there too.


new utterance for force side

Works:
was kylo ren a jedi or a sith
Kylo Ren was on the dark side, and so was a Sith

Does not work:
was kylo ren a jedi
Kylo Ren is from the planet Chandrila

added the utterance in console


Need access to configured Expiry

Requirement for #1148.
CacheConfiguration<?, ?> cacheConfig;
Expiry<?, ?> expiry = cacheConfig.getExpiry();

We would need to get the expiry type plus the values configured.

Expirations declares all expiry implementations as private
We cannot get the duration values configured

(CC @GaryWKeim for usability)

Can you describe what you want to do with that? And what is the plan for custom user expiry?

It's for #1148. We need to expose the cache manager and caches configuration through management. So currently, there's a lot of configuration not directly available or easily available from the ehcache runtime configuration.
Expiry is one but there's a lot more (i.e. clustering)
You can see some code that I currently did in my branch:
https://github.com/mathieucarbou/ehcache3/blob/97b7a5264671a80431eea675c8e246b181745ac9/management/src/main/java/org/ehcache/management/providers/settings/ExposedSettings.java
Since Ehcache does not provide in model or xml or another easy way all the configuration set by the user (programmatically or by the XML), then we need to do a lot of ugly reflection at the moment.
We already discussed that with @anthonydahanne and @lorban : we did not find a better way to do this, and at least warn / open an issue when we encounter some usability issue such as the Expiry thing.

UPDATE: in case of custom expiry, then we will only show the Expiry class name (type). But is we know that we can get more information (configured) from known expiry (i.e. ttl, time to idle, etc) then we would like to be able to read the static values set :-)

UPDATE 2:
I guess we probably don't need to access the core values. But we at least need to output the Expiry type, plus some other information describing it. It could be done like it's done in BaseClusteredResourceType.toString() : by adding toStrings into TimeToLiveExpiry, TimeToIdleExpiry and NoExpiry. Because just having the toString() on BaseExpiry with all 3 durations is too technical.

spoke to @ljacomet : we won't need it: it will be handled by #951


C# generator - Add GeneratedCodeAttribute attribute to generated service class

GeneratedCodeAttribute is much easier to work with than some arbitrary region or xml-doc which are the measures used at the moment.
This improvement solves real world use case, if you check your codebase using Roslyn and try to filter out tool-generated code. It's quite clumsy to do it at the moment ( relying on regions or xml-doc ).
Using attribute GeneratedCodeAttribute is the usual way to mark such code in .NET world.

I can reopen if I hear back from the contributor.


⚠ Bofrost.lu has degraded performance

In c470943, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 2217 ms

Resolved: Bofrost.lu performance has improved in a9bcb9e.


Add pigz to integTest images for OpenSearch/Dashboards

Description
Add pigz to integTest images for OpenSearch/Dashboards
Issues Resolved
https://github.com/opensearch-project/opensearch-build/issues/4036
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

https://build.ci.opensearch.org/job/docker-build/3908/console
https://build.ci.opensearch.org/job/docker-build/3909/console


⚠ ClamAV has degraded performance

In bab9c60, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 75 ms

Resolved: ClamAV performance has improved in a517ebc.


The state is always detached after changing the channel

Describe the bug A clear and concise description of what the bug is.
After change the channel, then the state is always detached can not be leader or router ...
To Reproduce Information to reproduce the behavior, including:
thread stop
channel 15
state

Git commit id 8b04e9c
IEEE 802.15.4 hardware platform nRF52840 USB dongle
Build steps OpenThread on nRF52840 examples
Network topology

Expected behavior A clear and concise description of what you expected to happen.
Change channel successfully and after thread start, state can be leader or router
Console/log output If applicable, add console/log output to help explain your problem.
Additional context Add any other context about the problem here.

thread stop command will stop the Thread operation.
Do you start it back (issuing thread start)?

thread stop command will stop the Thread operation. Do you start it back (issuing thread start)?

Yes, of course, I executed the command thread start; otherwise the state will be disabled.
Even when I reconnect the dongle and execute
ifconfig up
thread start

The state still be detached
logs:
> state
state
disabled
Done
> ifconfig up
ifconfig up
Done
> thread start
thread start
Done
> state
state
detached
Done
> state
state
detached
Done
> state
state
detached
Done
> state
state
leader
Done
> channel
channel
16
Done
> thread stop
thread stop
Done
> channel 18
channel 18
Done
> thread start
thread start
Done
> state
state
detached
Done
> state
state
detached
Done
> state
state
detached
Done
>
.
.
.
.

If you need to change the channel of a device that's already connected, using dataset commands and the API is the recommended approach. This typically involves working with the Pending Operational Dataset. Here are some resources that can help:

dataset CLI documentation and in particular Using the Dataset Updater to update Operational Dataset section
OpenThread also offers a "channel manager" module, which provides an API to initiate a network-wide channel change. This module handles the preparation of the Pending Dataset, simplifying the process for users. channel manager CLI documention.

The channel CLI command, which corresponds to the otLinkSetChannel(), is a low-level API primarily designed for testing purposes. When this command is used, any previously saved Active or Pending Dataset is invalidated and erased (API documenation). Employing it in the way you mention in the example can lead to unexpected behavior.


Using six library

I was going through the code and found this . Any specific reason for not using six library. I know it will add external dependency but it'll make the code cleaner and easily maintainable.

Exactly, I want no external dependencies.

But due to that, we're doing EAFP which is making it unclean. Six would make the code look clean and beautiful.


check frequency boost support on Arm

Signed-off-by: Bin Lu<EMAIL_ADDRESS>

@lubinsz Can you please update this branch?


QueryBase integration in angularfire2

title says it all :)

@jtushar53 QueryBase is an experimental project and i haven't heard anywhere around it's integration to angularfire2, so highly unlikely it will happen. If you are raising a feature request, then it needs to follow the template or else it might get closed with no response.

@jtushar53 Please follow the template :)
But Querybase returns a Firebase ref, and object and list can take a Firebase Ref in lieu of key.
const list = firebase.database().ref('list');
const query = querybase.ref(databaseRef, ['age', 'name']);
const firebaseRef = query.where({ name: 10 });
af.database.list(firebaseRef).subscribe(item => {});


Add support for break command in git rebase

The break command was added to git rebase's list of available actions in Git v2.20.
Thanks to @capnslipp for PR #50, which helped me figure out what I should change to add support for the new command.

In the regular expression you've added (^\s*(break|b)\s+$), is the \s+ part necessary?  The other commands use \s+ to separate the keyword from the commit subject or shell commands, but the new break command has no arguments— it's literally only ever break or b on its own line.

I guess I can understand making the parser as flexible as git's by eating up unintentional blank space, like how all the regexes start with ^\s*.  If that's the case, this should probably be …\s*$, not …\s+$.

I guess I can understand making the parser as flexible as git's by eating up unintentional blank space, like how all the regexes start with ^\s*.

Yup, that was my thinking.

If that's the case, this should probably be …\s*$, not …\s+$.

Good point. I'll make the change.

Merged as 5870cf3f8abad3a6637bdf69250b5d2ded427dc4, thanks!
(I squashed the two commits into one as per policy)


TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/35210

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/35959

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/38176

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/49796