Piping into variant constructors only works for a single argument

For example:
type actions =
  | OneThing(string)
  | TwoThings(string, int)

let thisWorks = AddThings("dogs", 5)

let thisWorksToo = "dogs"->OneThing

let thisDoesn't = "dogs"->TwoThings(5)

I know that constructors aren't really functions and get desugared into tagged objects, but if we are going to pretend they are functions like in ML languages then it would be nice to go the whole way and allow piping into the first argument.

An example of a specific case where this would be lovely is https://github.com/bloodyowl/rescript-react-update where it would become possible to write:
switch action {
  | Increment => {...state, counter: state.counter + 1}->UpdateWithSideEffects(({send}) => Js.log("blah"))
}


Update tvOS example to Swift 4

The tvOS example was never migrated from Swift 2 and thus failed to compile or even auto-convert in Xcode 9. Workspace has been updated to Swift 3.2/4.

@idrougge thank you so much!


Custom Model Deployment

Actions before raising this issue

[X] I searched the existing issues and did not find anything similar.
[X] I read/searched the docs

Steps to Reproduce

Deployment of serverless in CVAT.
Using custom model

Expected Behavior
It should either give out an error or allow us to deploy other models but when my custom model is working properly, I am not able to deploy the existing models as well.
It is in Building state since 3 days, Error is not coming. I am unable to view or deploy other models as well
Possible Solution
No response
Context
No response
Environment
No response

@purvaja2001 , please provide us exact steps to reproduce the issue. We cannot help if we don't know on how to reproduce the issue on our side.

@purvaja2001 , if you cannot deploy a function from our open-source repository, we can help because we have all the necessary code to reproduce the issue on our side. If you are trying to deploy your own function, we cannot help. Please read our documentation and other examples. I will close the issue.

Hi, it's not about deployment of custom model.
Why is it not possible to deploy another model or access the Models tab while one model is in building state ?

I am also trained my model and have stored in a local directory, I am using hugging face transformers fro SAM fine tuning, however I am not able to deploy it on CVAt? is there any development or any path to follow this?


axe-core 4.01

Type: Missing
Summary:
axe-core 4.01
Details:
Harvested license file indicates license is MPL 2.0
Resolution:
License file in repository also indicates license is MPL 2.0
Affected definitions:

axe-core 4.0.1

Closing; declard license is already set as MPL-2.0.


Fix for parentDynamicRoutes being cleared on route change

Closes: #5
Here's a link to a reproduction: https://codesandbox.io/s/vue-template-yy32j (When you click on 'foo' in the navigation, the router will only show the id, while it should show the full breadcrumb with parents list).

@Suruat this would be great to merge in, if you agree it fixes #5 :pray:

I'm calling the route Home Individuals, but the / bar has not stayed.
correct example
Home / Individuals

My router
,{             path: "/app",             name: "Início",             component: AppLayout,             children: [                 //dashboard                 {                     name: "dashboard",                     path: "dashboard",                     component: () =>                         import (                             /* webpackChunkName: 'vhs-dashboard' */                             "../views/Dashboard/Dashboard.vue"                         ),                     meta: {                         breadcrumb: {                             label: "Dashboard"                         }                     }                 }             ]         },{path: "/pessoa",             meta: "Pessoa física",             component: AppLayout,             children: [{                     name: "listPessoasFisicas",                     path: "fisica",                     component: () =>                         import ("@/views/Pessoas/Fisica/List.vue"),                     meta: {                         breadcrumb: {                             label: "Pessoas físicas ",                             parent: "Início"                         }                     }                 },                 {                     name: "cadastroPessoasFisicas",                     path: "cadastrar",                     component: () =>                         import ("@/views/Pessoas/Fisica/CadastroPessoa.vue"),                     meta: {                         breadcrumb: {                             label: "Nova pessoa física",                             parent: "listPessoasFisicas"                         }                     }                 },


Multiple copies of Agda in translation language drop-down

When translating a kata you can see 2 "Agda" entries in the drop-down of available languages.

This doesn't happen in the kata editor or normal kumite, though.

Actually it's not just "Agda", the default language selected (sometimes different, I think it has to do with your most recently trained language) appears twice.

Fixed


Make ockam tcp-outlet show (no args) interactive by asking the user to choose from a list of tcp-outlets to show (tuify)

Current behavior
When a user runs ockam tcp-outlet show without any arguments, currently they are shown an error message & help text. Here's a screenshot of this.

Desired behavior
Change the behavior of this command so that it becomes interactive with the user when no arguments are passed. Note that this can only be allowed to happen if:

the terminal is interactive, and,
the --no-input or --quiet flags have not been passed, and,
no arguments have been passed in to the command.

This what the user flow should look like in interactive mode.

Use the tuify crate's select_from_list() function to ask the user to select from a list of tcp-outlet aliases, at the default node. They should be able to make multiple selections. If there are none, then simply display a message saying that none exist (not an error) and exit.

Once the user has made their selection(s), display a confirmation prompt letting the user know that that show is about to be called with the tcp-outlet aliases they have selected. Use select_from_list() to display this prompt. They should be able to make a single selection.

If they have made no selections then exit by displaying a message to the user letting them know they did not make any selection.

If they choose "YES", then run show for each selected tcp-outlets, and display the results of the show command for each tcp-outlets that they've selected.

The following is a video showing a generic user flow that shows the user experience when a user is asked to choose a from a list of "things". Then an action is performed on each "thing". Finally status information is reported for each action that is performed on each "thing". Please note that this flow is not specific to this issue.

https://asciinema.org/a/612547

Implementation details

Please use the functions select_multiple, and confirm_interactively in this file.

Here's a similar PR to get some ideas from: https://github.com/build-trust/ockam/pull/6480

You can learn more about how to use the select_from_list() in the tuify crate here. Here is an example that is very similar to the steps you might have to take for this issue.

Here's a file you can look at to detect when a terminal is interactive or not.

Here's a file you can look at to see where the ockam tcp-outlet show command is implemented.

We love helping new contributors! ❤
If you have questions or need help as you explore, please join us on Discord. If you're looking for other issues to contribute to, please checkout our good first issues.

hey, I would like to try this. Pls assign me!

@Himanshu-370 That's awesome, this is all yours. Please let us know if you have any questions as you explore. You can also ask questions on the contributors discord https://discord.gg/RAbjRr3kds

@Himanshu-370 Since you started working on this issue here's some new information that help you w/ your PR:

Please use the functions select_multiple, and confirm_interactively in this file.

Here's a similar PR to get some ideas from: https://github.com/build-trust/ockam/pull/6480

@Himanshu-370 Since you started working on this issue here's some new information that help you w/ your PR:

Please use the functions select_multiple, and confirm_interactively in this file.
Here's a similar PR to get some ideas from: delete node interactively #6480

Thanks, working on it:)

@Himanshu-370 We made a minor UX (user experience) update to the issue today. Instead of asking a user for confirmation once they've made their selection, we can just skip that and allow them to perform the action. Since the action is not destructive, it results in a better UX for the user.

If this issue is not yet done, please, can you assign it to me?

@Lumexralph It is all yours 👍🏽

@Lumexralph It is all yours 👍🏽

got a PR in for this issue #6968, my next focus will be on the other assigned issue.


Java Out of Memory

I'm getting OOM on the t3.medium with a small data set, specifically this: https://github.com/neo4j-partners/neo4j-sagemaker/blob/main/form13/embedding.ipynb
It works in Aura with a similar config.  I'm strongly suspicious something needs to be done in the installers to allocate heap better.  This code should go in the installer, not the template.  I wonder if there's code in Aura that ought to move over to the template.

Ed checking with product team.  Likely fix pulling memory allocation into the core product.

Looks like we may have hit this again with our SageMaker PR

Fixed here https://github.com/neo4j-partners/amazon-cloud-formation-neo4j/blob/main/marketplace/neo4j.template.yaml#L545
Will be published to marketplace soon

Resolved.


Child views of MapView don't stay attached to their geo-position

Issue Type
[x] Bug
Description and/or steps/code to reproduce the problem
When adding views to the MapView, those views are shown/layouted, but if the map is scrolled or zoomed the added views don't follow their geo-position. I'd expect them to always stay attached to their geo-position. Google Maps v1 handles this correctly.
I currently work around this by adding an overlay and from within Overlay.draw() I call myView.requestLayout(). It works, although the layouting only happens on the next frame of the scroll, resulting in slightly "wobbly" views.
Environment
If it's a bug, version(s) of android this affects:
I tried on 9.0
Version of osmdroid the issue relates to:
6.0.2

Similar to #909

Just PR'ed #1195

I've just merged #1195, that puts back the calls to method mapView.requestLayout, which should solve this issue.
@schildbach Feel free to test.

Then I guess we can close this issue, and if needed later you can create an enhancement issue.

Any idea when 6.0.3 will be released?

I need to fix #1196 first, but development-wise I think nothing else is expected.


how to hide the tabbar when push to new page?

how to hide the tabbar when push to new page?

Please make a video or gif. I don't understand what do you mean.

I'm facing the same problem: I'm using both the React Native navigator and your react-native-scrollable-tab-view (which is great), and I have a structure like this:
  <ScrollableTabView         ref="appContainer"         initialPage={0}         renderTabBar={() => <BottomTabBarSchema />}         prerenderingSiblingsNumber={1}         tabBarPosition='overlayBottom'>           <Navigation             tabLabel='tab1'             initialRoute={{page:'Home'}}           />           <Navigation             tabLabel='tab2'             initialRoute={{page:'Flow'}}           />           <Navigation             tabLabel='tab3'             initialRoute={{page:'News'}}           />           <Navigation             tabLabel='tab4'             initialRoute={{page:'Messages'}}           />           <Navigation             tabLabel='tab5'             initialRoute={{page:'Profile'}}           />       </ScrollableTabView>
Now, using the Navigator, there will be certain pages that require the bar to be hidden or the bar "locked" attribute to be switched. Any suggestions on how to do that?

<ScrollableTabView
        ref="appContainer"
        initialPage={0}
        renderTabBar={() => <BottomTabBarSchema />}
        prerenderingSiblingsNumber={1}
        tabBarPosition='overlayBottom'
        locked={this,props.locked /*(or whatever variable you use)*/}>
          <Navigation
            tabLabel='tab1'
            initialRoute={{page:'Home'}}
            setLocked={this.props.locked} // and so on
          />
          <Navigation
            tabLabel='tab2'
            initialRoute={{page:'Flow'}}
          />
          <Navigation
            tabLabel='tab3'
            initialRoute={{page:'News'}}
          />
          <Navigation
            tabLabel='tab4'
            initialRoute={{page:'Messages'}}
          />
          <Navigation
            tabLabel='tab5'
            initialRoute={{page:'Profile'}}
          />
</ScrollableTabView>

Thank you very much! That's what I was afraid of. Thing is I have to change it with a 6-level child, and I was hoping there was a better way via ref. Thank you very much anyway!!


Create UX for adding Topics in Create Market

The old cat/tag selection in Create Market needs to be adjusted to work with the new Topic Selection sidebar menu on the Market List page.

Dupe of #298


add rebuild config task

i'm getting tired of explaining people howto.

delete jspm folder (only needed for (old) i18n sofar)
delete map entry in config json
run jspm install

I don't think we're going to add a task for this for now. Hopefully, we are past most of these issues.


Outdated version of easysrl.jar in repository (missing up-to-date edu.uw.TaggerflowProtos)?

Thanks for including the deeptagger library! Unfortunately, I still have a problem using the code outside of UW.
After cloning the repository and importing the project into Eclipse, I'm faced with a few compile errors. The project references the included easysrl.jar, but it seems that this jar file was built with an earlier version of edu.uw.TaggerflowProtos than the current code requires.
In particular,  three classes refer to methods that don't exist in one of TaggerflowProtos.{TaggedToken,TaggedSentence,TaggingResult}:

edu.uw.easysrl.main.InputReader (line 407)
edu.uw.easysrl.main.TaggerflowServer (line 81)
edu.uw.easysrl.syntax.tagger.TaggerflowLSTM (lines 53, 57, 60, and 90)

Is there any way for me to build an updated version of easysrl.jar, or to get access to a current version of TaggerflowProtos?
Thanks!

(Nvm, simply rebuild easysrl.jar using ant to resolve the issue).


Golang build fails on private Git repository

Hello, I have noticed that Golang application build fails if it's a private repository and have internal packages. The problem could be solved by cloning it into the correct gopath since "go get" is trying to fetch all required packages that are not in vendor and since your internal packages are not in vendor - it tries to get them but fails since those are private.
If a repo was cloned into a correct path - "go get" would find all those packages and won't try to fetch them.

I don't completely understand the issue. Bear with me as I'm no Go expert. What exactly are 'internal packages'? Are they not part of the repo? Are they exposed in some private end point, and if so using what protocol  and authentication (e.g. ssh vs https).?

Apologies for vague description. So, the private Go repo looks like:
github.com/rusenask/repo_name/main.go
github.com/rusenask/repo_name/packageA/file.go
github.com/rusenask/repo_name/packageB/file.go
github.com/rusenask/repo_name/packageC/file.go
When Kudu pulls this repo it should place it into correct gopath (GOPATH/src/github.com/rusenask/repo_name) and then go get and go build tools will find
github.com/rusenask/repo_name/packageA as a normal 3rd party library and happily build it without even knowing that this is a package from private repo. This strategy works for any other git provider - bitbucket/gitlab. For example if a repo is stored in bitbucket:
bitbucket.com/scm/project_name/repo_name
it would then have to land into:
GOPATH/src/bitbucket.com/scm/project_name/repo_name
Does that make sense?

Some questions/clarifications:

Note that the repo in Kudu always sits in D:\home\site\repository
What specific error are you getting? Can you paste the relevant chunk of the build output?
Do you have a custom deployment script that runs 'go get'?

Also, would you be able to share a minimal repo that demonstrates the issue?
@shrimpy is no longer on the team, but he implemented to Go support, so if he sees this maybe he'll have thoughts!

Getting errors it fails to find packages from my own repository
No, just pointing it to my repo

I have look at deployment script, so at the beginning it does:
Creating GOPATH\src D:\local\Temp\8d3e21053ef9592\gopath\src
and then it's cloning repo to gopath as well (looks right):
Cloning into 'D:\local\Temp\8d3e21053ef9592\gopath\src\github.com\rusenask\gunfuzz'... fatal: could not read Username for 'https://github.com': terminal prompts disabled
and then more:
Building Go app to produce exe file package github.com/rusenask/gunfuzz/database: exit status 128 package github.com/rusenask/gunfuzz/statik: cannot find package "github.com/rusenask/gunfuzz/statik" in any of: 	D:\Program Files\Go\1.7\src\github.com\rusenask\gunfuzz\statik (from $GOROOT) 	D:\local\Temp\8d3e21053ef9592\gopath\src\github.com\rusenask\gunfuzz\statik (from $GOPATH) package github.com/rusenask/gunfuzz/structs: cannot find package "github.com/rusenask/gunfuzz/structs" in any of: 	D:\Program Files\Go\1.7\src\github.com\rusenask\gunfuzz\structs (from $GOROOT) 	D:\local\Temp\8d3e21053ef9592\gopath\src\github.com\rusenask\gunfuzz\structs (from $GOPATH)
so, it looks like it's doing what I suggested earlier that it should put it into GOPATH but is still failing to find packages. Can it be somehow related to the cloning that it doesn't copy sub directories?
Is there a way to get into this deployment step in azure to check whether the whole repo was cloned?
Regarding example repo - okay, will create one.

My guess is that the issue comes down to it failing to authenticate over https when the repo is private. I assume everything works when using a public repo?
Can you share your web app name, either directly or indirectly? This will help us investigate. Thanks!

I also thought this and made repo public few days ago, then deployment worked, but once I made repo private again - it started failing.
I guess that when it's public - it just go gets  everything what's missing, although it doesn't explain why it is missing those packages in the first place.
Created new web app under same service plan:
http://dummy-websrv.azurewebsites.net/

Did a bit more investigation, now using local Git repository inside Azure since I thought maybe it had something to do with Github integration.
So that error from previous messages about git clone failing was from go get - and that go get should have never been tried to execute anyway.
Logs from kudu:
Started : Monday, October 10, 2016 2:12:23 PM
   Source : D:\home\site\repository\
     Dest : D:\local\Temp\8d3f11773680650\gopath\src\azureapp\

This is a bit wrong and should never work for an application that has at least one internal directory (in Go those are called packages).
if my repository is in github.com/rusenask/my_app_name
then, Kudu should not clone it into
 D:\local\Temp\8d3f11773680650\gopath\src\azureapp\
but rather clone it into
 D:\local\Temp\8d3f11773680650\gopath\src\github.com\rusenask\my_app_name
It is one thing to do this for Github, but a bit more difficult if you are using your own git repostiory. Location, where your app will be cloned should be configurable, since if I store my application in bitbucket or somewhere else - paths will be different.
@davidebbo can I somehow override that destination?
(Dest : D:\local\Temp\8d3f11773680650\gopath\src\azureapp\)

Note that the Kudu repository sites in D:\home\site\repository and not under tmp (though some files may get copied to tmp later).
One thing you can do is download the deployment script (from Tools menu in Kudu) to see exactly what it's doing step by step. Then if needed you can customize it by using a custom deployment script.

Thanks!
Downloaded deployment script, modified
SET FOLDERNAME=azureapp
to
SET FOLDERNAME=github.com\rusenask\my_app_name
and then web.config to point to the newly created binary and it works! :)

