Extend NodeOS to KidOS

I wonder how people are thinking about NodeJS. For me its really surprising that people are making OS based on NodeJS so first of all I will like to give them best wishes.
However I always thinking about OS which is light weight, secure, parental control and portable and specially designed for children so that it will help them to build computing skills and also very low budget so that every child can afford it.
I am thinking is it possible to extend NodeOS and make a desktop distribution for Kids? Kindly let me know your thought on this
Thanks

Hi @khanshakeeb. Yes, I conceived NodeOS as an OS able to be used on education and for kids too, that's why I designed it with the users isolated ones from others. Do you have any commercial plans on this topic? KidOS would be build on top of NodeOS without problems, only that in that case I think it takes special importance to have a simple GUI easy to use. What do you think? Could you be able to work on that?
We have other open issues regarding to this topic, being the most important on this aspect to be able to run a web rendered like Gecko or Chrome on NodeOS. Could you be able to help on that?

Hi @piranna I am happy to see your positive reply, right now I did not make any solid commercial plan but I believe we can derive one over the period of time. Initially I am thinking to make something good to  use by education institute.
I am willing to work on that as I am thinking to build OS for Kids only so let me know how can I start with KidOS
I am open to work on this project let me know how can I do my contribution
Thanks

@khanshakeeb It's exciting to see an OS based on nodejs for educational purpose ! We can rather use existing boards like the pizero (probably the cheapest one) for this.

I am thinking to use it http://www.orangepi.org/ because it has low price with good configuration.

Hi @piranna I am happy to see your positive reply

You are welcome :-)

right now I did not make any solid commercial plan but I believe we can derive one over the period of time. Initially I am thinking to make something good to use by education institute.

If you progress on the commercial aspect don't doubt on tell us, I have been lately on some ways to monetize NodeOS by giving support or implementing features and probably there will be others here that would be willing to collaborate :-)

I am willing to work on that as I am thinking to build OS for Kids only so let me know how can I start with KidOS

As I told you, if kids will be your main target, you should give attention to the GUI, so take a look at earlier examples as Sugar. Also, at this moment NodeOS can host a local GUI because we have not managed to have a web engine running on it, but you could give a remote GUI on any web browser and later use it locally when one is available... or help to make this happen ;-)

We can rather use existing boards like the pizero (probably the cheapest one) for this.

Currently NodeOS only support x86 32 and 64 bits systems. The cross-compiles was able to compile an ARM kernel but it was not able to exec a simple /init program ("binary not tainted", said), but it should be trivial for someone more experienced with ARM platforms.

@piranna & @kskarthik So lets start doing this activity, as I am also hosting coder dojo session for Kids so I will keep involve with Kids to validate UX of Desktop. Agreed with your point to make great GUI so that kids can easily interact with it.

Yeah. The only problem is getting the web engine for the GUI onto NodeOS. :/

The only problem is getting the web engine for the GUI onto NodeOS

Let's adopt gecko & gaia. We get a neat UI :smiley:

@kskarthik So can we use NodeOS at the back-end and desktop would be build on Gecko & Gaia? If yes then let me know we can utilize that and customize UI

yes.

Great, can we do some more discussion on some instant messenger? Could be gitter or slack?

do you use telegram ? I think its best tool for a chat.

I can use that will it be available to Windows10?

it's available everywhere https://telegram.org

let me download then

@kskarthik I discussed it with lissyx and it doesn't look as good as I first hoped it would. B2G is based on the Android Kernel (which isn't a pure Linux kernel) which contains the HAL (Hardward Abstraction Layer) and I think the mir window server too (not sure on that but that's of second order I guess).
HAL is / contains according to Lissyx the stack needed for running Gecko as it runs on B2G (I think it's the graphics section of  HAL). If we use a pure Linux Kernel, we need X.
I'm not if we could / should use Android Kernels / the HAL, what do you think @piranna ?

But X is insecure right ?

I've never asked, why we do not use X but just searched for ways to get around it. You have to ask @piranna...

In between I have setup Telegram messenger :)

I'm not if we could / should use Android Kernels / the HAL, what do you
think @piranna ?

By using HTML5 we can use any web engine for the GUI, also remote web
browsers on desktop computers. I don't think we need HAL to run Gecko or
Chromium or whatever here, just support for framebuffer or know how to
enable DRI.

We would need HAL to run Gecko without X, that's what I was told.
Gonk uses android HAL as stack for Gecko, but we do not have HAL so we would need X for Gecko.
Chromium depended on GTK when I last checkt and GTK heavily depends on X.

We would need HAL to run Gecko without X, that's what I was told.
Gonk uses android HAL as stack for Gecko, but we do not have HAL so we would need X for Gecko.

No, we don't need it, Gonk is an OS build on top of Android kernel
where later Gecko run on top of it, think of it like Nodeos-barebones
without Node.js. Gecko is just the web renderer and can use several
graphic subsystems, that's what we need here.

Chromium depended on GTK when I last checkt and GTK heavily depends on X.

Chromium used GTK a several years ago, now it's using only Skya, it's
own vector graphics librarym that support several graphic subsystems
like DRI and EGL thanks to Ozone. That's mostly why I wanted to give
CEF a chance before..
--
"Si quieres viajar alrededor del mundo y ser invitado a hablar en un
monton de sitios diferentes, simplemente escribe un sistema operativo
Unix."
– Linus Tordvals, creador del sistema operativo Linux

Well, I'm checking all it's graphic subsystems right now. Hope I find something useful.

I honestly don't know what to do know 😅

What problem do you have?
El 30/7/2016 19:06, "John Green"<EMAIL_ADDRESS>escribió:

I honestly don't know what to do know 😅
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/NodeOS/NodeOS/issues/278#issuecomment-236376766, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAgfvnpgiZLTTPMDvcku0xUEh5cl0KXzks5qa4SGgaJpZM4JYFWL
.

Well, I don't know what I should try now. :/
Whatever, QtWebEngine static build succeeded  today, that's something I guess ... Even if I can't find the right headers :o The question is, what to do with Gecko ?

QtWebEngine static build succeeded today, that's something I guess ...

That's great! Do you have somewhere the build scripts and the output of ldd command?

Even if I can't find the right headers :o

What do you mean with that?

The question is, what to do with Gecko ?

We need a web renderer, and by using standard APIs, nothing forget to have both of them avaliable so we can experiment and compare them or let people to choose what do they want to use...

I'll push my scripts when my pc's back working.
By not finding the headers I mean, that I can't build noGUI because I cannot find the QtWebEngineWidgets header ... Will search for them when my Pc's back ^^

By not finding the headers I mean, that I can't build noGUI because I cannot find the QtWebEngineWidgets header

So you were able to build Qt with QtWebEngine? Maybe you'll need to configure the location of the just compiled Qt library. Take a look on current code of noGUI.

Ok, my machine is back up and running. I'll compile it again with the prefix set to somewhere, where I can find it. In the mean time I found out, where they place the headers so it won't be hard to build noGUI when I compiled it a second time !!
Do you want the ldd of noGUI or what ?

Do you want the ldd of noGUI or what ?

Yes, I want the ldd of noGUI to check what libraries dependencies it has. I know you are trying to do a static build, but I've found in previous tries that although we were building a static build of noGUI some of the dynamic libraries were still needed, and I want to check what are them beyond the standard library, that's fine to have it dynamically because we already have it global on NodeOS.

@piranna @kskarthik @Coretool So what we have decided to work on which libraries/tool/framework as I am new to OS development so that is why I trying to understand discussion.
@Coretool What I understand is your are trying to figure out web engine so that we can write GUI over that for Desktop right?
Thanks

@piranna is you think B2G's gecko isn't useful, you can use firefox browser's gecko, but i think we need to build a gui from scratch.

Just a question regarding web engine why don't we can use
https://en.wikipedia.org/wiki/Blink_(web_engine)
It seems more active and supported by good companies
Thanks

@piranna @kskarthik @Coretool So what we have decided to work on which
libraries/tool/framework as I am new to OS development so that is why I
trying to understand discussion.

For GUI apps, use pure HTML5 webapps running on a web browser using
standard APIs with all the possible logic inside them using WebDAV to fetch
and store the user files and "maybe" an ad-hoc associated stateless HTTP or
WebSockets server (ideally based on oneshoot) that makes use of Node.js
APIs when there no equivalent on the browser environment.
We need to improve the final user docs, or at least add a FAQ...

@piranna is you think B2G's gecko isn't useful, you can use firefox
browser's gecko

I thought they were mostly the same except for the FirefoxOS specific
APIs... What's the difference between them?

but i think we need to build a gui from scratch.

Probably, but we can also use os.js or Gaia too.

Just a question regarding web engine why don't we can use
https://en.wikipedia.org/wiki/Blink_(web_engine)
It seems more active and supported by good companies

That's what we have been considering to use since the beginning with
QtWebkit and later QtWebEngine on noGUI. I would like to use raw
content_shell, but that's a good testbed too.

@khanshakeeb Yes, I'm trying to build a browser engine to run on the Linux frame buffer. I'll look at blink, but at the moment I hope that my Qt build works or that I manage to run Gecko against a platform that we can easily integrate.

@piranna Our content_shell related work is situated at aurora, however, the problem is that I'm not sure yet how to set up the project...

But Aurora is the ChromeOS UI, not the web engine...
El 31/7/2016 9:59, "John Green"<EMAIL_ADDRESS>escribió:

@piranna https://github.com/piranna Our content_shell related work is
situated at aurora https://www.github.com/joshgarde/aurora, however,
the problem is that I'm not sure yet how to set up the project...
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/NodeOS/NodeOS/issues/278#issuecomment-236416941, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAgfvoiY1CuNlfpqEv2yIOKKB0OQP0Y7ks5qbFXkgaJpZM4JYFWL
.

No ...aurora's primary goal is to build the content_shell ^^

Then I'm lost... I'll need to review your code to see how it works.
El 31/7/2016 11:27, "John Green"<EMAIL_ADDRESS>escribió:

No ...aurora's primary goal is to build the content_shell ^^
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/NodeOS/NodeOS/issues/278#issuecomment-236420141, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAgfvoykqQthq4VPIE0EB81ulj0o0uHIks5qbGpwgaJpZM4JYFWL
.

I think there isn't any code related to content_shell yet ... :/ Everything ok I guess ;)

Maybe this links could be useful to enable hardware acceleration with mesa and Qt. They are focused on the raspberry pi, but I think they are easily portable to desktop (at least by using the swrast driver...):
http://stackoverflow.com/questions/37059310/building-qt5-6-or-qt5-7-on-raspberry-pi3-or-and-pi-zero#
https://wiki.qt.io/RaspberryPi2EGLFS

That looks interesting,. I will give this a go when I've reached the current goal ;)

@piranna & @Coretool I am using Win10 and I wanted to install NodeOS on virtual box is there any link which I can follow to install it? Because I saw only for QEMU tutorial
Thanks

Currently only QEmu and real hardware are supported. Maybe you can use one
of the ISOs on VirtualBox, but this is untested.
El 31/7/2016 17:14, "Muhammad Shakeeb Khan"<EMAIL_ADDRESS>escribió:

@piranna https://github.com/piranna & @Coretool
https://github.com/Coretool I am using Win10 and I wanted to install
NodeOS on virtual box is there any link which I can follow to install it?
Because I saw only for QEMU tutorial
Thanks
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/NodeOS/NodeOS/issues/278#issuecomment-236435495, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAgfvr-HCe6AWPBEyTisoBwjsJsuE1syks5qbLvsgaJpZM4JYFWL
.

About a year ago I was able to run a NodeOS Iso in virtual box.

Hi guys,
I just wanted to know what we have decided because I really wanted to start with something so that later we can make more refine version
Please suggest me some starting point for that
Thanks

I think that the conclusion points are:

Yes, it can be extended ;-) You can do it as a derivative by doing a
github fork of the repo and doing your changes there by changing the
dependencies you use so it could be easily updated with new changes on
upstream code, and later we could be able to publish it as one of the
oficial NodeOS "flavours" (how we define derivatives of NodeOS optimized
for specific task).
The most important thing for an OS intended for kids is to have a nice
and easy to use GUI, so maybe you should start here. You could be able to
craft one and access remotely from a web browser or try with other already
available like os.js, or help B2G OS project by making Gaia UI to work on
regular web browsers and later try to install and serve it from a NodeOS
server.
To run a GUI localy we need to be able to exec a web engine like Gecko
or Chromium or similar on NodeOS but we don't have anything available yet,
so we need someone that can be compiled statically, and can draw on the
Linux franebuffer or someone help to find to get hardware acceleration on
NodeOS, whatever happens first. You can help here too.

