Introduce API functionality for changing speed boosts on EMT traveller boots

QOL Changes:
Changed boots speed/jump percentage change rate from 0.25 to 0.1 for better configurability. Does not have issues with old boot items.
API Changes:
Added IBoots interface that is intended to be implemented by Item classes.
Speed, Jump, and Omni change packet handlers now call IBoots methods rather than the original ones.
Justification
Boots implementing IBoots can have their speed boosts changed by the player, allowing for greater control.  Especially nice with EMT's quantum boots of the traveler which can be a little too fast in some cases and have unnecessarily high jump heights. See EMT Pull Request

This PR as a whole does a whole lot of nothing, I would say reject it on that premise alone, you're already going to be hard deping thaumic boots if you're using the interface in the first place

This PR as a whole does a whole lot of nothing, I would say reject it on that premise alone, you're already going to be hard deping thaumic boots if you're using the interface in the first place

Nah I figured out how to not hard dep it. The interface is removed in the original commits but this does admitting cause a NoSuchMethod Ex without ThaumicBoots installed. This will be solved by including methods getSpeedModifier and getJumpModifier in the EMT boots class. The other default methods need not get implementented as these as only called by ThaumicBoots. A commit has already been made to fix this.
This PR is essential for allowing using the "Modulate Jump Boost", "Modulate Speed Boost", and "keybind.omniToggle" keybinds to work on EMT's boots which do not have this feature at all. Let me be clear, ThaumicBoots does not have this implemented for EMT boots, nor does it have the required interface to support the keybind in other mods.
To reiterate: its not a hard dep. Also I have personally been using this PR plus the EMT one for the past two days, They very much do something.

That's fair enough, there's no reason for IBoots to be implemented inside Thaumic Boots though, and likewise, the number of toggles should not change from 5 to 11

That's fair enough, though there's no reason for IBoots to be implemented on classes inside Thaumic Boots if they're already using ItemBoots though, and likewise, the number of toggles should not change from 5 to 11

I implemented IBoots in ItemBoots code because the IBoots methods are called by the packet handlers. Changing the packet handlers to run the IBoots methods was critical to allowing EMT boots to be controllable by the keybinds.
As for the toggles, I understand that some people constantly change their speeds, this was admittedly a personal edit as I found 25% too limiting. I like 40% jump and speed on the quantum boots. Maybe I should look into making this either a client side (would require an extension to the packets) or server side config option?

That's fair enough, though there's no reason for IBoots to be implemented on classes inside Thaumic Boots if they're already using ItemBoots though, and likewise, the number of toggles should not change from 5 to 11

I implemented IBoots in ItemBoots code because the IBoots methods are called by the packet handlers. Changing the packet handlers to run the IBoots methods was critical to allowing EMT boots to be controllable by the keybinds.

You don't have to do that to implement it though, you just need to call instanceof IBoot, it should do the exact same

As for the toggles, I understand that some people constantly change their speeds, this was admittedly a personal edit as I found 25% too limiting. I like 40% jump and speed on the quantum boots. Maybe I should look into making this either a client side (would require an extension to the packets) or server side config option?

 I'm not a huge fan of this personally

You aren't meant to keep using quantum boots regardless

@Alastors
If you're suggesting I do something like
packethandler{
  if (item instanceof ItemBoot casted){
   casted.call_original_api()
  }
  else if(item instanceof IBoots casted){
   casted.call_new_api()
  }
}

Then I'm just at a loss on that one. I went through the effort of implementing the api on ItemBoots so that the resulting packet handler code is more clean, so that I wouldn't have to do two logic branches instead of one. I did not remove the original implementation so as to avoid breaking things with mods that still use the old impl. Also every method in the interface is default/static, it make implementing it elsewhere very easy.
As for being overwhelming by introducing speed control. This is GTNH, the most overwhelming pack I've probably ever played, I'm not sure who could possibly be overwhelmed by 11 speed and jump options rather than 5 even in other packs and I don't know one person who wouldn't appreciate the ability to customize their experience even more than previously.
I'm currently in IV tier on my first playthrough. My previous armor set was Traveller's gear, it was a disaster. I made full quantum armor both as an upgrade and as a space suit alternative for my future venus trip and was not satisfied with the mobility so I made the EMT traveller boots but they were too fast. Looking for other options, I checked how your boots work and found that it was great but did not want to bother crafting another pair of boots just to use some keybinds. I wanted my boots to be more usable, so I made them more usable. I want GTNH to be a better pack for all, so I submitted a change. It doesn't just affect the Qboots either, its all the EMT boots, and any boot mod I feel like implementing this for in the future. If I wasn't meant to be using quantum boots then I guess I wasn't meant to use thaumic quantum boots either. Don't tell me and my friends how to have fun on my private server. I would ask what boots I should be using but that's not relevant to this PR.
Apologies for being potentially inflammatory, I had not realized that you're the original developer before I started this PR. I am certainly new to contributing (to GTNH hence why spotless gets me every time) but its not like I'm new to modding. I want to understand your perspective. I get that you pull some of the changes from the GTNH fork and that my changes might conflict with your original idea for TB and its codebase. I understand that I never asked for permission to do this or made a suggestion in an issue, but that's just not how I roll when I have the skills and the knowledge to do this. What I have done is given people more options and modders the ability to interact with the keybinds and packets that conveniently allow configuring mobility boots, and I have used that to make another mod compatible. In response you have been dismissive of my work (even if it is relatively small) and of my reasonable suggestions.
What have I done wrong?

@Alastors
If you're suggesting I do something like
packethandler{
  if (item instanceof ItemBoot casted){
   casted.call_original_api()
  }
  else if(item instanceof IBoots casted){
   casted.call_new_api()
  }
}

Then I'm just at a loss on that one. I went through the effort of implementing the api on ItemBoots so that the resulting packet handler code is more clean, so that I wouldn't have to do two logic branches instead of one. I did not remove the original implementation so as to avoid breaking things with mods that still use the old impl. Also every method in the interface is default/static, it make implementing it elsewhere very easy.

No, you don't have to do this, you didn't actually change method names, and ItemBoots implements IBoots, so literally all you have to do is leave the methods as they are
so what I'm suggesting is just
packethandler{
   if(item instanceof IBoots casted){
   casted.call_api()
  }
}

It's inherited

As for being overwhelming by introducing speed control. This is GTNH, the most overwhelming pack I've probably ever > played, I'm not sure who could possibly be overwhelmed by 11 speed and jump options rather than 5 even in other packs > and I don't know one person who wouldn't appreciate the ability to customize their experience even more than previously.

I should clarify, I'm the primary maintainer, and owner of Thaumic Boots as you know, so I kind of think I know what I imagined when I designed this mod, and no, I did not design this mod "to match GTNH" I designed this mod to match thaumcraft, with GTNH in mind to an extent. I absolutely disagree with the sentiment that "oh because some things in GTNH are overwhelming, we should make that the consistent norm. And no, ultimate customization is not necessarily a good thing. Games in the Soulsbourne genre go far to show the beauty in simplicity, compared to the constant overwhelming options of games such as EU4.
However, in this, I will rebuff your claim earlier that you "wouldn't have to do two logic branches instead of one."  I feel the same way man, it's why I don't want to maintain two separate versions of Thaumic Boots, and the absolute nightmare that would become. It's why I hate things being forced on me like the omnidirectional movement, where I had to add a bunch of new features just to undo that in a way that wouldn't mess with GTNH's branch.