Awesome!
Our Go support is still quite limited, so at this point, I think this is good enough of a workaround. At least now, we have it explained here is case someone else runs into it :)


requestIdleCallback

There is a lot of interest from developers on this one and from what we learned by analyzing traces, a significant chunk of poor user experience issues could be resolved if it were available. We are eager to make this available, hence the request for a tag review.
cc/ @rmcilroy
Spec: https://w3c.github.io/requestidlecallback/

outstanding issues
Blink intent to implement. Implementation status: behind the experimental flag in Chrome 47.
chromestatus.com entry

Taken up at Boston f2f.

This illustrates the need for a well-defined scheduler that this, RaF, and the multitude of other 'scheduled' work should integrate into. (Promises, etc.)

@travisleithead https://html.spec.whatwg.org/multipage/webappapis.html#processing-model-8 seems like at least a start.

Sorry I meant https://html.spec.whatwg.org/multipage/webappapis.html#processing-model-9

Yep, that's where we start from. :) We discussed how that section may not have the right integration/hooks for various features, which we'd like to add. It also seemed that the model need not be embedded in the HTML spec, though certainly HTML makes a lot of use of the processing model.

So far our solution seems to be adding integration hooks at various allowed points, like animation frame tasks being exposed via requestAnimationFrame, or microtasks indirectly via promises. It seems reasonable to propose other APIs if you want, like requestResizeStep(fn), but of course doing so locks implementers more into a very specific model.
As for where it belongs, I don't think that's really important. Right now HTML defines the event loop, browsing context creation, and navigation. If someone besides the HTML editors wanted to take on those tasks and showed themselves to be good at it I imagine it would be fine to move the definition to their spec. It fits pretty naturally into HTML though given all the integration work.

Re the discussion about defining the event loop:  there was some discussion in the Houdini task force meeting in Paris in August to write a specification that would define it better.  Minutes are at<EMAIL_ADDRESS>although the summary at the top is not a particularly good summary of the key points from my perspective; better to read the full minutes.
On to further review of the spec:
Larger issues
I have two larger issues to raise (although I admit the first is somewhat vague):

Does the spec's notion of "idle" scale well to a more multi-core future in which browsers do a good job of taking advantage of those cores?  In particular, engines may be moving to doing more tasks (e.g., beyond compositing to tasks that are more part of layout or even style computation) on other threads, or (probably less worrysome here) dividing a main-thread-blocking task across multiple threads to help it finish faster.  I tend to think the APIs are probably ok in that regard, given that they're a relatively straightforward extension of setTimeout, but I'm a little more worried about the prose (both the diagrams of how things work in section 2 and the processing model in section 5 -- see the next point).

I'm worried the processing model is over-defined.  (This concern comes from bzbarsky, who I believe raised an issue on it; I think https://github.com/w3c/requestidlecallback/issues/28 although it might be any one of 25-29, and I don't have good enough internet access to check right now.)  For example, it defines the duration of an idle period at the start of that idle period (steps 4, 5, and 8 of the "When the user agent wishes to start an event loop's idle period" algorithm), and earlier says that no other idle period can begin before that deadline has passed ("Let last_deadline be the last idle period deadline associated with the current event loop, or 0 if no previous deadline exists."; step 1 of the same algorithm), so essentially it forbids running any idle callback that wasn't posted before that deadline was determined until after the deadline.  This seems like it might lead to underutilization of perfectly-usable idle time; I'd rather implementations be allowed to use the idle time effectively by calling idle callbacks, using strategies that they deem best for speed, power usage, interactivity, etc.  (There might also be good reasons to want such usage, e.g., because it may be better to do a bunch of work together than to wait and cause additional CPU wakeups.)  That said, I'm not against all constraints in the processing model; a number of the other constraints (e.g., relating to the relative order of idle callbacks, or the fact that each idle callback is called from a separate queued task posted after the previous one finishes) seem good.  (This applies to both the normative description of the processing model in section 5 and to its non-normative description in section 2.)  For example, if an implementation ends an idle period whose deadline was initially 50ms long only 10ms into it because there was user input, but then finishes processing that input 10ms after that, the spec currently requires not starting another idle period for another 30ms.

