How should grouping be handled by various verbs?

In the current implementation of the join verbs, any grouping needs to be removed in order for the join to function correctly. In the existing code (not yet merged), it's done automatically, and the returned DplyFrame has no grouping. In Dplyr, the operation x %>% join(y) returns a dataframe with any grouping on x preserved. This wouldn't require too much work to implement, but it would require an additional attribute to serve as a swap variable (ungroup, do the operation, and then regroup) and an additional method. Also, while doing a mutating join returns a new dataframe, and hence we could ignore grouping theoretically, filtering joins return the original dataframe, so maintaining the grouping is probably desirable.
There are other issues regarding grouping as well.

Should summarise peel away any layers of grouping? In Dplython, x >> group_by(a, b) >> summarise() returns a dataframe grouped on a and b. In Dplyr, x %>% group_by(a, b) %>%> summarise() returns a dataframe grouped on a. This wouldn't be that hard to implement.

Should select statements have grouping variables implied? Currently, x >> group_by(a) >> select(b) throws an error in dplython, but returns x with columns a and b in Dplyr (still grouped on a).

while implementing spread(), how should grouping be handled? For example, if we have x >> group_by(a, b) >> spread(c, d), then it's easy enough to make it so that that the dataframe returned is still grouped on a and b, but something like x >> group_by(a, b) >> summarise(y = f(z)) >> spread(b, y), should that return a dataframe grouped on a? Dplyr would return a dataframe grouped on a, but if we had ... >> spread(a, y), that would return an ungrouped dataframe.

At any rate, I don't think any of these would be too difficult to do. But feel free to comment.

Another verb that needs some clarification is head(). Currently, df >> group_by(a) >> head(n) will return the first n for each group. This should probably be just return the first n rows, correct? dplyr would ignore grouping for this, but for top_n would return it by grouping.

Great questions. I would like to research / think about these more, but here are some responses so far:
In regards to joins-- I think the ungrouping, joining, and regrouping might be the best solution now. Note that I added some code in #62 that let's us write some key verbs, like mutate, as classes. All the code you'd write for a function can just go into the __call__ method. This is to help facilitate situations like this. Alternatively, you can probably just handle everything inside the join (ungroup if grouped, regrouped, return). More thought required on other questions.

I think summarize should remove grouping. I'm not sure why dplyr peels one layer away, as opposed to removing all groupings. I would like to investigate this more and look into the reasoning before doing something different.

Yes, select should have grouping variables implied. The error on the example you mentioned (x >> group_by(a) >> select(b)) should be labeled a bug. I'll open an issue.

Thank you for the research. Like question 1, I think this will require some more thought and perhaps discussion with dplyr folks to see what they think.

I've already written code to do (1) and (2). I haven't submitted it because I'm sort of new to github and not sure of what the protocol is since you've made some changes since my last pull request.
Regarding the peeling away, hadley describes it a little here: https://github.com/hadley/dplyr/issues/862 . I think the thing is since it's already been reduced to a single row by the summarise, it doesn't make sense to continue grouping. But a google search suggests that not everyone agrees with that (this being a case where being explicit might be better). Like dplyr does, it might be a good idea to show what variables are grouped on when the dataframe is diplayed.

OK, then I think what I'll do is cancel my pull request (adding filtering joins), create a pull request addressing (1) and (2), and then create a separate pull request to add filtering joins. Does that sound like a plan?
So if this is the way we'll go, this sounds like a plan to reduce errors involving grouping. There are a couple of other bugs that I have fixed involving grouping (nrow() and head() don't behave well with grouped data). Should I include them in this PR?

That sounds good. I'm not sure what state your repo is in, but I think you don't have to cancel your pull request #60 to create the other two pull requests. But feel free to do whatever is best for your repo state.
Where to put nrow and head bugs-- this is sort of a toss-up. I imagine these fixes are all pretty small. You could either do a separate pull request for each bug fix, or put all these smaller fixes together into one PR.

Oh one more thing-- of all these fixes, it would be great for me to get your solution for (2), grouping columns with selects. I have a fix that speeds up select dramatically on grouped dataframes and I'd like to get that in this week. Having your fix first will help with this so we don't have conflicts.

(1) and (2) are now added. The nrow and head issue are indeed minor fixes, but they rely on the same technique of checking the function name in the dplyframe code, so it might be better to wait until they can be factored out as verbs.


0.7.0 released resources do not contain version number

0.7.0

0.6.0

IMO it is better to keep version in resource filename for next release (as was in 0.6.0)

I confirm!
This is the case in both versions of the release notes:

single release version: https://github.com/SeedSigner/seedsigner/releases/tag/0.7.0
multi releases version: https://github.com/SeedSigner/seedsigner/releases

This has been resolved. Thank you!


Update kaizala_api_full_swagger.json

fixing header row for content query and content creation

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Rest-API-docs/kaizala_api_full_swagger.json
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


support no-poxy paramater

the SDN migration effort needs an additional flag for cluster provisioning:
--no-proxy

/lgtm


Changed rootForPath to be asynchronous

This should solve the problem we have for now.
Once we watch the project folder for file changes we just have to reinitialize projectRoots whenever a folder is added/removed.

@t-sauer is this still necessary after we use a promise in the initialize method?

Totally missed that and it does indeed solve the problem.


Notify pubsub

What is the context of this PR?
Link to Trello card
Describe what you have changed and why, link to other PRs or Issues as appropriate.
How to review
Any notes for the reviewer  (include screenshots if appropriate).

/deploy terryj

/deploy terryj

/deploy manna

/deploy manna

/deploy manna

/deploy manna

/deploy manna

/deploy manna


added phy to gitignore

@yc-adi Can you pleas help review this

We should not download RF-PHY-closed code in any msdk ci test.

@yc-adi More so we do not accidentally add it to a commit.


[Excel] (CustomFunctionRuntime 1.3) Adjust divisionByZero definition per feedback

@ElizabethSamuel-MSFT after consulting the original author (David), I've decided to remove the JavaScript note entirely for the divisionByZero error code. The other descriptions in this table define the error codes themselves, and do not include suggestions for how to write the error handler scripts, so it's out of context here to only mention it for this error code. It seems strange to assume that the developer can write the other error handlers, but won't know how to write a handler for division by zero. Based on the JavaScript skill level assumed throughout the rest of this page, I'm inclined to think the developer will be capable of writing a division by zero handler. If you approve, I'll make this change to the type definition file, too.

Docs Build status updates of commit 5d2b88b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/excel/custom-functions-errors.md
:white_check_mark:Succeeded
View

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


Major Readme changes

As soon as pwn confirms Credits will be updated

@pwn20wndstuff @sbingner

@thehappydinoa  Screen shots are on the way

Would you like me to send screenshots from iPhone instead of iPad?

@thehappydinoa  I don’t have a iPhone if you have one please send me

I can give you iPhone X screenshots

@Chasewhip8 please forward I will choose carefully 👌

@thehappydinoa You forgot the lower part...eg - restart , diagnostics

We should wait on screenshots for the iOS 12 update. Build number will change and exploit selection will as well

@Chasewhip8 we will update then also.. Pwn is busy in jailbreak so we should do the rest

I would look at the rest tomorrow

@thehappydinoa  Relative path is not working on Screenshot 1

Made a PR

@thehappydinoa done ✅

@thehappydinoa Updated and fixed

Anything new to add ? Like a new section or useful links?

I don't think so, I think this looks really good

@thehappydinoa ok so mentioning them to notify ✌
@pwn20wndstuff @Cryptiiiic @sbingner

Screenshots should be from an unjailbroken iPhone (no status bar tweaks), have full cellular service (no Wi-Fi), and stay at 9:41. You should try to emulate Apple's screenshot style as much as possible.

Ye I can do that on release

@Chasewhip8 @haykam821  the problem is 1) I do not use SIM card on iPad

I’ll have to change system date if to do so cause by then I go out

I’ll give them to you once it has been released

@Chasewhip8 Looking forward to it

@T4shf33n check out this pull request.

@Chasewhip8 merged your request
@thehappydinoa would you please review it?

Will need to change iOS 11 to iOS 11 and 12 for the cydua part eventually

@haykam821 create a PR in the fork to make thlngs clear

I'm not against the idea in this but please be more careful : screenshots look way off : they're stretched and you can't discern anything on them.

@clarityzzz I will just re-size the images.. thanks for the point

Once the ph luv build drops or I get s private build I can do the screenshots for this.

Screenshots still look wayyy off on desktop, too stretched. Are they from an iPad? I'd suggest from an iPhone X.
I also suggest adding an example form on how to post a new issue : way too many issues without proper information or diagnostics.

Yes I have an iPhone X and will do it once I have the new build it s public release. Or pwn or someone else could do them.

@T4shf33n check pr’s

PR is here
Other than that @pwn20wndstuff @Samgisaninja what do you think?

The screenshots need to be resized or something, idk what device they’re taken from though.
I think we will probably wait until everything is merged from iOS 12. Also every single PR I’ve merged so far has messed something up in some way, so I’ll let pwn handle that if he wants to.

Hmm maybe just grab the readme in the end as that should be the only file changed. And for the device screenshots we were waiting to take them on an updated unc0ver but I’m guessing the UI isn’t going to change from what I heard in discord. Do you want us to update them now or after ?

Ye, it seems like some apt/ files are in this PR so maybe exclude them on the merge

The UI will probably be tweaked slightly (exploitpicker branch), I’ll probably re-visit this a week or so after iOS 12 support is added

Sounds good

You should make a separate pull request for iOS 12-related tweaks to the README.

Not really as this is going to be merged after iOS 12 jb is released so might as well do it in here

@Chasewhip8 Unless you rebase, you shouldn't do that.

Ye I’m not the owner of this pr. I would fix the merge problems if I was.

@chasewhip8 @hykam821 I am also waiting for the unc0ver update and for someone to send the screenshots from iphone and also if you have a change then leave  a review . I'll look into it and sorry for the delay as I was flooded with my work.