El 3/8/2016 7:11, "Muhammad Shakeeb Khan"<EMAIL_ADDRESS>escribió:

Hi guys,
I just wanted to know what we have decided because I really wanted to
start with something so that later we can make more refine version
Please suggest me some starting point for that
Thanks
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/NodeOS/NodeOS/issues/278#issuecomment-237141095, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAgfvgJIssBcTLBmt8WNCkwc6evFSybDks5qcCMLgaJpZM4JYFWL
.

just saw os.js ! it's cool!

desktop gecko has hardware acceleration AFAIK

just saw os.js ! it's cool!

It's really cool, and the author has accept some ideas to make it easier to
run on NodeOS ;-) But until now nobody that I know has tried to exec it
yet...

desktop gecko has hardware acceleration AFAIK

That's why we need to find a web engine that can use the Linux framebuffer,
or find how to enable hardware acceleration on NodeOS.

did you contact gecko dev's about this ? are you on telegram ? We can talk about this my id is @kskarthik there. I will help you regarding gecko to my best

@kskarthik I talked to lissyx and he said that it won't be possible to run it without X. .. a bit strange I guess and can't really believe it :/

@piranna How about using Node OS as a module for Chromium OS. This will also solve the ARM port & we have a good gui & chrome add-on's support. I found this guy building chromium os for PC's http://chromium.arnoldthebat.co.uk/

@piranna How about using Node OS as a module for Chromium OS. This will also solve the ARM port & we have a good gui & chrome add-on's support.

Could you be able to explain a bit more this? NodeOS use mostly standard npm modules, so they can be used on stardard linux distributions... Are you asking about to boot in ChromeOS (or Ubuntu, or whatever) as a "bootloader" and later "go into" NodeOS (as mklinux did on OldWorld Macintosh machines, that first started a minimal MacOS Classic to init the system and later started the Linux kernel, or how loadlin worked to start Linux from MS-DOS) automatically or in demand by using chroot or Docker or something similar? That would be feasable... Or are you asking something totally different?

I found this guy building chromium os for PC's http://chromium.arnoldthebat.co.uk/ since a long time actively

I only knew of @hexxeh old builds, but this updated links are really cool, thanks! :-D

Yeah, by default OS should boot to chrome os as usual & we could be able to access nodeos features via terminal

This mostly could be done. If you want to start it soon and have a full NodeOS experience it would be just a matter of exec nodeos-mount-filesystems, and this is mostly how it could be done to port NodeOS to other kernels. If you want to "go into" from a user session I don't think it makes too much sense because as I told before you can use regular npm modules, only use case I can find is to "go into" a NodeOS restricted and isolated environment, in that case it makes sense specially for a KidsOS, and also I was thinking to split appart the users isolation mechanism so it could be used on other OSes in a more general way, so you could "go into" just when init a new session on your regular OS :-)

Pretty much out of my knowledge here ;-) So, you think my propsal is a solution ?

So, you think my proposal is a solution ?

More than a solution, I find it an alternative.

Well, we save time in building a new GUI & app (add-on) support

@piranna

More than a solution, I find it an alternative.
Like cyanogenmod is an alternative to AOSP, Node OS can be Chrome OS + NodeJs

I honestly cannot see the role of NodeOS ... If we do that it's just chromium + node which makes me a bit sad :/
We could replace the base of chromium OS with NodeOS though ...

I'm with @Coretool, that would be ChromiumOS + Node.js, not NodeOS, that's why I saw it as an alternative to having an ARM port of NodeOS. It would be an interesting derivative using NodeOS components similar to running NodeOS inside Docker, but it would not be NodeOS... Also, the case of Docker would be considered more like a NodeOS port because we only replaced the Linux kernel by the Docker infraestructure, there are no more changes...

@piranna @Coretool meanwhile... https://itsfoss.com/nayu-os/

Is that what we were talking about ? ^^

actually, i just saw it now,  some one imagined & implemented it faster than me ;-)

I'm curious! When NodeOS talks about local Ul, it would be something like a NWJS app in the sense it would be a nodejs environment hooked to the rendering engine or it wold be more like just a rendering engine running HTML/JS and taking to a nodejs webservice like that would give all the hardware access to the UI?

Second option :-) Not just a "single" web service but instead each app will provide its own one, but if there are some resources common to several applications, it would be possible to create a common agnostic web service for that. This is what has happened for example with files access and the reason why I created Davius.

Hi all,
I have fork repository for kidOS.
@piranna I have seen your presentation in repository but its not in English language do you have one?
Also need to know is there API already build on NodeOS in order to get login authentication and other tasks? Or we need to built one?
Thanks

@piranna I have seen your presentation in repository but its not in English language do you have one?

Currently no, spanish is my mother language and so far I have only done the keynotes here. I'm currently candidate for the call of papers of JsDayEs and I've postulate for the english track, if I'm selected I'll publish updated slides in english and also hope to have the keynote recorded :-)
By the way, the slides on the repo are really old, you should better take a look for my bachelor thesis ones.

Also need to know is there API already build on NodeOS in order to get login authentication and other tasks? Or we need to built one?

There's no "global" API but instead there are modules that implement the functionality. For login authentication we are using logon.

@piranna best of luck for JsDayEs and I am looking forward for English version.


Tag Statutory Instruments to Brexit

Every statutory_instrument document will now be tagged to the
Topic Taxonomy's Brexit taxon.

@leenagupte Agreed, had to put the hash in a variable however :)


Check script for managed_updates manifest items always produces actionNeeded of false