Detailed comments
I also have a few more specific comments from reading the spec.
1. Introduction
Do you really want to mention localStorage as an example, given that we'd like to discourage use of it (in favor of asynchronous storage APIs like IndexedDB)?
"can't make any assumptions" should probably say something more like "can't make accurate/good/??? assumptions" (i.e., it can make assumptions -- they will just often be wrong)
2. Idle Periods
First paragraph seems to imply that input processing is for a given frame, which seems a little fishy to me.  (Or maybe that's true in some browsers?)
"The user should be careful to account for" doesn't mean the user of the browser (which is what we usually mean by "user"); it means the user of the API.
This says the callbacks are run in FIFO order, but it's really only FIFO for each document separately.  (Though maybe the inter-document order should be better-defined, and defined in a way that doesn't allow one document's idle callbacks to starve another document's, which seems possible in the current model?)
"Once an idle period is finished the user agent can schedule another idle period if it remains idle" isn't strictly true per the processing model (given that the UA can't schedule another idle period until the previous one's deadline has passed), although I propose above that that be fixed.
4. Window interface extensions
One possible point of confusion:  when I first read through the IdleDeadline interface, I thought "didTimeout" was an attribute that reflected whether timeRemaining() was greater than 0 or not (although I was thinking that this should be a function rather than an attribute).  I wonder if developers might have the same confusion, and whether there's a better name available.
Use of "unsigned long" indices is a little bit clunky, although I guess it's compatible with setTimeout.  One thing I worry about is that people might be converting code from setTimeout to requestIdleCallback (or using requestIdleCallback if available and falling back to setTimeout) -- so I wonder if it might help avoid hard-to-debug mistakes from that conversion if setTimeout and requestIdleCallback used the same space of integers rather than overlapping spaces (and maybe even if clearTimeout and clearIdleCallback were just the same underlying implementation, or maybe even not introducing a new clearing method).
"Wait until any invocations of this algorithm started before this one whose timeout is equal to or less than this one's have completed.":  This seems like it might be a little bit underconstrained; it seems like it might be worth guaranteeing sorting by (requestIdleCallback time + timeout).
5. Processing model
"If the Document 's hidden attribute [page-visibility] is false" seems like it should say true rather than false.

On Friday 2015-10-23 12:09 +0900, L. David Baron wrote:

Does the spec's notion of "idle" scale well to a more multi-core future in which browsers do a good job of taking advantage of those cores?  In particular, engines may be moving to doing more tasks (e.g., beyond compositing to tasks that are more part of layout or even style computation) on other threads, or (probably less worrysome here) dividing a main-thread-blocking task across multiple threads to help it finish faster.  I tend to think the APIs are probably ok in that regard, given that they're a relatively straightforward extension of setTimeout, but I'm a little more worried about the prose (both the diagrams of how things work in section 2 and the processing model in section 5 -- see the next point).

Perhaps a slightly better concrete example for this concern: suppose that an implementation wants some work that doesn't block the main thread's event loop to still make things count as "not idle", so that the idle callback work doesn't detract from that work happening on other threads.  One could interpret the first paragraph of the processing model section of the spec as disallowing such consideration ("assesses that a given event loop is likely to remain idle for a non-trivial amount of time"), but I think considering such things should be allowed.

On Friday 2015-10-23 12:09 +0900, L. David Baron wrote:

That said, I'm not against all constraints in the processing model; a number of the other constraints (e.g., relating to the relative order of idle callbacks, or the fact that each idle callback is called from a separate queued task posted after the previous one finishes) seem good.

On the flip side, there are also downsides to some of the other constraints:  for example, they don't allow implementations all that much leeway to prioritize a visible tab over a hidden tab (presuming they share an event loop) within a single idle period, beyond allowing the visible tab to have its first idle callback executed before the hidden tabs' first idle callback, and limiting all of the hidden tabs to exactly one idle callback by terminating the repeating (which would then be wasteful if the visible tab didn't have enough work to finish the idle period).
I'm also wondering if it's less than ideal that there's one "invoke idle callbacks algorithm" per document as a queued task during the idle period.  I was thinking that the queueing of a separate task for each callback meant that tasks queued from a callback run before the next idle callback (which is probably good for memory access locality and thus performance, if the tasks are small, at least assuming implementations don't blow all CPU caches just by queueing and executing a task).  But now I realize (I think) that that isn't true; tasks queued from an idle callback run after the next idle callback for all the other documents, but before the next idle callback for the same document.

Let me re-paste that "Further review of the spec" from two comments back, now that I realize that github doesn't accept markdown in email input but only in the Web UI.  Note that the previous two comments are in reply to this one:
Larger issues
I have two larger issues to raise (although I admit the first is somewhat vague):

Does the spec's notion of "idle" scale well to a more multi-core future in which browsers do a good job of taking advantage of those cores?  In particular, engines may be moving to doing more tasks (e.g., beyond compositing to tasks that are more part of layout or even style computation) on other threads, or (probably less worrysome here) dividing a main-thread-blocking task across multiple threads to help it finish faster.  I tend to think the APIs are probably ok in that regard, given that they're a relatively straightforward extension of setTimeout, but I'm a little more worried about the prose (both the diagrams of how things work in section 2 and the processing model in section 5 -- see the next point).

I'm worried the processing model is over-defined.  (This concern comes from bzbarsky, who I believe raised an issue on it; I think https://github.com/w3c/requestidlecallback/issues/28 although it might be any one of 25-29, and I don't have good enough internet access to check right now.)  For example, it defines the duration of an idle period at the start of that idle period (steps 4, 5, and 8 of the "When the user agent wishes to start an event loop's idle period" algorithm), and earlier says that no other idle period can begin before that deadline has passed ("Let last_deadline be the last idle period deadline associated with the current event loop, or 0 if no previous deadline exists."; step 1 of the same algorithm), so essentially it forbids running any idle callback that wasn't posted before that deadline was determined until after the deadline.  This seems like it might lead to underutilization of perfectly-usable idle time; I'd rather implementations be allowed to use the idle time effectively by calling idle callbacks, using strategies that they deem best for speed, power usage, interactivity, etc.  (There might also be good reasons to want such usage, e.g., because it may be better to do a bunch of work together than to wait and cause additional CPU wakeups.)  That said, I'm not against all constraints in the processing model; a number of the other constraints (e.g., relating to the relative order of idle callbacks, or the fact that each idle callback is called from a separate queued task posted after the previous one finishes) seem good.  (This applies to both the normative description of the processing model in section 5 and to its non-normative description in section 2.)  For example, if an implementation ends an idle period whose deadline was initially 50ms long only 10ms into it because there was user input, but then finishes processing that input 10ms after that, the spec currently requires not starting another idle period for another 30ms.

Detailed comments
I also have a few more specific comments from reading the spec.
1. Introduction
Do you really want to mention localStorage as an example, given that we'd like to discourage use of it (in favor of asynchronous storage APIs like IndexedDB)?
"can't make any assumptions" should probably say something more like "can't make accurate/good/??? assumptions" (i.e., it can make assumptions -- they will just often be wrong)
2. Idle Periods
First paragraph seems to imply that input processing is for a given frame, which seems a little fishy to me.  (Or maybe that's true in some browsers?)
"The user should be careful to account for" doesn't mean the user of the browser (which is what we usually mean by "user"); it means the user of the API.
This says the callbacks are run in FIFO order, but it's really only FIFO for each document separately.  (Though maybe the inter-document order should be better-defined, and defined in a way that doesn't allow one document's idle callbacks to starve another document's, which seems possible in the current model?)
"Once an idle period is finished the user agent can schedule another idle period if it remains idle" isn't strictly true per the processing model (given that the UA can't schedule another idle period until the previous one's deadline has passed), although I propose above that that be fixed.
4. Window interface extensions
One possible point of confusion:  when I first read through the IdleDeadline interface, I thought "didTimeout" was an attribute that reflected whether timeRemaining() was greater than 0 or not (although I was thinking that this should be a function rather than an attribute).  I wonder if developers might have the same confusion, and whether there's a better name available.
Use of "unsigned long" indices is a little bit clunky, although I guess it's compatible with setTimeout.  One thing I worry about is that people might be converting code from setTimeout to requestIdleCallback (or using requestIdleCallback if available and falling back to setTimeout) -- so I wonder if it might help avoid hard-to-debug mistakes from that conversion if setTimeout and requestIdleCallback used the same space of integers rather than overlapping spaces (and maybe even if clearTimeout and clearIdleCallback were just the same underlying implementation, or maybe even not introducing a new clearing method).
"Wait until any invocations of this algorithm started before this one whose timeout is equal to or less than this one's have completed.":  This seems like it might be a little bit underconstrained; it seems like it might be worth guaranteeing sorting by (requestIdleCallback time + timeout).
5. Processing model
"If the Document 's hidden attribute [page-visibility] is false" seems like it should say true rather than false.

Replying inline to @dbaron's comments

Does the spec's notion of "idle" scale well to a more multi-core future in which browsers do a good job of taking advantage of those cores? In particular, engines may be moving to doing more tasks (e.g., beyond compositing to tasks that are more part of layout or even style computation) on other threads, or (probably less worrysome here) dividing a main-thread-blocking task across multiple threads to help it finish faster. I tend to think the APIs are probably ok in that regard, given that they're a relatively straightforward extension of setTimeout, but I'm a little more worried about the prose (both the diagrams of how things work in section 2 and the processing model in section 5 -- see the next point).

I don't think making things multi-core changes the concept of idle tasks - browsers will (rightly) continue to move more work off the main thread, however there is likely to remain a decent proportion of work which needs to happen on the main thread for legacy reasons. The diagrams (e.g., section 2) are purely for illustration and aren't meant to constrain where idle periods can or should be started by the browser (I'm open to someone changing these diagrams to be more generic, however it is explicitly in a non-formative part of the spec, so I'm not sure if that's necessary).

Perhaps a slightly better concrete example for this concern: suppose that an implementation wants some work that doesn't block the main thread's event loop to still make things count as "not idle", so that the idle callback work doesn't detract from that work happening on other threads.  One could interpret the first paragraph of the processing model section of the spec as disallowing such consideration ("assesses that a given event loop is likely to remain idle for a non-trivial amount of time"), but I think considering such things should be allowed.

We could change this line to "assesses that a given event loop is likely to remain idle for a non-trivial amount of time, and that background work could be executed on this event loop without impacting any high priority work occurring on other event-loops" - would this help?

I'm worried the processing model is over-defined.  (This concern comes from bzbarsky, who I believe raised an issue on it; I think w3c/requestidlecallback#28 although it might be any one of 25-29, and I don't have good enough internet access to check right now.)  For example, it defines the duration of an idle period at the start of that idle period (steps 4, 5, and 8 of the "When the user agent wishes to start an event loop's idle period" algorithm), and earlier says that no other idle period can begin before that deadline has passed ("Let last_deadline be the last idle period deadline associated with the current event loop, or 0 if no previous deadline exists."; step 1 of the same algorithm), so essentially it forbids running any idle callback that wasn't posted before that deadline was determined until after the deadline.  This seems like it might lead to underutilization of perfectly-usable idle time; I'd rather implementations be allowed to use the idle time effectively by calling idle callbacks, using strategies that they deem best for speed, power usage, interactivity, etc.  (There might also be good reasons to want such usage, e.g., because it may be better to do a bunch of work together than to wait and cause additional CPU wakeups.)