@Chasewhip8  The apt changes were made when you pulled from the master branch and made a PR remember?

My bad that would do it haha

I'm having issues reverting that commit. Maybe you can try?

@Chasewhip8  The files have been updated by Pwn since that merge so GitHub is showing an error. Now ?

I see two options 1) Re-opening another Pull request copying the changes from this one 2) Pulling again from the latest master branch before merging this.
I prefer Option - 1 . What about you guys?

Just rebase it

Ye it is showing me an error as well

Actually let me try something

I see two options 1) Re-opening another Pull request copying the changes from this on

Please don't ever do that.

@haykam821 i was just exploring options but chase had made a PR in my fork to fix this . Help us to review the fix

My fix will work as long as when they pull dev to master they should make dev priority
Need to fix some other things in it fn

Ok, recheck the pr. This should work if they merge with develop priority.

@Chasewhip8 You have done it congrats 😸

Need to fix

@prakchanraksmey what?


Worker_groups only one map work, the second one is ignore

I have issues
I'm submitting a...

[X] bug report

What is the current behavior?
on worker_groups only one map work, the second one is ignored
If this is a bug, how to reproduce? Please include a code sample if relevvant.
locals {
  cluster_name = "Staging-eks-${random_string.suffix.result}"

   worker_groups = "${list(
                     map("asg_desired_capacity", "10",
                         "asg_max_size", "15",
                         "asg_min_size", "10",
                         "instance_type", "m5.xlarge",                    <--- This one is created
                         "root_volume_size", "200",
                         "key_name", "test",
                         "ebs_optimized","true",
                         "public_ip","false",
                         "ami_id","ami-08cab282f9979fc7a",
                         "name", "worker_group_${local.cluster_name}",
                     ),
                       map("asg_desired_capacity", "4",
                         "asg_max_size", "7",
                         "asg_min_size", "4",
                         "instance_type", "m5.xlarge",
                         "root_volume_size", "200",              <--- This one is ignored
                         "key_name", "test",
                         "ebs_optimized","true",
                         "public_ip","false",
                         "ami_id","ami-08cab282f9979fc7a",
                         "name", "worker_group_db_${local.cluster_name}",
                     ),
   )}"
  tags = "${map("Environment", "Staging",
                "ID-Env", "${local.cluster_name}",
  )}"
}

module "eks" {
  source        = "terraform-aws-modules/eks/aws"
  version = "1.6.0"
  cluster_name  = "${local.cluster_name}"
  worker_groups         = "${local.worker_groups}"
  #worker_groups_length  = 2
  subnets       = "${module.vpc.private_subnets}"
#  tags                  = "${map("Environment", "${local.cluster_name}")}"
  vpc_id        = "${module.vpc.vpc_id}"
}

What's the expected behavior?
Have 2 ASG with 2 differents configuration.
Are you able to fix this problem and submit a PR? Link here if you have already.
Environment details

Affected module version:
OS: Macos High sierra
Terraform version:  v0.11.7

Any other relevant info

Hi @xavierdavidgarcia , you need to set worker_group_count to 2. This is silly but a workaround to this issue https://github.com/hashicorp/terraform/issues/10857. Hopefully in a new version of terraform it will be addressed.

bumping this @xavierdavidgarcia . If the above didn't work for you, please paste your full module call. I think Max has you covered.

I'm gonna close this but feel free to reopen if you still have an issue.


update hdp gpg key location per docs

Update the HDP GPG key location from
#{yum_base_url}/#{os}/#{key}/#{key}-Jenkins
to
#{yum_base_url}/#{os}/2.x/[GA|updates]/#{<version>}/#{key}/#{key}-Jenkins
This matches the HDP documented locations, and for centos7 the key doesn't exist at the old location.
HDP documented locations:
$ for d in centos6 centos7 ; do for v in <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> ; do curl -s http://public-repo-1.hortonworks.com/HDP/${d}/2.x/updates/${v}/hdp.repo | grep gpgkey | uniq ; done ; done
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/<IP_ADDRESS>/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

But even for those versions <2.0.12 that document the old location, the key also exists in the new location:
$ for d in centos6 ; do for v in <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> ; do printf "${v} " ; curl -s -o /dev/null -w "%{http_code}\n" http://public-repo-1.hortonworks.com/HDP/${d}/2.x/updates/${v}/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins; done ; done
<IP_ADDRESS> 200
<IP_ADDRESS> 200
<IP_ADDRESS> 200
<IP_ADDRESS> 200
<IP_ADDRESS> 200

Yeah, I tried to find a solution to make both rubocop happy and that was easy to read, but I ended up just disabling this Cop for these lines.


Adding an import via quick fix scrolls the editor

use autofolding of imports "editor.foldingImportsByDefault": true.
use a type that is not imported in a TS file
use quick fix to add the import
the editor scrolls to an incorrect position. I think this is a recent regression, because I've been using both import folding and quick fix for imports since quite a while... maybe starting with the last stable.

https://user-images.githubusercontent.com/5047891/191502148-c0dc8dbf-26b1-4dc8-ab1e-975462212a66.mp4
Version: 1.72.0-insider
Commit: 333754f29b719f605904f072b13c054c2231b9bd
Date: 2022-09-21T05:40:07.654Z
Electron: 19.0.17
Chromium: 102.0.5005.167
Node.js: 16.14.2
V8: <IP_ADDRESS>-electron.0
OS: Darwin arm64 21.6.0
Sandboxed: Yes

Un-assigning myself as I don't think this cause by something the JS/TS extension itself is doing

@alexdima I own the UI. However it looks like scrolling here happen when the edit from the quick fix is applied. That's why I unassigned myself

It also unfolds if you do "Organize Imports", so seems like any action related with imports unfolds even though setting is "editor.foldingImportsByDefault": true

The root cause appears to be the folding ranges change and end up calling editor.setHiddenAreas. That one does not attempt to maintain the viewport stable in any way.

@alexdima this issue still exists: https://github.com/microsoft/vscode/issues/168523


enable/disable plugins from command line

Should be able to enable a plugin with "webgme enable plugin MyPlugin MyProject"

Fixed as of b1ba5ea7c0adfa90f3a383a3c3ba9236376de56e


[Package Request] fastfetch

I'd like it if pkgx packaged fastfetch but unfortunately it is not packaged yet. The process isn't clear from looking at https://docs.pkgx.sh/pantry. Can someone package it or guide me through how to? Thx!
% ./pkgx fastfetch
× nothing provides: fastfetch
│ we haven’t pkgd this yet. can you?
╰─➤ https://docs.pkgx.sh/pantry

This might already be tracked by the following issue:

https://github.com/pkgxdev/pantry/issues/7109

this has been requested here: https://github.com/pkgxdev/pantry/issues/7109
it looks like we're missing a few dependencies. but they may be optional. if they're optional it shouldn't be hard, but if they're required, then they'd need to be packaged as well.
We do have neofetch and hyfetch packaged, which are similar.


Updated README.RST with more detail

I am new to Hadoop/Common Crawl, but found this package incredibly useful.  I am very excited about the possibilities this package can create to make the massive amount of data inside of Common Crawl accessible to everyday people.
After some troubleshooting, I thought I'd add more detail to the README file to include some tips on how I managed to get the the package running on my own computer.
This updated version of the readme document includes details on how to:

navigate the common crawl dataset
troubleshoot running it locally
preparing your local environment to run the script on EMR
preparing your S3 Bucket
grabbing the latest version of CommonCrawlJob from its git repo (rather than the pip repo)
I've also included sample command line outputs as well as results from running each of the commands

I'm not sure if I've included too much detail, but as a beginner-level user myself, I would have found such a guide to be useful and save me a lot of time.   Looking forward to hearing any thoughts/suggestions.
As a disclaimer, I'm not sure how this update to README.RST will work for users on Mac/Windows and also if there are any other best practices I might have missed ...

LGTM, thanks for updating everything with your expertise!


add AfterAddclienntFunc

If you add a hook for one thing you need to add for everything. After Connect, After Disconect and so on.
Also, there are unrelated changes in this PR.


Use a Latch to reduce flakiness in RpcThrottler test

Looks like the rebase got screwed up, though. I'll kill this and merge from a different branch unless it's an easy fix.


Totality checking

Just curious, does this support totality checking?
Background story: I was having issues with some MATLAB code not terminating written in a rather nonconventional way (for MATLAB, that is, i.e. functional). It occurred to me that if I could use generated C++ interfaces for my code in MATLAB, then I could handle the higher level logic from something like your Idris or PureScript compiler forks for C++. However, not really sure which of these would be better to use, though I don't think PureScript supports totality checking in any capacity (maybe I'm wrong). Also, Idris might provide a more compelling story for modeling matrices in MATLAB via dependent types, though that isn't really required for my current problem.