I'm currently in IV tier on my first playthrough. My previous armor set was Traveller's gear, it was a disaster. I made full quantum armor both as an upgrade and as a space suit alternative for my future venus trip and was not satisfied with the mobility so I made the EMT traveller boots but they were too fast. Looking for other options, I checked how your boots work and found that it was great but did not want to bother crafting another pair of boots just to use some keybinds. I wanted my boots to be more usable, so I made them more usable. I want GTNH to be a better pack for all, so I submitted a change. It doesn't just affect the Qboots either, its all the EMT boots, and any boot mod I feel like implementing this for in the future. If I wasn't meant to be using quantum boots then I guess I wasn't meant to use thaumic quantum boots either. Don't tell me and my friends how to have fun on my private server. I would ask what boots I should be using but that's not relevant to this PR.

That's sort of unfortunate in my opinion, but I don't feel like this achieves that (making GTNH a better pack), though I'm not "telling you how to have fun on your server" as you say. You weren't meant to use the quantum boots because you're meant to upgrade them into thaumic boots which would've inherently given you all of these features and more. Though, if crafting a second pair of boots, the easiest of which are craftable in MV (Comet/Meteor), is too much for you, then I'm not sure how you got to IV.

Apologies for being potentially inflammatory, I had not realized that you're the original developer before I started this PR.

I mean, I don't personally see you as inflammatory? Though, I'd expect any other dev would be treated as I would be/have been.

... What I have done is given people more options and modders the ability to interact with the keybinds and packets that conveniently allow configuring mobility boots, and I have used that to make another mod compatible. In response you have been dismissive of my work (even if it is relatively small) and of my reasonable suggestions.

Apologies for being dismissive on your work. Though you haven't implemented configs in this as of this current statement, and if someone is making new boots, they should certainly use ItemBoots instead of implementing this interface, to me this interface only serves to service old boots through optional dependencies. Thaumic Boots itself is basically a glorified library mod for future expansion.

I understand that I never asked for permission to do this or made a suggestion in an issue, but that's just not how I roll when I have the skills and the knowledge to do this.

I mean, that's not how we roll when mods are actively supported outside the pack, at least not for the most part. We have a list of supported mods and their PM for a reason lmfao. It makes it a massive pain in the rear if we just merge everything with GTNH in mind for stuff that's supposed to be able to exist outside the pack. I mean, we aren't Mega.

I have so much to say, but frankly its not worth my time. Apology accepted.
Configurability added, defaults are 0.25 and 0.25 for both jump and speed change rates.


Fix dead GPT model docs link.

GPT link to the model docs is dead. Added new correct link.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.

Sure. Will do that.

Global find and replace did the trick, made the changes.

Thanks for the fix!


🐞 - Checkboxes not updated in submit mode