The reasoning behind this is discussed in more detail on issues w3c/requestidlecallback#27 and w3c/requestidlecallback#28 (perhaps we could followup there to keep the discussion in one place) - essentially this is necessary to allow the programming model where you check if you have enough idle time to do anything and reschedule if not.
However, the API could be extended with additional scheduling models via the IdleRequestOptions dictionary. We could add something like a callback_type property to IdleRequestOptions which would allow developers to specify that the callback should be run immediately (i.e., within the same idle period) if possible, while still retaining the current scheduling model as the default mode.

That said, I'm not against all constraints in the processing model; a number of the other constraints (e.g., relating to the relative order of idle callbacks, or the fact that each idle callback is called from a separate queued task posted after the previous one finishes) seem good.  (This applies to both the normative description of the processing model in section 5 and to its non-normative description in section 2.)  For example, if an implementation ends an idle period whose deadline was initially 50ms long only 10ms into it because there was user input, but then finishes processing that input 10ms after that, the spec currently requires not starting another idle period for another 30ms.

Yes, this is an example of things being a bit over-constrained, although there are reasons why we need to limit when idle periods can start as described in https://github.com/w3c/requestidlecallback/issues/28#issuecomment-148422630, along with a potential approach to reduce these constraints somewhat.

On the flip side, there are also downsides to some of the other constraints:  for example, they don't allow implementations all that much leeway to prioritize a visible tab over a hidden tab (presuming they share an event loop) within a single idle period, beyond allowing the visible tab to have its first idle callback executed before the hidden tabs' first idle callback, and limiting all of the hidden tabs to exactly one idle callback by terminating the repeating (which would then be wasteful if the visible tab didn't have enough work to finish the idle period).

The processing model currently doesn't specify what should happen for hidden tabs (at least as far as I read it, could you point at the section which allows them to run once then terminates their repeating?). However, the intention was to be closer to what you describe, where visible tabs can be prioritized over hidden tabs (i.e., the first note in the Processing Model section). I agree that we should probably make this more specific in the spec, I'll try to do so as part of w3c/requestidlecallback#31.

I'm also wondering if it's less than ideal that there's one "invoke idle callbacks algorithm" per document as a queued task during the idle period.  I was thinking that the queueing of a separate task for each callback meant that tasks queued from a callback run before the next idle callback (which is probably good for memory access locality and thus performance, if the tasks are small, at least assuming implementations don't blow all CPU caches just by queueing and executing a task).  But now I realize (I think) that that isn't true; tasks queued from an idle callback run after the next idle callback for all the other documents, but before the next idle callback for the same document.

This is an artifact of trying to allow inter-document reordering but avoid intra-document reordering. We could probably have a single queued task which selected the next idle task based on posting order (regardless of which document it came from) if you are happy to impose that inter-document idle tasks are also FIFO ordered (also see comment on inter-document FIFO order below).

Detailed comments
I also have a few more specific comments from reading the spec.
1. Introduction
Do you really want to mention localStorage as an example, given that we'd like to discourage use of it (in favor of asynchronous storage APIs like IndexedDB)?

I don't mind removing this - I will do this as part of w3c/requestidlecallback#31.

"can't make any assumptions" should probably say something more like "can't make accurate/good/??? assumptions" (i.e., it can make assumptions -- they will just often be wrong)

Sounds good to me - I will do this as part of w3c/requestidlecallback#31.

2. Idle Periods
First paragraph seems to imply that input processing is for a given frame, which seems a little fishy to me.  (Or maybe that's true in some browsers?)

In Chrome we batch-up input operations and perform them once per frame. I'm open to changing this to make it more generic if you have a suggestion.

"The user should be careful to account for" doesn't mean the user of the browser (which is what we usually mean by "user"); it means the user of the API.

I'll change this to be 'web developer' as part of w3c/requestidlecallback#31.

This says the callbacks are run in FIFO order, but it's really only FIFO for each document separately.  (Though maybe the inter-document order should be better-defined, and defined in a way that doesn't allow one document's idle callbacks to starve another document's, which seems possible in the current model?)

In Chrome we do constrain inter-document order to be FIFO too, so I don't mind changing the spec to be more constrained in this regard, I just wanted to keep things as unconstrained as possible for other browsers.

"Once an idle period is finished the user agent can schedule another idle period if it remains idle" isn't strictly true per the processing model (given that the UA can't schedule another idle period until the previous one's deadline has passed), although I propose above that that be fixed.

Discussed above - once we reach consensus on this I'll clarify this sentence.

4. Window interface extensions
One possible point of confusion:  when I first read through the IdleDeadline interface, I thought "didTimeout" was an attribute that reflected whether timeRemaining() was greater than 0 or not (although I was thinking that this should be a function rather than an attribute).  I wonder if developers might have the same confusion, and whether there's a better name available.

Acknowledge, although I can't think of a better name myself.

Use of "unsigned long" indices is a little bit clunky, although I guess it's compatible with setTimeout.  One thing I worry about is that people might be converting code from setTimeout to requestIdleCallback (or using requestIdleCallback if available and falling back to setTimeout) -- so I wonder if it might help avoid hard-to-debug mistakes from that conversion if setTimeout and requestIdleCallback used the same space of integers rather than overlapping spaces (and maybe even if clearTimeout and clearIdleCallback were just the same underlying implementation, or maybe even not introducing a new clearing method).

This was done to be compatible with setTimeout, etc.

"Wait until any invocations of this algorithm started before this one whose timeout is equal to or less than this one's have completed.":  This seems like it might be a little bit underconstrained; it seems like it might be worth guaranteeing sorting by (requestIdleCallback time + timeout).

This was the intention, I'll try and clarify this a bit better as part of w3c/requestidlecallback#31.

5. Processing model
"If the Document 's hidden attribute [page-visibility] is false" seems like it should say true rather than false.

Opps, yes I'll fix this as part of w3c/requestidlecallback#31.

#100 is perhaps a bit related here

I believe we've addressed all the outstanding feedback in the latest draft [1]. PTAL and let me know if you have any additional thoughts or comments.
[1] https://w3c.github.io/requestidlecallback

I think things are mostly in good shape here.  There's one more issue I want to come back to which I'll try to file on your repo in the next few weeks, if needed; just haven't had time to dig through the algorithms and implications on ordering and use of idle time fully.

I still need to file that issue, but it's not worth having the TAG cycle back to this issue every time we go through our issues list because I haven't gotten to doing that yet.


No rule to make target `bitcored.1'

There is no binary available to download for the latest <IP_ADDRESS>, so I am trying to build from source.  I get the following error:
make[1]: *** No rule to make target `bitcored.1', needed by `all-am'.  Stop.
make: *** [all-recursive] Error 1

Full compiler output attached.  I'm running Sierra 10.12.6 with all dependencies installed through MacPorts.
make log.txt

Go into doc/man and rename all litecoin and litecoind files to be bitcore and bitcored

fixed


fixes invalid argument in foreach block for mobile app date

Updates #4754

Also, can you ref which issue this is fixing

:+1:

:+1:


the minimap doesn't show

VSCode Version: Code 1.13.1 (379d2efb5539b09112c793d3d9a413017d736f89, 2017-06-14T18:21:47.485Z)
OS Version: Windows_NT ia32 10.0.14393
Extensions: the listing length exceeds browsers' URL characters limit

The config of 'editor.minimap.enabled' is true, but the minimap doesn't show.
Just reboot can be ok.

@crazykun do you mean that setting that to true doesn't work immediately but after reloading the window, the minimap works always?

Sometimes it doesn't show.When I reboot, I get back to normal.

@crazykun Do you use Screen Reader software on your machine? Does the status bar show "Screen Reader Detected" ? If that is the case, you can hover over the status bar entry to find out how to disable it.


kube-proxy: Update to v1.18.2

kube-proxy: Update to v1.18.2
It was stuck at v1.17.4 and was never updated after that. This commit
upgrades the kube-proxy to the latest Kubernetes version in Lokomotive.

Actually, 1.18.3 just got released, we should update everything to it instead.

If we had this https://github.com/kinvolk/lokomotive/issues/302 then this issue wouldn't have materialised.

I have a cluster running and I don't see any KubeVersionMismatch alert triggered.


Text parameter type

We need from user to enter/edit long config value. Currently we use "type" : "string" but in UI it's very inconvenient, need to move cursor. Would be great to have a text type that would rendered as textarea in ui.

We also need this feature, but currently I cannot find any parameter type supporting this.


Ior.sequence/accumulateBoth?

Not sure if this makes sense, but should there be a helper function that can turn something like a Iterable<Ior<S, T>> to an Ior<U<S>, V<T>>.
As a real use case (and maybe you could tell me an alternative to my current implementation if the functionality exists), I take a List<Msg>, do stuff to get a List<Tuple2<Msg, Try<Out, Exception>>>, then collect/accumulate to get a Tuple2<List<Tuple2<Msg, Out>>, List<Tuple2<Msg, Exception>>>. I feel like I could simplify this with an accumulateBoth Ior option, but perhaps there's already an easier way and I don't know about it.

Merged


New browser rollup process doesn't expose window (this)

Versions
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
How to reproduce it?
When /should.js is included in the browser, this is undefined in the outro script on:
this.Should = should;

Potential resolution
I can fix the generated file by passing this into the IIFE.
Then I defined root as the parameter and changed the outro to:
root.Should = should;