Interesting question. For purescript, there is some support (namely that functions need to be marked when partial). You can find some docs here and probably elsewhere with a bit of googling (sorry I don't know where offhand). You might want to check with the purescript guys on what it does exactly and how good it is. My C++ and Golang backends don't have anything special going on at the type level vs js purescript. Note that my backends are now just utilities on the mainline corefn output, not forks (though the C++ one was in the past).
As for Idris, I'm afraid I haven't been paying attention (in a long time), but it certainly had interesting things going on w.r.t. a totality checker. I stopped doing any alternative backends for it a long time ago, though.


Health Check rule for making sure AlarmIdentifier when using CloudWatch

Issue #, if available:
Fix #623
Description of changes:

Add new rule E3023 to check if AlarmIdentifier is specified when the Route53 Health Check is using CloudWatch Metrics

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

Codecov Report

Merging #681 into master will increase coverage by 0.06%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #681      +/-   ##
==========================================
+ Coverage   85.22%   85.28%   +0.06%
==========================================
  Files         116      117       +1
  Lines        6685     6714      +29
  Branches     1583     1588       +5
==========================================
+ Hits         5697     5726      +29
  Misses        623      623
  Partials      365      365

Impacted Files
Coverage Δ

src/cfnlint/rules/resources/route53/HealthCheck.py
100% <100%> (ø)

Continue to review full report at Codecov.

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


Add Detection Engineering

https://github.com/infosecB/awesome-detection-engineering
This is a list of resources intended specifically for cybersecurity threat detection engineers and blue teams.  Thanks for the consideration.
By submitting this pull request I confirm I've read and complied with the below requirements 🖖
Please read it multiple times. I spent a lot of time on these guidelines and most people miss a lot.
Requirements for your pull request

[x] Don't open a Draft / WIP pull request while you work on the guidelines. A pull request should be 100% ready and should adhere to all the guidelines when you open it. Instead use #2242 for incubation visibility.
[x] Don't waste my time. Do a good job, adhere to all the guidelines, and be responsive.
[x] You have to review at least 2 other open pull requests.

https://github.com/sindresorhus/awesome/pull/2753
https://github.com/sindresorhus/awesome/pull/2825

[x] You have read and understood the instructions for creating a list.
[x] This pull request has a title in the format Add Name of List. It should not contain the word Awesome.

✅ Add Swift
✅ Add Software Architecture
❌ Update readme.md
❌ Add Awesome Swift
❌ Add swift
❌ add Swift
❌ Adding Swift
❌ Added Swift

[x] Your entry here should include a short description about the project/theme of the list. It should not describe the list itself. The first character should be uppercase and the description should end in a dot. It should be an objective description and not a tagline or marketing blurb. It should not contain the name of the list.

✅ - [iOS](…) - Mobile operating system for Apple phones and tablets.
✅ - [Framer](…) - Prototyping interactive UI designs.
❌ - [iOS](…) - Resources and tools for iOS development.
❌ - [Framer](…)
❌ - [Framer](…) - prototyping interactive UI designs

[x] Your entry should be added at the bottom of the appropriate category.
[x] The title of your entry should be title-cased and the URL to your list should end in #readme.

Example: - [Software Architecture](https://github.com/simskij/awesome-software-architecture#readme) - The discipline of designing and building software.

[x] No blockchain-related lists.
[x] The suggested Awesome list complies with the below requirements.

Requirements for your Awesome list

[x] Has been around for at least 30 days.That means 30 days from either the first real commit or when it was open-sourced. Whatever is most recent.

[x] Run awesome-lint on your list and fix the reported issues. If there are false-positives or things that cannot/shouldn't be fixed, please report it.

[x] The default branch should be named main, not master.

[x] Includes a succinct description of the project/theme at the top of the readme. (Example)

✅ Mobile operating system for Apple phones and tablets.
✅ Prototyping interactive UI designs.
❌ Resources and tools for iOS development.
❌ Awesome Framer packages and tools.

[x] It's the result of hard work and the best I could possibly produce.
If you have not put in considerable effort into your list, your pull request will be immediately closed.

[x] The repo name of your list should be in lowercase slug format: awesome-name-of-list.

✅ awesome-swift
✅ awesome-web-typography
❌ awesome-Swift
❌ AwesomeWebTypography

[x] The heading title of your list should be in title case format: # Awesome Name of List.

✅ # Awesome Swift
✅ # Awesome Web Typography
❌ # awesome-swift
❌ # AwesomeSwift

[x] Non-generated Markdown file in a GitHub repo.

[x] The repo should have awesome-list & awesome as GitHub topics. I encourage you to add more relevant topics.

[x] Not a duplicate. Please search for existing submissions.

[x] Only has awesome items. Awesome lists are curations of the best, not everything.

[x] Does not contain items that are unmaintained, has archived repo, deprecated, or missing docs. If you really need to include such items, they should be in a separate Markdown file.

[x] Includes a project logo/illustration whenever possible.

Either centered, fullwidth, or placed at the top-right of the readme. (Example)
The image should link to the project website or any relevant website.
The image should be high-DPI. Set it to maximum half the width of the original image.
Don't include both a title saying Awesome X and a logo with Awesome X. You can put the header image in a # (Markdown header) or <h1>.

[x] Entries have a description, unless the title is descriptive enough by itself. It rarely is though.

[x] Includes the Awesome badge.

Should be placed on the right side of the readme heading.

Can be placed centered if the list has a centered graphics header.

Should link back to this list.

[x] Has a Table of Contents section.

Should be named Contents, not Table of Contents.
Should be the first section in the list.
Should only have one level of nested lists, preferably none.
Must not feature Contributing or Footnotes sections.

[x] Has an appropriate license.

We strongly recommend the CC0 license, but any Creative Commons license will work.

Tip: You can quickly add it to your repo by going to this URL: https://github.com/<user>/<repo>/community/license/new?branch=main&template=cc0-1.0 (replace <user> and <repo> accordingly).

A code license like MIT, BSD, Apache, GPL, etc, is not acceptable. Neither are WTFPL and Unlicense.
Place a file named license or LICENSE in the repo root with the license text.
Do not add the license name, text, or a Licence section to the readme. GitHub already shows the license name and link to the full text at the top of the repo.
To verify that you've read all the guidelines, please comment on your pull request with just the word unicorn.

[x] Has contribution guidelines.

The file should be named contributing.md. Casing is up to you.
It can optionally be linked from the readme in a dedicated section titled Contributing, positioned at the top or bottom of the main content.
The section should not appear in the Table of Contents.

[x] All non-important but necessary content (like extra copyright notices, hyperlinks to sources, pointers to expansive content, etc) should be grouped in a Footnotes section at the bottom of the readme. The section should not be present in the Table of Contents.

[x] Has consistent formatting and proper spelling/grammar.

The link and description are separated by a dash. Example: - [AVA](…) - JavaScript test runner.
The description starts with an uppercase character and ends with a period.
Consistent and correct naming. For example, Node.js, not NodeJS or node.js.

[x] Does not use hard-wrapping.

[x] Does not include a CI (e.g. GitHub Actions) badge.You can still use a CI for linting, but the badge has no value in the readme.

[x] Does not include an Inspired by awesome-foo or Inspired by the Awesome project kinda link at the top of the readme. The Awesome badge is enough.

[x] Go to the top and read it again.

Thanks for making an Awesome list! 🙌
It looks like you didn't read the guidelines closely enough. I noticed multiple things that are not followed. Try going through the list point for point to ensure you follow it. I spent a lot of time creating the guidelines so I wouldn't have to comment on common mistakes, and rather spend my time improving Awesome.

unicorn

Additionally, I removed a section of the list "Blog Archive" which contained several links without proper descriptions. As a result, the list now only includes links with corresponding descriptions.

Includes a succinct description of the project/theme at the top of the readme. (Example)

Includes a succinct description of the project/theme at the top of the readme. (Example)

Updated my project's description per your guidance. Thanks again.
https://github.com/infosecB/awesome-detection-engineering?tab=readme-ov-file#awesome-detection-engineering-

Tweet: https://x.com/awesome__re/status/1794396961493373293

Thank you @sindresorhus!


"Google is indicating that we have some issue connecting to payment." error upon calling acknowledgePurchaseAndroid

Version of flutter_inapp_purchase 2.2.0
Platforms you faced the error (IOS or Android or both?) android
Tested environment (Emulator? Real Device?) real device

What was the solution?


styled know more and text

Related Issuse
I have added a new class for the know more btn and increased the font size for the heading and text.
Closes: #19
Describe the changes you've made
A clear and concise description of what you have done to successfully close your assigned issue. Any new files? or anything you feel to let us know!
Checklist:

[ x] My code follows the style guidelines of this project.
[ x] I have performed a self-review of my own code.
[ ] I have commented my code, particularly in hard-to-understand areas.
[ ] I have made corresponding changes to the documentation.
[ x] My changes generate no new warnings.

Screenshots

Original
Updated

original screenshot
updated screenshot

Make the Logout text to the previous color. Other changes are fine.

The blue color is on hover.

@CodesbyUnnati Please label this PR.


DNN Editbar (when open) will affect custom webforms modules

Description of bug
When you are in edit mode, with the bottom editbar open, it will wrap your modules in a updatepanel even if you DON'T have enabled "Supports partial rendering" in its module settings.
I first discovered this issue 4 days ago trying to make a simple module that have asp:FileUpload feature and it always returned false in the HasFiles property.
I know that UpdatePanel (aka Ajax/partial rendering support) wont work with fileUpload but the problem goes beyond that. (Btw I solved this specific custom upload module using the Dnn:FilePickerUploader)
One day later, In another module, I just needed a simple Listview with an SQLDataSource to List, Insert, Update and Delete some database records. No uploads in this case. The insert was working ok. The list also fine. But when you try to update or delete the row will be blank after the (partial) postback and the database won't be touched.
My first concern is that it was something related to 2sxc, because I've previously done some similar custom modules in the beginning of this site months ago, then in December I installed 2sxc, used it for some pages, and I only had to do similar custom modules again now.
But now I confirmed that this behavior is happening in the
Dnn.Platform\Dnn.AdminExperience\EditBar\Dnn.EditBar.UI\Controllers\ContentEditorManager.cs in the CreateChildControls override (base in System.Web.UI.Control):

Steps to reproduce

Create a simple ascx module with an SqlDataSource and a Listview (or Gridview, any databound module)
With the Editbar open, try to use your custom module to list, insert, edit or delete some records
Confirm that at least Edit (update) and Delete won't work

Alternatively, I created a simple module to demonstrate this behavior, and I'm attaching it here:
Simple Module_1.0.0_Install.zip
It's a really SIMPLE module (no dll's, no hidden code. Just a simple ascx with a datasource and a listview (CRUD) to edit the DNN "Urls" table (that is normally empty).
To test you first create a record, just put 0 in the PortalId column and some Url in the Url table. It works fine.
THEN you gonna try Edit this newly inserted record. In my tests it wont work.
Current behavior
Editbar will affect some functionalities of custom modules.
Expected behavior
Editbar should not affect custom modules. Even if the Updatepanel for edit mode is by design, and JUST in this case is expected to affect modules that have an upload feature,.... BUT it SHOULD NOT affect simple CRUD webforms modules. BTW, these same CRUD modules WILL WORK with UpdatePanel if you enable it on the module extension settings but have the Editbar closed. So someway this Editbar's UpdatePanel wrapping isn't doing the same that happen when you enable partial rendering support on the module extension settings.
Screenshots
Screencast:
https://drive.google.com/file/d/1Ox1KhEUckZj81NdLZ7OuZSWWM4C86gG4/view?usp=sharing
Error information
No errors appear on Admin logs, the row being edited just disappear when you try to update it but if you refresh the page it's back there:

Additional context
When I thought it was an 2sxc issue I created this issue ( https://github.com/2sic/2sxc/issues/2668 ) on their repository, but today I discovered it's not 2sxc fault.
Affected version

[x] 09.10.02
[x] 09.10.02
[x] 09.06.02

Affected browser
not browser related

[x] any

More insight:

I guess this behavior exists since 2017 (or even before) when "DnnAjaxPanel" was replaced by "UpdatePanel".
I don't know if before this change it would work. I must check which DNN version was back then to install and test it.
Commit message:
hash: 8444eb89d4a562151d7ca79d58ae176a8c931dc9
Author: Ben<EMAIL_ADDRESS>8/march/2017 03:44
Parent: 59109586
CONTENT-7959: use update panel.

There were also another related commit that got reverted:
0fad98cc91371f71fe312992112ff7616ea00d74
Mohtshum<EMAIL_ADDRESS>03/01/2018 10:17:21 +00:00
DNN-10523: Webform postback in Edit mode loosing viewstate of the GridView
3fd4d97af758476142216aa33332d6892999b738
Mohtshum<EMAIL_ADDRESS>03/01/2018 10:21:58 +00:00
Revert "DNN-10523: Webform postback in Edit mode loosing viewstate of the GridView"

Thanks for the deep dive into this one. It looks to me like the reverted commit you posted is probably the main culprit, that you're losing ViewState because of the timing of adding this wrapping UpdatePanel. But, as you post originally, modules that have opted out of partial updates may be broken in general because of being wrapped in an UpdatePanel, so this behavior seems like a problem even if the ViewState issue is addressed. The UpdatePanels are wrapping the pane in this scenario, rather than individual modules, so it's not as simple as just disabling it for modules that don't support partial updates. I'm not sure what behavior we are using these UpdatePanels for (any @dnnsoftware/approvers know more than me?), I would guess it has to do with drag-and-drop of modules or something like that. It seems to me that whatever behavior it is, the right answer is to move that behavior more directly to the client-side, and not use UpdatePanels. But that's potentially a bigger effort, so open to other options anyone else can come up with.

I was wondering if the update panel was only inserted at the top of the container, where you have the option to edit the module instance title (when your container supports it) but I don't know if it's feasible because the way containers work (it's made to wrap your module anyway). What surprises me is 1) how we've never seen this issue before and more importantly 2) why update panel only breaks part of the listView operations... List works (ok, it's not a postback), Insert works (and it IS a postback), but DELETE and EDIT(update) are not! What the heck! I'm glad I found a workaround (just close the edit bar) but it still got me thinking!

I think the issue has to do with losing (i.e. having invalid) ViewState. An insert doesn't rely on the state of the control, but edit and delete need to know which items have already been data-bound so that the control can find which one to edit or delete.

If it is only for editing the module title, then it seems like this behavior should be part of the title control, rather than wrapping the whole pane.

I think the issue has to do with losing (i.e. having invalid) ViewState. An insert doesn't rely on the state of the control, but edit and delete need to know which items have already been data-bound so that the control can find which one to edit or delete.

Makes sense


feat: extract exp tool output via jsongo

About this change—what it does

adds automatic extraction of exp tool output via jsongo and go generate

Why this way

this is a first step towards automatic user configurable options schema generation

will be implemented in https://github.com/aiven/aiven-go-client


Fixed a connection issue

This issue is due to the Client -> Server Protocol. The client sends three messages with the opcodes 254, 255 and 80 when it connects. Opcode 255 sends an unsigned integer "initialise key" to the server which is like a handshake, to verify you are a valid user.
The "initialise key" used now is<PHONE_NUMBER> but due to some unknown reason, it doesn't let you connect to the server. I have replaced this with 154669603 which fixes this and lets you to connect to the server.

I need to make a new branch and then do a PR. Apologies - new PR made


NewTrade returns Total field which should be treated as UTC timestamp

Below is ws message from Poloniex parsed into Data struct:
{{38175537 12942.1615268 0.00011778 1.603379918e+09 sell} NewTrade}

Field with value 1.603379918e+09 is not Total - it looks like its name should be changed to Time and type to time.Time.

You can create PR
I will accept your request after investigation


Model hooks not firing on belongsToMany detach()

When using belongsToMany with an explicit pivot model, the Adonis docs state that the pivot model should work with model lifecycle hooks.
This seems to be try when I use the .attach() method. The pivot model correctly receives the beforeCreate, afterCreate, beforeSave, afterSave events. However, when I use .detach() the beforeDelete and afterDelete events are not fired to the pivotModel.
Package version
4.1
Node.js and npm version
6.2.0

The detach call doesn't fire any hooks, since it's a bulk delete call. If you will look the hook callback signature carefully, it receives an argument modelInstance. In case of bulk deletes, only the query builder is used to run the query and no model instances are created.

Ah, I see. Thanks for that clarification. Because attach does fire events, I was expected events on detach.


The loss of bounding box is SmoothL1Loss.

Hi, @hdjang. I find the loss of bounding box is IoU loss according to this paper. But the config file shows the loss of bounding box is SmoothL1 loss.

Hi, @deeppower
Yeah, configurations in config file may not match the original configuration of the paper since I just simply configured the FSAF model in the actual model definition file for "fast prototyping". You can check actual loss used in the paper from the file where model is defined.


GODOT Version

Might be worth mentioning int the readme that it must use the latest compiled-from-source version

Ah yeah you are right..
I'm forget to mention it. :+1:


avx2 convolution pipeline utilization

in function avx2_conv_fwd_kernel_f32::oh_step_unroll_kw calc oc_blocks * ur_w * oc_block outputs in following loops(psueduocode):
for jj = 0 to ur_w
  ymm(oc_blocks*ur_w + jj) = load(input)

for  ii = 0 to oc_blocks
  ymm15 = load(weight)  // register conflicts blocking pipeline ?
  for jj = 0 to ur_w
    vfmaddps(ymm(ii*ur_w + jj) , ymm15,  ymm(oc_blocks*ur_w + jj)

when oc_blocks=4, ur_w=3,  the  innermost loop can only do 3 fma ops, while we need at least 10 fma ops to full utilize the pipeline.
the for  ii = 0 to oc_blocks loop unroll can not make any help, for ymm15  conflicting  occupancy  in each loop iter preventing the pipeline, and register renaming can not help neither， because all 16 ymms are full utilized in this case.
Do I have a correct understanding about this?
btw, sorry for my poor English  ;)

Only if the ymms have more corresonding internal registers to make register renaming work, the cpu  pipeline can be full utilized, otherwise the implementation here seems sub-optimal.

@hanzz2007
In x86 CPUs a number of physical registers is more than architectural one. It means that during the execution of code above, the architectural register ymm15 will be mapped on different physical registers to resolve dependencies.

Closing this one as the question is addressed. Feel free to reopen or submit a new one to continue the discussion.


template update

@bramdebouvere Hello!
Sorry, didn't find a way to send you a DM in github or a way to contact you, so crated this issue, but I have no issue :)
Just wana share my version of the template, that Dr. G posted on the FL forum.
(https://forum.image-line.com/memberlist.php?mode=viewprofile&u=592129)
I upscaled the image and redone the text, so it can be more readable in real use. Print dimensions are the same.
Hope it can be useful to anyone.
Chears!

Hey there, looks great! Thanks for this! The description also seems to be better and more accurate than the one I have on the homepage right now.
The only thing that is different in my script is that name/value is now "rename" instead of the toggle switch it was before.
And holding shift with that button will put all the extenders on the left or on the right. Would it be possible to make a custom version with those changes specifically for my script?
Also, do we need to use any specific print settings to make sure that it prints accurately?
I'll be glad to add this to the readme.

My pleasure!

Sadly, I don't have extenders, but thinking about getting one :)
Can you please describe how the "RENAME" works?
Sorry, can't say anything about the printing settings because I printed it in a printing business, where I will give them only the initial data from Dr. G, that is "The image must be 6.21875 inches wide in A4 size". So don't know what settings they used on there hardware, but fits perfect. At first I asked them to make a black & white draft on regular papper to make sure that it fits and only after I was sure that the size was correct, I asked to print it on an adhesive backing.
And yeah, I made the print as a sticker, works very well :)

Looks great, thanks! Added it to the readme.


Update elm integration for 2020

Two main changes:

A new patch release of elm has been released (elm 0.19.1). This pull request uses it by default when language: elm.

The way elm versions are tagged on npm has also changed (see 1, 2 and 3) to use tags of the form latest-0.19.1 instead of elm0.19.1. This tagging has been applied retrospectively to versions 0.18.0 onwards (all the versions that travis supports). Notably, the 0.19.1 release has not been tagged as elm0.19.1 which means the .travis.yml config:
language: elm

elm: elm0.19.1

errors when run in travis. This PR updates travis-build to use tags of the form latest-0.19.1 by default.

This PR builds #1718, #1613, #1605 and #934
cc: @avh4, @lukewestby, @stoeffel and @rtfeldman

Updated the pull request to use latest node version 12.x.x.

I think the CI failures are unrelated to this change as master has also gone red and the error log talks about files this PR does not touch.

Have applied suggestions. Thanks @BanzaiMan

Great! Planning a deployment early next week.

Thanks @BanzaiMan!


Repurpose create form as "edit" form for job definitions

Problem
Users want to be able to edit a job definition (JD) and either save it in place, or create a new job definition (aka "cloning" a job definition). See #87.
Proposed Solution
Add a button called "Edit Job Definition" (to be confirmed) on the Job Definition Detail page. When the user clicks this button, they are brought to the Create Job form with the job definition detail prepopulated.
The Create Job form:

May benefit from having a different title ("Edit [job definition name]", for example)
Should have buttons "Cancel," "Save Changes," and "Save as New Job Definition"
a. Cancel returns the user to the Job Definition Detail page from which they came (it should not send the user to the JD list page, as it does today)
b. Save Changes should, if all inputs are valid and if the API request succeeds, return users to the JD detail page from which they came.
c. Save as New Job Definition should, if all inputs are valid and if the API request succeeds, take users to the JD list page, as the "Create JD" form does today.
Might not let users switch to "Run now" — to be discussed

Additional context
If the schedule of the job definition was created using an "easy scheduling" option, we should prepopulate the create form so that easy scheduling appears by default, with options preselected. (This may require you to interpret the cron schedule.)

Per team discussion on 11/1/2022:

Save as New Job Definition is not currently possible due to us not persisting input URI in the record anymore.
Populating easy scheduling is technically challenging and brittle without some persistence of a "scheduling format" in the backend. Because users can still use easy scheduling while changing the schedule, this isn't that much of a value-add.

Thus we are limiting the scope and excluding the above 2 features from this issue. Feel free to open another issue if these features are requested again.


encoding/gob: type not registered for interface: elliptic.p256Curve

func (w *Data) SaveFile() {
    var content bytes.Buffer

    gob.Register(elliptic.P256())
    encoder := gob.NewEncoder(&content)

    if err := encoder.Encode(w); err != nil {
        log.Panic(err)
    }

    fmt.Println(content)
}

Error
gob: type not registered for interface: elliptic.p256Curve

What version of Go are you using (go version)?

$ go version
1.19.3

A runnable example would be very helpful; without more context, I can't tell much about what's supposed to happen.  What did you expect to happen?

elliptic.P256 is a function, not an interface, so registering it is meaningless. If anything, you want to register elliptic.Curve, I think.
However, @dr2chase is right: without a complete runnable example with import statements and main function, it's hard to diagnose any problem.
https://www.softwaretestinghelp.com/how-to-write-good-bug-report/

type Wallet struct {
	PrivateKey    *ecdsa.PrivateKey
	PublicKey     *ecdsa.PublicKey
	WalletAddress string
}

type Wallets struct {
	Wallets map[string]*Wallet
}

I want to encode the type Wallets struct data and store it in a data.gob file.
Here is my code
func (w *Wallets) SaveFile() {
    var content bytes.Buffer

    gob.Register(elliptic.P256())
    encoder := gob.NewEncoder(&content)

    if err := encoder.Encode(w); err != nil {
        log.Panic(err)
    }

    fmt.Println(content)
}

The gob package failed to encode as it is showing the error gob: type not registered for interface: elliptic.p256Curve
How can I encode a type Wallets struct that contents Wallets mapping (string->Wallet) ?
gob package is not working and  I'm not able to find any working solution.

I get a different error from this: "gob: type elliptic.p256Curve has no exported fields". https://go.dev/play/p/koZfJIH_lOl
However, the same code works in 1.18. The discrepancy is due to elliptic.p256Curve switching from embedding *elliptic.CurveParams in 1.18 to embedding elliptic.nistCurve in 1.19. Evidently, this was technically a breaking change.

As an unexported type, this change was one allowed by the stdlib.
Note that crypto/elliptic has specialized functions for marshaling and unmarshaling key data, you should be using those rather than on hidden implementation details.
Closing as unfortunate, but working as intended.

Is there no equivalent substitute in the latest version?

Is there no equivalent substitute in the latest version?

No!

Maybe this would help. I was getting the same issue because I wanna encode a Wallets structure (that uses this interface of P256 Elliptic Curve) with a buffer and this gob.NewEncoder.
What I did to work me, it's change the way that I was trying to encode this structure. So I encode the structure with json.Marshal instead of the bytes.Buffer and this gob.NewEncoder.
Old Code (With troubles)

func (ws *Wallets) SaveFile() {
	var content bytes.Buffer

	gob.Register(elliptic.P256())

	encoder := gob.NewEncoder(&content)
	err := encoder.Encode(ws) // HERE WAS THE PROBLEM
	if err != nil {
		log.Panic(err)
	}

	err = ioutil.WriteFile(walletFile, content.Bytes(), 0644)
	if err != nil {
		log.Panic(err)
	}
}

New Code (Working)
func (ws *Wallets) SaveFile() {
	jsonData, err := json.Marshal(ws)
	handlers.HandleErrors(err)

	err = ioutil.WriteFile(walletFile, jsonData, 0544)
	handlers.HandleErrors(err)
}

Helpers Module
package handlers

import "log"

func HandleErrors(err error) {
	if err != nil {
		log.Panic(err)
	}
}

in addition to the previous answer we should apply some more code as well.
@rwiteshbera @facundocarballo
// wallet.go
func (w Wallet) MarshalJSON() ([]byte, error) {
	mapStringAny := map[string]any{
		"PrivateKey": map[string]any{
			"D": w.PrivateKey.D,
			"PublicKey": map[string]any{
				"X": w.PrivateKey.PublicKey.X,
				"Y": w.PrivateKey.PublicKey.Y,
			},
			"X": w.PrivateKey.X,
			"Y": w.PrivateKey.Y,
		},
		"PublicKey": w.PublicKey,
	}
	return json.Marshal(mapStringAny)
}


Look at using SSO for elastic reporting / dashboards

Thanks to @alexwlchan for the tip off
https://www.elastic.co/blog/saml-based-single-sign-on-with-elasticsearch-and-azure-active-directory

Done, we use SSO for Elastic dashboards, Kibana, and monitoring.wellcomecollection.org now.


Resiliency dynamic config support

Description
Add support for reading and processing a file containing configuration parameters. This file can be updated using kubectl, which would then allow CSM-Resiliency to be able dynamically the configuration parameters.
GitHub Issues
List the GitHub issues impacted by this PR:

GitHub Issue #

Checklist:

[x] I have performed a self-review of my own code to ensure there are no formatting, vetting, linting, or security issues
[x] I have verified that new and existing unit tests pass locally with my changes
[x] I have not allowed coverage numbers to degenerate
[x] I have maintained at least 90% code coverage
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] I have added tests that prove my fix is effective or that my feature works

How Has This Been Tested?

Unit test added and run
Manual tests with deployed csi-vxflexos and csi-unity drivers:

Unity

time="Wed, 11 Aug 2021 12:21:38 UTC" level=info msg="Read PODMON_CONTROLLER_LOG_FORMAT from log configuration file" format=TEXT
time="2021-08-11T12:21:38Z" level=info msg="Read PODMON_CONTROLLER_LOG_LEVEL from log configuration file" fields.level=debug
time="2021-08-11T12:21:38Z" level=info msg="parameter value after config file processing" PODMON_CONTROLLER_LOG_LEVEL=debug
time="2021-08-11T12:21:38Z" level=info msg="parameter value after config file processing" monitor.ArrayConnectivityPollRate=15s
time="2021-08-11T12:21:38Z" level=info msg="parameter value after config file processing" monitor.ArrayConnectivityConnectionLossThreshold=3
time="2021-08-11T12:21:38Z" level=info msg="parameter value after config file processing" monitor.PodMonitor.SkipArrayConnectionValidation=false
time="2021-08-11T12:21:38Z" level=info msg="Running in controller mode"

time="2021-08-11T12:42:20Z" level=info msg="node name: master-1-qjlrysfhexn3y nodsched false noexec false"
time="2021-08-11T12:43:24Z" level=info msg="configuration file has changed" file=/unity-config/driver-config-params.yaml
time="2021-08-11T12:43:24Z" level=info msg="Read PODMON_CONTROLLER_LOG_FORMAT from log configuration file" format=json
{"fields.level":"debug","level":"info","msg":"Read PODMON_CONTROLLER_LOG_LEVEL from log configuration file","time":"2021-08-11T12:43:24Z"}
{"PODMON_CONTROLLER_LOG_LEVEL":"debug","level":"info","msg":"parameter value after config file processing","time":"2021-08-11T12:43:24Z"}
{"level":"info","monitor.ArrayConnectivityPollRate":15000000000,"msg":"parameter value after config file processing","time":"2021-08-11T12:43:24Z"}
{"level":"info","monitor.ArrayConnectivityConnectionLossThreshold":3,"msg":"parameter value after config file processing","time":"2021-08-11T12:43:24Z"}
{"level":"info","monitor.PodMonitor.SkipArrayConnectionValidation":false,"msg":"parameter value after config file processing","time":"2021-08-11T12:43:24Z"}

time="Wed, 11 Aug 2021 12:21:38 UTC" level=info msg="Read PODMON_NODE_LOG_FORMAT from log configuration file" format=TEXT
time="2021-08-11T12:21:38Z" level=info msg="Read PODMON_NODE_LOG_LEVEL from log configuration file" fields.level=debug
time="2021-08-11T12:21:38Z" level=info msg="parameter value after config file processing" PODMON_NODE_LOG_LEVEL=debug
time="2021-08-11T12:21:38Z" level=info msg="parameter value after config file processing" monitor.ArrayConnectivityPollRate=15s
time="2021-08-11T12:21:38Z" level=info msg="parameter value after config file processing" monitor.ArrayConnectivityConnectionLossThreshold=3
time="2021-08-11T12:21:38Z" level=info msg="parameter value after config file processing" monitor.PodMonitor.SkipArrayConnectionValidation=false

time="2021-08-11T12:44:22Z" level=info msg="configuration file has changed" file=/unity-config/driver-config-params.yaml
time="2021-08-11T12:44:22Z" level=info msg="Read PODMON_NODE_LOG_FORMAT from log configuration file" format=json
{"fields.level":"debug","level":"info","msg":"Read PODMON_NODE_LOG_LEVEL from log configuration file","time":"2021-08-11T12:44:22Z"}
{"PODMON_NODE_LOG_LEVEL":"debug","level":"info","msg":"parameter value after config file processing","time":"2021-08-11T12:44:22Z"}
{"level":"info","monitor.ArrayConnectivityPollRate":15000000000,"msg":"parameter value after config file processing","time":"2021-08-11T12:44:22Z"}
{"level":"info","monitor.ArrayConnectivityConnectionLossThreshold":3,"msg":"parameter value after config file processing","time":"2021-08-11T12:44:22Z"}
{"level":"info","monitor.PodMonitor.SkipArrayConnectionValidation":false,"msg":"parameter value after config file processing","time":"2021-08-11T12:44:22Z"}

Powerflex

time="Tue, 10 Aug 2021 20:24:43 UTC" level=info msg="Read PODMON_CONTROLLER_LOG_FORMAT from log configuration file" format=TEXT
time="2021-08-10T20:24:43Z" level=info msg="Read PODMON_CONTROLLER_LOG_LEVEL from log configuration file" fields.level=debug
time="2021-08-10T20:24:43Z" level=info msg="parameter value after config file processing" PODMON_CONTROLLER_LOG_LEVEL=debug
time="2021-08-10T20:24:43Z" level=info msg="parameter value after config file processing" monitor.ArrayConnectivityPollRate=15s
time="2021-08-10T20:24:43Z" level=info msg="parameter value after config file processing" monitor.ArrayConnectivityConnectionLossThreshold=3
time="2021-08-10T20:24:43Z" level=info msg="parameter value after config file processing" monitor.PodMonitor.SkipArrayConnectionValidation=false
time="2021-08-10T20:24:43Z" level=info msg="Running in controller mode"
time="2021-08-10T20:24:43Z" level=info msg="CSI Driver for VxFlex OS"

time="2021-08-11T12:48:10Z" level=info msg="configuration file has changed" file=/vxflexos-config-params/driver-config-params.yaml
time="2021-08-11T12:48:10Z" level=info msg="Read PODMON_CONTROLLER_LOG_FORMAT from log configuration file" format=json
{"fields.level":"debug","level":"info","msg":"Read PODMON_CONTROLLER_LOG_LEVEL from log configuration file","time":"2021-08-11T12:48:10Z"}
{"PODMON_CONTROLLER_LOG_LEVEL":"debug","level":"info","msg":"parameter value after config file processing","time":"2021-08-11T12:48:10Z"}
{"level":"info","monitor.ArrayConnectivityPollRate":15000000000,"msg":"parameter value after config file processing","time":"2021-08-11T12:48:10Z"}
{"level":"info","monitor.ArrayConnectivityConnectionLossThreshold":3,"msg":"parameter value after config file processing","time":"2021-08-11T12:48:10Z"}
{"level":"info","monitor.PodMonitor.SkipArrayConnectionValidation":false,"msg":"parameter value after config file processing","time":"2021-08-11T12:48:10Z"}

{"file":"/vxflexos-config-params/driver-config-params.yaml","level":"info","msg":"configuration file has changed","time":"2021-08-11T12:48:05Z"}
{"format":"TEXT","level":"info","msg":"Read PODMON_NODE_LOG_FORMAT from log configuration file","time":"2021-08-11T12:48:05Z"}
time="2021-08-11T12:48:05Z" level=info msg="Read PODMON_NODE_LOG_LEVEL from log configuration file" fields.level=debug
time="2021-08-11T12:48:05Z" level=info msg="parameter value after config file processing" PODMON_NODE_LOG_LEVEL=debug
time="2021-08-11T12:48:05Z" level=info msg="parameter value after config file processing" monitor.ArrayConnectivityPollRate=15s
time="2021-08-11T12:48:05Z" level=info msg="parameter value after config file processing" monitor.ArrayConnectivityConnectionLossThreshold=3
time="2021-08-11T12:48:05Z" level=info msg="parameter value after config file processing" monitor.PodMonitor.SkipArrayConnectionValidation=false

@ameer-jabbar: Thank you for submitting your pull request!
Please make sure you have followed our contributing guidelines. We will review it as soon as possible.

We want your feedback! If you have any questions or suggestions regarding our contributing process/workflow, please reach out to us at<EMAIL_ADDRESS>

I have reviewed this and it is fine.


more UI support for Bi-directional lane connector

Situation:
with #784 fixed, now it is hard to know if a lane connection is uni-directional or bi-directional. If you know what to look for its possible because the color over the lane connection bezier colors are blended together. But that is not very user friendly.
Also currently user has to make forward and backward connections which can be tedious. it would be nice if user could create both with one click while holding Alt key or something.
Need:
We need a user friendly way to deal with uni-directional  VS bi-directional lane connections.
Suggested action:

lane connections should have arrows to show direction.
- maybe we can only display the arrows when connecting bi-directional lanes.
assign a modifier key that can switch between uni-directional / bi-directional mode.

duplicates #1214


add validatingadmissionpolicy reading

/assign @dusk125
I need this for an e2e test.  It would be good experience in library-go if you tried to create the resourceapply methods and wire into the staticresourcecontroller.

/lgtm


Integer vs Float in constraints

@1ozturkbe have discovered needing to make all values double manually in constraints that are vectorized (for example x==3000 should be x==3000.) This appears to make a difference in if a model runs or not (see commit 6ecbcbd7c233e85d7d). Anyways, did a little investigation with Woody and created this example
from gpkit import Variable
x = Variable("x")
c = (x==7)
print c.left
print c.right
print c.right/2

from gpkit import VectorVariable
x = VectorVariable(1, "x")
c = (x == 7)
print c
print c.left
print c.right
print c.right/2

This seems...not correct.

I don't think this is the underlying bug, because that's just accessing the ArrayConstraint's left and right, which aren't used for anything but printing:
In [5]: c[0].right/2
Out[5]: gpkit.Monomial(3.5)

Should still be fixed; related to the issue of latex-printing such constraints.

Superseded by #956


minor fixes and adjuments

Since it would have been a merge conflict, I manually made all of the edits you suggested here: https://github.com/duckdb/duckdb-web/commit/1b6d6ba89157aa4dfcdba5289edccc3d755bece6
Thank you!

thanks!


feat: keywords to include dates in searches

Description
Add in|on or before|after keywords for date filters.
Motivation and Context
It is clunky to write and read (due next mon) OR (due after next mon). due in or after next mon is shorter to write and easily readable.
See #124 for more details.
How has this been tested?
New unit tests added.
Types of changes
Changes visible to users:

[x] New feature (prefix: feat - non-breaking change which adds functionality)

Checklist

[x] My code follows the code style of this project and passes yarn run lint.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] My change has adequate Unit Test coverage.

Terms

[x] My contribution follow this project's contributing guide
[x] I agree to follow this project's Code of Conduct

I've done some manual testing of this, exploring the old and new behaviour...
Old:
due in or before this week =>
  due date is between:
    2023-07-31 (Monday 31st July 2023) and
    2023-08-06 (Sunday 6th August 2023) inclusive

New:
due in or before this week =>
  due date is on or before 2023-08-06 (Sunday 6th August 2023)

I would not have predicted this behaviour - it's a bigger change than I was expecting...
I think it is the correct behaviour. It just wasn't immediately obvious to me what the changed behaviour would be.
And I would not have been able to deduce that this was the intended behaviour from reading the docs, the code or the tests.
Now I've tested the behaviour, I can see it in buildFilterFunction() - but before I saw this behaviour by manual testing, I just thought that I was now finding buildFilterFunction() to be a bit cryptic and confusing...
I'll update my draft comments in the code review as a result of this, but I think my main takeaway is that this is actually a significant change in behaviour for filters of the kind shown above...
And so my current inclination is that this change may warrant another table of the sort seen in the docs here:
https://publish.obsidian.md/tasks/Queries/Filters#Appendix+Tasks+2.0.0+improvements+to+date+filters

Another example:
due on or before today =>
  due date is on 2023-08-01 (Tuesday 1st August 2023)

Becomes
due on or before today =>
  due date is on or before 2023-08-01 (Tuesday 1st August 2023)

You probably know this, but it currently has a conflict with the main branch due to your earlier PR.

Yup, I rebased and merged now =)

Apologies in advance if my comments seem a little harsh. But this is such foundational code in Tasks that it is really important that the code and tests are very clear, so that when the next date search feature is added, the behaviour added here is super easy to understand.

Totally agree, your comment are logical and not harsh for me =)