Which @taiga-ui/* package(s) are the source of the bug?
kit
Please provide a link to a minimal reproduction of the bug
https://stackblitz.com/edit/angular-tqgx3q?file=src/app/app.module.ts
Is this issue blocking you?
Blocking
Description
tui-multi-select attached to form control with "on submit" update mode doesn't display checkboxes correctly when selecting new items
Angular version
14.2.12
Taiga UI version
3.15.0
Which browsers have you used?

[X] Chrome
[ ] Firefox
[ ] Safari
[ ] Edge

Which operating systems have you used?

[ ] macOS
[X] Windows
[ ] Linux
[ ] iOS
[ ] Android

I think we can fix it by optionally injecting TuiControl and using its value if it exists, otherwise fallback to NgControl.


403 When getting the base image from a private registry

Hello,
I managed to push my image to my private registry, setting the configuration in the settings.xml file as per instructions.
Everything works fine if the base image is already pulled using docker pull, but I get a 403 when the base image has to be pulled from scratch.
What I don't get is why the credentials work when I push but not when I pull.
Is there something I'm missing in my reasoning? Are there two different settings for that (I hope not)?
Thanks,
Alessandro

+1

I have the same behaviour.  I have a base image located in a private registry with settings.xml correctly configured but the plugin cannot download the image from the private registry.  I have to manually pull the image prior to build.
+1

The problem is actually in the docker-client, called by the plugin. I raised the issue here:
https://github.com/spotify/docker-client/issues/157

This is now resolved by PR https://github.com/spotify/docker-client/pull/171

Closing as I think this is resolved according to @kevtaylor.


[dv/alert]  Fix cip_base_scoreboard alert checking

This PR has two commit:

Add support for async alert responser.
Fix logic error in cip_base_scoreboard:
This commit fixes logic in cip_base_scoreboard that checks alert.
Main issue is the delay, we remove the flexibility for user to set their
own delay in alert check. We need to know the accurate predict for when
alert happens in order to know if the alert request is ignored due to
alert handshake in progress

The latest force push resolves a merge conflict. No functional change.

The latest force push resolves a merge conflict. No functional change.


Add option for Developer tools inside browsers

As developer tools are used extensively by front-end developers, it's nice to hint readers that this guide also contains information about developer tools of browsers such as chrome, firefox and edge.

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

Thank you for your contribution to the page! 👍
We're happy to accept these changes, and look forward to future contributions. 🎉


[Feature Request] Aliases for play playlist

Is your feature request related to a problem? Please describe.
We are using the bot most if the time to play playlist from youtube and we use the playlist feature of the bot. But I did not find any way to set a alias for the command -play playlist
What is your ideal solution to the problem?
Use the alias for playlists = [ pls ] after the alias for play = [ p ] and like that make the command -p pls <name>
How would this feature be used?

The user would type the command <prefix><alias for play> <alias for playlists> <playlist name>
The bot would start playing the playlist

Additional Info
I don't think this is necessary, it's just quality of life.
And Your bot is the only one that really works well. Thanks
Checklist

[X] I have checked the documentation to make sure this feature doesn't already exist
[X] I have searched for similar feature requests
[X] I have confirmed that my requests is not on the list of things that will not be added
[X] I am running the latest version of the bot:

https://jmusicbot.com/config/


SSLHandshakeException: PKIX path building failed:

Discussed in https://github.com/langchain4j/langchain4j/discussions/347

Originally posted by iamuspace December 12, 2023
OpenAiChatModel.generate() error.
stand alone java application code works fine.
but,
error in web application using Glassfish web server of NetBeans IDE
I guess that SSL to api.openai.com cert.
I added api.openai.com's cert to Zulu-21 OpenJDK  security/cacerts using keytool.
The same error still occurs.
How can I solve the problem?
java.lang.RuntimeException: java.lang.RuntimeException: javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at dev.langchain4j.internal.RetryUtils.withRetry(RetryUtils.java:29)
at dev.langchain4j.model.openai.OpenAiChatModel.generate(OpenAiChatModel.java:127)
at dev.langchain4j.model.openai.OpenAiChatModel.generate(OpenAiChatModel.java:91)

@langchain4j I am working on this issue.

This is not necessarily a bug from langchain4j. I resolved this issue by exporting the root certificate from https://api.openai.com/ and adding it in both keystore.jks and cacerts.jks in my glassfish configuration directory. Basically, SSLHandshakeException occurs when Glassfish's keystore doesn't recognize or trust the certificate authority (CA) that signed the server's SSL certificate, in our case api.openai.com. The solution is to add the root certificate of the CA to Glassfish's keystore. This tells Glassfish to trust certificates signed by this CA.
To resolve this issue,

Export the root certificate from https://api.openai.com/ and store it as a pem file.
Look for "keystore.jks" and "cacerts.jks" files under "glassfish/domains/domain1/config/" directory.
Add the exported certificate to both the jks file using
keytool -import -alias [choose_an_alias] -file [path_to_root_certificate] -keystore [path_to_glassfish_keystore]
You will be prompted for keystore password. usually, the keystore password for Glassfish is "changeit".
repeat the process for both the jks files
restart the glassfish for the changes to take effect.

This exception is specific to the Glassfish webserver. If this is not working, consider switching to Tomcat or any other webserver.

@jawaharbabus awesome, thank you so much!
Then I guess we can close this issue?


Addition of parameter definitions in MESSAGEix documentation

This PR provides alternative representations for the parameter explanations in MESSAGEix documentation. It changes the two tables in Parameters of Technology Section: Input/output mapping, costs and engineering specifications, Bounds on capacity and activity. In one version of the tables, the explanatory comments are in the first column and the indices are in the next column. In the other version the order is reversed. The two different versions of the tables are below each other, one will be deleted in the end as we decide which one to keep. The preferred structure can later be implemented to other tables as well.
Most of the parameters are self-explanatory (e.g. bound_activity_up, construction_time etc.). In those cases the explanatory comments are repetitive and the table might look exhaustive in the pdf version. Another alternative can be, adding more clarification via already existing footnotes or the explanation paragraphs, only for the parameters which are not very clear just by looking at the name. (e.g. rating_bin, add-on technologies, cost parameters for ‘soft’ relaxations of dynamic constraints, auxiliary investment cost parameters  and multipliers, emission scaling, relations..). Some small additional explanation related to those are added to footnotes and paragraphs. One option can be to only add such explanations and keep the tables as they are without adding any additional columns.
The documentation page can be built by using the command: sphinx-build [source-directory] [output-directory]
source-directory: ....\message_ix\doc\source
output directory: .....\message_ix\doc\build
PR checklist:

[ ] Pdf version of the documentation is checked.
[ ] An explanation related to auxiliary investment cost parameters and multipliers is added.
[ ] The documentation for parameter definitions is finalized by using one of the options.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Related to pdf version: When the html version is built, the RtD bar to convert to pdf does not appear in the side (it normally appears in the published version of the documentation page so it is possible to convert to pdf). rst2pdf package can be used together with sphinx-build -b pdf command to see the pdf version. However, the pdf created was broken in my case so I was not able to test the pdf version. Let me know if there is another way to check it.

@GamzeUnlu95, thank you for this!
Can I ask you to push to a branch in the iiasa repository, rather than your fork—and then open a PR from that branch? Something like:
$ git push --set-upstream iiasa parameter_documentation

…if iiasa is the name for this repo shown by $ git remote -v.
Once you do, we can turn on the RTD builds for that branch and check that everything works.
RTD does not allow building PRs from forks.

I created a new Pull Request (PR #273) related to this.


Update Yearn State of Vaults links

From https://medium.com/yearn-state-of-the-vaults/the-vaults-at-yearn-9237905ffed3
to https://vaults.yearn.finance/

Hi @KurogeWashu, I just sent a PR for this issue https://github.com/yearn/yearn-devdocs/pull/114

Hi @KurogeWashu, I just sent a PR for this issue #114

Good work!
For reference, we use conventionalcommits.org
A conventional commit would looks like fix: update vault state link, closes #112 with "closes #112" this issue should automatically close when the pull request is merged

Thanks, I updated the PR title. However, the merge is blocked due to some dead links in the repo.

Hi @gmridul! Thanks for the contribution :) Yes, we are fixing those links. The other check is failing is because of the commit message, not the PR title
Do you think you can change it?


Including ISIG on the info sent to Urchin Pebble face *Not a bug, development request

Can the ISIG number, or the ISIG/BG be sent to the Urchin pebble face? It is always good to have this in mind whenever calibrating, so as not to do it if it is outside of range. Getting to the ISIG involves many clicks in the pump, it would be helpful if it was available otherwise.
Your Environment
Medtronic 640g with a Pebble Time
Brief Explanation of Issue
I still have empty space on the watchface, the ISIG number would be a great addition.
Severity Score

This is not urgent but would be a nice have

Unfortunately the ISIG value is not generally available every time a poll runs and only exists as part of a cgm history request . To keep things efficient history requests are only done on an a as-needed basis.

aww shucks... ok, It would have been nice though. Thanks!

There is a feature coming to the next version that will estimate SGV's even when a calibration is missed and the pump shows no value (even after end of life). Handy if you feel like you need to wait due to SG moving around or in a bad range for cal. Might be helpful..

Oups, closed this before your answer.. Even though the point is closed, no need to keep things open polluting the list.
I had seen about the estimated SGV. I also saw the possibility of making "auto" calibrations based on the existing values. Both would be helpful additions.

Had another look at this as most of the work done for the sgv estimator handles the isig.  When enabled and CGM is available but no SGV is received from the pump this will request cgm history and get the isig.
What this means is isig will be shown via the pump status pill in nightscout as needed. From an efficiency pov due to history requests it is reasonably minimal ie. cgm errors and warmup mostly, anyhow it's disabled by default.
Not looked at Urchin yet but for that it will only be available via the uploaders in-built Urchin support.

Wow! Awesome

Turns out seeing isig as a single value is not much help really and you need to see it in context to preceding isig values.
Taking this a bit further, several isig are reported along with rates of change and a gain calculation over 30 minutes to show if rising, falling, steady etc.

If possible, I think can be useful read a parallel graph with isig. So I can read isig and sgv and when sgv is not available read only isig.

I really like this feature! It works very well when my T1D child needs calibration but BG is swinging rapidly up or down. We are able to time calibration right when the isig value levels off.
One enhancement to this would be to have a one off poll ( or short period ... like 4 hours) where the isig values are shown in the uploader and NS. We often have a period of time right after the first calibration of a new sensor where the Enlite isig values are crazy low and we want to wait till they are normal before doing the second calibration (approx 4-8 hours after first one ... usually 1am : ( )

Cool, good to see it having some use!
From my notes...
If the ISIG feature is triggered due to a sensor error then use a minimum cutoff time to keep showing these values rather then only during the sensor error state. This means it could run for the next 30 mins after the first time it shows.
Auto show the ISIG when SG within a certain range ie. <80 or <70
Auto show based on SG jumpiness ie something like 100 > 110 > 90 > 105 would  trigger
If <12 hours on a new sensor show the ISIG or always show until 2nd calibration
Cal nearly due (next 60 mins?) - recommend best time based on steady sgv? auto read the ISIG for fluctuations? send PO system alert for this ready/best time recommendation?
Unfortunatly the only way of showing these in NS is tagging on to the pump status pill which is already quite cramped.
It may be usful to do analysis of the isig data based on sensor age and give a recomendation, first 24 hours on a new sensor can go from great to looking dead specially if there is any truma from insertion like a bleed.

Awesome any and all of those features would be very helpful to me personally and anybody still having to deal with the Enlite calibration inaccuracies and sensor failure cases. I can't speak for the Guardian sensor's but I'm sure there have similar problems.
Just today we had a sensor go crazy and swing wildly from an SG of 14.7 mmol/L to 3.2 in a matter of minutes causing a suspend on low ... finger check show'd BG 15.5! I looked at the ISIG history on the pump and as expected it was showing very low values (under 10) which would have caused a calibration to fail for sure. (Side note: some of the values where in brackets like (20.5) not sure why though)
Also right now I'm waiting for the second calibration window and although I can see the SG level off and a flat right arrow, if the isig value is < 35 with a BG of approx 10mmol/L then the SG values will be very inaccurate until the 3rd calibration.
So having the ising information in a NS pill (and a PO notification) when that "window" appears would be very much appreciated. Maybe it's time to create a new NS pill for "cgm" or "transmitter" which things like next calibration time and isig can be shown? Seems like this is not Medtronic specific and other CGMs could use it too.

Closed - completed and available in 0.7.0 release


New .cfs files created everytime I add to index

On initial load of my application I add data into my Lucene index:
using (StandardAnalyzer analyzer = new StandardAnalyzer(LuceneVersion.LUCENE_48))
{
    using (IndexWriter writer = new IndexWriter(Directory)
    {

        Document doc = new Document();

        doc.Add(new TextField("Id", Id.ToString(), Lucene.Net.Documents.Field.Store.YES))
        doc.Add(new TextField("Symbol", Symbol, Lucene.Net.Documents.Field.Store.NO))
        doc.Add(new TextField("Channel",  Channel, Lucene.Net.Documents.Field.Store.NO))

        writer.AddDocument(doc);
        writer.Commmit();
    }
}

This creates a few files (_0.cfe, _0.cfs ...) in the index directory.
Now when I add need to add a new index to Lucene with the same Model (Id, Symbols, Channel) it creates a new set of files (_1.cfe, _1.cfs ...) in the index directory without removing the _0.cfs... files.

I am using Lucene.NET version 4.8.0-beta00014

Yep, that's the way Lucene.NET and Lucene works.  Each of these sets of files is called a segment.  Initially in your case there is one segment, the _0 segment, and then when you add another doc and commit there is a 2nd segment, the _1 segment.  If you want to learn more google about lucene and segments.  There is lots of info online.

I have a process running where there will be 1000s of documents being indexed a day (at different times). This way there will be 1000s of new .cfs files in my directory.

Is that correct way? or is there a way to merge these .cfs files together?

Inserting 1000s of docs is no problem.  On my local my dev box I can insert around 14K docs per second.  Of course the speed will depend greatly on the size of the documents and the speed of the machine.
Lucene manages the segments well and will merge them periodically.  The result will be less segments but bigger segments.  You can make Lucene's life easier and your indexing faster by not calling Flush, Commit or MaybeRefreshBlocking until after you have inserted the set of documents you desire.  (These commands force buffered documents to be written out in a new segment).  But even if you call all these methods after each time you add a document to the index Lucene will still manage the segments well by doing merging as needed. It will just be much slower (maybe like 20 docs per second).


Should not throw nasty errors when expires_in is not set

expires_in is "RECOMMENDED" as of RFC6749 but not required so there could be cases when neither is defined causing nasty errors on getExpires or hasExpired.

I don't see a reason for this change.

It is just for gracefully handling the fact that 'expires_in' is barely a recommended field as of the RFC. But feel free to reject it.

But that's already handled fine. If no expires or expires_in is set, then `getExpires` will return `null. This is documented and clear.

I see now. My bad.


Why is it so huge?

Just curious.

Glad you noticed. Well, it's because I compiled the entire csharp library in it apparently with dotnet publish -c Release -r win-x64 --self-contained true /p:PublishSingleFile=true


Shibboleth/CAS: Create user without email  address if email address is invalid

Currently Shibboleth authentication fails if the email address is invalid. We should ignore invalid email addresses and just create a user account without an email address.

Attached a commit which does this

Assigning to @mrvisser for review.

FWIW, we'd like to include this fix in next week's release as well.

Left a suggestion to consolidate the validation. Back to @simong for followup

Pushed follow-up

Looks good!


job-cancel control should tear down the cluster within a reasonable amount of time

Fixes #434
+

control status requested should only be updated at the first reconcile (and not every reconcile). To keep track of when the control was actually requested.
Reasonable amount of time can then be computed from when the control was requested.

@regadas Sure. Let's sync on ways around it next week 👍

Hey @regadas 👋
How do you want to go about it ? :)

Thanks @kassybas.
I agree. Merging this for now.
I'll keep the original ticket open then. Please add the suggestions there @regadas 🙏


CI-380 updates to fix the html updates on the LARS download page

LARS changed their download page but it they put the new version at the top of the page instead of at the bottom like they did last year

@arvinthseran have a look when you have time, we can always change this after the merge


Language switcher doesn't work in Runtime docs and Nature docs

The language switcher does not work in Runtime documents and Nature documents.
In the other docs, it works fine.

When you say works fine - if I look at ML, Opt or Finance I do do see it at all

Now it's there it seems, if I click in that area I get a dropdown and can change language - but statically the language and the dropdown arrow is not visible to me as per the above image (Firefox/Windows if it matters)

Thanks for this report!
It should not be https://github.com/Qiskit/qiskit_sphinx_theme/pull/255 - that is only on the main branch of qiskit_sphinx_theme and not the 1.11 branch.
It looks like this has been broken for some time. The missing content for Finance, ML, Opt, etc is because their files versionutils.py are setting version_label rather than language_label. We apparently changed in https://github.com/Qiskit/qiskit_sphinx_theme/pull/49/files#diff-93e646cab52c16e3a78d1b4e89128816440d65384cff09e35bdcb3ddcc428027R3 in October 2022 for the theme to expect language_label to describe the currently selected language. So, you can fix that problem with a diff like this:
diff --git a/docs/versionutils.py b/docs/versionutils.py
index 92033c4..3ad5248 100644
--- a/docs/versionutils.py
+++ b/docs/versionutils.py
@@ -46,7 +46,7 @@ def _extend_html_context(app, config):
     context["translations_list"] = translations_list
     context["current_translation"] = _get_current_translation(config) or config.language
     context["translation_url"] = partial(_get_translation_url, config)
-    context["version_label"] = _get_version_label(config)
+    context["language_label"] = _get_version_label(config)

 def _get_current_translation(config):

The reason that it's not clickable on Runtime and Nature is that jQuery is missing so the JavaScript code we have does not work. That is because Sphinx 5 used to include jQuery, but Sphinx 6 no longer does. The workaround is to install sphinxcontrib-jquery:
diff --git a/docs/conf.py b/docs/conf.py
index 0d1754b..eef7ee1 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -99,6 +99,7 @@ extensions = [
     "sphinx.ext.doctest",
     "nbsphinx",
     "sphinx.ext.intersphinx",
+    "sphinxcontrib.jquery",
 ]
 html_static_path = ["_static"]
 templates_path = ["_templates"]
diff --git a/docs/versionutils.py b/docs/versionutils.py
index 29702e5..8305b5b 100644
--- a/docs/versionutils.py
+++ b/docs/versionutils.py
@@ -46,7 +46,7 @@ def _extend_html_context(app, config):
     context["translations_list"] = translations_list
     context["current_translation"] = _get_current_translation(config) or config.language
     context["translation_url"] = partial(_get_translation_url, config)
-    context["version_label"] = _get_version_label(config)
+    context["language_label"] = _get_version_label(config)

 def _get_current_translation(config):
diff --git a/requirements-dev.txt b/requirements-dev.txt
index 5e96877..d5fb701 100644
--- a/requirements-dev.txt
+++ b/requirements-dev.txt
@@ -18,3 +18,4 @@ mypy-extensions>=0.4.3
 nbsphinx
 qiskit_sphinx_theme>=1.10
 networkx>=2.2,<2.6
+sphinxcontrib-jquery

I'm not sure why the other applications and Terra are working. They must be installing jQuery some other way. We should not be using jQuery anymore though: I opened https://github.com/Qiskit/qiskit_sphinx_theme/issues/275 to track this.
--
Taking a step back, it is not sustainable for each repository to have its own versionutils.py. It is too easy to fall out of sync.
This should be provided for you by qiskit_sphinx_theme, IMO. At most, you only have to configure what languages you want.
I will submit soon PRs to each repo with the short-term fixes. But I also propose that the theme 1.12 starts including versionutils.py for you so that this Just Works in the future. (Along with other structural fixes for Ecosystem projects like https://github.com/Qiskit/qiskit_sphinx_theme/pull/267)

I've started to fix some ecosystem projects, like https://github.com/Qiskit/qiskit-finance/pull/256. The fix isn't complete though: when changing the language, we stop showing what is currently chosen.

I suspect this is because versionutils.py is not up-to-date. I will fix this soon.

@SooluThomas figured out why the Finance docs weren't working when switching to other languages. We weren't properly deploying docs to qiskit.org/ecosystem, only the legacy qiskit.org/documentation. Fixed by https://github.com/qiskit-community/qiskit-translations/pull/1108.
Everything is now fixed on the qiskit_sphinx_theme side thanks to https://github.com/Qiskit/qiskit_sphinx_theme/pull/278. I am going through each project in the ecosystem today to fix any translations not working correctly.
The theme release for 1.12 will start including the versionutils.py logic in the theme itself so that we can stop copying and pasting it in every project: https://github.com/Qiskit/qiskit_sphinx_theme/issues/262.

The theme release for 1.12 will start including the versionutils.py logic in the theme itself so that we can stop copying and pasting it in every project: https://github.com/Qiskit/qiskit_sphinx_theme/issues/262.

See https://github.com/Qiskit/qiskit_sphinx_theme/pull/302


[Autocomplete] input field reset when click outside the autocomplete field

I am using a basic autocomplete from material ui, the options loaded fine and could be able to filter successfully.
However, once we filter the options, just click on outside, filter is cleared and dropdown is sorted/reset.
This is basically causing issue in accessibility issue on Mobile. When we turn android voice over and filter the result, when user try to select the option, it is always picking the option which is not the filtered result. Looking like, the filter rest, and dropdown shuffled. I observe due to the filter is reset, when it is out of focus causing the issue here.
export default function App() {
const [state, setState] = useState();
return (
<Autocomplete
options={["a", "b", "c"]}
renderInput={(params) => (
<TextField {...params} onChange={(e, v) => setState(v)} />
)}
value={state}
/>
);
}
It works fine for autoselect. But in my usecase, I don't want to autoselect

[x] The issue is present in the latest release.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

  Output from `npx @mui/envinfo` goes here.

yes, i have tried adding the prop clearOnBlur false, but didn't make any dfifference

I'm testing here with the latest version and I get exactly the same problem: https://codesandbox.io/s/dank-dust-5wppwy?file=/src/TestDani.tsx (2nd input)


multiclass classification

The suggested function trandforms the matrix with predictions into k matrices following a one-vs-all principle. Next, the unsertainty estimation is done for each class separately. In binary classification the estimation happens for y(x)=P(Y=1|X=x). Following this logic, k variance estimations are done, where instances of a particur class is the category of interest (positive class) and all others are negative.
The output is a dataframe with predited class probabilities and variance estimates for each class.

Thanks a lot; this looks like a useful extension. Before merging, could you please add a test for this to the testthat directory?

Thanks a lot; this looks like a useful extension. Before merging, could you please add a test for this to the testthat directory?

Please let me know if you recommend any additional tests.

Looks good. Also -- and sorry for not bringing this up in my previous comment -- could you please add roxygen-style documentation for the function, like in the other functions in the package? (If you're interested, here's a reference on documentation with roxygen: http://kbroman.org/pkg_primer/pages/docs.html)

Thank you very much for the feedback and your prompt replies!

Thanks again!


Design Layout Mockups for the App (2 screens)

The app's working, but that's just it. A well-polished UI is a must if you want your user to love your app. Our app needs UI polish and the first step towards it would be preparing mockups.
Below is the current screen shot of our app.

REQUIRED:

Mockups of the above two screens.
Mockups must adhere to material guidelines. (e.g. choice of colours, padding, font sizes, etc.)

Be imaginative, but be grounded... After all it needs to be coded too, right?
Good Luck!

Interested in taking up this issue? Leave a comment expressing your interest.
Each issue expects a 24hr turnaround time by default. In case where a student doesn't come back with an update after 24 hours have elapsed, the issue is up for grabs by anyone.

@numerative I didn't get the issue properly. Whether I have to create a UI like the suggested mockup? Right? If Yes, I'll work on that issue.

The above is the current state of the app. We require a wireframe / mockup that has the above elements.

@numerative So the issue is to make the above UI better? That's it?

Yes.

I'll work on this issue.

Thanks!
We're currently looking for inspiration from uplabs and dribble. I'll tag you here when we have selected a design. It'll be easier to adapt from such a design.

@numerative  I am ready for help sorry for late please DM me in slack

Finalised submissions from @iamhshaikh.


update to setup-node@v4 in docs

Description:
Update to using setup-node@v4 in the docs

@kbdharun not sure what would qualify as "applicable places" there are various versions of node mentioned all over the docs. Mainly to illustrate that someone can specify and use different versions of node with this action.


Fix Sidebar ui and refreshDB

PR Fixes:

1 Update RefreshDB button
Remove RefreshDB button from Sidebar and place in my-courses

Resolves #1065
Checklist before requesting a review

[x] I have performed a self-review of my code
[x] I assure there is no similar/duplicate pull request regarding same issue

I looks like this now

Please Review @hkirat @siinghd

Yah this is better


docs - use external deps toolchain type

Description
Use consistent toolchain reference across the documentation.

@googlebot I signed it!

Thanks, @hrvolapeter!


chore: update batteries in manifest when creating lean-pr-testing-NNNN at Mathlib

This didn't quite work, it seems:
Run git config user.name "leanprover-community-mathlib4-bot"
Using base tag: nightly-testing-2024-06-04
Branch exists: 0
Branch does not exist, creating it.
Switched to a new branch 'lean-pr-testing-4360'
/home/runner/work/_temp/b852685f-f684-4b04-8e4a-256967af7905.sh: line 21: lake: command not found
Error: Process completed with exit code 127.

https://github.com/leanprover/lean4/actions/runs/9380284107/job/25826966898
Trying a quick fix in https://github.com/leanprover/lean4/pull/4361


Project status?

What is the status of the project? Is there any plan to integrate /support argmin{} particularly easing the manual jacobian or hessian calculation? Thanks.

Re-read the argmin{} documentation again. It has been incorporated.


Send notification every X minutes

Is it a duplicate question?
I don't think so, I didn't find  it.
Is your feature request related to a problem? Please describe.
Yes, for example, when services go down in the middle of the night, they tend to get "buried" amongst other notifications.
Describe the solution you'd like
Perhaps a toggle to set "Send notification every X minutes" when a service goes down.
Alternative Features
Maybe disable alaramistic during a time period for certain services
Additional context
When we make backups some of the services have to go down in order to make a proper backup. This triggers alarmistic and makes it hard to go trough what is down in the morning without looking at the dashboard.

@pfrade1996
Given that the currently live version of uptime-kuma ships with this option:

I think this is resolved.
If you agree, could you please close this Issue; otherwise this will become an immortal zombie, which are really hard to issue-manage.


Readme override addon-note

Hi there,
I have a story where I am using add-on-notes for Notes panel and also readme, somehow every time I use readme it overrides notes !
It depends on which one is written first will render !
For eg.
.add(`Demo1`, () => `
<asdi-accordion>
  <asdi-bar>
  <asdi-note>
</asdi-accordion>
`,{ notes:`Single Accordion`},
	{ readme: { sidebar:`
<asdi-accordion>
  <asdi-bar>
  <asdi-note>
</asdi-accordion>
`}})

Do you have any suggestions for the same?

Seems  function add in your example is with wrong arguments.
Try this.
A.add(
  `Demo1`,
  () => `
<asdi-accordion>
  <asdi-bar>
  <asdi-note>
</asdi-accordion>
`,
  {
    notes: `Single Accordion`,
    readme: {
      sidebar: `
<asdi-accordion>
  <asdi-bar>
  <asdi-note>
</asdi-accordion>
`,
    },
  },
);

The original issue cant reporoduce


volk: fix build for apple silicon

Motivation for this change
This fixes the build of volk for apple M1 machines. Until cpu_features gains darwin support, there is no prospect of running gnuradio with Nix on apple silicon.  Credit to @michaelld who's work this is based on.
Things done

Built on platform(s)

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

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

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

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

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

[ ] Fits CONTRIBUTING.md.

FYI Volk 2.5.1 was recently released that allows for either an external cpu_features or the internal version, updated so-as to not require this patch. I don't know what version of cpu_features is provided in NixOS, but if it's recent enough to support M1 / ARM64 then update Volk to the current release & use the external cpu_features.

FYI Volk 2.5.1 was recently released that allows for either an external cpu_features or the internal version, updated so-as to not require this patch.

Ah nice!  I think we have a PR for updating volk somewhere. I know that cpu_features upstream has been working to add M1 support, have they got enough to now build volk?

FYI Volk 2.5.1 was recently released that allows for either an external cpu_features or the internal version, updated so-as to not require this patch. I don't know what version of cpu_features is provided in NixOS, but if it's recent enough to support M1 / ARM64 then update Volk to the current release & use the external cpu_features. I have not updated Volk in MacPorts yet due to my heavy workload. I hope to get it in the next week or so.

@hexagonal-sun or @michaelld , could either of you check whether the volk from https://github.com/NixOS/nixpkgs/pull/160121 passes a build at your M1 computers? I noticed that even with volk 2.5.1 the build fails according to ofborg. If I understand correctly, you are saying that I shouldn't apply the patch? Or should we package cpu-features and only then it will be fixed? You are welcome to send a PR to my doronbehar:pkg/gnuradio/update branch.

@SuperSandro2000 it'd have been nice if you had read the comment I left, indicating that perhaps this PR could have been superseded by #160121. Plus, the ofborg build for volk on aarch64-darwin failed.

@doronbehar Ah, sorry this got merged.  Feel free to revert. Yes, I think we may as well target this at 2.5.1 as we'll have more options.

@SuperSandro2000 it'd have been nice if you had read the comment I left, indicating that perhaps this PR could have been superseded by #160121. Plus, the ofborg build for volk on aarch64-darwin failed.

I thought this was somehow about gnuradio, unrelated to this one.

@doronbehar @michaelld I've just checked #160121 and it doesn't build on aarch64-darwin I'm afraid.  I've also replaced the cpu_features submodule that volk uses with the very latests commits on the main branch.  That doesn't seem to work either.  It looks like cpu_features needs more fixes before this works.

@hexagonal-sun well drat ... I haven't had time to look at cpu_features since they closed the "support for M1" PR ... guess I need to get there sooner rather than later, as I need to update the Volk port in MacPorts & this will require either an external cpu_features or patching the submodule version

I thought this was somehow about gnuradio, unrelated to this one.

It's OK, perhaps I should have been more clear in the PR title. Also it seems that the volk update should be halted for now, according to reports by @hexagonal-sun and @michaelld , thanks for your help.

FYI, I updated to volk 3.0.0 for non aarch64-darwin platforms only at: https://github.com/NixOS/nixpkgs/pull/219179


Add Watson Discovery instance

This should include a variable/param for the instance name, like what's done for the other ones with instances.
Also, have you tested this change to confirm that it doesn't break when adding and not adding the Discovery component? Please include that information in the description of the PR.

Tests passed for a base deployment without watson discovery and one with watson discovery + instance deployed.
Without watson discovery, cluster was deployed with minimal config: 4x 16x64, for watson discovery instance, a slightly bigger cluster was required: 5x 16x64 with 3x 8x32 master nodes


Exclude() is not working as expected.

Hi! there,
I am using Orika 1.4.6 and Hibernate 4. I want to exclude a property from mapping. I used exclude() but its not working as expected.
Whats happening: when I make a field to exclude (instead of ignoring), it sets the target hibernate entitys' property to null (I think because its setting the source bean property to null instead of ignoring it). This will in turn sets the field to NULL in the database while saving that entity.
Heres the conceptual class diagram:

I am using using the following configuration:
new DefaultMapperFactory.Builder().compilerStrategy(new JavassistCompilerStrategy()).unenhanceStrategy(new HibernateUnenhanceStrategy()).build()
Any suggestion will be appreciated!
If you want more information please let me know,  and I can post an example if needed.
Thanks,
Nikhil

When a field mapping is marked as excluded is (it got just ignored)
https://github.com/orika-mapper/orika/blob/1e5738994c14b0ebd72e67a8dc2622dd96f73764/core/src/main/java/ma/glasnost/orika/impl/generator/MapperGenerator.java#L143


DCOS-61253 - consume mesos state stream as protobuf

TL;DR

savings in Mesos (cause it does not need to serialize to JSON)
saving 40% (SOAK) to 70% (small cluster) bandwidth. might be worse for clusters with huge payloads (e.g. labels).
saving ~15% in parsing time (on SOAK 2.0.0)
A service's tasks show up after ~6 seconds now instead of ~16 seconds (on SOAK
from HH-office, 5 quite consistent samples each) after initial app load.

using protobuf seems like a good idea, as mesos does not need to serialize its
state to json and does not need to send as much data over the wire.
on the our side it looks like parsing protobut is faster than parsing JSON -
apart from the savings on bandwidth.
we're evading @dcos/recordio, @dcos/mesos-client, @dcos/connection-manager,
@dcos/copychars and @dcos/http-service. :tada:
This implementation should work around the memory leak that copychars solved.
Also it evades the need to flush the XHR-connection by using a StreamReader on
the fetch-response.
We also fix an issue here that formerly caused the subscribe-event to be fetched
twice (resulting in using double the initial bandwidth).
A services tasks show up after ~6 seconds now instead of ~16 seconds (on SOAK
from HH-office).
on a cluster with just minimal load (added 6 tasks) we save ~70% bandwidth
(5.7kb vs 17.9kb) and save some time while parsing:
10000x protobuf   => 3635ms
10000x JSON.parse => 4169ms
on SOAK we save ~40% in bandwidth (6.2MB => 3.7MB) and abaut the same percentage
in parsing as above.
Tradeoffs
We're deliberately adding a bit of testing code to the production bundle (a
check whether the request to the stream returns plain JSON, which we want for
integration-testing). I did not find a satisfactory workaround in a reasonable time. Let's hope for a second pair of eyes or some #showerthoughts. :)
Also we're introducing a workaround to make cypress recognize and potentially
stub fetch-calls, as it is not capable of doing so on its own yet, see
cypress-io/cypress#95.
Closes DCOS-61250, DCOS-61253

:tada: This PR is included in version 2.152.14 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Also working with Github

Hi there,
Is this also working with github?
My project is a github project and I used to use github desktop for committing etc
Ps: the discord link is not working

It works with any version control system as long as you run the pipeline by Dozer. If you wanted to run it by GitHub Actions (which is a cloud-based alternative to Dozer), perhaps you'd have to adjust the pipeline a little bit (and pay for the runs).
I'll fix the Discord link, thanks for letting me know :-) https://discord.gg/TwnpfKVzGH

Thanks for the insights :)


Update survey link and WH.gov link on Spanish version of site to point to Spanish version

When someone is viewing the Spanish version of CEJST:

[ ] The footer link to whitehouse.gov should actually go to https://www.whitehouse.gov/es/

[ ] Survey link should point to https://www.surveymonkey.com/r/cejst-survey-es

Vim: I think the survey link part was done by me already somewhere else?
Search code for cejst-survey-es before adding another url.

I'm pretty sure I saw the Spanish link to the survey and Q/A'd it and it worked. But it does seem to be not working again. Maybe it was overwritten in the last es.json from State?

good call out @esfoobar-usds yes I also remember this use to point to the Spanish version as intended


Kubernetes kata-fc & kata-qemu setup with CRI-O

Hello,
Im a bit new when it comes to Kubernetes and container runtimes. Im currently trying to setup a Kubernets cluster using kubeadm with crio v1.13. I'm trying to select kata-qemu or kata-fc as the runtime for one of my pods. As selecting untrusted workloads in crio.conf will be removed in v1.14 it cannot be using untrusted workload as showed within the following guide:
https://github.com/kata-containers/documentation/blob/master/Developer-Guide.md#run-kata-containers-with-kubernetes.
I've installed kata for ubuntu using the follwoing guide:
https://github.com/kata-containers/documentation/blob/master/install/ubuntu-installation-guide.md
I tried using RuntimeClass using this guide:
https://katacontainers.io/posts/kata-deploy-install-kata-containers-kubernetes/
When applying the following patch to update the runtime spec of my busybox deployment nothing changes :
spec:
template:
spec:
runtimeClassName: kata-qemu
Used command to patch: kubectl patch deploy busybox --patch "$(cat kata-qemu-patch.yaml)"
output: deployment.extensions/busybox patched (no changes).
This is the same when using kata-fc
My crio.conf ( I believe I'm missing something here ):
[crio.runtime.runtimes.runc]
runtime_path = "/usr/lib/cri-o-runc/sbin/runc"
[crio.runtime.runtimes.kata]
runtime_path = "/usr/bin/kata-runtime"
And I've tried kata-deploy (not using he kata install guide for ubuntu) :
https://github.com/clearlinux/cloud-native-setup/tree/master/clr-k8s-examples/8-kata
When using kata-deploy it says it installs kata and configures it automatically, but when running the command kata-runtime version it says command not found.
Crio version:
1.13.1-dev
Kata version:
v1.6.0-rc1
In short, when using kata deploy it seems it will not install kata-runtime. And when using the ubuntu installation guide it seems im not specifying kata-qemu and kata-fc in the crio.conf correctly as I have no idea how.
Which leaves me with the follwoing questions:

How do you specify kata-qemu and kata-fc in the crio.conf?
Is firecracker installed when using the Ubuntu installation guide?
How do you configure RuntimeClass correctly to switch container runtimes within pods?

Ho @joost14.

If you want to use RuntimeClass, you should add kata-runtime to the runtimes map in the crio.conf file. Here is what we use for our CI: https://github.com/kata-containers/tests/blob/master/.ci/configure_crio_for_kata.sh#L19-L25

You should also enable the runtimeclass feture on kubelet and apiserver (maybe you already did this) as mentioned on https://kubernetes.io/docs/concepts/containers/runtime-class/

Here is one example of the an nginx deployment using runtimeclass with kata.

Hope that this helps you.  If you have any further question, please let us know.
And yes, we need to update our documentation for using RuntimeClass

Hi @chavafg
Thank you for your reply.

I've added the following to the crio.conf
[crio.runtime.runtimes.kata]
runtime_path = "/usr/bin/kata-runtime"

I've already enabled the runtimeclass future as mentioned. Do you have an example how to specify the runtime handler? Right now i am using the following:

kind: RuntimeClass
apiVersion: node.k8s.io/v1alpha1
metadata:
name: kata
spec:
runtimeHandler: kata

What example do you mean? I see no link...

Sorry, forgot to add the link:
This is our handler:
https://github.com/kata-containers/tests/blob/master/integration/kubernetes/runtimeclass_workloads/kata-runtimeclass.yaml
And examples of the workloads using runtimeclass can be found here:
https://github.com/kata-containers/tests/tree/master/integration/kubernetes/runtimeclass_workloads

Hey @chavafg,
I've tried your way of specifying the handler in crio.conf, but still no luck. I see you have the runtime installed in the local map. Mine is in /usr/bin/kata-runtime. How did you install the runtime and the hypervisor (qemu & firecracker)?
I followed the ubuntu guide in the kata-runtime docs:
https://github.com/kata-containers/documentation/blob/master/install/ubuntu-installation-guide.md

Hi @joost14,
The scripts above are used in the CI and build each component from sources, that is why the binaries are under /usr/local. If you followed the ubuntu guide, it should be fine.
Can you paste here your whole crio.conf file and the kubelet systemd file (under /etc/systemd/system/kubelet.service.d/) here?
Also, can you check the kubelet log (sudo journalctl -u kubelet) and search for errors there? Please if you find errors there, paste them here.

Kata deploy installs the binaries at /opt/kata/bin and points the crio configuration to this path. I’m guessing your crio conf might have issues at this point.
Can you share it?

[crio]
file_locking = false
file_locking_path = "/run/crio.lock"

[crio.api]
listen = "/var/run/crio/crio.sock"
stream_address = "<IP_ADDRESS>"
stream_port = "0"
stream_enable_tls = false
stream_tls_cert = ""
stream_tls_key = ""
stream_tls_ca = ""
grpc_max_send_msg_size = 16777216
grpc_max_recv_msg_size = 16777216

[crio.runtime]
default_runtime = "runc"
no_pivot = false
conmon = "/usr/lib/crio/bin/conmon"
conmon_env = [
	"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
]
selinux = false
seccomp_profile = "/etc/crio/seccomp.json"
apparmor_profile = "crio-default"
cgroup_manager = "systemd"
default_capabilities = [
	"CHOWN",
	"DAC_OVERRIDE",
	"FSETID",
	"FOWNER",
	"NET_RAW",
	"SETGID",
	"SETUID",
	"SETPCAP",
	"NET_BIND_SERVICE",
	"SYS_CHROOT",
	"KILL",
]
default_sysctls = [
]
additional_devices = [
]
hooks_dir = [
]
default_mounts = [
]

pids_limit = 1024
log_size_max = -1
container_exits_dir = "/var/run/crio/exits"
container_attach_socket_dir = "/var/run/crio"
read_only = false
log_level = "error"
uid_mappings = ""
gid_mappings = ""
ctr_stop_timeout = 0

  [crio.runtime.runtimes.runc]
  runtime_path = "/usr/lib/cri-o-runc/sbin/runc"

  [crio.runtime.runtimes.kata]
  runtime_path = "/usr/bin/kata-runtime"

[crio.image]
default_transport = "docker://"
pause_image = "k8s.gcr.io/pause:3.1"
pause_command = "/pause"
signature_policy = ""
image_volumes = "mkdir"
registries = [
 	"quay.io",
	"docker.io",
]

[crio.network]
network_dir = "/etc/cni/net.d/"
plugin_dir = "/opt/cni/bin"

I'm not using kata-deploy at the moment. I've only installed kata using the Ubuntu installation guide.
I'm using kubeadm when deploying my cluster. So maybe it has to do with the way i add the feature-flag to the deployement. I'm using kubeadm init  --cri-socket=”var/run/crio/crio.sock --config config.yaml
config.yaml:
apiVersion: kubeadm.k8s.io/v1alpha3
kind: InitConfiguration
nodeRegistration:
  kubeletExtraArgs:
    "v": "2"
    "feature-gates": "RuntimeClass=true"

and the 10-kubeadm-conf:
# Note: This dropin only works with kubeadm and kubelet v1.11+
[Service]
Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bo$
Environment="KUBELET_CONFIG_ARGS=--config=/var/lib/kubelet/config.yaml"
# This is a file that "kubeadm init" and "kubeadm join" generates at runtime, $
EnvironmentFile=-/var/lib/kubelet/kubeadm-flags.env
# This is a file that the user can use for overrides of the kubelet args as a $
# the .NodeRegistration.KubeletExtraArgs object in the configuration files ins$
EnvironmentFile=-/etc/default/kubelet
ExecStart=
ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBE$

and the kubeadm-flags.env
KUBELET_KUBEADM_ARGS=--feature-gates=RuntimeClass=true --container-runtime=remote --container-runtime-endpoint=unix:///var/run/crio/crio.sock --resolv-conf=/run/systemd/resolve/resolv.conf

Above, I don't see if you are enabling the runtimeclass to the apiserver?
I do this on the same config.yaml that is passed to the kubeadm init, this is what we use :
apiVersion: kubeadm.k8s.io/v1alpha3
kind: InitConfiguration
nodeRegistration:
  criSocket: /var/run/crio/crio.sock
---
apiVersion: kubeadm.k8s.io/v1alpha3
kind: ClusterConfiguration
kubernetesVersion: v1.13.3
networking:
  dnsDomain: cluster.local
  podSubnet: <IP_ADDRESS>/16
  serviceSubnet: <IP_ADDRESS>/12
apiServerExtraArgs:
  feature-gates: RuntimeClass=true

Hi @chavafg
The RuntimeClass feature-gate seems to be working now, but the pod still does not switch the runtime. I tested this with busybox. When deploying with and without the runtimeClassName i get the same kernel as the system its running on. Is this normal or should I use an other install than the Ubuntu guide?: https://github.com/kata-containers/documentation/blob/master/install/ubuntu-installation-guide.md
I believe the Ubuntu guide does not install firecracker, is this true?
I'm deploying busybox using the following template:
apiVersion: v1
kind: Pod
metadata:
  name: busybox
spec:
  runtimeClassName: kata
  shareProcessNamespace: true
  containers:
  - name: busybox
    image: busybox
    command:
      - sleep
- "120"

Hi @joost14

When deploying with and without the runtimeClassName i get the same kernel as the system its running on. Is this normal or should I use an other install than the Ubuntu guide?

Not normal, seems like still using runc. When running kata successfully, you should see another kernel version.
I think this is still a configuration issue in k8s.
Can you verify if your the name of the runtime specified on crio.conf matches the one specified in the k8s runtime handler?
E.g: if
[crio.runtime.runtimes.kata-qemu]
  runtime_path = "/opt/kata/bin/kata-qemu"

then kata-qemu should be specified in the runtimeclass runtimehandler:

kind: RuntimeClass
apiVersion: node.k8s.io/v1alpha1
metadata:
  name: kata
spec:
  runtimeHandler: kata-qemu

Also, I am not sure if firecracker works with cri-o and k8s, @egernst do you know if this is already working?
Last thing you may want to try is using our CI k8s scripts and see if you can make it work...
If you already have the cri-o and kata setup, you can:
# clone our tests repository:
go get github.com/kata-containers/tests
cd $GOPATH/src/github.com/kata-containers/tests
export use_runtime_class=true
# run k8s install:
.ci/install_kubernetes.sh

cd $GOPATH/src/github.com/kata-containers/tests/integration/kubernetes
# run init script
./init.sh

Our scripts assume that kata is configured in crio.conf as follows:
[crio.runtime.runtimes.kata]
  runtime_path = "/PATH/TO/YOUR/KATA_BINARY"

Hi @chavafg
Yes I've specified  kata as handler and the crio.conf looks like this (the crio.conf is different now as in the previous post I used kata-deploy not the ubuntu install of kata):
[crio.runtime.runtimes.kata]
runtime_path = "/usr/bin/kata-runtime"

I've tried your CI k8s scripts, but when running the k8s install .ci/install_kubernetes.sh i get the following line:
.ci/install_kubernetes.sh: line 35: chronic: command not found
And when runing the init script ./init.sh:
/home/test1/go/src/github.com/kata-containers/tests/integration/kubernetes/../../lib/common.bash: line 57: RUNTIME: unbound variable INFO: Runtime environment not found - setting defaults /home/test1/go/src/github.com/kata-containers/tests/integration/kubernetes/../../lib/common.bash: line 104: RUNTIME_PATH: unbound variable
I've used a ubuntu 18.04.2 machine with crio and kata installed when running the scripts.

@joost14 - Hi, To install chronic on Ubuntu:
$ sudo apt -y install moreutils

(Our CI does that here: https://github.com/kata-containers/tests/blob/master/.ci/setup_env_ubuntu.sh#L17..L18)
Then, you'll need to set the two variables mentioned:
export RUNTIME=kata-runtime
export RUNTIME_PATH=/usr/bin/kata-runtime

(Our CI does that here: https://github.com/kata-containers/ci/blob/master/jenkins/jobs/kata-containers-containerd-k8s-conformance-e2e/config.xml#L45..L46).

@chavafg @jodh-intel @egernst  Hi, thanks for the help. It seems to be working now.
After installing the script and deploying and patching a container on a single node the kernel changed. Which indicates kata is being used.
I noticed when I joined a worker node the kernel did not change. The problem was when joining the worker node the feature gate flag was not set correctly. After adding the the feature-gate in the kubeadm.conf it worked.
I added the following in /etc/systemd/system/kubelet.service.d/10-kubeadm.conf:
ExexStart= --feature-gates RuntimeClass=true
And joined the node.
I rebuild my master and worker (without the script) and it seems to be working fine now.
Thank you for all the help :+1:

Hi @joost14, good to know that it is now working. 👍

Hi @joost14 - are you happy to close this now the problem has been resolved?

Yes


3rd Party Library Installation not working and not add to dist

OS?

Mac OSX El Capitan

Versions.

Please run ng --version. If there's nothing outputted, please run in a Terminal: node --version and paste the result here:
angular-cli: 1.0.0-beta.19-3
node: 6.3.1
os: darwin x64

Repro steps.

Was this an app that wasn't created using the CLI? What change did you do on your code? etc.
i followed the steps you described : this app created by angular-cli
I try to add a ng2-select folder to dist but after i do ng build is׳t don׳t add to dist folder.
in dist folder i have only this file:
favicon.ico,
index.html,
inline.js,
inline.map,
main.bundle.js,
main.map,
styles.bundle.js,
styles.map

The log given by the failure.

Normally this include a stack trace and some more information.
i dong have a error message in the app

Mention any other details that might be useful.
I used a previous version of Angular cli and  I was working with systemJs
I did not understand the new version upgrade and how to work white this.
thanks :)

Thanks! We'll be in touch soon.

Perhaps you should refer to the migration guide.
https://github.com/angular/angular-cli/wiki/Upgrading-from-Beta.10-to-Beta.14

See https://github.com/angular/angular-cli#3rd-party-library-installation for a up to date 3rd party lib install guide.