Object.defineProperty(root, 'should', {

This resolved the error.
I can't yet figure out how to pass this or window into the rollup process. I'm thinking it would be something like this example.

Thanks. It should be fixed in 9.0.1.


CGROUPS not found on Raspberry Pi

Environmental Info:
K3s Version:  v1.27.3+k3s1
Node(s) CPU architecture, OS, and Version:
Linux k8s-pi-w08 6.1.0-rpi6-rpi-2712 #1 SMP PREEMPT Debian 1:6.1.58-1+rpt2 (2023-10-27) aarch64 GNU/Linux
Raspberry Pi 5
Raspberry Pi OS Lite 64 bit, latest version (Bookworm)
Cluster Configuration:
Existing RPi cluster, 1 master 5 nodes
Describe the bug:
Installing a new agent on RPi 5, it fails with
Failed to find memory cgroup, you may need to add "cgroup_memory=1 cgroup_enable=memory" to your linux cmdline (/boot/cmdline.txt on a Raspberry Pi)
However cmdline already has the right settings, and cgroups2 exists (see output below).
Steps To Reproduce:

Installed K3s:

curl -sfL http://get.k3s.io | K3S_URL=https://<masterip>:6443 INSTALL_K3S_VERSION=v1.27.3+k3s1 K3S_TOKEN=<join-token> sh -
Expected behavior:
K3s agent added to cluster. Using exactly the same install process as the rest of the machines in the cluster, the only thing that's different is that it's a Raspberry Pi 5 and the lastest version of Raspberry Pi OS.
Actual behavior:
[INFO]  Using v1.27.3+k3s1 as release
[INFO]  Downloading hash https://github.com/k3s-io/k3s/releases/download/v1.27.3+k3s1/sha256sum-arm64.txt
[INFO]  Downloading binary https://github.com/k3s-io/k3s/releases/download/v1.27.3+k3s1/k3s-arm64
[INFO]  Verifying binary download
[INFO]  Installing k3s to /usr/local/bin/k3s
[INFO]  Skipping installation of SELinux RPM
[INFO]  Creating /usr/local/bin/kubectl symlink to k3s
[INFO]  Creating /usr/local/bin/crictl symlink to k3s
[INFO]  Creating /usr/local/bin/ctr symlink to k3s
[INFO]  Creating killall script /usr/local/bin/k3s-killall.sh
[INFO]  Creating uninstall script /usr/local/bin/k3s-agent-uninstall.sh
[INFO]  env: Creating environment file /etc/systemd/system/k3s-agent.service.env
[INFO]  systemd: Creating service file /etc/systemd/system/k3s-agent.service
[INFO]  Failed to find memory cgroup, you may need to add "cgroup_memory=1 cgroup_enable=memory" to your linux cmdline (/boot/cmdline.txt on a Raspberry Pi)
[INFO]  systemd: Enabling k3s-agent unit
Created symlink /etc/systemd/system/multi-user.target.wants/k3s-agent.service → /etc/systemd/system/k3s-agent.service.
[INFO]  Host iptables-save/iptables-restore tools not found
[INFO]  Host ip6tables-save/ip6tables-restore tools not found
[INFO]  systemd: Starting k3s-agent
Job for k3s-agent.service failed because the control process exited with error code.
See "systemctl status k3s-agent.service" and "journalctl -xeu k3s-agent.service" for details.

[teq0@k8s-pi-w08 ~ ]$ cat /boot/cmdline.txt
console=serial0,115200 console=tty1 root=PARTUUID=3b97987c-02 rootfstype=ext4 fsck.repair=yes rootwait cfg80211.ieee80211_regdom=AU cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory%

[teq0@k8s-pi-w08 ~ ]$ grep cgroup /proc/filesystems
nodev   cgroup
nodev   cgroup2

[teq0@k8s-pi-w08 ~ ]$ uname -a
Linux k8s-pi-w08 6.1.0-rpi6-rpi-2712 #1 SMP PREEMPT Debian 1:6.1.58-1+rpt2 (2023-10-27) aarch64 GNU/Linux

And from journalctl
level=fatal msg="failed to find memory cgroup (v2)"

console=serial0,115200 console=tty1 root=PARTUUID=3b97987c-02 rootfstype=ext4 fsck.repair=yes rootwait cfg80211.ieee80211_regdom=AU cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory%

Do you really have cgroup_enable=memory% instead of cgroup_enable=memory?
Also it looks like your node is set up to use cgroup v2; if fixing that kernel arg doesn't change anything, you might need to check the Pi OS docs on how to enable cgroups under this configuration.

The '%' is an artifact of using cat to print out a file that doesn't have a carriage return at the end. If you edit the file there's no %.

The error message says that cgroups aren't enabled, yet they clearly are.

If they are properly enabled and running under the same controller then it would find them. They're either enabled, or still managed by the v1 controller on a v2 system - which is known as a hybrid setup and doesn't work well.
What is the output of grep cgroup /proc/mounts and cat /proc/cgroups - here's what I see on my Pi:
sysadm@pi02:~$ uname -a
Linux pi02.lan.khaus 6.5.0-1006-raspi #8-Ubuntu SMP PREEMPT_DYNAMIC Mon Oct 23 12:57:46 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux

sysadm@pi02:~$ grep cgroup /proc/mounts
cgroup2 /sys/fs/cgroup cgroup2 rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot 0 0

sysadm@pi02:~$ cat /proc/cgroups
#subsys_name	hierarchy	num_cgroups	enabled
cpuset	0	223	1
cpu	0	223	1
cpuacct	0	223	1
blkio	0	223	1
memory	0	223	1
devices	0	223	1
freezer	0	223	1
net_cls	0	223	1
perf_event	0	223	1
net_prio	0	223	1
hugetlb	0	223	1
pids	0	223	1
rdma	0	223	1
misc	0	223	1

[teq0@k8s-pi-w08 ~ ]$ uname -a
Linux k8s-pi-w08 6.1.0-rpi6-rpi-2712 #1 SMP PREEMPT Debian 1:6.1.58-1+rpt2 (2023-10-27) aarch64 GNU/Linux

[teq0@k8s-pi-w08 ~ ]$ grep cgroup /proc/mounts
cgroup2 /sys/fs/cgroup cgroup2 rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot 0 0

[teq0@k8s-pi-w08 ~ ]$ cat /proc/cgroups
#subsys_name    hierarchy       num_cgroups     enabled
cpuset  0       41      1
cpu     0       41      1
cpuacct 0       41      1
blkio   0       41      1
memory  0       41      0
devices 0       41      1
freezer 0       41      1
net_cls 0       41      1
perf_event      0       41      1
net_prio        0       41      1
pids    0       41      1

Indeed. Is this perhaps no longer enabled in the default pios kernels?

Thanks for your help. Closing this as it appears to be Raspberry Pi OS issue. I'll add a comment later if I find a solution.

Solved it, the cmdline.txt that is actually used is now under /boot/firmware. Adding the extra setting to that one fixed it.

Thank you. Really appreciate the follow up.

Hi @teq0 - Maybe I'm facing the same issue here:
root@raspberrypi4-1:/boot# uname -a
Linux raspberrypi4-1 6.5.0-1013-raspi #16-Ubuntu SMP PREEMPT_DYNAMIC Thu Mar 14 13:46:12 UTC 2024 aarch64 aarch64 aarch64 GNU/Linux
root@raspberrypi4-1:/boot#
root@raspberrypi4-1:/boot# grep cgroup /proc/mounts
cgroup2 /sys/fs/cgroup cgroup2 rw,nosuid,nodev,noexec,relatime 0 0
none /run/calico/cgroup cgroup2 rw,relatime 0 0
none /run/cilium/cgroupv2 cgroup2 rw,relatime 0 0
root@raspberrypi4-1:/boot#
root@raspberrypi4-1:/boot# cat /proc/cgroups
#subsys_name	hierarchy	num_cgroups	enabled
cpuset	0	190	1
cpu	0	190	1
cpuacct	0	190	1
blkio	0	190	1
memory	0	190	1
devices	0	190	1
freezer	0	190	1
net_cls	0	190	1
perf_event	0	190	1
net_prio	0	190	1
hugetlb	0	190	1
pids	0	190	1
rdma	0	190	1
misc	0	190	1

root@raspberrypi4-1:/# cat /boot/firmware/cmdline.txt
console=serial0,115200 multipath=off dwc_otg.lpm_enable=0 console=tty1 root=LABEL=writable rootfstype=ext4 rootwait fixrtc cfg80211.ieee80211_regdom=GB

Did you add the cgroup_memory=1 cgroup_enable=memory into the cmdline.txt and then rebooted?
PS: Just for context I ended up here following/researching this https://github.com/cilium/cilium/issues/20735

See my comment above. It wasn't anything to do K3s, it was that cmdline.txt is now in /boot/firmware. I was editing the wrong file.

Yes I saw, but I don't think I get that straight. Specially the part with the SD card.


[test-failed]: Chrome X-Pack UI Functional Tests.x-pack/test/functional/apps/saved_objects_management/feature_controls/saved_objects_management_security·ts - Saved objects management feature controls saved objects management global all privileges "before all" hook

Version: 7.3
Class: Chrome X-Pack UI Functional Tests.x-pack/test/functional/apps/saved_objects_management/feature_controls/saved_objects_management_security·ts
Stack Trace:
    [Error: Timeout of 360000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.]

Version: 7.3
Class: Chrome X-Pack UI Functional Tests.x-pack/test/functional/apps/saved_objects_management/feature_controls/saved_objects_management_security·ts
Stack Trace:
    [Error: Timeout of 360000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.]


[DataFactory] Adding additionalProperties to roundtrip new properties

Description

Adding additionalProperties to some of the types to support round-tripping new properties to the service. The PR also contains changes from other people that were not merged yet. Those are the new sources for Copy activity.
This checklist is used to make sure that common guidelines for a pull request are followed.

[x] Please add REST spec PR link to the SDK PR
[x] I have read the contribution guidelines.
[ ] The pull request does not introduce breaking changes.

General Guidelines

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

SDK Generation Guidelines

[ ] If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
[x] The generate.cmd file for the SDK has been updated with the version of AutoRest, as well as the commitid of your swagger spec or link to the swagger spec, used to generate the code.
[ ] The *.csproj and AssemblyInfo.cs files have been updated with the new version of the SDK.

Swagger PR:
https://github.com/Azure/azure-rest-api-specs/pull/2033

I have tried testing it local private version of ClientRuntime. While the deserialization worked for additional properties - new property made it to the AdditionProperties with its name as key and value as value, but it did not get serialized back into json. It could be either because of serialization settings or there is another bug in ClientRuntime. Will follow up with the Azure SDK dev team.

Will create new as I had merge problems


Fix postgis-2.3 not found

@cheungpat, thanks for your PR! By analyzing the annotation information on this pull request, we identified @rickmak to be a potential reviewer


Ability to reset selectedRows

Hello There,
I wanted to clear selection after doing toggleRow on a table.
Say, I selected 5 rows from original set of rows and do the export. Then I deselect all the rows and export again, but selection was not reset. It exports the selectedRows.
But this can be easily enabled if you could add resetToggle() functionality setting selectedRows empty on CdkTableExporter project.
 resetToggle(): void {
     this._selectedRows = [];
   }

I tried to contribute for this, but this is a private repo.
Thanks,
Janaka.

Hello @HalitTalha ,
Any thoughts on above???

Hello @janakavishwajith thanks for the effort.
Deselecting all rows should be working already. The example in https://halittalha.github.io/ng-material-extensions/ demonstrates it.
Could you post a stackblitz?

Hi @HalitTalha,
Thanks for the response.
Let me explain the situation,
User select 5 rows and export it as a CSV. What I am doing at that situation is, iterate through the list and call toggleRow(index: number) for those selected and export.
Then user deselect 2 rows from that and export, in that case I will iterate only 3 selected rows and call toggleRow(index: number) those three rows and what will happen actually deselected 2 rows will be exported.
It would be great if there is a reset functionality, so I could call it before calling toggleRow. So, it will be an easy integration for any other usage too...
Hope you got me, if you want I will get a small stackblitz done for you. Existing one is too large and dependent for a standalone stackblitz.
Thanks..

Hi @janakavishwajith,
Thanks for the clarification.
The thing is if you call the toggleRow in the selection change event instead of iterating through all the rows, you can achieve an effortless deselection mechanism. However thanks for your contribution. I'll accept and merge it for the next release.

Thanks @HalitTalha,
I'm happy to contribute more... :)


Add getters and cucumber statements

Description

Changed meaning of foo contains X data to mean that it must contain some of that data.
Added foo contains only X data to mean that it must contain only that data (this was the original behaviour of foo contains X data).
Updated old tests so that they keep their original behaviour.
Public variables changed to private and given getters.

Example Scenario (Not currently included because violation behaviour needs to be agreed upon first)
  Scenario: The generator should produce correct violating data for allOf construction
    Given there is a constraint:
      """
      { "allOf": [
        { "field": "foo", "is": "ofType", "value": "string" },
        { "field": "foo", "is": "ofType", "value": "decimal" },
        { "not": { "field": "foo", "is": "null" }}
      ]}
      """
    And the generation strategy is random
    And the data requested is violating
    And the generator can generate at most 100 rows
    Then some data should be generated
    And foo contains numeric data
    And foo contains string data
    And foo contains datetime data

This means that the output should contain numeric, string and datetime data.

I think a couple of the scenarios in Random.feature do not exclude null and could maybe (very) occasionally now fail if only nulls were generated as the results would not then contain the type specified

Generating null counts as the condition being met. foo contains only X data means that X data or null is allowed, but nothing else.
In the CucumberTestHelper, there is this:
assertFieldContainsOnly(fieldName, objectValue -> {
    if (objectValue == null) {
        return true;
     }

I see, would
Given there is a field foo
And foo is null
Then some data should be generated
And foo contains numeric data
And foo contains string data
And foo contains datetime data
And foo contains only numeric data
etc

Pass? I guess this is more a null thing than specific to this ticket

That example test would fail on the line And foo contains numeric data because only nulls are produced. The reasoning behind this was that the foo contains X data suggests to me that some numeric data should be produced, even if other parts of it are null or other types. I'm open to changing this to allow all nulls though.


move enginless executor out testHelpers

If we're going to rely on it outside of tests, it should probably be in executor.ts or similar
related to #528

We are using mock execution outside of test, however the engineless executor util is firmly only used in tests so I think we can close this one.


Two tiny changes to fix compilation errors on the clang / Dawwin platform.

These are two tiny changes that fix compilation errors on the clang / Darwin platform.

Add default initialization to arr_ in StringLiteral.hpp #48
Add include for <string> in Result.hpp

I‘m on the road at the moment. Will merge as soon as I get to my destination. Thank you for figuring this out.


Split physical_query_plan.js to more files as needed

Currently physical_query_plan.js holds the definitions of most execution steps, we can refactor some non-trivial ones into their own file.

Fixed.


Propagation of labels and/or annotations

Hello,
We are adopting HNC to our clusters.
However, we usually use labels to manage some information about our namespaces.
Is there any way we can propagate labels and/or annotations to subnamespaces?
If not, do you plan on implementing such a feature?

We were also looking for this feature while considering HNC vs. Kiosk for our multi-tenancy approach. Unfortunately there is no such option in HNC right now.
For me, this one of those features that makes certain usecases, e.g. aggregate costs of tenants with some kind of cost-aggregation-application, monitoring and alerting or even scraping the API server for all resources of a certain tenant, a lot easier.

We've considered it, but we've been lacking:

A solid (set of) use cases
A concrete technical proposal
Enough people willing to help implement the feature

If both of you (@akazs and @juv) could describe your use cases, that would be very helpful. Technically, this may not be terribly technically difficult but it would be easy to implement the "wrong" API by mistake and have to deprecate it and start over. I'd rather not do that if possible.
The big problem is that we don't know which labels (and annotations) should be propagated, and which should not. Possibly worse, if you remove a label from a parent (or move a child to a different parent), we don't know which labels should be removed from the child, because any one of them could have been put there manually by a human, and not HNC. We don't have this problem with regular objects, because all objects propagated by HNC have a label that (if present) tells us that we can modify or delete it. But you can't put a label on a label.
My best guess is to start by adding a list of propagated labels to the cluster-wide HNCConfiguration object. E.g., we could say that foo.com/my-label is handled by HNC, so you would no longer be able to add it yourself to a namespace, and if a namespace contained that label but its parent did not, HNC would remove it. The only way to set this label would then be in the HierarchyConfiguration in the namespace. This would allow us to robustly remove labels (and annotations) from namespaces  when HNC no longer thinks it belongs there.
I'd be willing to do at least some of the implementation work (e.g. the basic propagation and validation) but I'd want some help finishing it up. And I'd like to know if this proposal meets any use cases as well.
Thoughts?

We label our namespaces, and use these labels when generating metrics using kubernetes/kube-state-metrics.
This allows us to filter metrics of, say a team, to send alerts or so.
When creating subnamespaces, we would like the same labels to be applied to the newly created subnamespaces.
We don't have a concrete proposal yet, but we consider that managedFields may help us achieve this.
Specifically, by using managedFields, we could tell that who created or updated those labels, to determine that which labels should be propagated and which may be deleted.
We are a relatively small team, so we cannot guarantee.
However if you decide to implement this feature, we will try our best to help.

I have tried to implement it with Server Side Apply. #48
This will ensure that if you remove a label from a parent, the child labels will be removed properly.

The big problem is that we don't know which labels (and annotations) should be propagated, and which should not.

The current implementation does not solve this problem. All labels are propagated.

After some discussion, we figured out that in our use case, we don't necessarily need those labels to be propagated.
If we can put labels onto subnamespaceanchors, and make those labels be on the corresponding namespaces, that would be enough.
This also doesn't require changes to crd definitions.

I have tried to implement it with Server Side Apply. #48

Thanks for the contribution! But it's quite hard for me to tell what the behaviour of this change is supposed to be, and there aren't any tests that I can use to determine whether I agree with the behaviour (also, tests are critical to ensure that the feature continues to work).
Can you please write a short document that explains exactly what your change is trying to do, as well as what use cases it solves? A Google doc would be a good choice, since then other people can comment on it.

This will ensure that if you remove a label from a parent, the child labels will be removed properly.

Note that this can result in a destruction of user data. If you move a namespace (that already has a label) into a hierarchy, and then back out again, it could lose its label. This may be ok, but a) we should warn the user about it (just like we warn the user if we're about to overwrite one of their objects), b) we should give people the chance to think about whether this will affect them, and c) we should document it clearly.

The big problem is that we don't know which labels (and annotations) should be propagated, and which should not.

The current implementation does not solve this problem. All labels are propagated.

There are two problems with this - one critical, and one important. The critical problem is that HNC already puts different labels (the tree labels) on parents and children, so we cannot just blindly overwrite all labels on the children since this will cause the labels to be incorrect.
The important problem is basically a generalization of this problem. Labels can be added to an object for many reasons, and it's far from clear that they should all be propagated all the time, especially without a design doc that lists all the reasons we might want to propagate them in the first place. If we introduce the behaviour that all labels get propagated, we can't (easily) go back on that and make the feature opt-in since it will break existing users. Therefore, we need to be very sure about this decision before we make it.
Again, thanks for the PR! It's not too far away from my suggestion so we should be able to iterate on it to the point where we could accept it, but we need to agree on the approach.

The current implementation does not solve this problem. All labels are propagated.

There are two problems with this - one critical, and one important. The critical problem is that HNC already puts different labels (the tree labels) on parents and children, so we cannot just blindly overwrite all labels on the children since this will cause the labels to be incorrect.

Ah, I just read the PR and I can see that you're not overwriting any labels with the hnc.x-k8s.io prefix, so that will solve this problem. But it's unclear if this rule should be applied to all such labels, and the important problem about how we treat all the non-HNC labels still stands.

Hey @akazs , I was thinking about this and have two quick comments:

After some discussion, we figured out that in our use case, we don't necessarily need those labels to be propagated.
If we can put labels onto subnamespaceanchors, and make those labels be on the corresponding namespaces, that would be enough.
This also doesn't require changes to crd definitions.

If we were to put the labels on the anchors, I think I'd rather modify the CRD (it's pretty easy). The reason is that I like to distinguish between the labels on the anchors (e.g. "this anchor was created by controller XYZ") and the label on the subns (e.g. "this subns can have network connectivity to the Ingress"). Those labels are not necessarily the same, so we should have a way to represent them differently. Plus it's only slightly harder to modify the CRD than it is to modify the controller :)
A slightly more serious concern I have is related to the use cases. Anchors are supposed to be given to relatively unprivileged users so that they can create subnamespaces freely, but namespace labels are often used to represent policies that should only be set by privileged users. For example, "this namespace is in prod," "this namespace has workloads that handle user data," etc. I wouldn't want an unprivileged user to be able to create a namespace that says, for example, "this namespace is highly trusted and can exchange network traffic with all other namespaces."
This is why I suggested that at the cluster level, you tell HNC which labels it's going to control, and which ones it's not, and then the only way to set those controlled labels is by modifying a HierarchyConfiguration, which is a highly privileged action. Is there a reason why this approach wouldn't work for your usecase, or is it just slightly overkill (which I'm ok with as long as it's not unusable for you)? Do you need unprivileged users to be able to set labels?

Thank you for comments.

A slightly more serious concern I have is related to the use cases. Anchors are supposed to be given to relatively unprivileged users so that they can create subnamespaces freely, but namespace labels are often used to represent policies that should only be set by privileged users.

I agree it.
For example, new PodSecurity Admission will control policies through namespace labels.
For this reason, I think we should propagate root namespace labels to subnamespaces to apply the policy.

Can you please write a short document that explains exactly what your change is trying to do, as well as what use cases it solves? A Google doc would be a good choice, since then other people can comment on it.

I will try it.

Thanks @zoetrope !

The big problem is that we don't know which labels (and annotations) should be propagated, and which should not. Possibly worse, if you remove a label from a parent (or move a child to a different parent), we don't know which labels should be removed from the child, because any one of them could have been put there manually by a human, and not HNC. We don't have this problem with regular objects, because all objects propagated by HNC have a label that (if present) tells us that we can modify or delete it. But you can't put a label on a label.

I agree with this comment. However I sort of think that there would be some needs of propagation of annotations as well. For instance, my team is adopting PodNodeSelector Admission Controller to make some resources be bound to specific nodes which are labeled. And this requires an annotation on namespaces.
(You could say that users can just set NodeSelector in every resource's spec, but it is actually not guaranteed since NodeSelector is optional. This is why we are looking for controllers like HNC.)
Then my team is adopting HNC for normal cluster users so that they can create multiple sub namespaces under their own namespace(having the annotation) which is provided by us. The problem is that PodNodeSelector Admission Controller won't work in sub namespaces since they don't have the specific annotation that the root namespace has.
As the result, the resources on sub namespaces are scheduled to other users's nodes .
@zoetrope I wonder if you have plan to implement of propagation of annotations as well.

Hey @mutescent , what do you think of the proposal in this comment? This is my preferred approach, but because we have so few use cases that have been written down it's very hard to know what's the right thing to do. Note that while I often say "labels," I always mean "labels and annotations" - they're equally important.
When I say "use cases," I mean things like "who should be allowed to modify the propagated annotations," "how often do they change," "can permissions to modify them be delegated," "can a child namespace override a parent namespace," etc. My proposal has some implicit answers to these questions but it would be better to be explicit as well.
@mutescent , are you available to help on the implementation of this feature?

@adrianludwin The mentioned comment is reasonable, because it looks simple for users and also it provides the same way to other resources.

are you available to help on the implementation of this feature?

I can give it a go. But it could take longer time than you are expecting, since I need to look into codes thoroughly 😢

@adrianludwin The mentioned comment is reasonable, because it looks simple for users and also it provides the same way to other resources.

Thanks! It would be really helpful if you could tell us more about your usecase though, e.g. answer some of the questions I asked in my last comment. You could answer them here or maybe in a Google Doc, whichever works for you.

I will give it a go. But it could take longer time than you are expecting, since I need to look into codes thoroughly 😢

No rush :) And Ryan and I can help you out. Ping me on slack.k8s.io if you want to talk (I'm @Adrian Ludwin, you can find me on #wg-multitenancy).

Hi all. Here is the Google doc link: https://bit.ly/2Vpy136 . I am not sure if this is enough or not. Thanks for helping me in advance!

@mutescent
Thanks for the great documentation.
These use cases match mine perfectly.
@adrianludwin
My colleague is developing another namespace controller.
https://github.com/cybozu-go/innu/blob/main/docs/design.md
This controller is able to propagate labels and annotations.
You can refer to it.

Thanks all. I'm not sure when we'll get time to implement but I'm feeling like we have a fairly good direction now at least.

Two example use cases:

Gatekeeper namespaceSelector labels: https://open-policy-agent.github.io/gatekeeper/website/docs/howto#constraints
Istio sidecar injection label: https://istio.io/latest/docs/setup/additional-setup/sidecar-injection/#controlling-the-injection-policy

Hello for everyone! We would like to get this funcionality in the future. We are in the same situation like @bgrant0607
Thanks!

I decided to bite the bullet and start implementing this last night. Hopefully I'll have an update within a week or so.

See https://github.com/adrianludwin/hierarchical-namespaces/commit/5b4f12aa24abb1ebbae958868ec86d2147ee85e7 for my initial implementation of this feature, I'll submit a PR once its predecessors have been submitted.

The last sub-issue was #130  and this is now fixed. Closing for v1.0, we can file individual followups later.
Thanks everyone for your help in scoping this and getting it in! v1.0 should be out this week.
/close


tree not found errors in action

Since last week (around Sep 13) I see failures with this action:
===================Debug Info in VM=============
  /root
  total 38
  drwx------   3 root     root           8 Sep 16 15:03 .
  drwxr-xr-x  24 root     sys           28 Sep 16 15:02 ..
  -rw-------   1 root     root         736 Sep 15 16:42 .bash_history
  -rw-r--r--   1 root     root         159 Sep 15 16:42 .bash_profile
  -rw-r--r--   1 root     root         159 Dec  4  2021 .bashrc
  -rw-r--r--   1 root     root         568 Dec  4  2021 .profile
  drw-------   2 root     root           7 Sep 15 16:46 .ssh
  lrwxrwxrwx   1 root     root          18 Sep 16 15:03 work -> /home/runner/work/
  root
  sh[4]: tree: not found [No such file or directory]

This is with runner image as follows:
Runner Image
  Image: ubuntu-22.04
  Version: 20240908.1.0

The tree command is used in the code but is not available.

Related discussion, but mentions that tree is installed: https://github.com/actions/runner-images/issues/9935

I saw that issue, but it said 2204 is affected, but I do see it being affected now.

fixed https://github.com/vmactions/solaris-vm/releases/tag/v1.0.8

@Neilpang thanks, it looks a bit better, but still, something is broken. I diffed the github logs from a good build a week ago with a failing build. I removed the initial timestamps to get reasonable diff output. What I found is that our compile script obviously fails to install. We have
pkg install pkg://solaris/developer/gcc/gcc-c++-5

as preparation. This seems to fail, as I see the following diff from good -> bad:
 Building TL for arch = amd64-solaris
 Building on solaris
-Failed to set locale: unsupported locale setting.  Falling back to C.
-pkg: Unable to set locale 'en_US.UTF-8'; locale package may be broken or
-not installed.  Reverting to C locale.
  Startup: Refreshing catalog 'solaris' ... Done
  Startup: Caching catalogs ... Done
 Planning: Solver setup ... Done
 Planning: Running solver ... Done
-Planning: Finding local manifests ...  Done
-Planning: Merging actions ... Done
-Planning: Checking for conflicting actions ... Done
 Planning: Consolidating action changes ... Done
 Planning: Evaluating mediators ... Done
-Planning: Planning completed in 5.07 seconds
-           Packages to install:  8
-           Mediators to change:  1
-            Services to change:  1
-       Create boot environment: No
-Create backup boot environment: No
-
-Download:    0/1623 items    0.0/171.6MB  0% complete
-Download:  720/1623 items   18.5/171.6MB  10% complete (3.8M/s)
-Download:  720/1623 items   37.9/171.6MB  22% complete (3.8M/s)
-Download:  770/1623 items   60.7/171.6MB  35% complete (4.2M/s)
-Download:  770/1623 items   80.3/171.6MB  46% complete (4.2M/s)
-Download:  771/1623 items   99.3/171.6MB  57% complete (3.9M/s)
-Download: 1310/1623 items  125.3/171.6MB  73% complete (4.5M/s)
-Download: 1310/1623 items  144.1/171.6MB  83% complete (4.5M/s)
-Download: 1622/1623 items  171.6/171.6MB  99% complete (4.6M/s)
-Download: Completed 171.60 MB in 40.20 seconds (4.3M/s)
- Actions:    1/1904 actions (Installing new actions)
- Actions: 1569/1904 actions (Installing new actions)
- Actions: Completed 1904 actions in 6.44 seconds.
- Done
- Done
- Done
- Done
- Done
-starting TeX Live build at Tue Sep 10 08:48:38 UTC 2024

So nothing is installed.
My guess is that it is related to the following change in the last week
-Warning: Permanently added '<IP_ADDRESS>' (ED25519) to the list of known hosts.
-Last login: Sun Sep  8 15:04:33 2024 from <IP_ADDRESS>
-NOTE: system has 5 active alerts; run 'fmadm list' for details.
-Oracle Corporation     SunOS 5.11      11.4    Aug 2018
+Warning: Permanently added '<IP_ADDRESS>' (ED25519) to the list of known hosts.
+Last login: Fri Sep 20 07:28:02 2024 from <IP_ADDRESS>
+NOTE: system has 4 active alerts; run 'fmadm list' for details.
+Oracle Solaris <IP_ADDRESS>.0                  Assembled December 2021

Do you have any suggestion/idea?

Do you have any suggestion/idea?

I'd suggest using a more modern compiler toolchain with release: "11.4-gcc" and not installing gcc5core package, e.g.
    ...
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: vmactions/solaris-vm@v1
        with:
          release: "11.4-gcc"
      ...

Hmm, building binaries for a wide area of platforms, so binaries that run also on old machines, requires the usage of the oldest possible gcc, otherwise the binaries will not run on older releases.
Anyway, thanks a lot, I will look into how to work around the current problem.
Thanks for your work

/opt/csw/bin/pkgutil -U
/opt/csw/bin/pkgutil -y -i    autoconf automake gcc5core libtool

Thanks a lot, that worked!!!
Greatly appreciated!!!

Again, thanks a lot. Not having a solaris system and never having used one, just trying to provide binaries for as many systems as possible in TeX Live is a real challenge. Thanks for this vmaction and your support!


[PDI-14650] In csv input when using multiple character delimiter and an

enclosure character fields lose last character

fixed multi character delimiter processing in CsvInputStep
added unit tests

Build Completed
:fire: This pull request has some issues. It would be preferable to fix them in order for it to be just perfect. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
ant -Dtestreports.dir=bin/reports/unit-test -f engine/build.xml clean-all resolve jacoco && ant -Dtestreports.dir=bin/reports/integration-test -f engine/build.xml jacoco-integration checkstyle publish-local

Cleanup Commands
rm -r ~/.ivy2/local || echo no publish local to remove

Changed files
  engine/src/org/pentaho/di/trans/steps/csvinput/CsvInputData.java
  engine/test-src/org/pentaho/di/trans/steps/csvinput/CsvInputContentParsingTest.java
  engine/test-src/org/pentaho/di/trans/steps/csvinput/CsvInputMultiCharDelimiterTest.java
  engine/test-src/org/pentaho/di/trans/steps/csvinput/CsvInputUnicodeTest.java
  engine/test-src/org/pentaho/di/trans/steps/csvinput/files/multi_delim.csv

Unit test coverage change
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.
org.pentaho.di.job.entries.evalfilesmetrics.JobEntryEvalFilesMetrics

Branch Change:  + .39%
Complexity Change:  + .51%
Instruction Change:  + .08%

org.pentaho.di.job.entries.getpop.MailConnectionMeta

Branch Change: -1.00%:small_red_triangle_down:
Complexity Change: -1.41%:small_red_triangle_down:
Instruction Change: -.30%:small_red_triangle_down:

org.pentaho.di.job.entries.sql.JobEntrySQL

Instruction Change: -3.28%:small_red_triangle_down:
Line Change: -3.87%:small_red_triangle_down:

org.pentaho.di.job.entries.waitforsql.JobEntryWaitForSQL

Branch Change:  + .66%
Complexity Change:  + .93%
Instruction Change:  + .13%

org.pentaho.di.trans.step.StepMeta

Instruction Change: -.19%:small_red_triangle_down:
Line Change: -.27%:small_red_triangle_down:

org.pentaho.di.trans.steps.calculator.CalculatorMetaFunction

Branch Change:  + 8.70%
Complexity Change:  + 3.08%
Instruction Change:  + .75%
Line Change:  + .89%

org.pentaho.di.trans.steps.combinationlookup.CombinationLookupMeta

Instruction Change: -.04%:small_red_triangle_down:

org.pentaho.di.trans.steps.csvinput.CsvInputData

Branch Change:  + 2.01%
Complexity Change:  + 1.57%
Instruction Change:  + .28%
Line Change:  + .49%

org.pentaho.di.trans.steps.datagrid.DataGridMeta

Instruction Change: -.09%:small_red_triangle_down:

org.pentaho.di.trans.steps.groupby.GroupByMeta

Branch Change:  + 1.04%
Complexity Change:  + 1.05%

org.pentaho.di.trans.steps.insertupdate.InsertUpdateMeta

Instruction Change: -.05%:small_red_triangle_down:

org.pentaho.di.trans.steps.ldapoutput.LDAPOutputMeta

Instruction Change:  + .06%

org.pentaho.di.trans.steps.memgroupby.MemoryGroupByMeta

Branch Change:  + 1.18%
Complexity Change:  + 1.35%
Instruction Change:  + .18%
Line Change:  + .48%

org.pentaho.di.trans.steps.replacestring.ReplaceStringMeta

Instruction Change:  + .07%

org.pentaho.di.trans.steps.sortedmerge.SortedMergeMeta

Instruction Change: -.18%:small_red_triangle_down:

org.pentaho.di.trans.steps.symmetriccrypto.symmetriccryptotrans.SymmetricCryptoTransMeta

Branch Change: -3.33%:small_red_triangle_down:
Complexity Change: -1.85%:small_red_triangle_down:
Instruction Change: -.28%:small_red_triangle_down:

org.pentaho.di.trans.steps.tableoutput.TableOutputMeta

Branch Change: -.91%:small_red_triangle_down:
Complexity Change: -.82%:small_red_triangle_down:

org.pentaho.di.trans.steps.textfileinput.TextFileInputMeta

Branch Change: -.53%:small_red_triangle_down:

org.pentaho.di.trans.steps.uniquerows.UniqueRowsMeta

Instruction Change: -.18%:small_red_triangle_down:

@mbatchelor @e-cuellar @bmorrise @wseyler please review


Issue with Patching Phase 'solid' to 'fluidized_bed' in Two-Phase Fluid Flow Problem

🔍 Before submitting the issue

[X] I have searched among the existing issues
[X] I am using a Python virtual environment

🐞 Description of the bug
Code:
solver.solution.initialization.patch.calculate_patch(
domain = "solid",
cell_zones = ["fluid_domain"],
registers = ["fluidized_bed"],
variable = "mp",
reference_frame = "Relative to Cell Zone",
use_custom_field_function = False,
custom_field_function_name = "",
value = 0.5678
)
Output:
1560 cells marked
False
Additional Information:
Fluent version: 2024 R1
PyFluent version: 0.22.0
Operating system: Windows 11
Python version: 3.12.2
"I am encountering an issue when attempting to patch the phase 'solid' to 'fluidized_bed' in a two-phase fluid flow simulation using PyFluent. Despite receiving a message indicating that '1560 cells marked', the operation returns False, suggesting that the patching may not have been successfully applied."
💻 Which operating system are you using?
Windows
🐍 Which Python version are you using?
3.12
📦 Installed packages
ansys-api-mapdl==0.5.2
ansys-api-platform-instancemanagement==1.1.0
ansys-mapdl-core==0.68.4
ansys-mapdl-reader==0.53.0
ansys-math-core==0.1.5
ansys-platform-instancemanagement==1.1.2
ansys-tools-path==0.6.0
anyio==4.4.0
appdirs==1.4.4
argon2-cffi==23.1.0
argon2-cffi-bindings==21.2.0
arrow==1.3.0
asttokens==2.4.1
async-lru==2.0.4
attrs==23.2.0
Babel==2.15.0
beautifulsoup4==4.12.3
bleach==6.1.0
certifi==2024.7.4
cffi==1.16.0
charset-normalizer==3.3.2
click==8.1.7
colorama==0.4.6
comm==0.2.2
contourpy==1.2.1
cycler==0.12.1
debugpy==1.8.1
decorator==5.1.1
defusedxml==0.7.1
executing==2.0.1
fastjsonschema==2.20.0
fonttools==4.51.0
fqdn==1.5.1
geomdl==5.3.1
grpcio==1.65.1
h11==0.14.0
httpcore==1.0.5
httpx==0.27.0
idna==3.7
importlib_metadata==8.0.0
ipykernel==6.29.4
ipython==8.23.0
ipywidgets==8.1.2
isoduration==20.11.0
jedi==0.19.1
Jinja2==3.1.4
json5==0.9.25
jsonpointer==3.0.0
jsonschema==4.23.0
jsonschema-specifications==2023.12.1
jupyter==1.0.0
jupyter-console==6.6.3
jupyter-events==0.10.0
jupyter-lsp==2.2.5
jupyter_client==8.6.1
jupyter_core==5.7.2
jupyter_server==2.14.2
jupyter_server_terminals==0.5.3
jupyterlab==4.2.3
jupyterlab_pygments==0.3.0
jupyterlab_server==2.27.3
jupyterlab_widgets==3.0.10
kiwisolver==1.4.5
MarkupSafe==2.1.5
matplotlib==3.8.4
matplotlib-inline==0.1.7
mistune==3.0.2
nbclient==0.10.0
nbconvert==7.16.4
nbformat==5.10.4
nest-asyncio==1.6.0
notebook==7.2.1
notebook_shim==0.2.4
numpy==1.26.4
overrides==7.7.0
packaging==24.0
pandas==2.2.2
pandocfilters==1.5.1
parso==0.8.4
pillow==10.3.0
platformdirs==4.2.0
pooch==1.8.2
prometheus_client==0.20.0
prompt-toolkit==3.0.43
protobuf==4.25.3
psutil==5.9.8
pure-eval==0.2.2
pyansys-tools-versioning==0.5.0
pycparser==2.22
Pygments==2.17.2
pyiges==0.3.1
pyparsing==3.1.2
python-dateutil==2.9.0.post0
python-json-logger==2.0.7
pytz==2024.1
pyvista==0.44.0
pywin32==306
pywinpty==2.0.13
PyYAML==6.0.1
pyzmq==26.0.0
qtconsole==5.5.2
QtPy==2.4.1
referencing==0.35.1
requests==2.32.3
rfc3339-validator==0.1.4
rfc3986-validator==0.1.1
rpds-py==0.19.0
scipy==1.14.0
scooby==0.10.0
Send2Trash==1.8.3
setuptools==71.0.1
six==1.16.0
sniffio==1.3.1
soupsieve==2.5
stack-data==0.6.3
tabulate==0.9.0
terminado==0.18.1
tinycss2==1.3.0
tornado==6.4
tqdm==4.66.4
traitlets==5.14.2
types-python-dateutil==<IP_ADDRESS>40316
typing_extensions==4.12.2
tzdata==2024.1
uri-template==1.3.0
urllib3==2.2.2
vtk==9.3.1
wcwidth==0.2.13
webcolors==24.6.0
webencodings==0.5.1
websocket-client==1.8.0
widgetsnbextension==4.0.10
zipp==3.19.2

Related bug: #3141

Despite using the TUI command, the patching process remained incomplete. However, I managed to get it to work by just providing an empty string for the cell_zones.
##Using TUI command
solver.tui.solve.patch('solid', '', (), 'fluidized_bed', (), 'mp', 0.5273)
##Using PyFLUENTcommand
solver.solution.initialization.patch.calculate_patch(
domain="solid",
cell_zones=[],
registers=["fluidized_bed"],
variable="mp",
reference_frame="Relative to Cell Zone",
use_custom_field_function=False,
custom_field_function_name="",
value=0.5273
)

This looks wrong:
solver.tui.solve.patch('solid', '', (), 'fluidized_bed', (), 'mp', 0.5273)

() is not a Python list.

You're correct; the proper syntax should be:
solver.tui.solve.patch('solid', '', [], 'fluidized_bed', [], 'mp', 0.5273)
However, I wonder why it works well in both cases.

You're correct; the proper syntax should be: solver.tui.solve.patch('solid', '', [], 'fluidized_bed', [], 'mp', 0.5273) However, I wonder why it works well in both cases.

OK, I have now reread your earlier comment, which I had previously misinterpreted.

Return value needs to be ignored. @mkundu1 has made some changes to ignore it.

We are going to verify if the command returns anything with the latest code, and whether it is meant to return anything, before closing this issue.
cc. @seanpearsonuk


chore: add root taurignore

enhances the DX of running tauri dev in any of the examples folder - we don't need to watch the entire workspace for changes

we could ignore the entire crates folder, idk about that
tbh i don't use tauri dev in the examples much, it's mostly mobile dev that impacts me


[REQ] Trade Up Contract

Have you ever thought about implementing the Exchange Contract? It would be interesting to have it on the web.
The same rules as in CS2 would apply in the inventory simulator.

Have a lot of players requesting this feature. Maybe make it higher priority after the sticker system and charms :)

I just implemented this on my private version of cs2-inventory-simulator. Unfortunately I am not proud of the source code enough to do a proper pull request (too much spaghetti).
https://github.com/user-attachments/assets/f7d70bb8-521c-4502-925c-345cf2a0e033

I think this is a start.
In this case, did you use the CS trade contract icon?
I believe that animation can also be implemented when the contract is created and when the skin is generated, as it was in CSGO.
The truth is that I haven't yet carried out these trade contracts in CS2, so I can't confirm whether they still have the same look and functions as they had in CSGO.
Anyway, I think Ian would be better able to evaluate this and then proceed from there.

I didn't check how it works on CS2 either.
The features I noticed are lacking on that video are:

the animation of course
a way to use items from storage units without having to retrieve them
A toggle to filter only same wear (not really a CSGO thing but a nice to ahve for people who want to avoid combining diff floats by mistake like FN and BS)

as the chance is calculated based on the possible outcomes the only skins that you can earn are the next quality of the same collections as the skins input.

Sorry for putting this here but as I believe you speak portuguese a friend of mine also made a google doc explaining in portuguese which could be easier to understand for you
https://docs.google.com/document/d/1juQvSJUZGbLLjhKYavhqthiVv_oWvDKDGIwEzfQBjMk/edit?usp=sharing

Yeah, thanks, that'll be helpful.