However, I think the unit tests have evolved to the level of complexity where they don't seem to actually explain the intent of the values used...
I've tried to make suggestions, but if they unclear, it may be easier to talk about this next time we pair.

Yes, it is hard to understand them now. I think it will be a good use of our time to improve that next time. I tried to solve most of the comments, hope it is fine for you.
In general I find that your wordings are much better and clearer so if you prefer changing some comments, docs, etc, pls don't hesitate to do so and push directly to this branch (If I make changes I push them right away usually so there won't be any conflicts). I will agree with your wordings in any case and it will save us time.

@claremacrae I tried to add reasons to close all but one of the not resolved conversations =)
Please let me know what I can do to merge this PR =)


Merge pull request #51 from Lucas04-nhr/develop

Disable search and site map function.
Now you can only type the address manually to search.


Audit use of Window and Unix read() vs ::_read() in db plugins

In a few db plugins, we have windows specific logic for reading from a file descriptor.
There is an example in the Claw DB plugin, discussed here:
https://github.com/visit-dav/visit/pull/3424
It boils down to: the unix variants return unsigned values where the windows return signed, and the error checking logic isn't the same.  This opens us up to improper error checking.

@markcmiller86 @biagas
Here is a proposed interface to wrap those calls:
bool visit_read_file(FILE *fd, void *buffer, size_t bytes, size_t &bytes_read)
The return would be true of false, to let folks if they should check ERRNO for more details.
bytes_read is an output that gives the number of bytes actually read.