When utilizing a check script for items in the managed_updates manifest key, actionNeeded is always going to be false. This is happening because installType == "update" is not included in the pkg > status > status.go > checkScript > actionNeeded If statement. A fix is:
// Application not installed if exit 0
if installType == "uninstall" {
	actionNeeded = !cmdSuccess
} else if installType == "install" || installType == "update" {
	actionNeeded = cmdSuccess
}
return actionNeeded, checkErr```

Hi @serrc-techops !
Based on the nature of how managed_updates are intended to work, those items are to only update if they are installed. So, I'm curious why a file or registry check will not work for an item that is supposed to be installed already.
Does the item/app you are intending to manage the update on not provide a lot of good options for those two checks?
That said, I think you've raised an interesting issue nonetheless.

Through Gorilla, I use Chocolatey to install and update some basic
applications (i.e. Chrome, VLC, etc) using the community repository. Some
of those applications are managed installs, and some are managed updates.
In the checkinstall scripts, first choco is used to determine the current
installed version of an application and if that fails then the registry is
referenced to see if an application has been manually installed and if so
extracts that version number.
That checkinstall script also retrieves the current version of the
application available in the Chocolatey community repository and then
compares that to the version installed on the client.
So in this case since I'm using choco to somewhat automate things, I don't
actually have a file or registry to check. If I were specifying which
version of the application that choco should install then I could use the
registry check but I'm not necessarily worried about the version control on
some of these basic applications. This method makes managing the software
updates pretty simple on my end since I don't have to worry about importing
new versions, gathering the hash values, etc.
On Mon, Oct 24, 2022 at 4:33 PM danhutchings @.***>
wrote:

Hi @serrc-techops https://github.com/serrc-techops !
Based on the nature of how managed_updates are intended to work, those
items are to only update if they are installed. So, I'm curious why a file
or registry check will not work for an item that is supposed to be
installed already.
Does the item/app you are intending to manage the update on not provide a
lot of good options for those two checks?
That said, I think you've raised an interesting issue nonetheless.
—
Reply to this email directly, view it on GitHub
https://github.com/1dustindavis/gorilla/issues/123#issuecomment-1289818671,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AE4ENG2G46EKFVXIE67EVM3WE4THBANCNFSM6AAAAAAQZLHBII
.
You are receiving this because you were mentioned.Message ID:
@.***>

I appreciate your thorough explanation here. Thank you for that.
It sounds like a good path forward for your use case would potentially be this. For a managed_update or managed_install item, use a file check to check for the existence of a file on the system, including the hash or version. Then use a ps1 installer to carry out the Chocolatey install/update. I have yet to see any application that did not store at least some kind of binary on the file system. That is why I'm suggesting a file check.
Here's an example yaml config:
Manifest yaml:
managed_installs:
  - Slack
managed_updates:
  - Firefox

Catalog yaml:
Slack:
  item_name: Slack
  check:
    file:
      - path: C:\Program Files\Slack\slack.exe
        version: <IP_ADDRESS>
  display_name: Slack
  installer:
    location: packages/slack/slack-choco-updater.ps1
    hash: cb3be42f1e17b50ca9eba8fc64a8b2a5530fecf2ed57a1021b52ae612a276a47
    type: ps1
  version: <IP_ADDRESS>
Firefox:
  item_name: Firefox
  check:
    file:
      - path: C:\Program Files\Mozilla Firefox\firefox.exe
        version: <IP_ADDRESS>
  display_name: Firefox
  installer:
    location: packages/slack/firefox-choco-updater.ps1
    hash: d0877e030bb400c9642027e279c7faad3633f4d49cada2ad94577253ab3711db
    type: ps1
  version: <IP_ADDRESS>

Thanks for the response.
Doing a file check would definitely work if I were to know what the latest
version of an application is that exists in the choco community repository
or what that hash value would be.
Ideally I'm wanting to not have to make a change to the catalog each time a
new application version is added to the Chocolaty community repository. The
choco app makes that easy to accomplish in an installcheck_script because
it is able to query the repository for the version number of the
latest software.
Is there a disadvantage to using an installcheck_script to determine if
managed_updates are in need of installing?
On Tue, Oct 25, 2022 at 1:26 PM danhutchings @.***>
wrote:

I appreciate your thorough explanation here. Thank you for that.
It sounds like a good path forward for your use case would potentially be
this. For a managed_update or managed_install item, use a file check to
check for the existence of a file on the system, including the hash or
version. Then use a ps1 installer to carry out the Chocolatey
install/update. I have yet to see any application that did not store at
least some kind of binary on the file system. That is why I'm suggesting a
file check.
Here's an example yaml config:
Manifest yaml:
managed_installs:

Slack
managed_updates:
Firefox

Catalog yaml:
Slack:
item_name: Slack
check:
file:
- path: C:\Program Files\Slack\slack.exe
version: <IP_ADDRESS>
display_name: Slack
installer:
location: packages/slack/slack-choco-updater.ps1
hash: cb3be42f1e17b50ca9eba8fc64a8b2a5530fecf2ed57a1021b52ae612a276a47
type: ps1
version: <IP_ADDRESS>
Firefox:
item_name: Firefox
check:
file:
- path: C:\Program Files\Mozilla Firefox\firefox.exe
version: <IP_ADDRESS>
display_name: Firefox
installer:
location: packages/slack/firefox-choco-updater.ps1
hash: d0877e030bb400c9642027e279c7faad3633f4d49cada2ad94577253ab3711db
type: ps1
version: <IP_ADDRESS>
—
Reply to this email directly, view it on GitHub
https://github.com/1dustindavis/gorilla/issues/123#issuecomment-1291162549,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AE4ENG4QB24XVDQXAUVLZRDWFBGBPANCNFSM6AAAAAAQZLHBII
.
You are receiving this because you were mentioned.Message ID:
@.***>

Thanks for the additional context here. Gorilla catalogs are intended to be used as a desired state of items. You'll need to specify a version or hash so that Gorilla knows that a desired state is reached.
One thing Gorilla does via its file and registry checks is do a comparison to see if the installed version is newer than what is configured in the catalog(s). If the installed version is newer, it doesn't take any action. With that in mind, you could probably write up a separate script that polls the Chocolatey community for the most recent versions of the applications you are trying to manage, and then update the catalog(s). This will make it so that your catalog has up to date version information, and you can still use your Chocolatey script to install the app(s). This also accomplishes your goal of not wanting to maintain a Gorilla repo full of packages.
I hope this helps!


Yakut call should accept multiple node-IDs

This is desirable for consistency with certain other commands. Currently it accepts only one node.

Urgently :+1:


paroutes testing

Hi, I'm from South Korea and appreciate your interesting paper.
After running your code, I cannot get paroutes metric using paroutes package with some kinds of error. Is ther any paroutes inference code?
Thanks a lot for you amazing insight :)

Hi Junseok,
Thank you for your interest.
The format of the routes from PaRoutes (see the example in PaRoutes/analysis/README.md) differs from our format:
class FilteredDict(TypedDict, total=False):
    smiles: str
    children: List["FilteredDict"]

We filter their routes by removing keys other than "smiles" and "children", and we only keep nodes where the "type" is "mol" (refer to filter_mol_nodes in PreProcess.py for specifics). You can transform our format back to theirs, but note that information such as the atom-mapped reaction SMILES for the reaction nodes will not be included.
I'm closing this issue, but feel free to comment here if you need further clarification!


Remove blocking reviewer (leave) from review on success

I currently have a Herald rule that sets my Jenkins build bot user as a Mandatory blocking Reviewer.  After phabricator executes the build plan via jenkins, is there a way to automatically remove the Mandatory Review from the review if the build succeeds?
Sequence:

Herald rule to add Jenkins build bot user as mandatory reviewer
Herald rule to execute build plan
Jenkins runs build and reports back to phabricator via comment
FEATURE REQUEST: could there by a way for the mandatory Jenkins reviewer to leave the review if the build succeeds?

Thank you :)

This is an interesting one. Have you looked at Harbormaster? It may be a better fit, although I understand wanting to have the "blocking" review.
In your current system, do you have jenkins "resigning" or "accepting" the review when the build finishes?

Thanks for the quick reply @sectioneight !
In response to your question: "do you have jenkins "resigning" or "accepting" the review when the build finishes?"...
I simply have jenkins leave a comment. I didn't know I could get it to "resign" or "accept" automatically. Do you know how to configure this? My preference would be to have it "resign" automatically only if the build fails. I'd rather not jenkins "accept" the review to avoid a false positive.

"resigning" means removing your blocking review -- it removes jenkins from the list of reviewers. You can pass an "action" field when making a comment, but you'd only want to resign in the case of a successful build, and "request changes" when the build fails.
https://github.com/uber/phabricator-jenkins-plugin/blob/master/src/main/java/com/uber/jenkins/phabricator/PhabricatorNotifier.java#L179-L184
https://github.com/uber/phabricator-jenkins-plugin/blob/a93cfd88ca5921df0e84229e628daf120688b502/src/main/java/com/uber/jenkins/phabricator/conduit/Differential.java#L117-L125
So you could probably make it work with your current flow ("resign" on success), but this may be something we want to include in the plugin if it makes sense for other people.

Thanks.  Can you please point me to the syntax / format of the comment file? Looks like an interesting approach

We may be talking about two different things. 1) is that I think you can accomplish this with your current flow without this plugin, just adding a "resign" action when your build finishes as it's currently commenting.
The 2) approach is using the plugin, and not having a blocking review, but using the harbormaster status (arc will warn you if you try to land an in-progress build or the build has failed). The comment file is just plain text.

One final question for ya :)
When you state, "just adding a "resign" action when your build finishes as it's currently commenting.", how exactly do I do this? I don't see somewhere in the plugin options to allow for this. I also don't see the resign action in either my Harold or Harbormaster options (perhaps I have an older version)

It is not an option that the plugin currently has configurable.
However, if you launch a build without a PHID parameter, it will assume harbormaster integration is disabled and that's the code I was pointing to. If the build fails, jenkins will "request changes", and when it succeeds he will "resign" to remove the blocking reviewer.
I'm not totally clear on your current flow, but if you're posting comments manually (via arc call-conduit) then it's as simple as adding an action key to the JSON blob.

Any more thoughts on this one, or should I close it out?

Hi,
Is this feature request taken care of? I am having a similar use case in which Jenkins bot is added as a blocking reviewer but it doesn't accept the review even if jenkins build passes.
Looking for a way to make blocking reviewer accept the review if build in jenkins passes.


Extend xarray with custom "coordinate wrappers"

Recent and ongoing developments in xarray turn DataArray and Dataset more and more into data wrappers that are extensible at (almost) every level:

domain-specific methods (accessors)
io backends (netcdf, raster, zarr, etc.) via an abstract DataStore interface
array backends (numpy, dask, sparse) via multidispatch or hooks (#1938)
soon custom indexes? (kd-tree, out-of-core indexes... #1603, #1650, #475)

Regarding the latter, I’m thinking about the idea of extending xarray at an even more abstract level, i.e., the possibility of adding / registering "coordinate wrappers" to DataArray or Dataset objects. Basically, it would correspond to adding any object that allows to do some operation based on one or several coordinates (I haven’t found any better name than "coordinate agent" to describe that).
EDIT: "coordinate agents" may not be quite right here, I changed that to "coordinate wrappers")
Indexes are a specific case of coordinate wrappers that serve the purpose of indexing. This is built in xarray.
While indexing is enough in 80% of cases, I see a couple of use cases where other coordinate wrappers (built outside of xarray) would be nice to have:

Grids. For example, xgcm implements operations (interp, diff) on physical axes that may each include several coordinates, depending on the position of the coordinate labels on the axis (center, left…). Other grids define their topology using a greater number of coordinates (e.g., ugrid). Storing regridding weights might be another use case?
Clocks. For example, xarray-simlab use one or several coordinates to define the timeline of a computational simulation.

In those examples we usually rely on coordinate attributes and/or classes that encapsulate xarray objects to implement the specific features that we need. While it works, it has limitations and I think it can be improved.
Custom coordinate wrappers would be a way of extending xarray that is very consistent with other current (or considered) extension mechanisms.
This is still a very vague idea and I’m sure that there are lots of details that can be discussed (serialization, etc.).
But before going further, I’d like to know your thoughts @pydata/xarray. Do you think it is a silly idea? Do you have in mind other use cases where custom coordinate wrappers would be useful?

As an example, in xgcm we would have something like
>>> ds = ds_original.xgcm.generate(...)
>>> ds.xgcm.interp(‘var’, axis=‘X’)

instead of
>>> ds = xgcm.generate_grid_ds(ds_original, ...)
>>> grid = xgcm.Grid(ds)
>>> grid.interp(ds.var, axis=‘X’)

The advantage in the first example is that the information on the grid’s physical axes is bound to a Dataset object (as coordinate agents), so we don’t need to deal with any instance of another class (i.e., Grid in the second example) to perform grid operations like interpolation on a given axis, which can rather be implemented into a Dataset accessor (i.e., Dataset.xgcm in the first example).
@rabernat  I don't have much experience with xgcm so maybe this isn't a good example?
I guess we could just use Dataset attributes and/or private instance attributes in the Dataset accessor class for that, but

coordinate attributes are not really made for storing complex information
attributes in the accessor class are lost when creating a new Dataset
important information like grid axes should be exposed to the user

This has some similarity to what we would need for a KDTreeIndex (e.g., as discussed in https://github.com/pydata/xarray/issues/1603). If we can use the same interface for both, then it would be natural to support other "derived indexes", too.
What would the proposed interface be here?

I guess the common pattern for "coordinate wrappers"/"indexes" looks like:

They are derived from/associated with one or more coordinate variables.
Operations that preserve associated coordinates should also preserve coordinate wrappers. Conversely, operations that drop any associated coordinates should drop coordinate wrappers.
If associated coordinates are subset, coordinate wrappers can be lazily updated (in the worst case from scratch).
Serialization to disk netCDF losing coordinate wrappers, which will need to be recreated.
Coordinate wrappers may implement indexing for one or more coordinates.

Possible future features for coordinate wrappers:

A protocol for saving metadata to netCDF files to allow them to be automatically recreated when loading a file from disk.
Implementations for other indexing based operations, e.g., resampling or interpolation.

I'm open to other names, but my inclination would be to still call all of these indexes, even if they don't actually implement indexing.

I don't have a full idea yet of what would be the interface, but taking the repr() in your comment and mixing it with a a simplified version of an example of repr(xgcm.Grid) found in the docs, this could look like
<xarray.Dataset (exp_time: 5, x_c: 9, x_g: 9)>
Coordinates:
  * experiment  (exp_time) int64 0 0 0 1 1
  * time        (exp_time) float64 0.0 0.1 0.2 0.0 0.15
  * x_g         (x_g) float64 0.5 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5
  * x_c         (x_c) int64 1 2 3 4 5 6 7 8 9
Indexes:
    exp_time: pandas.MultiIndex[experiment, time]
Grid axes:
    X: xgcm.Axis[x_c, x_g]

Like Dataset.indexes returns all Index objects, Dataset.xgcm.grid_axes would return all xgcm.Axis objects.
Like Dataset.sel or Dataset.set_index use/act on indexes, Dataset.xgcm.interp or Dataset.xgcm.generate_grid would use/act on grid axes.
3rd-party coordinate wrappers thus make sense only if there is accessors to handle them.
If we add an indexes argument in Dataset and DataArray constructors, we might even think adding **kwargs as well in the constructors for, e.g., grid_axes. But I can see it is something that we probably don't want :-).
I use xgcm here because I think it is a nice example of application. This might co-exist with other pairs of custom coordinate wrappers / accessors.
More generally, on the xarray side we would need

a container (e.g., a dictionary) attached to Dataset or DataArray objects so that we can bind coordinate wrappers to them.
ensure that these are propagated correctly to new data objects.
maybe an AbstractCoordinateWrapper class that would provide a unified interface for dealing with issues of serialization, etc.

Agreed with all your points @shoyer.

I'm open to other names, but my inclination would be to still call all of these indexes, even if they don't actually implement indexing.

Except here where, instead of a flat collection of coordinate wrappers, I was rather thinking about a 1-level nested collection that separates them depending on what they implement. Indexes would represent one of these sub-collections.

Except here where, instead of a flat collection of coordinate wrappers, I was rather thinking about a 1-level nested collection that separates them depending on what they implement. Indexes would represent one of these sub-collections.

This seems messier to me. I would rather stick with adding a single OrderedDict to the data model for Dataset and DataArray.
Would it be that confusing to see an xgcm grid or xarray-simlab clock listed as in the repr as an "Index"? Letting third-party libraries add their own repr categories seems like possibly going too far.

Letting third-party libraries add their own repr categories seems like possibly going too far.

Yes you're probably right.
I can imagine in the example above that Dataset.xgcm.grid_axes returns a subset of a flat collection, for convenience.
It is just that the name "Index" feels a bit wrong to me in this case, and also that xgcm.Axis (and potentially other wrappers) can do things very different than Index classes, which may be confusing.

It is just that the name "Index" feels a bit wrong to me in this case, and also that xgcm.Axis (and potentially other wrappers) can do things very different than Index classes, which may be confusing.

That said, as real indexes cover most of the use cases, I'd by fine if we keep calling these indexes.

I think we can close this issue. The flexible index refactor now provides a nice framework for the suggestions made here.


textarea: word forward-backward results in infinite loop

Found while testing: recall a history then use word forward/backward towards the end of the input.
This results into an infinite loop somewhere.

can't repro for now


himalaya: init at 0.2.6

Motivation for this change
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

If the completions were being installed properly before, then they're broken now.
Executing cargoInstallHook
Cannot open config file
 ↳ No such file or directory (os error 2)
Cannot open config file
 ↳ No such file or directory (os error 2)
Cannot open config file
 ↳ No such file or directory (os error 2)
Finished cargoInstallHook

[nix-shell:~/.cache/nixpkgs-review/pr-119852]$ ll results/himalaya/share/bash-completion/completions/himalaya.bash
-r--r--r-- 1 root root 0 Jan  1  1970 results/himalaya/share/bash-completion/completions/himalaya.bash

@SuperSandro2000 @OPNA2608 Thanks for the review.


Fire resistance and immunity not working correctly

Originally posted by TarrickMerdev April  1, 2023

I have observed that the Elemental Master [Fire] feat does not appear to ignore fire immunity as stated. I tried Fire Bolt and Scorching Ray with same result: immune to fire damage.
Character:  Draconic Bloodline Sorcerer with Elven Precision [Cha], Elemental Adept [Fire], and Elemental Master [Fire] feats.
Target:  Burning Dead (copy of Fire Jester), Wyrm (copy of Remorhaz Offspring)

fixed. this was tested with cold one but can confirm it wasn't working before the fix.


fixing Azure DevOps NuGet Dependabot example

Why:
The documentation as is doesn't work -
You receive a 401 error in the Dependabot logs, as shown below:
{:source=>"https://pkgs.dev.azure.com/jjohanning0798/PartsUnlimited/_packaging/nuget-example/nuget/v3/index.json"}
updater | INFO <job_312553835> Checking if Microsoft.Extensions.Logging.Abstractions 2.0.0 needs updating
  proxy | 2022/03/09 22:42:52 [046] GET https://pkgs.dev.azure.com:443/jjohanning0798/PartsUnlimited/_packaging/nuget-example/nuget/v3/index.json
  proxy | 2022/03/09 22:42:52 [046] * authenticating nuget feed request (host: pkgs.dev.azure.com, bearer auth)
  proxy | 2022/03/09 22:42:52 [046] 401 https://pkgs.dev.azure.com:443/jjohanning0798/PartsUnlimited/_packaging/nuget-example/nuget/v3/index.json
updater | INFO <job_312553835> Handled error whilst updating Microsoft.Extensions.Logging.Abstractions: private_source_authentication_failure

Others have had this issue, mentioned here: https://github.com/dependabot/dependabot-core/issues/3555
One of the solutions as to add a : somewhere in the token to force it to use basic auth, like this:
registries:
  nuget-azure-artifacts:
    type: nuget-feed
    url: https://pkgs.dev.azure.com/jjohanning0798/PartsUnlimited/_packaging/nuget-example/nuget/v3/index.json
    token: '${{ secrets.AZURE_DEVOPS_PAT }}:'  # Must be an unencoded password

But instead, username and password is a cleaner and more consistent solution, I think:
registries:
  nuget-azure-artifacts:
    type: nuget-feed
    url: https://pkgs.dev.azure.com/jjohanning0798/PartsUnlimited/_packaging/nuget-example/nuget/v3/index.json
    username: jjohanning0798
    password: ${{ secrets.AZURE_DEVOPS_PAT }}  # Must be an unencoded password

What's being changed:

On the Dependabot version updates configuration page, changing the Azure DevOps example to use username and password instead of token.
I see each of the examples here have a token example - and the other NuGet example is already username and password - but this just won't work with Azure DevOps as is.
If we wanted to keep the pattern of having a token example and a password example, I would suggest we should flip the examples then.
Changing this:

To:

Check off the following:

[x] I have reviewed my changes in staging (look for "Automatically generated comment" and click Modified to view your latest changes).
[x] For content changes, I have completed the self-review checklist.

Writer impact (This section is for GitHub staff members only):

[ ] This pull request impacts the contribution experience

[ ] I have added the 'writer impact' label
[ ] I have added a description and/or a video demo of the changes below (e.g. a "before and after video")

Did you mean to open this PR against https://github.com/github/docs rather than against main here in your fork?

@jeffwidman 🤦  yes - oops!

closing this with the PR being transferred to https://github.com/github/docs/pull/20617


Hand cricket

This is a program for the simple game of Hand Cricket
Close #406

Why didn't you include instruction or setup file? is this only a program. Provide me the screenshot of results.

I have added the screenshot and also the rules in brief as a README.md file in Java->Simple Games->Hand Cricket


Rancher provisioned cluster becomes unavailable after enabling secret encryption, if secrets are deleted during the secret rewriting

What kind of request is this (question/bug/enhancement/feature request):
Bug
Steps to reproduce (least amount of steps as possible):

Provision a Rancher v2.4.5 instance, and a downstream cluster. In my test lab I used https://github.com/superseb/tf-do-rancher2/ and provisioned 8vCPU, 32GB VMs, with two controlplanes, three etcd nodes and two workers.
Using the script below, I populated 1000 secrets in the namespaces secret-testing, secret-testing2, secret-testing3, secret-testing4, secret-testing5. Choice of namespaces was arbitrary, I just wanted to replicate a customer env with secrets in multiple namespaces. Relatively large number of secrets was deliberate, reproducing customer env, but also ensuring the rewrite process to encrypt secrets would take some time, providing a window to manually trigger deletion of some secrets:

  #!/bin/bash
  task(){
    dd bs=1024 count=50 </dev/urandom > random-"$1"
    echo "" >> random-"$1"
    echo "GoodData" >> random-"$1"
    kubectl --kubeconfig kubeconfig.yml -n secret-testing create secret generic secret-"$1" --from-literal=username=GoodData --from-file=password=./random-"$1"
  }

  N=100

  (
  for count in {000001..001000}
  do
    ((i=i%N)); ((i++==0)) && wait
    task "$count" &
  done
  )

Follow the Rancher server container logs, and enable managed secret encryption in the cluster per https://rancher.com/docs/rke/latest/en/config-options/secrets-encryption/#enable-encryption
When the Rancher server container log shows [INFO] cluster [<cluster-id>] provisioning: Rewriting cluster secrets execute the following script against each of the secret-testing namespaces to delete some of the secrets, whilst the rewriting is taking place:

#!/bin/bash
task(){
  kubectl --kubeconfig kubeconfig.yml -n secret-testing delete secret secret-"$1"
}

N=100

(
for count in {000900..001000}
do
   ((i=i%N)); ((i++==0)) && wait
   task "$count" &
done
)

Observe the RKE run will eventually fail, with an error of the following format:

[ERROR] ClusterController <cluster-id> [cluster-provisioner-controller] failed with : [secrets \"secret-000900\" not found secrets \"secret-000910\" not found secrets \"secret-000920\" not found secrets \"secret-000930\" not found secrets \"secret-000940\" not found secrets \"secret-000950\" not found secrets \"secret-000960\" not found secrets \"secret-000970\" not found secrets \"secret-000980\" not found secrets \"secret-000990\" not found secrets \"secret-000900\" not found secrets \"secret-000910\" not found secrets \"secret-000920\" not found secrets \"secret-000930\" not found secrets \"secret-000940\" not found secrets \"secret-000950\" not found secrets \"secret-000960\" not found secrets \"secret-000970\" not found secrets \"secret-000980\" not found secrets \"secret-000990\" not found secrets \"secret-001000\" not found secrets \"secret-000908\" not found secrets \"secret-000918\" not found secrets \"secret-000928\" not found secrets \"secret-000938\" not found secrets \"secret-000948\" not found secrets \"secret-000958\" not found secrets \"secret-000968\" not found secrets \"secret-000978\" not found secrets \"secret-000988\" not found secrets \"secret-000998\" not found secrets \"secret-000901\" not found secrets \"secret-000911\" not found secrets \"secret-000921\" not found secrets \"secret-000931\" not found secrets \"secret-000941\" not found secrets \"secret-000951\" not found secrets \"secret-000961\" not found secrets \"secret-000971\" not found secrets \"secret-000981\" not found secrets \"secret-000991\" not found]

The failure of the initial RKE run, will trigger a further run, which eventually completes successfully with: [INFO] cluster [<cluster-id>] provisioning: Finished building Kubernetes cluster successfully

Make a further edit to the cluster, in my lab I added an extra_env to the kube-api service:

[...]
  kube-api:
      [...]
      extra_env:
        - FOO=bar

Observe that upon completion of the RKE run the cluster is stuck in an Updating state with the following error: [ERROR] ClusterController c-pr6jl [cluster-provisioner-controller] failed with : error getting secret: Internal error occurred: no matching key was found for the provided AES transformer

To restore the cluster to a working state, you can perform an etcd snapshot restore to a snapshot before encryption was enabled and let the secret rewriting complete without any secret deletion during the rewrite process.

Attached Rancher log collector output from the Rancher server instance in my lab after reproducing the issue: aseymour-rancherserver-2020-08-14_15_01_47.tar.gz
Environment information

Rancher v2.3.6

gzrancher/rancher#11644

On 2.4.5 Reproduced the issue

Deploy a custom cluster - 3 etcd, 2 control and 2 worker nodes.
Create 1000 secrets in the cluster using script

#!/bin/bash
for j in {6..10}; do
  kubectl create namespace test$j
    for i in {2..200}; do
      kubectl create secret generic test$i --from-file=test -n test$j;
    done
done

Enable encryption using docs
The cluster reconciles and cluster will show message "provisioning: Rewriting cluster secrets" for quite sometime.
Rancher logs:

2020/11/12 00:11:58 [INFO] cluster [c-ssd29] provisioning: [addons] Executing deploy job rke-ingress-controller
2020/11/12 00:11:59 [INFO] cluster [c-ssd29] provisioning: [ingress] ingress controller nginx deployed successfully
2020/11/12 00:11:59 [INFO] cluster [c-ssd29] provisioning: [addons] Setting up user addons
2020/11/12 00:11:59 [INFO] cluster [c-ssd29] provisioning: [addons] no user addons defined
2020/11/12 00:11:59 [INFO] cluster [c-ssd29] provisioning: Rewriting cluster secrets
I1112 00:12:00.567006       6 request.go:621] Throttling request took 1.107706808s, request: PUT:https://<>:6443/api/v1/namespaces/kube-system/secrets/cronjob-controller-token-dj2cq?timeout=30s
I1112 00:12:10.567003       6 request.go:621] Throttling request took 1.924767846s, request: PUT:https://<>:6443/api/v1/namespaces/test10/secrets/test116?timeout=30s
I1112 00:12:20.766977       6 request

Deleted some secrets using script

#!/bin/bash
for j in {6..10}; do
  kubectl create namespace test$j
    for i in {2..50}; do
      kubectl delete secret test$i -n test$j;
    done
done

Cluster fails with error

Cluster comes to Active state eventually

Edit cluster, add these params in cluster.yaml and save changes made to cluster

services:
  kube-api:
    extra_env:
        - test=value

Cluster fails to come up with error

Error: Cluster health check failed: Failed to communicate with API server: Unauthorized; error getting secret: Internal error occurred: no matching key was found for the provided AES transformer
Restore from etcd snapshot, taken before creating secrets/enabling secrets.
Cluster comes up Active

On 2.5-head - commit id: bb69b039
Scenario#1

Deploy 200 secrets (as the batch size is 250) on a cluster.
Enable Secrets encryption on the cluster.
The cluster goes into updating state --> Rewriting of secrets begin
Delete few secrets
The Rewriting of secrets finish and cluster finishes upgrading and the cluster comes up Active.
Edit cluster, add these params in cluster.yaml and save changes made to cluster

services:
  kube-api:
    extra_env:
        - test=value

Cluster comes up Active after updating

Scenario#2

Deploy about 1000 secrets
Enable Secrets encryption on the cluster.
The cluster goes into updating state --> Rewriting of secrets begin
Delete few secrets
The Rewriting of secrets finish and cluster finishes upgrading and the cluster comes up Active.
Edit cluster, add these params in cluster.yaml and save changes made to cluster

services:
  kube-api:
    extra_env:
        - test=value

Cluster comes up Active after updating


Re-add scrolling tabs

I removed these temporarily because they are not discoverable and not mobile friendly (AFAICT) but I'm in the process of adding them back.

work in progress:
https://github.com/greggman/webgpu-samples/pull/new/scroll-tabs
still needs styling
https://github.com/webgpu/webgpu-samples/assets/234804/ba5fb952-3e69-4825-8bad-a0d297a98ae3


Forgot password

The functionality for forgot password should send an email to change your password but it doesn't. We should implement the functionality to send the email.

FEATURE IMPLEMENTED.
ISSUE RESOLVED


Add importer for pages projects

Adds an import function for pages projects.

Acceptance tests are not passing yet as waiting on a release tomorrow.

Acceptance tests are now passing
root@374a6841e75f:/workspaces/terraform-provider-cloudflare# TESTARGS='-run "TestAccCloudflarePagesProject" -count 1 -parallel 1' make testacc
TF_ACC=1 go test $(go list ./...) -v -run "TestAccCloudflarePagesProject" -count 1 -parallel 1 -timeout 120m -parallel 1
?       github.com/cloudflare/terraform-provider-cloudflare     [no test files]
=== RUN   TestAccCloudflarePagesProject_Import
--- PASS: TestAccCloudflarePagesProject_Import (11.59s)
=== RUN   TestAccCloudflarePagesProject_Basic
--- PASS: TestAccCloudflarePagesProject_Basic (7.02s)
=== RUN   TestAccCloudflarePagesProject_BuildConfig
--- PASS: TestAccCloudflarePagesProject_BuildConfig (5.53s)
=== RUN   TestAccCloudflarePagesProject_DeploymentConfig
--- PASS: TestAccCloudflarePagesProject_DeploymentConfig (4.85s)
=== RUN   TestAccCloudflarePagesProject_DirectUpload
--- PASS: TestAccCloudflarePagesProject_DirectUpload (5.30s)
=== RUN   TestAccCloudflarePagesProject_PreviewOnly
--- PASS: TestAccCloudflarePagesProject_PreviewOnly (4.73s)
=== RUN   TestAccCloudflarePagesProject_ProductionOnly
--- PASS: TestAccCloudflarePagesProject_ProductionOnly (6.07s)
PASS
ok      github.com/cloudflare/terraform-provider-cloudflare/internal/provider   45.094s
?       github.com/cloudflare/terraform-provider-cloudflare/version     [no test files]

thanks @Cyb3r-Jak3 🌮 !


Unmet dependency

Hello,
I've noticed on my systems (ubuntu 14.04) that the python modules requests and six are not new enough for one of wal-e's dependencies (I'm not sure which).
I've temporarily worked around this issue by creating a pre-task to
- pip: name=requests state=latest
- pip: name=six state=latest

Shoul be fixed now. Thank you for the report.


docs: update windows release notes for 2024-04B

What type of PR is this?
/kind documentation

What this PR does / why we need it:
Add windows image release notes for new AKS Windows images with 2024-04B. Reference: #4268
Which issue(s) this PR fixes:

Fixes #
Requirements:

[x] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests
[ ] tested upgrade from previous version

Special notes for your reviewer:
Release note:
none

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2450

Relevant Lines:
2985

💛  - Coveralls


RHEL 8.0 Repo missing

Describe the issue
This URL has no directory for 8.0, but did yesterday, and has a .0 for all other supported versions.
When did the issue occur?
First notice 5pm CST on 2/16
If applicable, what package did you attempt to install, and from which repo?
Steps to Reproduce
Try to download  https://packages.microsoft.com/rhel/8.0/prod/repodata/repomd.xml which is configured by default on Azure RHEL VMs.
Actual Result
404
Expected Result
200
Screenshots

Additional context

I have also been running into this. First saw this on February 14th EST.

This is having a bad interaction with Microsoft Defender for Azure. It will install a prod.repo onto your VM that references the non-existant 8.0 directory. After it does this any yum install commands error out.

This is having a bad interaction with Microsoft Defender for Azure. It will install a prod.repo onto your VM that references the non-existant 8.0 directory. After it does this any yum install commands error out.

Here is the corresponding issue in the defender repo:
https://github.com/microsoft/mdatp-xplat/issues/128

Hi all, thank you for bringing this to our attention. We did have a prod.repo referencing the 8.0 endpoint but that endpoint had not existed before today, which may have been an oversight on our end - apologies for the inconvenience.
The repos were instead being mapped to rhel/8. We've just now added a new distribution endpoint at rhel/8.0 in addition to rhel/8, which should also resolve that Microsoft Defender issue. I will post a comment there as well, but this 404 issue should be resolved. We will continue monitoring this issue for the next few days in case publishers are still having issues. Thank you for your patience!


Support JWKs for pre 2.3 rubies

This should fix the issue in #361. Even if the Rubies are EOL and stone-age we should probably still support them while the gemspec claims to support >= 2.1
Part of the problem is that the CI has not been executed for pre 2.3 versions in a while, was thinking we could maybe add the older rubies to the test matrix in #381 before we remove the support completely in the next major version of this gem.

2x Truffleruby builds failed because of something random. The flaky tests runs are also tagged as allow_failures in #381

Merged this to have working CI for 2.1 and 2.2 while working on some refactorings on the JWK parts of the gem


Newdev

this is work from the existing-app tutorial and not meant to be merged into the main branch


Java package names

Perhaps src/main/java/seedu/address -> src/main/mycelium/mycelium

Can, but I thought it should be src/main/java/mycelium/mycelium though?

Can, but I thought it should be src/main/java/mycelium/mycelium though?

Oh ye ur right


Validate that we can run competition matches in bulk for SR2023

Many matches were run by @WillB97 last night as part of the virtual competition dry-run. I believe @Adimote also confirmed a working setup.


Add a command line canonicalizer to internally mask funky back-compat switches

Some of the original sqlcmd (ODBC base) command line switches are completely non-standard by modern standards, such as  -x1 / -k1 -k2 etc and therefore not supportable by any modern CLI framework (such as Kong or Cobra), rather than try to hack these CLI frameworks, add a canonicalizer very early in process start-up that looks for these odd command line switches and re-writes them into a standard form, and then passes args in standard form into the CLI framework Cobra/Kong.

Another PR comment related to this, recording here:
"i suspect some version of this code is permanent. We aren't likely to reproduce all the legacy switches in the new CLI are we? Perhaps we should use an environment variable to only allow modern mode where it uses query as the default command but only with whatever switches that command supports." - David
"I think we can solve the problem of the legacy switches by writing a small "canonicalizer" called at the start of main, which scans through the supplied args, and modifies them to be parsable by Cobra, then call cobra.command.SetArgs to override what's passed in from env." - Stuart

i think we can make these work with Cobra without a special case.


Roll Flutter Engine from da62c629ed5c to d4624a36712b (3 revisions)

https://github.com/flutter/engine/compare/da62c629ed5c...d4624a36712b
2024-06-26<EMAIL_ADDRESS>Roll Skia from 7e85023a57b7 to 79587650d153 (1 revision) (flutter/engine#53578)
2024-06-26<EMAIL_ADDRESS>Roll Skia from 0c9a66786ba1 to 7e85023a57b7 (3 revisions) (flutter/engine#53577)
2024-06-26<EMAIL_ADDRESS>Roll Skia from 7cbcb2f0e818 to 0c9a66786ba1 (1 revision) (flutter/engine#53576)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jimgraham@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Error casting '<< ... >>' to :binary_id

Steps to reproduce.
On the repo https://github.com/cyberchitta/M.ai perform
mix ecto.drop
mix ecto.create
mix ecto.migrate
mix run priv/repo/seeds.exs

results in the stacktrace
** (Ecto.ChangeError) value `<<96, 78, 199, 171, 247, 83, 76, 152, 146, 66, 173, 187, 123, 148, 19, 228>>` for `Mai.Chat.Message.chat_id` in `insert` does not match type :binary_id
    (ecto 3.11.2) lib/ecto/repo/schema.ex:1049: Ecto.Repo.Schema.dump_field!/6
    (ecto 3.11.2) lib/ecto/repo/schema.ex:1058: anonymous fn/6 in Ecto.Repo.Schema.dump_fields!/5
    (stdlib 5.2) maps.erl:416: :maps.fold_1/4
    (ecto 3.11.2) lib/ecto/repo/schema.ex:1056: Ecto.Repo.Schema.dump_fields!/5
    (ecto 3.11.2) lib/ecto/repo/schema.ex:989: Ecto.Repo.Schema.dump_changes!/7
    (ecto 3.11.2) lib/ecto/repo/schema.ex:367: anonymous fn/15 in Ecto.Repo.Schema.do_insert/4
    (ecto 3.11.2) lib/ecto/repo/schema.ex:273: Ecto.Repo.Schema.insert!/4
    (elixir 1.16.2) lib/enum.ex:992: anonymous fn/3 in Enum.each/2
    (elixir 1.16.2) lib/enum.ex:4388: Enum.reduce_range/5
    (elixir 1.16.2) lib/enum.ex:2532: Enum.each/2
    (elixir 1.16.2) lib/enum.ex:992: anonymous fn/3 in Enum.each/2
    (elixir 1.16.2) lib/enum.ex:4388: Enum.reduce_range/5
    (elixir 1.16.2) lib/enum.ex:2532: Enum.each/2
    priv/repo/seeds.exs:22: (file)

However, <<96, 78, 199, 171, 247, 83, 76, 152, 146, 66, 173, 187, 123, 148, 19, 228>> is a 16 byte binary, so it should be a uuid i.e. a :binary_id, and the cast should work.
In fact, a very similar insert earlier in the same script (for inserting a new chat with a foreign key) does actually work.
UPDATE. Using exandra 0.10.2

Hi there, can you try using :uuid in your migration instead of :binary_id?

@vinniefranco thanks for the response, and the link. I tried what you suggested, the migrations worked, but I'm still getting the same error. Are there schema examples I could look at?

@vinniefranco thanks for the response, and the link. I tried what you suggested, the migrations worked, but I'm still getting the same error. Are there schema examples I could look at? particularly ones with foreign keys?
UPDATE. On further research, it appears that foreign keys are not really used in cassandra. Even though ecto isn't complaining about the usage (which it did about 'references'), I guess no one is really exercising this code path.

Yea, this is an adapter for Ecto, it doesn't prevent you from attempting RDBMS footguns everywhere... Only in the adapting parts. Datastax and Scylla have great courses on the differences in modeling. I recommend that because while there is a SQL-esque language - the differences are dramatic

Great question, btw. There is no such thing as foreign keys in Cassandra/Scylla. That said, try your schema uuid field definitions like so:

I was figuring that out even as you were writing 😃 .

field(:my_uuid_field, Ecto.UUID)

We use that all over the place, and it works for us! I'm hoping it does for you as well 🤞🏽

Yes!! That worked. Thank you very much @vinniefranco

Great question, btw. There is no such thing as foreign keys in Cassandra/Scylla. That said, try your schema uuid field definitions like so:

I was figuring that out even as you were writing 😃 .

field(:my_uuid_field, Ecto.UUID)

We use that all over the place, and it works for us! I'm hoping it does for you as well 🤞🏽

Yes!! That worked. Thank you very much @vinniefranco

sweeeeeeet! good luck!


Conditionally bind search-change event - how to pass in the search query

How can I conditionally bind the search-change event?
Here’s my component:
<multiselect
			v-model="selected"
			:options="options"
			:placeholder="props.placeholder"
			:multiple="props.multiple"
			:loading="isLoading"
			@search-change="props.data ? asyncFind(this.search, this.id) : null"
		>
		</multiselect>

And the key part:
@search-change="props.data ? asyncFind(this.search, this.id) : null"

How can I pass in the search and id? If I use @search-change="props.data ? asyncFind : null" they are undefined.

This is limited by the way event handling in Vue works. You would have to do something like this:
@search-change="asyncFind($event, id)"

$event is always the 1st parameter passed to the event from within Multiselect.
After that change your asyncFind method like this:
asyncFind (query, id) {
  if (!this.props.data) return
  // do the async stuff with the query and id
}

That should solve the problem. Let me know if it doesn’t.


code clean, remove unused code

This PR removes unused code reported by webpack > UglifyJs plugin.
Also reported but not removed is:

Dropping unused function createCssRule [./Element.js:109,0]
Dropping unused function enterRenderer [./Element.js:1078,0]
Dropping unused variable styleSheet [./Element.js:104,0]

since it looks like wip or used in commented code.
I did not run specs on this yet. npm test does not run out of the box. Tried npm install intern but that got me a newer version than the one setup since some errors started to come up. Maybe the tests dependencies should be added first so we can run the specs, before this PR is taken serious.

Checked PR again now with specs working and all tests pass.

Thanks!


Opening this to join the community

Can some one please add me to this community
GitHub username technikhil314

Invitation sent for the GitHub Organisation. Welcome to the community 🎉
Don't forget after accepting to make it public so it appears on your github profile for everyone else to see, you can do this by finding your name in the github organisation list and change the dropdown to public https://github.com/orgs/EddieJaoudeCommunity/people
Tips for practicing:
Customise your GitHub profile, here is a live stream on it https://www.youtube.com/watch?v=cT6GXCuS0Zo
Practice repo, instructions how to add your name to the README in the README https://github.com/EddieJaoudeCommunity/hacktoberfest-practice
Remember contributing to open source is not just about code, its about collaboration, communication and adding value
I hope that helps


View.visible performance fix

Replaced use of jQuery $el.is("visible") with $.expr.filters.visible(this.$el[0]);
The time $el.is(":visible") takes increases as the number of elements visible on the page increases and even with a reasonable amount of visible elements for a web application this function takes around 11ms on nearly every key press. This occurs because $el.is(":visible") searches for $el in the array of elements that match :visible which is normally hundreds of elements (in my case, thousands).
$.expr.filters.visible(e) simply runs the function that jQuery uses to decide whether a single element matches the :visible criteria. That function checks a few things like css display and visibility and offsetWidth/Height on the element and all of it's parents recursively. And since this function is checking the visibility of an atwho-view, it'd usually only have two parents to check and almost always be faster than searching the array of all :visible.
Below are some tests I ran. We actually have pages that have several thousand visible elements so this kind of performance isn't usable for our project. Times are taken from the Chrome and IE dev tools Profiler.
Before Change :
Chrome 51 with 5432 :visible 95-110ms
Chrome 51 with 1864 :visible 32-40ms
Chrome 51 with 845 :visible ~20ms
Chrome 51 with 452 :visible ~11ms
IE 11 with 1873 :visible 75-90ms
After change  :
Chrome 51 with 5432 :visible <1ms
Chrome with 1769 :visible <1ms
IE with 1877 :visible 1ms

thanks, @markdon


Feature/revoke

What does this PR do?
Adds the capability to revoke tokens from the chosen storage (redis in our case). With this, you make sure that your storage is synchronized with the authentication provider.
The ideal scenario though is to use low expiration tokens, this way you wouldn't need to revoke a token manually.

👍


An unexpected error has occurred trying to load the app.

Trying to load Google sdm api
Unexpected r

More info needed to diagnose - any additional errors displayed in the browser page? Error logs in the Hubitat logs?

(https://remoteaccess.aws.hubitat.com/logs#)groovy.json.internal.Exceptions$JsonInternalException: unexpected character r on line 198 (method uninstalled)
app:9102023-01-15 11:25:18.364 AMerrorgroovy.json.internal.Exceptions$JsonInternalException: unexpected character r on line 198 (method mainPage)
app:9102023-01-15 11:25:15.127 AMerrorgroovy.json.internal.Exceptions$JsonInternalException: unexpected character r on line 198 (method

[cid:storage_emulated_0_DCIM_Screenshots_Screenshot_20230115_173645_Chrome_jpg_1673836374428]
Sent from my Verizon, Samsung Galaxy smartphone
-------- Original message --------
From: dkilgore90 @.>
Date: 1/15/23 4:54 PM (GMT-07:00)
To: dkilgore90/google-sdm-api @.>
Cc: Herrinc @.>, Author @.>
Subject: Re: [dkilgore90/google-sdm-api] An unexpected error has occurred trying to load the app. (Issue #92)
More info needed to diagnose - any additional errors displayed in the browser page? Error logs in the Hubitat logs?
—
Reply to this email directly, view it on GitHubhttps://github.com/dkilgore90/google-sdm-api/issues/92#issuecomment-1383289621, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AURWUCFP77NYJRXXDO5NUNLWSSE3VANCNFSM6AAAAAAT4AOAA4.
You are receiving this because you authored the thread.Message ID: @.***>

Sent from my Verizon, Samsung Galaxy smartphone
I have the project ID as seen below
What is entered in the credentials. Json field??
-------- Original message --------
From: dkilgore90 @.>
Date: 1/15/23 4:54 PM (GMT-07:00)
To: dkilgore90/google-sdm-api @.>
Cc: Herrinc @.>, Author @.>
Subject: Re: [dkilgore90/google-sdm-api] An unexpected error has occurred trying to load the app. (Issue #92)
More info needed to diagnose - any additional errors displayed in the browser page? Error logs in the Hubitat logs?
—
Reply to this email directly, view it on GitHubhttps://github.com/dkilgore90/google-sdm-api/issues/92#issuecomment-1383289621, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AURWUCFP77NYJRXXDO5NUNLWSSE3VANCNFSM6AAAAAAT4AOAA4.
You are receiving this because you authored the thread.Message ID: @.***>

Doing some cleanup and realized this ticket was still open -- sorry for the delay, are you still having issues?  Your screenshot did not attach successfully.
The project ID should be a UUID from the Device Access Project
The credentials.json is the full JSON object downloaded from your OAuth2 credentials in Google Cloud Project -- it appears that there is an unexpected character in your JSON which is causing the parsing to fail.

Closing as this ticket has gone stale.


Now http://website.com  as well as http://website.com/  both are recognized by nettacker correctoly and no error comes.

…gnized by nettacker correctoly.
Describe your changes or your new module and let us know which OS and Python version you tested on.

OS: 'Linux' or 'Windows'
OS Version: x
Python Version: 2.7

Hello,
Thank you. PR merged.
Best Regards.

Actually sir, I want to say you thanks because of this open source teach me a lot in python.

hello sir,  Currently I add a patc
h in OWASP-Nettacker
https://github.com/VictorSuraj/OWASP-Nettacker/tree/4390444be664596cedbda1893e3bd45b02f1c92d/lib
https://github.com/VictorSuraj/OWASP-Nettacker/tree/4390444be664596cedbda1893e3bd45b02f1c92d/lib/scan
https://github.com/VictorSuraj/OWASP-Nettacker/tree/4390444be664596cedbda1893e3bd45b02f1c92d/lib/scan/port
https://github.com/VictorSuraj/OWASP-Nettacker/tree/4390444be664596cedbda1893e3bd45b02f1c92d/lib/scan/port/engine.py
but this was not added in branch.  I want please check and review the code.
I add this patch because of, for  some rare website  like amazon.com
http://amazon.com port 0 is well managed and our code is not working
properly their to bring all filterd port but currently it is working for
all.
Thank youVictorSuraj
On Sun, Apr 22, 2018 at 9:38 PM, Ali Razmjoo<EMAIL_ADDRESS>wrote:

Hello,
Thank you. PR merged.
Best Regards.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/zdresearch/OWASP-Nettacker/pull/110#issuecomment-383392401,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Abw7v-wqiByt5RdJYD0_pqjmmu-FNw5dks5trKsKgaJpZM4Te1Dn
.

Hey @VictorSuraj,
Please send a new PR, I will guide and review your code. it could be edited there.
Regards.


automaticallyScrollsToMostRecentMessage and fetched results controller causes content to jump after updates

I've got a classic FRC and Core Data approach. Firstly, i populate JSQ controller with persistent data and apply  scrollToBottomAnimated(false). But, after refreshed data reloads collection view, it jumps to last added messages up, and in refresh procedure :
func addMessages()
{
    BL_ChatManager.addNewMessagesInDialog(containingDiscussionAboutPostWithID: self.postID, success: {[weak self] () -> Void in

        dispatch_async(dispatch_get_main_queue(), { () -> Void in
            self?.scrollToBottomAnimated(false)
        })
        }) { (errorCode) -> Void in
    }
}

I have to scroll it back again. What can cause this problem? Tested on ios 9.

Hello everyone!
I'm sorry to inform the community that I'm officially deprecating this project. 😢 Please read my blog post for details:
http://www.jessesquires.com/blog/officially-deprecating-jsqmessagesviewcontroller/
Thus, I'm closing all issues and pull requests and making the necessary updates to formally deprecate the library. I'm sorry if this is unexpected or disappointing. Please know that this was an extremely difficult decision to make. I'd like to thank everyone here for contributing and making this project so great. It was a fun 4 years. 😊
Thanks for understanding,
— jsq


Add support for vectorization

This PR add changes in the tree definition to add support for vectorisation in level one operators.

Closing this PR as the performance of vectorization doesn't look promising.


googleapi: Error 401: Invalid Credentials, authError only on big files

Hello,
first, this tool saves my day, great job on this.  thank you!!
I have version 2.4.6 build on a debian machine. With files smaller 1GB I get them pushed to my google account:
drive-google push -quiet -ignore-checksum /path/file
or
cat file | drive-google push -piped -ignore-checksum /path/file
The following error accure for files bigger 1 GB:
googleapi: Error 401: Invalid Credentials, authError
I have not the fastest connection so 1 GB need to upload about 1 to 2 hours.
Do you know whats wrong here, I have no glue because files to a size of 800MB work fine.
Thank you
kind regards
ldo

Hello @ldold, thanks for reporting this issue and welcome to drive!
Thank you for the kind words :) Hope it continues to serve you right.
Can you confirm that the file upload is completed after that it has reported that error? This might be due to the fact that am logging any errors that are encountered. If it aborts the 1GB upload then that's an issue.

Hello Emmanuel.
it goes to 100% and show the error, but there is no file in my account.
With smaller files and short push times there is no error.
kind regards
ldo

Alright, thanks for the confirmation. For starters what does drive version say?

Hi,
here the output:
root@clx01:/usr/src/drive_0.2.6/src/github.com/odeke-em/drive/drive-google# ./drive-google version
drive version: 0.2.6
Commit Hash: <CURRENT_COMMIT>
Go Version: <GO_VERSION>
OS: <OS_INFO>
I built the binary on my development machine with go build and copied only the binary "drive-google" to the main backup server. Could this be a problem?
Thank you very much for your help
kind regards
ldo

Ah:
Commit Hasch: Current_commit
Go Verson: go version go1.3.3 linux/amd64
OS: debian jessie x64 (8)

Hi,
I tested a few things and I have to correct my description:
Same file for 1 and 2 (small file 1 mb)

piped drive-google, file exists

pipe will error to use force. no upload
with force the file is uploaded but the file is not available in google drive folder.

piped drive-google, file do not exists

the file is uploaded and available in the google drive folder.

small file upload (not piped)

upload ok, available ok
error: serializeIndex filename.nc: invalid argument
file is available in google drive folder

upload big files (not piped)

upload ok, available not ok
error: googleapi: Error 401: Invalid Credentials, authError
file is not available in google drive folder

hope this helps to find the problem.

Hi,
just after the nigthly backup I get also this kind of message, which looks like do not have an impact on the upload:
549498717 / 549498717  100.00 % 0serializeIndex filename.tar.gz.nc: invalid argument
The upload was ok the file is available in my account.
Due to testing I let several jobs running at the same time and it looks like it is not a matter of size it seems like it is a matter of transfer time.
Running jobs at the same time and sharing the speed of my connection makes the smaller files < 1GB also end sometimes with googleapi: Error 401: Invalid Credentials, authError.
I have seen in the logs that a 3 GB file will need over 6 hours to upload maybe there is a timeout in some auth token or something.
kind regards
ldo

Hi,
any news on this topic or can you give me hint where the problem might be?
Thank you
kind regards
Lars

Hello @ldold, please get the latest from master by
$ go get -u github.com/odeke-em/drive/drive-gen && drive-gen

It has a mechanism for retrying on errors.
Thank you for the patience.

Ping!

Closing this issue since it was resolved already. Please get the latest from master.


Add minimum supported Go version to go.mod

Locally, I've upgraded to Go 1.13 to test it out. The project hasn't officially rev'ed to that version yet. One of the things I notice is that when I do a build, an entry indicating go 1.13 as the minimum supported version is put into the go.mod. According to the following article, we should have started seeing this behavior with Go 1.12, but I don't recall that being the case
https://golang.org/doc/go1.12#modules
I wouldn't want this to be checked in as go 1.13 until the project moves to that version. I've tested compilation of the edgex-go services locally with the version directive set to go 1.12 and everything works as far as I can tell. Again, this directive is only indicating a minimum supported version.
I think we should do this fairly soon as we could easily get contributions from people who've upgraded to Go 1.13 and who might miss this small edit.

Trevor - based on what I read, it sets this by default to the current release if it is not set (which is what you saw when you rev'ed to 1.13).  -> "It will be set to the current release (go 1.12) if no existing version is present."So I am wondering if we just want to leave it out of go.mod and let the default continue to apply.  That way we don't have to have the lock in to the version.  For example, when we do move to 1.13, I presume (maybe incorrectly) that what we do still would compile and work with 1.12 since we aren't using any feature of 1.13 explicitly.  But if we start updating all the go.mods, doesn't this require any developer to have to upgrade to 1.13 (or change their go.mod file back to 1.12)?
In other words, unless we really have a min supported Go that we work with (perhaps that is 1.0 for us??) why set this and artificially require developers to move up when it really isn't necessary?  Shouldn't we use the "minimum required" to indicate just that - minimum and not what we are currently working with?
On Wednesday, September 25, 2019, 7:47:22 PM GMT+1, Trevor Conn<EMAIL_ADDRESS>wrote:

Locally, I've upgraded to Go 1.13 to test it out. The project hasn't officially rev'ed to that version yet. One of the things I notice is that when I do a build, an entry indicating go 1.13 as the minimum supported version is put into the go.mod. According to the following article, we should have started seeing this behavior with Go 1.12, but I don't recall that being the case
https://golang.org/doc/go1.12#modules
I wouldn't want this to be checked in as go 1.13 until the project moves to that version. I've tested compilation of the edgex-go services locally with the version directive set to go 1.12 and everything works as far as I can tell. Again, this directive is only indicating a minimum supported version.
I think we should do this fairly soon as we could easily get contributions from people who've upgraded to Go 1.13 and who might miss this small edit.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

We should move the version of Go up as the project moves on because older releases of Go are not maintained and as such could have security vulnerabilities in them, etc. I think it's reasonable to say that the project's minimum Go version is the oldest one currently supported by the Go team (i.e. right now that's Go 1.13, Go 1.12 and Go 1.11, see https://golang.org/doc/devel/release.html#policy)
That is until we start needing specific features from Go 1.13, etc.

@jpwhitemn

In other words, unless we really have a min supported Go that we work with

We DO have a minimum version required, as we said on the Core WG call, and that's Go 1.12.x because of the module capabilities. I still advocate setting this to go 1.12 instead of go 1.11 because as we know, Go 1.11 was a "preview" of modules with the official support coming in 1.12.

+1 to set go 1.12 as the minimum, and then when go 1.15 is released, bump that to 1.13, etc.


How to uninstall apt-vim?

How to uninstall apt-vim?


Modals are broken on latest dev

Reported by @Neko-Life on Discord, modal APIs are broken, giving this
{"message": "Invalid Form Body", "code": 50035, "errors": {"data": {"custom_id": {"_errors": [{"code": "BASE_TYPE_REQUIRED", "message": "This field is required"}]}, "title": {"_errors":
[{"code": "BASE_TYPE_REQUIRED", "message": "This field is required"}]}, "components": {"_errors": [{"code": "BASE_TYPE_BAD_LENGTH", "message": "Must be between 1 and 5 in length."}]}}}}

This would likely be a problem with a modal's fill_from_json_impl method.
Culprit commit seems to be https://github.com/brainboxdotcc/DPP/commit/d2322315aa661c175bbbed152d0ccac8f29e33b3
Additionally trying to build a modal's json gives a compilation error:
<redacted>/Musicat/src/musicat/cmds/search.cpp: In function ‘dpp::interaction_modal_response musicat::command::search::modal_enqueue_searched_track_top()’:
<redacted>/Musicat/src/musicat/cmds/search.cpp:53:24: error: request for member ‘to_json’ is ambiguous
   53 |     std::cerr << modal.to_json(true).dump(2) << '\n';
      |                        ^~~~~~~

The fix for this one would be to import one of the bases's methods with using.
I probably won't have time to fix this until Monday, though someone else can look at it if they want to.

There is now a hot fix to correct this issue. We're looking at further improvements to the fix, however, this issue is now resolved.


Enh: Distributed agents

Moving the code from MMM to Bluesky in a more robust manner. I've held off on complete adjudicator functionality for now, but will add in a future PR.
@tacaswell Can you give this a once over to make sure it's on par with what you were expecting? Or would you prefer to hold off until some of the example docs and tests are done?

[x] Unit tests for kafka communications
[x] Address the concern of the Dispatcher not raising any errors with an open try statement.
[x] Unit tests for race conditions and overflow of comms (moot with AgentManager plans)
[x] Basic Mixins

[x] Unit test for simple mixins
[x] Unit tests for tiled coms
[x] Unit tests for plans on queue

[x] Docs on Docs on Docs

[x] Extending this to NSLS-II specific example
[ ] Obvious GP example

Note: Following this discussion, https://github.com/bluesky/bluesky-kafka/pull/50, I may remove the auto-compose from the testing and leave that up the the developer/gha to spin up as needed.

@dmgav It'd be good to have your eyes on this, so you know what I'm thinking from the distributed agent perspective.

API comments:

move any work where we take a string and build something out of the __init__.  We may still want a class method that takes strings, but the ability to directly pass in instatiated instances is very useful (like I did for the QS object)
merge the methods that return the plan args and kwargs into one that returns (plan_name, [args], {kwargs}).  This means that agents now also have the power to select their plan and the logic for generating args and kwargs is in one place.

@tacaswell This is ready for re-review. The API was updated on those two points, along with the relevant tests and docs.


fix(pageserver): use default io-engine from conf to resolve clippy warnings

On non-linux platform (e.g MacOS), clippy will fail for bench_ingest:
error[E0599]: no variant or associated item named `TokioEpollUring` found for enum `pageserver::virtual_file::api::IoEngineKind` in the current scope
   --> pageserver/benches/bench_ingest.rs:152:45
    |
152 |     virtual_file::init(16384, IoEngineKind::TokioEpollUring);
    |                                             ^^^^^^^^^^^^^^^ variant or associated item not found in `IoEngineKind`

This PR fixes this by using the io-engine from pagerserver config, which will be still use tokio-epoll-uring on linux target as desired.
Checklist before requesting a review

[x] I have performed a self-review of my code.
[ ] If it is a core feature, I have added thorough tests.
[ ] Do we need to implement analytics? if so did you add the relevant metrics to the dashboard?
[ ] If this PR requires public announcement, mark it with /release-notes label and add several sentences in this section.

Checklist before merging

[ ] Do not forget to reformat commit message to not include the above checklist

Closed in favor of https://github.com/neondatabase/neon/pull/8641.


openEditor SIDE_GROUP isn't working as expected

Repro:
Replace TerminalEditorService.splitInstance's implementation with:
	splitInstance(instanceToSplit: ITerminalInstance, shellLaunchConfig: IShellLaunchConfig = {}): ITerminalInstance {
		const instance = this._terminalInstanceService.createInstance(shellLaunchConfig, TerminalLocation.Editor);
		this._editorService.openEditor(this.getOrCreateEditorInput(instance), SIDE_GROUP);
		return instance;
	}

Try split a terminal using the + dropdown editor action:

splitInstance(instanceToSplit: ITerminalInstance, shellLaunchConfig: IShellLaunchConfig = {}): ITerminalInstance {
	const instance = this._terminalInstanceService.createInstance(shellLaunchConfig, TerminalLocation.Editor);
	this._editorService.openEditor(this.getOrCreateEditorInput(instance), undefined, SIDE_GROUP);
	return instance;
}

Btw we will eventually deprecate passing in typed (heavy) editor inputs to IEditorService so please consider using untyped inputs: { resource... }

Plan:

Adopt proper SIDE_GROUP call
Assign the shell launch config to a resource before the terminal when requested, when the editor input is initially, use the stored shell launch config

Deferring untyped adoption to https://github.com/microsoft/vscode/issues/129183


Fix ip per container test

@cmaloney, or @alberts Can we run tests multiple time with this branch, and look at success rate?

I'll launch 15 of the vagrant, see how that goes.

Much less flaky, although still at least one failure: https://teamcity.mesosphere.io/viewLog.html?buildId=356042&tab=buildResultsDiv&buildTypeId=DcosIo_Dcos_VagrantIntegrationTests_ProvisioningTestGenconfBashPr

https://teamcity.mesosphere.io/viewLog.html?buildId=356067&buildTypeId=DcosIo_Dcos_VagrantIntegrationTests_ProvisioningTestGenconfBashPr&tab=buildResultsDiv

And a spartan watchdog failure: https://teamcity.mesosphere.io/viewLog.html?buildId=356174&tab=buildResultsDiv&buildTypeId=DcosIo_Dcos_VagrantIntegrationTests_ProvisioningTestGenconfBashPr

https://teamcity.mesosphere.io/viewLog.html?buildId=356182&buildTypeId=DcosIo_Dcos_VagrantIntegrationTests_ProvisioningTestGenconfBashPr&guest=1

Muted test_applications.test_if_minuteman_routes_to_named_vip on the vagrant bash, was causing quite a few other prs to fail

This does not fix all the flakyness but introduces a lot of bugfixes (see commits). :ship:


Somatic analysis with background: variant: vcf

I intended to run validation on a high-depth targeted panel consisting of an NA12878-NA24385 mixture using the following configuration:
---
details:
  - analysis: variant2
    genome_build: GRCh37
    algorithm:
      variantcaller: [mutect2, vardict]
      min_allele_fraction: 1
      tools_off: [gemini, coverage_qc, fastqc, contamination]
      effects: false
      background:
        variant: /usr/local/share/bcbio-nextgen/genomes/Hsapiens/GRCh37/validation/giab-NA24385/truth_small_variants.vcf.gz
    metadata:
      phenotype: tumor

Validation is performed against the giab-NA12878-NA24385-somatic ground truth.
It seems that the background is only subtracted in Mutect2 using --panel-of-normals , but not in Vardict. What is the recommended way to subtract a background from the Vardict results?

Brad,
just to give you some short feedback here: In the range below 10% AF Mutect2 has an extremely low FDR while the FDR of vardict rises steeply. This makes totally sense given the history and original purpose of Mutect2. https://software.broadinstitute.org/gatk/documentation/article?id=11127
I do not see any significant advantage of filtering by PoN in my data sets since the FDR is so low already.
Unfortunately, Mutect2 soft-filters variants quite aggressively across the entire range of AF which results in a relatively high FNR. I do not have the time (and the data) to play around with these soft-filters at this moment. There may be potential for improvement.
I am dealing with very high coverage data and the Mutect2 doc says that optimization of parameters may be required. They do not say which, though.
https://software.broadinstitute.org/gatk/documentation/tooldocs/<IP_ADDRESS>/org_broadinstitute_hellbender_tools_walkers_mutect_Mutect2.php

Caveats: Although GATK4 Mutect2 accomodates varying coverage depths, further optimization of parameters may improve calling for extreme high depths, e.g. 1000X.

Ben;
Thanks for following up with all these details. The sensitivity/specificity tradeoffs between MuTect2 and VarDict match our experience. VarDict can identify a lot of low frequency variants other callers miss, but filtering then becomes a challenge. It's useful to hear about that MuTect2 sensitivity could be improved with additional changes to the soft filters; this sounds like a useful future project with the right validation datasets. If MuTect2 is now performing well on tumor-only the smcounter2 validation datasets would be a good match: https://github.com/bcbio/bcbio_validation_workflows#somatic-low-frequency-variants
Thanks again for this discussion.


fix: Update VR table cell focus outline offsets

Description

Rel: AWSUI-36760
How has this been tested?

Review checklist
The following items are to be evaluated by the author(s) and the reviewer(s).
Correctness

Changes include appropriate documentation updates.
Changes are backward-compatible if not indicated, see CONTRIBUTING.md.
Changes do not include unsupported browser features, see CONTRIBUTING.md.
Changes were manually tested for accessibility, see accessibility guidelines.

Security

If the code handles URLs: all URLs are validated through the checkSafeUrl function.

Testing

Changes are covered with new/existing unit tests?
Changes are covered with new/existing integration tests?

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Closed in favour of https://github.com/cloudscape-design/components/pull/2336


[BUG] k3d stuck in image download loop

What did you do
root@harana-server:/etc/systemd# k3d cluster create harana \
        --api-port <IP_ADDRESS>:6443 \
        --k3s-arg --disable=traefik@server:0 \
        -v /opt/harana:/opt/harana \
        -v /etc/machine-id:/etc/machine-id:ro \
        -v /var/log/journal:/var/log/journal:ro \
        -v /run/udev:/run/udev:ro \
        --port 80:80@loadbalancer \
    --port 443:443@loadbalancer

What did you expect to happen
Cluster should have been created.
Screenshots or terminal output
WARN[0000] No node filter specified
WARN[0000] No node filter specified
WARN[0000] No node filter specified
WARN[0000] No node filter specified
INFO[0000] portmapping '80:80' targets the loadbalancer: defaulting to [servers:*:proxy agents:*:proxy]
INFO[0000] portmapping '443:443' targets the loadbalancer: defaulting to [servers:*:proxy agents:*:proxy]
INFO[0000] Prep: Network
INFO[0000] Re-using existing network 'k3d-harana' (9f9cb8b557d53d68024fcd00e69f6838d3887e9d49546d983cebff6bb9393b58)
INFO[0000] Created volume 'k3d-harana-images'
INFO[0000] Starting new tools node...
INFO[0001] Creating node 'k3d-harana-server-0'
INFO[0006] Pulling image 'docker.io/rancher/k3d-tools:5.0.1'
INFO[0007] Pulling image 'docker.io/rancher/k3s:v1.21.5-k3s2'
INFO[0013] Pulling image 'docker.io/rancher/k3d-tools:5.0.1'
INFO[0024] Pulling image 'docker.io/rancher/k3d-tools:5.0.1'
INFO[0024] Pulling image 'docker.io/rancher/k3s:v1.21.5-k3s2'
INFO[0031] Pulling image 'docker.io/rancher/k3d-tools:5.0.1'
INFO[0039] Pulling image 'docker.io/rancher/k3s:v1.21.5-k3s2'
INFO[0040] Pulling image 'docker.io/rancher/k3d-tools:5.0.1'
INFO[0051] Pulling image 'docker.io/rancher/k3d-tools:5.0.1'
INFO[0055] Pulling image 'docker.io/rancher/k3s:v1.21.5-k3s2'
INFO[0061] Pulling image 'docker.io/rancher/k3d-tools:5.0.1'
INFO[0073] Pulling image 'docker.io/rancher/k3s:v1.21.5-k3s2'
INFO[0075] Pulling image 'docker.io/rancher/k3d-tools:5.0.1'

The above lines just keep repeating over and over again.
Running in verbose mode reveals this error:
{"errorDetail":{"message":"failed to register layer: Error processing tar file(exit status 1): Error cleaning up after pivot: remove /.pivot_root326443762: device or resource busy"},"error":"failed to register layer: Error processing tar file(exit status 1): Error cleaning up after pivot: remove /.pivot_root326443762: device or resource busy"}

Which OS & Architecture
Ubuntu 21.10 (impish)

I did previously run these commands to create shared mounts:
echo "MountFlags=shared" >> /etc/default/docker
sudo systemctl daemon-reload
sudo systemctl restart docker
mkdir -p /var/lib/kubelet
sudo mount -o bind /opt/harana /opt/harana
sudo mount -o bind /var/lib/kubelet /var/lib/kubelet
sudo mount -o bind / /
sudo mount --make-shared /var/lib/kubelet
sudo mount --make-shared /opt/harana
sudo mount --make-shared /

Which version of k3d
k3d version v5.0.1
k3s version v1.21.5-k3s2 (default)

But I have verified the issue also happens in 4.4.8.
Which version of docker
Docker version 20.10.9

@nadenf running into this - why did you close the issue?


Fix buttons bottom padding.

🗃 Github Issue Or Explanation for this PR. (What is it supposed to do and Why is needed)
#1536
✅ Checklist

[x] Github issue details are up to date for people to QA.
[x] I have tested all my changes.

🕵♂ Notes for Code Reviewer
Fix screens:

Import key
Import words
Flag
Invite
Manage invite
Plant
Unplant
Vouch
Edit name
Guardians tabs
Select guardians
Invite guardians
Invite guardias send
Receive
Receive QR code
Send enter data
Send confirmation
Recover account search
Recover account found
Create account name
Create display name

Please let me know if I miss any screens. Thank you.
🙈 Screenshots

👯♀ Paired with
"nobody"

Conflicts are Lint