Isn't fd an int? This is for read() system call and not fread() right?
Is target location of this in src/common/misc/FileFunctions.[Ch]?

It occurs to me...another way to go is to switch to stdio routines (fopen,fread,fwrite,fclose instead of lower level section 2 routines. Those appear to be more fully supported on Windows. We use stdio in many places in the db plugins and they don't appear to have windows specific conditional compilation blocks (well, except for fseek).


Implement Spawn trait

Objective

Implement part of #14231

Solution

Implement Spawn trait that provides spawn_empty and spawn API
It's implemented for World, Commands, WorldChildBuilder and ChildBuilder

Migration Guide

Spawn was added to bevy::prelude, but will have to be included manually if prelude is not used.

After going through all the code for this, I think Spawn may be too specific,
we could include entity(Entity) -> Self::SpawnOuyput as well, since it shares the return type,
but we'd need a better name than Spawn

I'll fix docs after we agree on the code, it's a pain to maintain at all time

Not a full review yet but one note: Since Spawn::SpawnOutput is not given any bounds, generic contexts won't be able to do anything besides return it:
fn foo<C: Spawn>(commands: C) -> C::SpawnOutput {
    commands
        .spawn_empty()
        .insert(...) // Error
        .with_children(...) // Error
}

I'm getting the easy traits out first, hopefully we can get a few in 0.14.1
The trait for EntityCommands and WorldMutEntity is pretty controversial imo, since the mutation would be either deferred or immediate and that's something to consider

Deferred vs immediate is already the case for Commands as Spawn vs Worlds as Spawn, no?

Naming proposition:

Spawn -> EntityContext
Spawn::SpawnOutput -> EntityContext::EntityBuilder

Or something along these lines.

I want to see a more cohesive overview of which traits would be used, and what they would be implemented for. I don't think this is wise to merge piecemeal, although I am in favor of the broad idea.

If we can't do it piecewise then this will turn into a large scale PR that will need to be for 0.15, in that case I'm closing the issue in favor of future discussion in #14231 with this as an example


Problem syncing Zammad repo via Red Hat Satellite / Pulp3

We try syncing the Zammad repository to our Red Hat Satellite server which fails due to pulp 3's meta data check. I reached out ot the Zammad community and was forwarded with the issue to pkgr. Is there a way to fix the meta data so that the respective repository works with pulp3? Thanks in advance for your help!
Infos:

Used Zammad version: 5.X
Used Zammad installation type: (source, package, docker-compose, …) rpm via yum/dnf from on-premise Red Hat Satellite server
Operating system: rhel 8

Expected behavior:

The Zammad Enterprise Linux repository (https://dl.packager.io/srv/rpm/zammad/zammad/stable/el/8/x86_64) should be mirrored/synced to our on-premise Red Hat Satellite server via Pulp 3 following a schedule.

Actual behavior:

Pulp 3 is not able to sync the repo due to a problem with the metadata.
“Package id from primary metadata does not match package id from filelists, other metadata”
The Red Hat support looked into the issue together with Pulp developers and found that pulp3 is trying to match the first pkgid from primary.xml.gz with the first pkgid from filelists.xml.gz which will always fail so that this error makes sense.

Steps to reproduce the behavior:

Try syncing the Zammad repository via Red Hat Satellite / Pulp3

@SchnabeJ thanks for the report. I am aware of that issue and have a possible fix ready. Just need a bit of time to test and release it properly. I'll keep you updated.

@crohr Thank you very much for your fast reply and great to hear that there might be a solution! Also thanks for keeping me posted.

@SchnabeJ this should now be fixed. Could you let me know either way?

@crohr Great! This appears to have worked! Thank you very much for your work,


[modify] gws/presence enhancement

Coverage increased (+0.02%) to 84.83% when pulling 8f36f2e6c33c8d2eeaaf606b4986a34a262965a6 on fix-user-presence into 5edac7d88ff9a76b90585524ff4f7361feb163a1 on master.


Replace global hub transport with cloudevents

1. Kafka offset committer in Global Hub manager

When the global hub manager receives a message through transport, there is not only a goroutine for the consumer client but also a committer goroutine that commits the Kafka offset periodically. The consumer receives the message and forwards it to the message handler to process the message, after processing the message, the committer updates the offset in Kafka. The process of consuming messages and committing the offset is asynchronous.
But when we use cloudevents to deliver messages, although based on Kafka protocol, we cannot directly update the offset through the Kafka client after receiving the message. Instead, the cloudevents client receives the message and returns an ACK or NACK result to decide whether to update the kafka offset. The message consuming and the offset updating are synchronous in the whole process.
Now the question are:

The above two ways manual commit kafka offset, so that when the consumer crashes and restarts, it can continue to consume the previously received messages. Is this manual commit offset method necessary in global hub?
If we use cloudevents, what are the possible impacts of synchronously updating the Kafka offset on the global hub?
Do these effects really prevent us from using cloudevents instead of the original transport?

Transport Spec

Updates:

Transport Producer: reduce methods of the producer interface
Transport Consumer: only responsible for delivering messages, not handling bundle-related logic
Global Hub Agent: add a dispatcher to register syncers for different bundles, and dispatch messages to the corresponding syncer according to the received message ID

I see @vMaroon has assigned himself. he was in charge of the initial Kafka work, so he probably has the best answers.
having said that, If I remember correctly I think we had discussions about cloud events when we started the collaboration and we agreed that it should be possible in the spec path, but will have some issues in the status path.
@yanmxa continuing the other thread we discussed about performance, this is correct here as well.
in the status path, we need to keep in mind that the scale is extremely high, 1M MCs and 100M policies status updates.
we intentionally separated the offset commit to a different goroutine, in order to achieve the best performance we can get.
if we'll have to commit offset synchronously after every bundle processing, it will slow the process rate and of course as a result will reduce the performance.
As I suggested in the different thread we discussed, I suggest here as well to try running high scale simulations in order to understand the huge performance effect a change can make (it's true about any change, not this one specifically).
it's highly important in order to understand which changes are acceptable and which aren't.
here are the original performance results we were able to achieve:

high scale simulations setup:

As @nirrozenbaum mentioned, regardless of what we say here, any substantial change to the status-path flow should be followed with a set of high scale tests, otherwise it would not be right to claim the same scalability as the system underwent iterations of improvements and compactions to achieve a very efficient and compact data flow.

The first major issue in the proposition is synchronous reading from Kafka:

Since the conflation-logic is a consumer of the transport through go-channels, means that synchronous reading from Kafka would propagate all the way to the conflators, unless you decouple them with a middle-layer of conflation, which is a recursive problem.
Regardless, at high scale, it is against best practices to go for synchronous, please keep in mind that the demand here is of 100k+ managed clusters, and the natural next step is to go for 1M+ and so on - and the current design supports more than 1M+.

Cloud-events: if it is beyond structuring a message, keep the following in mind:

Delta messages: while the tests showed that the system can still manage extreme scales without the delta-messaging mechanism, the bandwidth required is considerably larger. Therefore delta-messages should not be dropped.
Message fragmentation: with the Kafka message size limit being 1MB, the transport layer manages fragmentation transparently, while satisfying one of the major assumptions of messages committed are certainly processed (or irrelevant) - as compactly as possible.

This means, on the same Kafka partition, there can be multiple open streams of fragmented messages, and their offsets are changed such that if two or more streams intersect, committing one when complete then crashing does not cause loss of fragments of the rest of the intersected streams.

The above are the tips of each point, if requested, I can dive into reasoning and more details.

@vMaroon Very much appreciate your information!

As you said, the main purpose of using delta messages here is to reduce bandwidth.
The way message fragmentation is used to assemble messages and then commit message offset asynchronously is very clever. I had to think about how to deliver and consume chunked messages in cloudevents.
I am doing a simple A/B test, just synchronizing managed clusters from leaf hub to hub of hubs database. cloud you help to check the following test result to see if it is reasonable? and I will append the test data of cloudevents later when I finish it.

Before using cloudevents

Time to load 100K MCs(100 LFs with 1000 MCs) to HoH: 4 seconds
Time to load 1M MCs(1000 LFs with 1000 MCs) to HoH: 49 seconds

Transport Spec Path

Updates:

Transport Producer: reduce methods of the producer interface
Transport Consumer: only responsible for delivering messages, not handling bundle-related logic
Global Hub Agent: add a dispatcher to register syncers for different bundles, and dispatch messages to the corresponding syncer according to the received message ID

Transport Status Path

Updates

Transport Producer: reduce methods of the producer interface, the status producer is consistent with the interface of the spec.
Transport Consumer: align with the spec consumer. It's only responsible for receiving and forwarding messages, not for processing messages

Bundle syncers don't need to be registered to a specific consumer. Add a TransportDispatcher so that the consumer only forwards the message to the dispatcher, which invokes the registered syncer for processing based on the MsgID.
Remove the asynchoronous offset committer. The cloudevents client receives the message and returns an ACK or NACK result to decide whether to update the kafka offset. The message offset updating are synchronous in the process.

A/B Testing
Synchronize managed clusters from Regional Hubs to Global Hub database.
100 MCs: 100 RHs  with 1000 MCs

Scenarioes\Times
1
2
3

Kafka
4 seconds
4 seconds
4 seconds

Cloudevents
3 seconds
6 seconds
4 seconds

1M MCs: 1000 RHs  with 1000 MCs

Scenarioes\Times
1
2
3

Kafka
49 seconds
47 seconds
48 seconds

Cloudevents
59 seconds
57 seconds
60 seconds

Improvements

Increase the size of messages that can be sent at a time.
Since the message is sent in chunks, the manager consumer locks the receiver when assembling chunks after receiving the event. Reducing the use of locks should reduce the delivery time.

Test Results after Increasing Transport Limit Size
1M MCs: 1000 RHs  with 1000 MCs

Scenarioes\Times
1
2
3

Kafka
54 seconds
55 seconds
53 seconds

Cloudevents(kafka)
51 seconds
50 seconds
52 seconds

Conclusion: From the test results so far, using cloudevents to replace the original transport does not cause significant performance degradation

@yanmxa these results seem fine on the first look. Did you try testing the load / rotation of 100 policies with the setup above? It's highly suggested to do so.

@vMaroon I did not test poicy. What I want to focus on here is the impact of different transport types on data transmission, so I simply transferred Mnanaged cluster to compare the differences between the cloudevents and kafka.

@vMaroon Since we focus on the performance change of transport, I only compare and test the cases of 1 M Polices and 1 M managed cluster in HoH initialization.

10 Policies
100 RHs with 1000 MCs
Total: 100 K MCs and 1 M Policies

Scenarioes\Times
1
2
3

Kafka
12 seconds
15 seconds
13 seconds

Cloudevents(kafka)
18 seconds
16 seconds
12 seconds

ref: https://github.com/cloudevents/sdk-go/issues/846

For the transport status path, we added a transportFormt in the API to support both kafka directly and cloudevents.


Updated prefab to work with avatar scaling

Although we need to update the docs, but that will be done later

I think the scale constraint on the Container should be removed. It's source is the Reset Target, which often is placed in the armature where scales can get weird. Placing the target and hitting reset on all transforms will scale your Container. I also don't think we should scale the Container at all, it should be up to the user to implement scaling on world objects on a case by case basis. The behavior of transforms in world space should by default be disconnected from all avatar transform changes. If I have placed a couch or other prop, I don't want those things to necessarily scale if I do.


Level.explode and explode doesn't damage the player that last triggered a hook

This has been fixed for a while now, closing.


Add some carts!

I don't have pico-8 on this machine, but when I remember/find some interesting carts I will add them here

Nice, thanks, @jedahan ! :smile:

Hey @jedahan are you still going to add that carts?
I'm not rushing you or anything... I just think it'd be a good addition to the repository :smile: :+1:

How about adding the winners from the first pico8 jam? I think zep created a thread on the bbs.

Good ideia, @booyaa :smiley: :+1:
Can you make a pull request with this changes?

It's been a few months since I last checked Pico-8's forum.
@booyaa @marteaurouge @josefnpat any ideas on some really good (awesome?) carts to add to this list?


Parameter should be required but is generated as optional.

Version
v2.12.2
Reproduction link
https://codesandbox.io/s/youthful-kalam-ldsjs?file=/pages/nested/_slug/index.vue
Steps to reproduce
In the reproduction link, open a new terminal and inspect .nuxt/router.js (cat .nuxt/router.js)
Additionally I have the following page structure (it is required to have the root index.vue page to reproduce.
pages/
    index.vue
    toolkits/
        workforce/
            _category/
                index.vue

Possibly Related: #7298
I have gone back to version 2.6.x where this issue was still happening. Looks like it's an bug that was introduced a long time ago.
What is expected ?
A required argument/parameter
{
    path: "/toolkits/workforce/:category",
    component: _10f10a5c,
    name: "toolkits-workforce-category"
}

What is actually happening?
An optional parameter
{
    path: "/toolkits/workforce/:category?",
    component: _10f10a5c,
    name: "toolkits-workforce-category"
}

Additional comments?
For anyone else coming across this problem, my only solution is to use the extendRoutes option in nuxt.config.js. I find and remove the route now I renamed the index page to /home.vue and re-add it with the / path.

This bug report is available on Nuxt community (#c10606)

_category/index.vue is treated the same as _category.vue. The docs indeed specify to create a index.vue if you want a required param, but that should be on the same level as _category.
So this should work:
pages/
    index.vue
    toolkits/
        workforce/
            _category.vue
            index.vue

Thank you for taking a look into this for me @pimlie ! In the solution you've posted, there is an additional page which isn't needed toolkits/workforce/index.vue I only need toolkits/workforce/_category/index.vue and the home page and the routes are generated like this. Sorry if I'm missing something in this answer.

Unfortunately using the file system to define your app routes comes at a cost, this is unfortunately one of them.
You can always 'hack' your way around the generates routes object yourself, either by using the router-extras-module or by manually manipulating the routes through extendRoutes

The router-extras-module is an interesting one I hadn't seen, probably a nicer hack that what I have done with the extendRoutes option. It's also an interesting point about the structure you've shown and how that ends up making the parameter required. Possibly worth rethinking to make sure there is a path for every sub-level, even if it's just a redirect.
Thank you again! ❤


Add Habana Labs as ADOPTERS

What this PR does
Before this PR:
After this PR:
Adds Habana Labs to adopters.
We are using KubeVirt to run VMs on the Intel® Gaudi® AI accelerator. This allows cost-effective experimentation and provides access to powerful Gaudi.

Fixes #
Why we need it and why it was done in this way
The following tradeoffs were made:
The following alternatives were considered:
Links to places where the discussion took place:
Special notes for your reviewer

Checklist
This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR.
Approvers are expected to review this list.

[ ] Design: A design document was considered and is present (link) or not required
[ ] PR: The PR description is expressive enough and will help future contributors
[ ] Code: Write code that humans can understand and Keep it simple
[ ] Refactor: You have left the code cleaner than you found it (Boy Scout Rule)
[ ] Upgrade: Impact of this change on upgrade flows was considered and addressed if required
[ ] Testing: New code requires new unit tests. New features and bug fixes require at least on e2e test
[ ] Documentation: A user-guide update was considered and is present (link) or not required. You want a user-guide update if it's a user facing feature / API change.
[ ] Community: Announcement to kubevirt-dev was considered

Release note

add Habana Labs to adopters.

Great to see you as an adopter!

+1 Great to see this PR!

@talcoh2x could you please sign your commits with --signoff ?

Please change "Habana Labs" to "Intel Gaudi" Thanks


Migrate to @adobe-uxp-types

Hi @jardicc, not sure if you're interested but I tried to migrate Alchemist to use the types I assembled at @adobe-uxp-types. These types are public. In my opinion, these types make the code a lot cleaner than the previous ones.
I would understand if you wouldn't like to use these unofficial types, I mostly wanted to check if they would work in a complicated application. Let me know what you think.
There is still some work to be done, also inside @adobe-uxp-types/photoshop. I also added an .editorconfig file to configure VSCode correctly.

That's great to see! I should have checked the branches first. I still think importing from photoshop/dom/* is strange, because it's not a real module, so I hope the @types/photoshop package will also be changed so that we can just import from photoshop.


Animate progress bar in steps component

Related issue
#335
Scope of work
I refactored the way the progress bar used to work so it simplified the CSS code quite a bit, I also made sure to animate the transform property to keep the transition performant.
Screenshots of visual changes

Checklist

[x] I followed composition rules for my component
[x] I tested the component in most common device sizes (can be tested in Storybook from viewport addon in top menu)

@jahvi Hi good work! This is good but if you look at the designs is that the progress bar should stop under the end of the word for the currently selected item (which is why the CSS was quite complex ) up to @filrak if we want to drop that requirement or not!

I understand now, well I'm happy to give it a go, I haven't seen that UI approach before though.

@jahvi Check the figma designs for the reference! https://www.figma.com/file/hrwE3VsMBHgdJoS86rVr4W/Desktop-%26-Mobile-Vue-Storefront?node-id=491%3A67

I see, @filrak is that something that you'd like to keep?

@jahvi I suspect @DonNicoJs would kill me as he spent significant amount of time on doing this but I think we can keep the animation in this form... seems more "reusable". Just make the animation a bit slower please :)

Sounds good, I can spend some time on it if necessary I just don't understand the reasoning for that UI. Should I make the transition a SCSS variable as well?

/me kills @filrak :) nah all good as long as the ui is uniform!

@jahvi it's an indicator that maybe we shouldn't do that :d, After @DonNicoJs approval we can merge ;)


Bump okta-spring-boot-starter from 2.0.0 to 2.1.6

BACKEND PULL REQUEST
Related Issue

Snyk issue
Snyk issue
Snyk issue

Changes Proposed

No functional changes

Additional Information

change log
note that previous upgrade attempts from 2.0.0 to 2.1.* encountered an issue

Testing

Validate Okta login functionality

Checklist for Primary Reviewer

[ ] Any large-scale changes have been deployed to test, dev, or pentest and smoke tested
[ ] Any content updates (user-facing error messages, etc) have been approved by content team
[ ] Any changes that might generate questions in the support inbox have been flagged to the support team
[ ] GraphQL schema changes are backward compatible with older version of the front-end
[ ] Changes comply with the SimpleReport Style Guide
[ ] Changes with security implications have been approved by a security engineer (changes to  authentication, encryption, handling of PII, etc.)
[ ] Any dependencies introduced have been vetted and discussed
[ ] Any changes to the startup configuration have been documented in the README

Thanks @rin-skylight !
@emmastephenson Can the "Okta login loop" be added to an upcoming sprint?  It may also need to coincide with the Spring upgrade efforts.

Thanks @rin-skylight !
@emmastephenson Can the "Okta login loop" be added to an upcoming sprint? It may also need to coincide with the Spring upgrade efforts.

@snesm Respectfully, it's the responsibility of the contributing engineer to confirm their code works with the existing project. This includes making sure you go through a full local test, including a smoke test and running the unit tests. If a bug like this is introduced, the contributing engineer should diagnose what's going wrong, and try to come up with an alternative. Only if that doesn't work should we look at putting another item in the backlog to be prioritized and added into a sprint; we've got an extensive roadmap, and it can be very difficult to fit new items in unless they are absolutely essential.
Security issues are very important, but they require that same standard of testing. There are usually a few separate ways that we can go about closing a hole; if upgrading a large dependency doesn't work, another approach is to use a more surgical upgrade.
In this case, the high-priority vulnerabilities you've targeted here were fixed in a different PR by locking the individual dependencies, rather than their parent packages. It makes build.gradle a bit messier to do so, but that will hold us over as we work on the major upgrades behind-the-scenes.

Remediation via: https://github.com/CDCgov/prime-simplereport/pull/4226
Great work @rin-skylight, Thank you!