Controller Unit Testing

Problem Statement
Historically leading up to KIC v2.0.0 release we put a stronger emphasis on integration tests than unit tests and we focused more of our efforts on institutionalizing integration testing (via tools like KTF) throughout the codebase. This served us well, but leaves something to be desired for smaller and more quickly testable controllers with a faster feedback loop. There are several options available from controller-runtime and some other places to unit test controllers and the purpose of this issue is to pick a method, document it, and start adding the framework into our existing controller code.
Proposed Solution

[ ] integrate envtest from controller-runtime (see https://book.kubebuilder.io/cronjob-tutorial/writing-tests.html)

Acceptance Criteria

[ ] as a contributor I have provisions and examples available to me to quickly write unit tests for my controllers for fast feedback and strong code coverage.
[ ] all controllers that existed prior to this work are retrofitted with controller tests

Do we know of something that envtest would provide us over KTF (beyond just using a common framework)? The feature set doesn't appear that rich.
While my PoC run wasn't entirely successful, it at least got me familiar with how these tests are written. It doesn't seem like we'd gain much over the KTF integration test approach, since:

It doesn't look like these are unit tests, as the Kubernetes components actually run and are not mocked, they're just maybe a bit more lightweight than KIND.
Once you get past the boilerplate to set up the testing environment (essentially a one-off, though the example has you starting a minimal manager with only the tested controller set up), the tests are essentially the same as what we do for integration tests currently: you create resources and observe the resulting changes in the environment.

Testing the controllers alone also poses a challenge because most of our controllers (Gateway excepted) don't do much of anything on their own: they listen for events and then call either Proxy.DeleteObject() or Proxy.UpdateObject() to let the sync loop then build an up-to-date Kong state based on the contents of the proxy cache. Without a Kong instance (for the alternate "not hooked up to Kong" interpretation of "unit test") about all we can do is check the proxy cache contents after.

Other notes
Not having started with a Kubebuilder project from the start appears to hamstring us a bit, since the tools for adding API/controller boilerplate don't work without a main.go in our root (it's instead under internal/cmd). The large set of generated controllers doesn't really mesh with the expected project layout either.
The ginkgo and zap usage in the test example and boilerplate are at odds with our existing test framework (granted we already have multiple) and logger choices. Will be a bit annoying to rip out.
Threw together a KongPlugin PoC without ripping out the unwanted libraries. The diff in kongplugin_test.txt runs (it does require setting up envtest, though unsuccessfully. Unsure what I've screwed up here (it does look like the CRD was installed, but I don't know how to interrogate envtest environments to try and confirm):
Failure [4.434 seconds]
[BeforeSuite] BeforeSuite
/home/traines/src/ingress-controller/internal/controllers/configuration/suite_test.go:56

  Unexpected error:
      <*runtime.notRegisteredErr | 0xc000201560>: {
          schemeName: "pkg/runtime/scheme.go:100",
          gvk: {Group: "", Version: "", Kind: ""},
          target: nil,
          t: <*reflect.rtype | 0x1704220>{size: 0x188, ptrdata: 0x178, hash:<PHONE_NUMBER>, tflag: 7, align: 8, fieldAlign: 8, kind: 25, equal: nil, gcdata: 85, str: 93488, ptrToThis: 3023008},
      }
      no kind is registered for the type v1.KongPlugin in scheme "pkg/runtime/scheme.go:100"
  occurred

  /home/traines/src/ingress-controller/internal/controllers/configuration/suite_test.go:88
------------------------------

Do we know of something that envtest would provide us over KTF (beyond just using a common framework)? The feature set doesn't appear that rich.

Ostensibly it should make it possible to run tests for controllers more at the speed of unit tests and without having to run anything except Golang binaries.
Years ago I remember talking with colleagues about running the components which are now in envtest as libraries. If I recall correctly the problem with this was the dependency management but I wonder if it's better these days :thinking:

Testing the controllers alone also poses a challenge because most of our controllers (Gateway excepted) don't do much of anything on their own: they listen for events and then call either Proxy.DeleteObject() or Proxy.UpdateObject() to let the sync loop then build an up-to-date Kong state based on the contents of the proxy cache. Without a Kong instance (for the alternate "not hooked up to Kong" interpretation of "unit test") about all we can do is check the proxy cache contents after.

I think in the shorter term, envtests would be more suited for Gateway APIs tests than or previously existing controllers, which is what you seem to be suggesting here and so I agree.

Not having started with a Kubebuilder project from the start appears to hamstring us a bit, since the tools for adding API/controller boilerplate don't work without a main.go in our root (it's instead under internal/cmd). The large set of generated controllers doesn't really mesh with the expected project layout either.

afaik from previously trying to improve this upstream: if we were to move the main.go, the pkg/apis and the internal/controllers into their expected locations things should start to work just fine. Ultimately the fact that kubebuilder doesn't support these alternative locations is in my opinionate a big miss, so I think it's also entirely reasonable for us to take the approach of adding the improvements to support this in upstream Kubebuilder ourselves.

The ginkgo and zap usage in the test example and boilerplate are at odds with our existing test framework (granted we already have multiple) and logger choices. Will be a bit annoying to rip out.

We could discuss this a bit further. Most of upstream is happy with ginkgo but we have historically been built on testify. I don't know what our appetite is for having multiple testing patterns but I'm assuming it's pretty low (lol) so yeah I mean teasing through these and changing them is probably the way to go.

"won't fix" - we can unit-test controllers without the kubebuilder test env if necessary, and we have KTF that achieves similar functionality that's sufficient for us.


Added metrics

Summary

Added metrics model with name, value and url for those that have html details (eg: rubycritic)
The project show endpoint shows the default branch metrics
Added before_action to those resources that needed to preload other resources

Screenshot

:+1:


Some image cannot be cropped when selecting from "My Photo Stream" album

When supplying an image directly from UIImagePickerController and from "My Photo Stream" album, some photos fails to crop
debugger logs: [Unknown process name] CGBitmapContextInfoCreate: CGColorSpace does't support output

Would you mind sharing one of those photos which failed to crop with me? Thank you!

Would you mind sharing some codes of getting images from your image gallery? Sometimes the image gallery needs to download image data from iCloud then return the real image. I am not sure if it is the reason for the problem. I just tested on my device running iOS 13. I got an image from my image gallery and successfully cropped it with Mantis.

Sorry about the late response
The device I'm using is on iOS 13
I just present the UIImagePickerController like this
let controller: UIImagePickerController = UIImagePickerController()
controller.sourceType = .photoLibrary
controller.delegate = delegate
controller.modalPresentationStyle = .overCurrentContext

present(controller, animated: true)

and the delegate function
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
	picker.dismiss(animated: true)

	if let image: UIImage = info[.originalImage] as? UIImage {
		let viewController: CropViewController = Mantis.cropViewController(image: image)
		viewController.modalPresentationStyle = .overCurrentContext
		viewController.delegate = self

		present(viewController, animated: true)
	} else {
		// error alert
	}
}

also here's one of the images in question although I don't think it's an issue with the image since I can crop it when I pick it through "All Photos"

Thanks for providing the example photo!
It is because the color space of this photo is "Apple Wide Color Sharing Profile", which can not be used as a destination color space.
I will fixed this problem in the next release.

@KieuQ I just released Mantis 0.40. You can try this version to see if it solves your problem or not.

Got it, I'll confirm if it's fixed on my side

A tester of mine still cannot crop an image, I need to collect some logs and come back here
heres a recording from him

@KieuQ Thanks for the test! Did it still show [Unknown process name] CGBitmapContextInfoCreate: CGColorSpace does't support output again?
Also, did you test the image you shared with me? If it worked for that image, but didn't work for the new image like this oil painting, would you mind sharing this image to me too?

@guoyingtao I don't know if it still logs [Unknown process name] CGBitmapContextInfoCreate: CGColorSpace does't support output at the moment, I need to wait for the tester to come to office with the device his using since he's testing remotely and the other devices I have right now isn't able to replicate this issue.
Also the image he is trying to crop is actually a screenshot, might be the same issue as  #13

@KieuQ Thanks for the information.  I reproduced this bug by using the first photo you provided and saw the same error log: [Unknown process name] CGBitmapContextInfoCreate: CGColorSpace doesn't support output. Then I fixed it by providing a default colorspace when finding the photo's colorspace does not support outputting.
Can you help to check if you can find the following code after updating  Mantis to 0.40 in CGImageExtensions.swift? Thank you.
        // If the color space does not allow output, default to the RGB color space
        if (!colorSpaceRef.supportsOutput) {
            colorSpaceRef = CGColorSpaceCreateDeviceRGB();
        }

@yingtao-futurewonder Yes, here's the screenshot

@KieuQ Thanks for the checking. It is the newest version. Would you mind sharing that oil painting photo with me too?

@guoyingtao Here's what my tester was trying to crop, I can crop it successfully with iPad Air 2 on ios13 but while he can't crop screenshots with his iPad Pro (9.7-inch) also on iOS 13

@guoyingtao Hi, this is the log for when cropping screenshots with my testers iPad Pro
[Unknown process name] CGBitmapContextCreate: unsupported parameter combination: set CGBITMAP_CONTEXT_LOG_ERRORS environmental variable to see the details

@KieuQ I don't have an iPad pro. I tested this photo on the iPad pro simulator and it worked. If you can provide some log information later when you can connect your iPad pro to XCode, that would be helpful!

Also the issue where I cannot crop some images from 'My Photo Stream' is now fixed, so the issue I'm now encountering is the same as #13

@KieuQ Thanks for the information. I don't have an iPad pro. So I may need to find one to reproduce this bug... I tested on an iPad pro simulator it worked though. Can you also help to check if it also happens on other iOS devices?

Thanks for the information. I don't have an iPad pro. So I may need to find one to reproduce this bug... I tested on an iPad pro simulator it worked though. Can you also help to check if it also happens on other iOS devices?

It doesn't happen to the other devices I have, only the iPad Pro (9.7-inch)

@KieuQ Do you have that iPad pro at hand? Can you change bitmapInfo: self.bitmapInfo.rawValue tobitmapInfo: CGImageAlphaInfo.premultipliedFirst.rawValue in CGImageExtensions.swift in your pod files to see if it works. Thanks!

@guoyingtao Hi, setting it to CGImageAlphaInfo.premultipliedFirst.rawValue doesn't fix it but CGImageAlphaInfo.premultipliedLast.rawValue does fix it

@KieuQ Thanks for the information. It is really helpful! I will fix it in the next release.

@guoyingtao Thank you too

@KieuQ I just released Mantis 0.41. Please check if it solved the bug. Thank you!

@guoyingtao issue is now fixed, thanks

@KieuQ No problem. Thanks for the feedback!


V2 null checks

Fixes #110

@yln Why not? It's by-design and not oversight. In general, an overload with additional parameters should behave as if those parameters are optional (using their default value, which in this instance would be null).


Clang-format

I assume you used make format, there's some formatting I dont really like about the current clangformat definition.
I think I'll make some changes to it and format everything later.
Thanks, but closing the PR.


Error while read type, read 32 bytes but expected 136 bytes

Hello. I'm using wasm.unityweb and data.unityweb. When i first clicked a Monobehaviour Asset i selected the dummy dll folder generated from Il2cppDumper. Then i get the error. Unity Version: 2022.3.15f1. Is that supported or does someone know whats wrong?

Any news about this?


Add $schema to cgmanifest.json

This pull request adds the JSON schema for cgmanifest.json.
FAQ
Why?
A JSON schema helps you to ensure that your cgmanifest.json file is valid.
JSON schema validation is a build-in feature in most modern IDEs like Visual Studio and Visual Studio Code.
Most modern IDEs also provide code-completion for JSON schemas.
How can I validate my cgmanifest.json file?
Most modern IDEs like Visual Studio and Visual Studio Code have a built-in feature to validate JSON files.
You can also use this small script to validate your cgmanifest.json file.
Why does it suggest camel case for the properties?
Component Detection is able to read camel case and pascal case properties.
However, the JSON schema doesn't have a case-insensitive mode.
We therefore suggest camel case as it's the most common format for JSON.
Why is the diff so large?
To deserialize the cgmanifest.json file, we use JSON.parse().
However, to serialize the JSON again we use prettier.
We found that, in general, it gave smaller diffs than the default JSON.stringify() function.

@LarryOsterman @RickWinter If you're happy with the changes could you merge this PR please? I don't have permissions in this repository.


[RFE] Add kubenet test to mantle's kola

Current situation
We have test coverage for some Kubernetes CNIs in our kubeadm tests but as far as I know not for Kubenet
Impact
Kubenet isn't tested
Ideal future situation
The kubeadm tests have a Kubenet variant
**Implementation options
Additional information
https://kubernetes.io/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/#kubenet

I think it can be a good first issue - the idea here would be to add kubenet as CNI in the kubeadm test matrix.
	CNIs = []string{
		"calico",
		"flannel",
		"cilium",
	}

Then update the template: https://github.com/flatcar-linux/mantle/blob/flatcar-master/kola/tests/kubeadm/templates.go to conditionally install and configure kubenet.


Scroll does not stop on whole numbers which causes blurry rendering

Since 0.11.0, any scroll action can stop on a subpixel and cause rendering of the entire scrolling element's content to become blurry.
In my case, scrolling one tick of my mouse wheel causes the blurry rendering, as does the second. The third tick lands on a whole pixel and rendering is sharp once again. This is very noticeable with multiple scrolling panels where one panel is correct and sharp while its neighbor is blurred.
scrollTop returns an integer, but if it were truly a whole number/int, there would be no subpixel rendering on the whole element.
Attached a sample rendering.

Want to back this issue? Place a bounty on it! We accept bounties via Bountysource.

Oops... I should have checked my package.json file. This only happens when using the --enable-accelerated-overflow-scroll flag. Removing that flag fixes the issue.


Various fixes

If an NSG description contains a new line sequence \n then it gets written to the tf file on a new line. This change sets description to raw representation.

Included binary files. Re-doing.


Tree Recursion

Description
Description
I want to add algorithm of tree recursion  in recursion folder with proper comments and time and space complexity .
Domain
Data Structure
Type of Contribution
Addition
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of LearnCPP.

/assign


Nightly

Codecov Report

:exclamation: No coverage uploaded for pull request base (dev@aec6fc9). Click here to learn what that means.
The diff coverage is n/a.

@@          Coverage Diff           @@
##             dev      #82   +/-   ##
======================================
  Coverage       ?   94.69%
======================================
  Files          ?       18
  Lines          ?      415
  Branches       ?       65
======================================
  Hits           ?      393
  Misses         ?       22
  Partials       ?        0


[B16] Infernal Furnace Flux output not affected by bellows

The Thaumonomicon entry of the Infernal Furnace says that attaching Arcane Bellows to the Infernal Furnace reduces the flux generated by it. Poking through the code, the chance to generate flux seems to be unaffected by the bellows (I may just have overlooked something though).
Generally, I wouldn't care if the Thaumonomicon entry or the flux chance changed, as long as it meant consistency.
For the current state of the beta though, I'd really like the flux chance to be lowered by the bellows, because for now there is no non-volatile way to get rid of flux and using the Infernal Furnace is a real liability.
(Okay, you can make primal vis crystal clusters turn to into vitium vis crystal clusters, but since we can't control the flow of flux [unlike vis, with the vis batteries], that is difficult/dangerous and also very arduous and of little effect)

That must be some old leftover text - they are not supposed to reduce the flux anymore.

thanks :) and sorry for the code poking


Add learning resource: tutorial on how to get started with the starter kit

This addresses the issue https://github.com/davezuko/react-redux-starter-kit/issues/722
Before merging, I would really hope to get some feedback on the post from the people who actually know what this stuff is all about :)
In the meantime, I have learned a lot and really appreciate this starter-kit, so thanks!

Oh, and a direct url for the blog post: https://suspicious.website/2016/04/29/starting-out-with-react-redux-starter-kit/

[Current coverage][cc-pull] is 69.41%

Merging [#761][cc-pull] into [master][cc-base-branch] will not change coverage

@@             master       #761   diff @@
==========================================
  Files            16         16
  Lines            85         85
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits             59         59
  Misses           26         26
  Partials          0          0

Powered by Codecov. Last updated by 0ef7c4b
[cc-base-branch]: https://codecov.io/gh/davezuko/react-redux-starter-kit/branch/master?src=pr
[cc-pull]: https://codecov.io/gh/davezuko/react-redux-starter-kit/pull/761?src=pr

This is brilliant, great work.

Merged, thanks again, this is awesome.

Hello! It looks like the link to the starter kit is broken, could you let me know where I can find the resource?
Thanks!

Ah, you're right - I'll try to reupload it in the coming days. Sorry about that.


Clarify "Content Focused" in Why Astro

What kind of changes does this PR include?

New or updated content

Description

Closes #2959
What does this PR change? Give us a brief description. I (hopefully) helped clarify the meaning of "content-focused" in the Why Astro page.

Before:
Astro was designed for building content-rich websites. This includes most marketing sites, publishing sites, documentation sites, blogs, portfolios, and some ecommerce sites.
After:
Astro was designed for building content-rich websites. This includes most marketing sites, publishing sites, documentation sites, blogs, portfolios, and some ecommerce sites. Astro sites can have interactivity, but Astro was not designed to share client-side state across routes. For example, you can create a cool interactive menu on one page, but when the user switches pages, you can not keep the menu open when the new page loads.

I think I should have discussed this a bit more before making a pr, so I'll close this for now


Run thredded migrations automatically

Based on
http://blog.pivotal.io/labs/labs/leave-your-migrations-in-your-rails-engines

Looking at the comments on the blog, this approach seems to have issues.


VPC permissions are deleted too early

Description
Today i deleted one Lambda function which used a VPC setup and found left network interfaces, which were stilled attached to the Lambda service.
The reason is that the vpc permissions of the execution role were deleted, before the Lambda function was deleted.
As you can see here:
https://aws.amazon.com/premiumsupport/knowledge-center/lambda-eni-find-delete/#:~:text=To delete unused network interfaces,the functions that created them.
To delete unused network interfaces, the Lambda service uses the execution role of the functions that created the network interfaces
the permissions need to be still attached, when the function gets deleted.
Versions

Module version: 3.1.0
Terraform version: 1.1.5
Provider version(s): 4.10.0

Reproduction Code
(only as inputs, because i use terragrunt)
inputs = {
function_name = "name"
handler       = "Handler"
runtime       = "java11"
publish       = true
vpc_subnet_ids         = ids
vpc_security_group_ids = id
attach_network_policy = true
}
Expected behavior
The network interfaces should be deleted, when i use terraform destroy.
Actual behavior
The network interfaces are still there and the linked security group can't deleted because of that.
 But this needs about 30 minutes. (in my case)

push


[stable/mongodb-replicaset] Migrate init containers to new 1.6+ syntax

/cc @foxish

So much cleaner! Thanks @unguiculus

/retest


Mention import "fmt" in debug.md

Closes https://github.com/exercism/go/issues/1694
Is this enough? It would have been enough to help me out. I hit this problem too as a total Golang noob. I didn't know how to write imports so first I wrote import fmt and hit a weird error about "expected string, got newline" 😁
I think for people that wrote software before it will be obvious that the imports go at the top of the file usually, but the fmt.Println calls can go anywhere, right? I don't think it's necessary to spell out explicitly.

Is this enough? It would have been enough to help me out. I hit this problem too as a total Golang noob. I didn't know how to write imports so first I wrote import fmt and hit a weird error about "expected string, got newline" 😁

I think this is good enough. Thanks!


Normalizing input training and test data

Can you please fork the project again and normalize the data with min() and max() commands that you used? I will merge it then.

So, do I have to close this PR first and then fork again?


az sql server create not setting the password

When I create a SQL server using:
az sql server create --subscription xxx --name xxx --resource-group xxx--location northeurope --admin-user xxx --admin-password Pdfg&ssdfsdfsRfgh3
The login does not work after the creation, I need to then reset the password (Exact same one as above) before it works

route to service team

Any feedback on this? Its really annoying having to manully set the password each time?

@yonzhan I tried this the other day and it still seems to be an issue?


runtime-hooks: add auto register hooks

Ⅰ. Describe what this PR does
Add auto register runtime hooks of koordlet to runtime proxy.

Ⅱ. Does this pull request fix one issue?
fixes #496

Ⅲ. Describe how to verify it
Ⅳ. Special notes for reviews
Unit tests and code format will be pushed later.
V. Checklist

[ ] I have written necessary docs and comments
[ ] I have added necessary unit tests and integration tests
[ ] All checks passed in make test

make lint
make test
commit -asm --amend "xxx"

/lgtm

/lgtm

/approve

/lgtm


Integrate TUK into the SOTI STM32 Project

This will be necessary for SOTI to communicate with other subsystems with the new changes.
Todo:

[ ] Delete the old CAN code.
[ ] Initialise CAN Wrapper with CANWrapper_Init (See the Wiki). Make sure ACKs are not ignored.
[ ] Create a message handler function which simply serializes incoming messages (both ACKs and non-ACKs) and sends them to the CLI over UART.
[ ] Make sure you are polling messages and errors in the main loop. Create a stud error handler for now.
[ ] Update the UART interrupt code to use CANWrapper_Transmit to forward messages instead.

SOTI has its own CAN queue implementation, which looks identical to TUK's aside from being able to be dynamically sized on initialisation. Should this be replaced with the queue from TUK as well?

SOTI has its own CAN queue implementation, which looks identical to TUK's aside from being able to be dynamically sized on initialisation. Should this be replaced with the queue from TUK as well?

Yes, those are remnants of the old API, before it became the CAN Wrapper Module. The can.c file is also part of that. Also, SOTI's queue implementation is not the same as the TUK one, as it embeds commands for the LCD display (among other things, like how it uses malloc when it shouldn't). I consider that bad practice (the queue implementation shouldn't be concerned with the LCD display), so I don't have a problem if that code gets thrown out, too. If we want to re-implement the LCD code, that should be done outside the queue implementation.
In conclusion, yes the old code should be replaced with TUK's implementation. I've already imported the submodule, so you basically just need to call the init function in main.

347eb65 adds the init code (mostly temporary), preceded by 4dc5328 adding the include path.
Some questions:

Currently, .node_id in CANWrapper_InitTypeDef must be defined and either be NODE_CDH, POWER, ADCS, or PAYLOAD in order to initialise successfully. What's the solution to incorporate SOTI? (An #ifdef to add NODE_SOTI at compilation maybe?)
I get the error "conflicting types for 'CANWrapper_Init'; have 'int()'" when calling CANWrapper_Init, and a warning in can_wrapper.h of the same function: "previous declaration of 'CANWrapper_Init' with type 'CANWrapper_StatusTypeDef(CANWrapper_InitTypeDef)'". Not sure what's up. Any ideas?

Thanks!

347eb65 adds the init code (mostly temporary), preceded by 4dc5328 adding the include path.
Some questions:

Currently, .node_id in CANWrapper_InitTypeDef must be defined and either be NODE_CDH, POWER, ADCS, or PAYLOAD in order to initialise successfully. What's the solution to incorporate SOTI? (An #ifdef to add NODE_SOTI at compilation maybe?)
I get the error "conflicting types for 'CANWrapper_Init'; have 'int()'" when calling CANWrapper_Init, and a warning in can_wrapper.h of the same function: "previous declaration of 'CANWrapper_Init' with type 'CANWrapper_StatusTypeDef(CANWrapper_InitTypeDef)'". Not sure what's up. Any ideas?

Thanks!

That's a good thing to bring up. We're limited to only four node IDs, so making a node ID for SOTI isn't possible. That's okay though, because that wouldn't be useful anyways. What we really want is to be able to masquerade as any subsystem we want when sending commands. This is unfortunately counter to the current design of TUK, which expects you to initialise it with a node ID in advance. To fix this, we'll probably have to introduce a CANWrapper_Set_Node_ID function so that we can update it on the fly. It complicates the API a little bit, so we should probably put a little note saying it's for advanced usage only.

C doesn't support function calls outside of main. The error you're getting suggests the compiler thinks you are trying to redefine CANWrapper_Init. The call to the init function should go in the main function sometime after MX_CAN1_Init.

What we really want is to be able to masquerade as any subsystem we want when sending commands

Interesting, that makes sense.

C doesn't support function calls outside of main.

Haha that's so obvious now that you pointed it out. Thanks.

SOTI reports the metadata of received messages (see here and here), but only the sender and message itself are accessible through TUK's message callback. Is there a way to access the remaining metadata found in the CachedCANMessage struct through TUK?

No there isn't. The message callback was designed with the intention of keeping things simple for the subsystems. SOTI is a special case where we want to offload all the details to the command line, whereas in the subsystem code we don't particularly care what the priority or recipient is.
We could use another #ifdef but that quickly leads to preprocessor hell. I think the simplest solution to this is to provide more metadata to the callback function.
So I imagine an API like this:
void on_message_received(CANMessage msg)
{
    NodeID sender = msg.sender;
    NodeID recipient = msg.recipient;
    bool is_ack = msg.is_ack;
    uint8_t priority = msg.priority;
    CmdID cmd = msg.cmd;
    uint8_t *body = msg.body;
}

This would basically remove the need for the CachedCANMessage type as well.

Thanks for updating the message callback, that makes it pretty simple on SOTI's end.
Most of the work is done here: 46995ac. There's one feature that was lost:
SOTI is using dynamic queue sizes so that satelliteToGroundQueue holds 13000 items, and  groundToSatelliteQueue holds 1000. I've updated these queues to use the CANWrapper's queue implementation which is hardcoded to a size of 100. I'm not sure if this will be a problem or what the best solution would be.
Also, is CanQueueItem still needed? If so, that's fine. It just leads to a bit more work like this:
void on_message_received(CANMessage msg)
{
	CANQueueItem queued_msg;
	queued_msg.msg = msg;
	CANQueue_Enqueue(&satelliteToGroundQueue, queued_msg);
}

Now that I'm looking at it, I don't think satelliteToGroundQueue is even needed as the message can be sent to the command line right when it's received in the callback. I removed it here: f1013fc, but it's easy to revert if we decide we need it.
groundToSatelliteQueue is still required as far as I can tell.

Now that I'm looking at it, I don't think satelliteToGroundQueue is even needed

Correct. That's what the message_queue is for.

groundToSatelliteQueue is still required as far as I can tell.

Correct, for now. More and more, I'm starting to believe we will need some safer way of transmitting CAN messages from an ISR. I imagine some kind of CANWrapper_Transmit_Deferred function and a CANWrapper_Process_Deferred_Transmissions.

SOTI is using dynamic queue sizes so that satelliteToGroundQueue holds 13000 items, and groundToSatelliteQueue holds 1000. I've updated these queues to use the CANWrapper's queue implementation which is hardcoded to a size of 100. I'm not sure if this will be a problem or what the best solution would be.

We don't need dynamic allocation in this case, and in general it's discouraged in embedded programming. I'm not sure why the queues were so big before, but there's no need for it. I doubt the queues will even come close to capacity by the time they get processed in the main loop.

Also, is CanQueueItem still needed?

It's not technically needed in that it doesn't provide any useful function. But it does decouple the queue implementation from the contents of the items. Granted, it is a CAN queue, so the item it contains probably will always just be a CANMessage. But, having it like this does make it very easy to add more fields if we feel like it.
Here's a trick you can use to reduce the clutter:

void on_message_received(CANMessage msg)
{
	CANQueue_Enqueue(&satelliteToGroundQueue, (CANQueueItem){ .msg = msg });
}

I'll get a PR ready so the changes are all visible in one place.
One last thing: The NodeID enum in TUK has CDH as 0 and Power as 1 whereas SOTI's sender IDs are in reverse. I'm assuming that these should match?

What we really want is to be able to masquerade as any subsystem we want when sending commands. This is unfortunately counter to the current design of TUK, which expects you to initialise it with a node ID in advance. To fix this, we'll probably have to introduce a CANWrapper_Set_Node_ID function so that we can update it on the fly.

This should probably be a separate issue if it involves some frontend work too.

The NodeID enum in TUK has CDH as 0 and Power as 1 whereas SOTI's sender IDs are in reverse. I'm assuming that these should match?

Yes, this is another case of the code just being outdated. SOTI's enum should exactly match TUK's NodeID. I'll add an issue for this


Not working with "default (babel, eslint)" preset

You have to choose "Manually select features" in vue-cli

Fixed in 0.3.0


Use JavaFX directory chooser instead of Swing directory chooser in Swing modules

The JavaFX directory chooser works way better than the old Swing directory chooser. Replace Swing directory chooser with JavaFX directory chooser.
Consider generalization to make both interchangeable.

Provide Swing-Wrapper API to access the JavaFX FileChooser and Directory chooser, while keeping modality and configurability (e.g. file extensions).

There exists now a DirectoryChooser which is implemented in JavaFX and works very similar to how the FileChooser works. It only shows a tree of drives/shares and directories, allows selecting those per typing + return key. This version works from within the same window as the file chooser. Configuration of the JavaFX directory chooser is still possible.


Change pref types to match current API

Fixes #45
In self preferences, set _prefFuzzyMatching to Maybe Bool. Have seen behavior in recent weeks where this field is sometimes in API response, and other times is not.
In team preferences, change _teamRequireAtForMention from Int to Bool. Current interaction with API has it returning Boolean values for this field.
Unfortunately, I am unable to find any documentation to support these changes. Just manually reviewing the API responses I'm receiving.

I am tempted to delete both of these fields and readd them if someone wants them later.

I fixed this by deleting both fields.


Create Jenkinsfile

Seems like unintentionally opened a PR?

We didn't use jenkins

Closing, this is not a meaningful PR.


Test wix/pluginlist.txt on AppVeyor ci

I know AppVeyor output is not easy to read...
related: #291
https://github.com/mackerelio/mackerel-agent/pull/313/commits/4904d6904cd4ec0030414559d71a169b57244acf is for demonstration. https://github.com/mackerelio/mackerel-agent/pull/313/commits/4df1d7c9407f8be1e637bf9f680c4719da02fa0b failed because of the wrong pluginlist, and after reverted the commit on https://github.com/mackerelio/mackerel-agent/pull/313/commits/b6afb76d6f99c9b3d62ef0059ea26c4ae4c330d7, AppVeyor build recovered.

LGTM!

Thanks!


Update generated crds for https://github.com/projectcalico/libcalico-…

…go/pull/1229
Description
This PR is the result of running make gen-crds and ignoring the manually-added bit for ipamblocks.

Todos

[ ] Tests
[ ] Documentation
[ ] Release note

Release Note

None required

@lmm we'll also need to propagate these changes to https://github.com/projectcalico/calico/tree/master/_includes/charts/calico/crds/kdd
You should be able to just do a cp *.yaml into that directory, though.


Additional Query Store setting value made available

Based on a review of the additional options in the Query Store page for Database Properties, it looks like Wait Statistics Capture Mode was also added in the 18.4 release.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: cac198c9-abf9-b7ae-0827-dac03ddf4ad6
Version Independent ID: 9f2afe99-e7c3-726f-fa89-08fc1e4ed653
Content: Release notes for SQL Server Management Studio (SSMS) - SQL Server
Content Source: docs/ssms/release-notes-ssms.md
Product: sql
Technology: ssms
GitHub Login: @markingmyname
Microsoft Alias: maghan

@erinstellato -- thank you for your feedback.
@markingmyname -- please look into this issue 3544.

@erinstellato,
Thank you for pointing this out.
This information will be added by  the end of the week.

We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion, and we will reopen the issue. To see what the community is wanting, please visit the UserVoice site.


🔧 Update template

This pull request merges the current state of the template used here into this project so that it is up to date.

:tada: This PR is included in version 1.0.3-develop.4 :tada:
The release is available on:

v1.0.3-develop.4
GitHub release
Docker container (sebbo2002/fhem-log2db:1.0.3-develop.4)
v1.0.3-develop.4

Your semantic-release bot :package::rocket:


Add 18.1.8 for arm64 macOS

Resolves #79.

The assets.json file is managed by running yarn generate, so I ran that after updating the generate script to know about this new pattern for macOS binaries.


Request for Additional Dataset Links due to Broken URL

The dataset links of 'Cars' provided seem to have encountered a 404 error. Could you please provide alternative links or additional sources for accessing the datasets mentioned? Thank you for your attention to this matter.

Hi @ypaTinke,
yes, it looks like the link of Cars dataset has been broken by the original source provider.
Thankfully, I have another repo that deals with this dataset.
Check this issue thread. -> https://github.com/sungnyun/openssl-simcore/issues/5#issuecomment-1657344408

Thank you for your response and assistance.


执行 grep 命令报错

# cloudcli exec -n golang -y -c "grep -P '\w+' /etc/hosts"
EXCUTE "grep -P '\w+' /etc/hosts" on root(cloudboot2.idcos.net):
Command exec failed: Process exited with status 1
>>>>>>>>>>>>>>>>>>>> STDOUT >>>>>>>>>>>>>>>>>>>>

>>>>>>>>>>>>>>>>>>>> STDERR >>>>>>>>>>>>>>>>>>>>

time costs: 260.410911ms
==========================================================

total time costs: 260.656478ms
EXEC success nodes: 0 | fail nodes: 1 | timeout nodes: 0

# ssh cloudboot2.idcos.net "grep -P '\w+' /etc/hosts"
<IP_ADDRESS>   localhost localhost.localdomain localhost4 localhost4.localdomain4

#14

fixed in v0.7.2


acora: Compile with newer cython to support python3.7

Thanks. There were a couple of more changes needed. v2.2 is released.


Allow more flexible usage of XML QoS profiles

It allows more flexibility through environment variables, checkout README.md for more details.
TODO: Write tests.

@jacobperron I was originally thinking to add this in a fork, but if the defaults aren't modified and flexibility is provided through environment variables, I guess we can merge the change on master.

BTW, this is ready for being reviewed. I opened it as a draft only because tests are missing.

@jacobperron I'm planning to write some tests before merging, to improve coverage.
We could kick a packaging build with this branch, I have done some manual testing and it's working fine.

Tests added, CI (testing rcl, test_rmw_implementation, rmw_connext_cpp, rmw_connext_shared_cpp):

Linux
Linux-aarch64  (failed because rti Connext isn't available in aarch64 in our CI)
macOS
Windows

Going in, thanks for the reviews @jacobperron !

@ivanpauno There is a chance that this introduced flakiness in the nightly Windows builds.  Do you mind taking a look and seeing if it was this PR? These are the tests in question: https://ci.ros2.org/job/nightly_win_rel/1721/testReport/

@ivanpauno There is a chance that this introduced flakiness in the nightly Windows builds. Do you mind taking a look and seeing if it was this PR? These are the tests in question: https://ci.ros2.org/job/nightly_win_rel/1721/testReport/

I don't see how this PR can make that test fail, it's completely unrelated.
That test is failing to find that some nodes were set up within a timeout, and this PR cannot affect node discovery (I would be extremely surprised if it somehow does).
Most likely, the test was already flaky.

I didn't think so, but I also hadn't seen these tests pop up in recent history.
I'll see if I can reproduce, thanks!


Clear ExcepionCauseRegister after flushing core

Oops.
It worked on test because exceptions were close together, and rob_id didn't do the full overflow cycle to break the instruction age comparison

Is it possible, in a relatively short time, to extend the assembly test so that this issue is catched by it?

Done, it turns out that the bug was even more specific - because of constatly changing rob tail id - in this case it only was broken when new exception had exactly the same rob idx as the previous one.
Very good that it was found now and not during debugging OS run :)


Add errors-only output mode

Partial solution for https://github.com/vercel/turbo/issues/993

Merging this. macos-latest integration tests aren't passing because cargo build is timing out.


Poly_commitment: benchmark add and sub

Code could be better, but does the job.

Closing in favor of https://github.com/o1-labs/proof-systems/pull/2609


Remove stoplight-admin from README or update stoplight-admin

There is an issue on orgsync/stoplight-admin#19 that wants to know if 2.1.0 is supported, but hasn't gotten any response at all.
Does the admin interface support the current 2.x version? If you reference the gem from the README, but it isn't supported by the current stoplight version that references, it should be removed.

Sorry for the radio silence. stoplight-admin hasn't ever been as fully supported as Stoplight itself, hence the 0.x.x version number. Even so, I think the link in the README is fine. I'll merge https://github.com/orgsync/stoplight-admin/pull/20 🙂


Connect with Ethereum Button

First of all sorry for the double quotes and other formatting, I'm figuring out some stuff with Lint. Anyways here are the changes in this button:

Starts with a "connect with ethereum" button that checks for a web3 browser
If it doesn't have one, or if the user denies it, then proceeds with normal universal login flow
changed colors from UL purple to Classic Grey & White

This branch should be considered a demo only, there are some UI issues with Safari and probably other problems.

Closing. Will work on that in a separate repository.


Release 0.2.1

Checklist

[x] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

@conda-forge-admin, please rerender

This freaking error is so annoying, I have literally only ever seen it triggered by conda-build
import: 'openff.fragmenter'
Traceback (most recent call last):
  File "/home/conda/feedstock_root/build_artifacts/openff-fragmenter-split_1691438569832/test_tmp/run_test.py", line 2, in <module>
    import openff.fragmenter
  File "/home/conda/feedstock_root/build_artifacts/openff-fragmenter-split_1691438569832/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib/python3.10/site-packages/openff/fragmenter/__init__.py", line 7, in <module>
    from . import chemi, fragment, utils
  File "/home/conda/feedstock_root/build_artifacts/openff-fragmenter-split_1691438569832/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib/python3.10/site-packages/openff/fragmenter/chemi.py", line 8, in <module>
    from openff.fragmenter.utils import get_atom_index, get_map_index
  File "/home/conda/feedstock_root/build_artifacts/openff-fragmenter-split_1691438569832/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib/python3.10/site-packages/openff/fragmenter/utils.py", line 6, in <module>
    from openff.toolkit.topology import Molecule
  File "/home/conda/feedstock_root/build_artifacts/openff-fragmenter-split_1691438569832/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib/python3.10/site-packages/openff/toolkit/topology/__init__.py", line 1, in <module>
    from openff.toolkit.topology.molecule import (
  File "/home/conda/feedstock_root/build_artifacts/openff-fragmenter-split_1691438569832/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib/python3.10/site-packages/openff/toolkit/topology/molecule.py", line 57, in <module>
    from openff.toolkit.utils.constants import DEFAULT_AROMATICITY_MODEL
  File "/home/conda/feedstock_root/build_artifacts/openff-fragmenter-split_1691438569832/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib/python3.10/site-packages/openff/toolkit/utils/__init__.py", line 9, in <module>
    from openff.toolkit.utils.toolkits import (
  File "/home/conda/feedstock_root/build_artifacts/openff-fragmenter-split_1691438569832/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib/python3.10/site-packages/openff/toolkit/utils/toolkits.py", line 134, in <module>
    from openff.toolkit.utils import all_subclasses
ImportError: cannot import name 'all_subclasses' from partially initialized module 'openff.toolkit.utils' (most likely due to a circular import) (/home/conda/feedstock_root/build_artifacts/openff-fragmenter-split_1691438569832/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lib/python3.10/site-packages/openff/toolkit/utils/__init__.py)
Tests failed for openff-fragmenter-base-0.2.1-pyhd8ed1ab_0.conda - moving package to /home/conda/feedstock_root/build_artifacts/broken

This has never been an issue in our more realistic testing infrastructure, has never been an issue in version 0.2.0, and nothing in the diff implies to me that a change in the code caused this. I'm just going to drop the import test.

@conda-forge-admin, please rerender

ugh ...

@lilyminium identified the root cause and suggested a patch which I plan to merge tomorrow. In the short term, I think you may be able to get past this by adding rdkit to the host requirements. And if that doesn't work I'll put out an OFFTK release with that PR tomorrow morning.

Well, darn. I'll cut 0.14.3 with the fix for this tomorrow morning then!

I'm inclined to keep rdkit out of the base package - IIUC the split is mostly to keep things from falling back to sqm but I'd still like to make as small a set of changes as possible. The diff between 0.2.0 (almost a year ago) and this release is quite small, so I'm inclined to believe that it's not a big deal if either

if we have to wait a couple days to roll out 0.14.3
if a solver drops back to 0.2.0

Thanks for the rapid turnaround - everything looks good here


LB meeting 2022-02-17

Our multiple threads right now:

Developing introduction & scientific background for manuscript. @bpbond to set up 1 every ~3 week reading+discussion sessions by paragraph
Add parameters as documented in #12 . Initial step would be just to try default±10% on normal dist. Then we'd like to construct real PDFs for each, and this will require some research; we should also look at MAGICC (and similar papers) documentation
We will have question of joint PDFs at some point - see #13 . I am inclined to put this off
Refining and adding data visualizations - iterating on these as we converge on a results story - see google doc
Also for later: start to outline the methods
Also for later: prep for HPC - talk with Chris V.

Let's say we're going to target April 1 for a presentation to Chris, Kalyn, ...others? that will use your small-N runs, probably no joint PDFs, but otherwise be fairly feature complete.

If we want to find runs in which parameters fall with X% of their µ values:
output_df
for(param in param_names) {
 within <- (output_df[param] - param_values[param]) / param_values[param]  < X%   # vector of T/F
 output_df <- filter(output_df, within)
}

More efficient:
output_df
all_within <- rep(TRUE, nrow(output_df)) # vector of all TRUE, length of rows of d.f.
for(param in param_names) {
 within <- (output_df[param] - param_values[param]) / param_values[param]  < X%   # vector of T/F
 all_within <- all_within & within
}
output_df <- filter(output_df, all_within)


Allow sharing localization between multiple projects

There should be away of defining base localizations that other projects can use.

@tinganho we are thinking about implementing something to sync translations of npm dependencies that we have in our projects (that also would use l10ns). It would be interesting, to see, what your strategy is to solve this issue, so we could implement something that will be compatible with what you're going to develop. When done, we could of course share our solution

Right now, I haven't thought so much about this issue.
But I will definitely take this up when designing v3 of l10ns. Though v3 is quite distant in the future right now. Mainly because of no time to develop, but it is also a huge undertaking, since the goal is to support multiple programming languages. And it must be rebuilt from the ground up.


Fix hmac  & base64 variable init

@Rezende123  is it possible to merge this branch with master. It would be nice to have this bug fixed !

@Rezende123 is it possible to merge this branch with master. It would be nice to have this bug fixed !

Yes, but we depends of the author confirm this merge. For now i has using only my fork.

I guess the author no longer maintains it 🤣


Revoking access token fails

Migrating from oidc-client-js.
In oidc-client-ts revoking no longer works.
It is my understanding that when revoking an access token, it's the refresh token that should be sent to the revoke endpoint.
See the Cognito documentation:

The refresh token that the client wants to revoke. All access tokens issued from this refresh token are also revoked.

https://docs.aws.amazon.com/cognito/latest/developerguide/revocation-endpoint.html
oidc-client-ts (wrongly?) sends the access token, which results in the following error:

HTTP 400 and error unsupported_token_type is returned if the token sent in the revocation request is not a refresh token

The protocol allows revoking both kinds of tokens, spec here.
It looks like the old implementation attempted to revoke both the access and refresh tokens and then returned success if at least one of them succeeded.
https://github.com/IdentityModel/oidc-client-js/blob/d700897e0a9e5eac060b12a687d55606535ca5e9/src/UserManager.js#L565-L584
This behavior feels a bit strange since the revocation endpoint is highly implementation dependent. The 400 you're seeing is likely the result of sending token_type_hint=access_token to Cognito's endpoint.
I think the settings for this could be improved so that you have more control over the success of a revocation request. @pamapa do the following updates to the revocation APIs seem reasonable?

UserManagerSettings.revokeAccessTokenOnSignout: boolean

rename to UserManagerSettings.revokeTokensOnSignout: ('access_token' | 'id_token')[]
configures a list of token types to revoke upon sign out

UserManager.revokeAccessToken()

rename to UserManager.revokeToken(typeHint: 'access_token' | 'id_token')
rather than attempting to revoke both types, only revokes the type specified

@kherock makes sense, default should be revoke all types like before

Ignore the 'id_token' string, I meant 'refresh_token', sorry!
I'm a bit uncomfortable having revokeToken take the entire list of types since it makes the errors harder to deal with. Without additional context in the thrown error object, the caller won't be able to tell which revocation failed. Though I think this should be possible to alleviate by extending ErrorResponse with a .request property containing the form body.

I'm a bit uncomfortable having revokeToken take the entire list

Alternate solution would be do not add the new argument to the public function UserManager.revokeToken. We only add the settings part. Its less flexible, but what would be the use case to only revoke something and not all possible?


Bug fix for floating point precision in encoded commands.

str() limits the float precision to a total string length of ~13 characters:

str(1234567890.123456)
'1234567890.12'
str(1234567890123.456)
'1.23456789012e+12'

Fix this by using format():

import time
str(time.time())
'1330403052.79'
format(time.time(), 'f')
'1330403055.444572'

This patch is especially useful for using high-precision timestamps as the
score in a sorted set.

I encountered this issue as well, incidentally also with times, and my idea of a fix involved using repr(time.time()).


Update help to show how PAM HTML fields can be used to automate logins

I am interested in enhancing PAM to automate record logins using a single click. I have been investigating how to do that and landed on using HTML forms so I recently did some experiments to demonstrate how forms could be embedded in existing HTML fields to automate logins and thought it that it might be worth capturing in the help.
My experiments consisted of of creating a PAM HTML field with content that looked something like this where ${login} and ${password} are inserted from the login and password fields from the record being tested.
-- with values for testing
<form id="postit" action="https://login.xfinity.com" target="_blank" method="POST">
    <input id="user"   name="user"   type="text"  value="${login}">
    <input id="passwd" name="passwd" type="password" value="${password}">
    <input type="submit" value="Login">
</form>

And then clicking on the "Login" button.
It worked but there are some interesting caveats:

The URL must_ be the login url for the site.
The input ids vary for each site.
The data (like the login) has to be duplicated.

What this means is that any implemented solution would have to:

Capture the login site.
Be able to reference the login and password fields that  already exist in the record to avoid duplication. In practice that means referring to records as "${login}" and having PAM do the substitution.
Be able to specify the unique input ids for the site.

I think that simply adding the ability to substitute field values would be sufficient because it would allow a user to create an HTML field in a record that contains a form with the unique URL and ids, and then reference the values which are then substituted at the appropriate time, perhaps by wrapping the submit event.

I am not convinced that this POST operation would be a useful feature because of modern browser password storage and MFA because it would NOT be one-click.

I am not convinced that this POST operation would be a useful feature because of modern browser password storage and MFA because it would NOT be one-click.


add prynt trimmer view

Project URL
https://github.com/prynt/PryntTrimmerView
Description
Add a link to the PryntTrimmerView repo in the Media Processing - Video section.
Why it should be included to awesome-ios (optional)
Provides customisable tools to get started with video editing.
Checklist

[x] Only one project/change is in this pull request
[x] Addition in chronological order (bottom of category)
[x] Supports iOS 9 / tvOS 10 or later
[x] Supports Swift 3
[x] Has a commit from less than 2 years ago
[x] Has a clear README in English

          1 Error

:no_entry_sign:
Found 2 link issues

          1 Warning

:warning:
Too many changes (when adding, please keep it to one project per Pull Request)

Link issues by awesome_bot

Line
Status
Link

2546
301
http://www.imore.com/ redirects tohttps://www.imore.com/

2649
301
http://www.imore.com/debug redirects tohttps://www.imore.com/debug

  Generated by :no_entry_sign: Danger

Thank you for contributing to awesome-ios 😄


Add a Flavor plugin that composes other flavor plugins

I also noticed that --name was not broken in several plugins, fixed that as well.

Current coverage is 73.15% (diff: 100%)

Merging #242 into master will not change coverage

@@             master       #242   diff @@
==========================================
  Files            17         17
  Lines          1069       1069
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits            782        782
  Misses          215        215
  Partials         72         72

Powered by Codecov. Last update 156d7f3...8edeb6b


Updates to address cognoma/core-service #10

In congoma/core-service #10 the developers decided to rename the repository. This updates the readme for the main project to match.

@cgreene go ahead and squash merge


[FLINK-25385][table-planner] Harden the function serialization in JSON

What is the purpose of the change
Currently, there is still a lot of Java serialization and unresolved TODOs in serializers. This PR hardens the serialization of RexNode and esp. function calls. It supports all kinds of functions and modules.

Anonymous functions are serialized on a best-effort basis.
Temporary functions are never serialized.
Permanent functions are versioned (for built-in functions) and serialized if possible.

Brief change log

Adhere to FLIP-190
Remove Java serialization
Support function versioning
Support temporary and module functions

Verifying this change
This change added tests and can be verified as follows: RexNodeSerdeTest
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no
If yes, how is the feature documented? JavaDocs

Thanks @matriv. I hope I addressed all your comments.

Thanks everyone for the feedback. I hope I could address all of it. I will merge this later today if there are no objections.


Allow Mixer to edit request headers

We should enable Mixer adapters to produce edits to request headers. This would enable a bunch of API management scenarios which we cannot easily target at the moment.

By edits, do we mean strictly insert new headers, or modify/delete existing headers, or both?

It should be add / remove / update


The github favicon on the top does not lead to the github profile of Eduhub community

SEND A SS PLZ


remove unnecessary dependencies

Hello,
I came across some unnecessary dependencies in each crate. These dependencies are however used in other crates (or) indirectly pulled into the crate.
In this PR, I used re_viewer, as an example, to show the unnecessary dependencies. I am wondering if there is a reason why these dependencies are kept as it is. Based on your thoughts, we can see how to proceed with the other crates.

Hi, and thanks for your PR!
It is very easy to forget to remove a crate once the code relying on it is gone, and I think that's what have happened here.
In the cases where something else is going on we should have a clarifying comment about it.

Hi, and thanks for your PR!
It is very easy to forget to remove a crate once the code relying on it is gone, and I think that's what have happened here.
In the cases where something else is going on we should have a clarifying comment about it.

I completely agree. It does not change much in the sense that it is pulled indirectly. However it is cleaner. I see more such unused dependencies over the entire set of crates.

Nice! Are you using cargo-udeps to find these?

I use cargo machete, basically what cargo-udeps uses under the hood.
There are more dependencies that cargo machete shows actually but those are associated with a workspace so I left it be.

@emilk I will be on a break until the end of the week. You can decide what the next steps are with this PR!
P.s: The check fail is not my fault (I guess!)
P.s.s: I was wrong about cargo machete being used under the hood of cargo udeps. It is a different tool but much faster.

P.s: The check fail is not my fault (I guess!)

I think you need to update the Cargo.lock file, e.g. with cargo update --workspace

Thank you!


More detail for Do Not Rewrite syntax

Added some bullet points to help people get the syntax right, without needing to do so much trial and error.

I missed escaping a couple of asterisks (*).  Will redo a new PR.


[Draft] Cluster State Update Optimization

Description
This draft PR is to discuss the optimization changes for ClusterState computation by limiting the number of times objects related to indices and its lookups inside Metadata.java.
Will add relevant test cases, improve reduce excessive logging, modify Changelog in later commits.
The build() in Metadata.java is expensive operation because of computation of indicesLookup.
There are certain places where we know for sure that that computation of all these values is not necessary. For instance, when a template is modified, all the indices related objects are not modified; in MasterService, where after computation of Metadata, version is increment only.
Note when creating a new ClusterState, Metadata object is created twice. So with this changes, we are basically omitting the entire Metadata creation second time, which alone saves ~40% time for ClusterState computation.
This is done by introducing variables in Builder method to hold local copies of metadata related objects. Additionally, a new variable rebuildIndicesLookups can be set to false (default will be true to retain original workflow) with which you manually skip re-creation of objects related to indicesLookups (open, close, visible, hidden, indicesLookup map). The objects which are recomputed in build() method can skipped and utilized directly from copied objects (from last metadata) if indices and customs are unchanged. Checking the change in these 2 objects is less time consuming operation.
The idea is that in these scenarios, we can save ~40% time taken to create ClusterState in all API calls, which modify cluster state. For certain API calls, like master re-election, template related APIs, we should be able to gain 95% time required for ClusterState computation.
Is it possible to set rebuildIndicesLookups to false implicitly (by deciding from indices, etc) instead of explicit sertting?
The complication in doing so is that there are multiple objects which inherently depend on IndexMetadata/IndexAbstraction. This implicit logic will have to be driven out be checking and analyzing any values (open, close, hidden, etc) that can be changed. The effort is not worth the gain and can be erroneous to start with. By introducing the new flag variable, we only modify the work flows where we know for sure that Metadata is not changed. The default behavior will still stay unchanged - Metadata will be computed from scratch as before for all the workflows.
Changes noted on:

M1 Pro processor
main branch, 3.0, no plugins
Local cluster setup with 1 manager, 1 data node
~50k aliases, 10 indices

Before (new alias creation):
[2023-05-31T14:17:45,992][DEBUG][o.o.c.s.MasterService    ] [master1] took [125ms] to compute cluster state update for [index-aliases]
[2023-05-31T14:17:47,219][DEBUG][o.o.c.s.MasterService    ] [master1] took [129ms] to compute cluster state update for [index-aliases]
[2023-05-31T14:17:48,427][DEBUG][o.o.c.s.MasterService    ] [master1] took [132ms] to compute cluster state update for [index-aliases]

After (new alias creation):
[2023-05-31T14:36:44,821][DEBUG][o.o.c.s.MasterService    ] [master1] took [71ms] to compute cluster state update for [index-aliases]
[2023-05-31T14:36:46,506][DEBUG][o.o.c.s.MasterService    ] [master1] took [69ms] to compute cluster state update for [index-aliases]
[2023-05-31T14:36:48,143][DEBUG][o.o.c.s.MasterService    ] [master1] took [70ms] to compute cluster state update for [index-aliases]
[2023-05-31T14:36:49,675][DEBUG][o.o.c.s.MasterService    ] [master1] took [71ms] to compute cluster state update for [index-aliases]

For Template Creation, the indicesLookup is not computed even once, so the time reduces to by ~95% since only deep copy is done from previous cluster state for indices related objects.
[2023-05-31T14:50:34,003][DEBUG][o.o.c.s.MasterService    ] [master1] took [6ms] to compute cluster state update for [create-index-template [t22], cause [api]]
[2023-05-31T14:50:54,948][DEBUG][o.o.c.s.MasterService    ] [master1] took [8ms] to compute cluster state update for [create-index-template [23], cause [api]]

Note: The time taken for the above operations are usually of higher magnitude (2-3x) when run on smaller instance types, such as m4.large, c4.large.
Related Issues
Resolves https://github.com/opensearch-project/OpenSearch/issues/7002
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[ ] Commits are signed per the DCO using --signoff
[ ] Commit changes are listed out in CHANGELOG.md file (See: Changelog)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Hey @sandeshkr419 noticing lot gradle check errors, are you able to re-produce this locally ?

@prudhvigodithi Yes, I was able to reproduce and fix majority of these failures except these in latest CI:
org.opensearch.smoketest.SmokeTestMultiNodeClientYamlTestSuiteIT.test  - This is failing on my local on main branch (with latest changes pulled) as well using JDK 19 & 20 both. Tried multiple times, to omit chances of flakiness with no luck.
Test/system config:
  Gradle Version        : 8.1.1
  OS Info               : Mac OS X 13.4 (aarch64)
  JDK Version           : 20 (Oracle JDK)
  JAVA_HOME             : /Library/Java/JavaVirtualMachines/jdk-20.jdk/Contents/Home
  Random Testing Seed   : 46906AD73A60AEB
  In FIPS 140 mode      : false

org.opensearch.search.backpressure.SearchBackpressureIT.testSearchTaskCancellationWithHighCpu - This is successful in my local - ran using JDK 19 & JDK 20 - probably a network issue causing it to fail in CI - as per the logs

@shwetathareja I have made changes as I was suggesting in the conversation above to help better visualize changes. I have stored reference to previous Metadata instead of storing multiple arrays/maps for the entire build process. This should light-weight the memory taken in my previous implementation where I cloned multiple arrays in the beginning.
Here are some logs from updated code:
[2023-06-18T20:48:22,468][DEBUG][o.o.c.m.Metadata         ] [master1] Recompute required: true, time taken for comparing indices: 0 ms
[2023-06-18T20:48:22,510][DEBUG][o.o.c.m.Metadata         ] [master1] rebuilt indicesLookupMap in 30 ms, 56088 entries
[2023-06-18T20:48:22,510][DEBUG][o.o.c.m.Metadata         ] [master1] built metadata in 41 ms
[2023-06-18T20:48:22,511][DEBUG][o.o.c.m.Metadata         ] [master1] Recompute required: false, time taken for comparing indices: 0 ms
[2023-06-18T20:48:22,515][DEBUG][o.o.c.m.Metadata         ] [master1] built metadata in 3 ms

The part where metadata build takes 3ms is when we are just deep copying the indices lookup map/arrays from previous Metadata.
Note that I have not included changes where I was mentioning about mutability of the arrays used in Metadata, that should be tracked as a separate change. Thoughts?
Also, I have retained here some extra logging capturing time elapsed, which I'll remove in future commits. This was to help capture the impact of these changes which I had stated in some of my comment threads.

Please add tests and move it out of Draft.

@shwetathareja @amkhar @soosinha I have previously answered your queries and marked the outdated ones as resolved.
Also, moving this PR out of draft status and added test cases as well.

@shwetathareja Did you happen to get a chance to review the recent changes after I pulled the PR out of draft mode?

Thanks @shwetathareja for approving & merging this. Please add the backport 2.x label to the issue as well to auto-backport it to 2.x branch.

Manually backported to resolve conflicts in CHANGELOG (no other conflicts): https://github.com/opensearch-project/OpenSearch/pull/8644


Problem with User-Model (can't implements Subscriber)

When i'm trying to extend the User model to Subscriber (like the documentation), i've get an Exception:

Declaration of App\User::subscriptionUsage($subscription) must be compatible with Laravel\PricingPlans\Contracts\Subscriber::subscriptionUsage(string $subscription)

Here is my Model:
<?php
	namespace App;

	use Illuminate\Notifications\Notifiable;
	use Illuminate\Foundation\Auth\User as Authenticatable;
	use Laravel\PricingPlans\Contracts\Subscriber;
	use Laravel\PricingPlans\Models\Concerns\Subscribable;

	class User extends Authenticatable implements Subscriber {
		use Notifiable;
		use Subscribable;

		/**
		 * The attributes that are mass assignable.
		 *
		 * @var array
		 */
		protected $fillable = [
			'token',
			'id',
			'nickname',
			'name',
			'email',
			'avatar'
		];

		/**
		 * The attributes that should be hidden for arrays.
		 *
		 * @var array
		 */
		protected $hidden = [

		];

		public function plan() {
			return $this->belongsTo('App\PricingPlan'); //, 'ForeignOwnerID'
		}

		public function owners() {
			return $this->hasMany('App\RepositoryOwner');
		}

		public function getRememberToken() {
			return null;
		}

		public function setRememberToken($value) {}

		public function getRememberTokenName() {
			return null;
		}

		public function setAttribute($key, $value) {
			$isRememberTokenAttribute = $key == $this->getRememberTokenName();

			if(!$isRememberTokenAttribute) {
				parent::setAttribute($key, $value);
			}
		}
	}

how i can solve this problem?

Okay, i've found the Problem.
The Interface is not abstract, you must implement the given methods to the Model:
namespace App;

	use Illuminate\Notifications\Notifiable;
	use Illuminate\Foundation\Auth\User as Authenticatable;
	use Laravel\PricingPlans\Contracts\Subscriber;
	use Laravel\PricingPlans\Models\Concerns\Subscribable;
	use Laravel\PricingPlans\Models\Plan;

class User extends Authenticatable implements Subscriber {
		use Notifiable;
		use Subscribable;

		/* Subscriptions */
		public function subscription(string $name = 'default') {

		}

		public function subscribed(string $subscription, string $planCode = null) : bool {
			return false;
		}

		public function newSubscription(string $subscription, Plan $plan) {

		}

		public function subscriptionUsage(string $subscription) {

		}
}

It was not clear in the documentation.

Reopened, because trait won't working.
Using PHP v.7.1 as FPM.

Issue is fixed with given pull request,
The problem was, that the interface needs explicit described methods. On the trait, it wasn't.

Thank you for report issue.


zql source files, multi-line zql syntax, and embedded comment syntax

With joins, we now have complex flowgraphs across multiple lines as well as being able to specify a source file containing a zql query instead of having to format multi-line zql queries on the command line.
Add multi-line add support as well as comment syntax.
@nwt suggests both single-line // comments as well as multi-line C-style comments `/* ... */``

Moving multi-line comment work to issue #1371

Verified in zq commit b20a71ba. Here's a file containing multi-line ZQL and single-line comments, running successfully against the zq-sample-data:
~/work/zq-sample-data/zeek-default$ zq -version
Version: v0.23.0-59-gb20a71ba

~/work/zq-sample-data/zeek-default$ cat ~/work/zq-1654/my_query.zql
// This is a comment about my query
count() by _path |
(
  count();
  all_paths=collect(_path)
)

// Here's another comment

~/work/zq-sample-data/zeek-default$ zq -t -z ~/work/zq-1654/my_query.zql *
#0:record[all_paths:array[string]]
0:[[conn;ftp;modbus;kerberos;capture_loss;http;x509;dce_rpc;smb_mapping;ntlm;snmp;pe;smb_files;rfb;files;dns;ssl;notice;dpd;rdp;smtp;ntp;stats;weird;syslog;ssh;]]
#1:record[count:uint64]
1:[26;]

Some relevant follow-on issues:

Multi-line comments are being pursued as part of #1371.
The syntax with ; to separate multiple branches in a flowgraph may be subject to change, as tracked in #1644.

Thanks @mccanne!


Default tools set

How to change default tools set.
I didn't saw any function in api to manage that except lc.defaultTools(); but i don't know how to use it.
I don't want to have Polygon and for example Elipse tool. How can i do that?
I change literarycanvas.js and delete some tools in tools object but its not affected
tools = {
  Pencil: require('./tools/Pencil'),
  Eraser: require('./tools/Eraser'),
  SelectShape: require('./tools/SelectShape'),
  Tool: baseTools.Tool,
  ToolWithStroke: baseTools.ToolWithStroke
};

There is no way to change the default tool set, but the way to change the tools is documented here. http:/literallycanvas.com/api/initializing.html


Issue #817: Always recreate user IP

Splitting generation of SNAP IP and "User IP".
This change is addressing Issue #817.

@bmesnet Sorry, I did realize yesterday already that I introduced this error with the latest change. But, instead of fixing it in this branch I did decide to rebase the branch and to consolidate the approach for integrating hdl action IPs. As soon as the new changes work for me I'll push the new branch, create a new pull request.
I see you pushed another change into this branch. Was that by accident?
Closing this pull request now...


Possible for Jupyter Notebooks?

Hi all,
Just curious if this would be able to be used in a Jupyter Notebook context?
Paul

I have zero experience with Rust in Jupyter I'm afraid. It basically boils down to whether egui works there or not, though I haven't heard about such use case.

Probably not then, I'm not finding any online examples. Thanks for the feeback!


Create a usertest for Login

From our conversation yesterday, it sounds like this is more about testing checklist saving than about login itself. Does that sound correct?


Unable to Push Branches - Requesting Clarification on Contribution Guidelines

Issue Description
Hello! First off, I want to express how much I appreciate the project. The tools and features you have developed are very useful and I am keen to contribute. However, I have encountered a permission issue when trying to push branches.
Steps to Reproduce

Attempted to push a new branch with the following command:
git push origin feature/branch-name

Received the following error:
remote: Permission to polly3d/mockai.git denied to [your_username].
fatal: unable to access 'https://github.com/polly3d/mockai.git/': The requested URL returned error: 403

Questions

Are external contributors allowed to push branches directly or should we fork the repository?
Are there any specific contribution guidelines or protocols that I should follow?

Thank you for your attention to this matter.

Hi! Not the maintainer, but I think you should probably fork the project and raise a PR, which is a fairly standard practice on Github. I just raised a PR, which you can find here. I hope that is helpful :)
Besides that, I would like to second the question of contribution and QA guidelines.

Already fixed.


Epoch and plotting changes

Epoch removed from title, and added to a new epoch legend (optional). If these two legends are automatically located by Matplotlib in the 'best' place, they overlap. Possible solutions:

[ ] Fixing one legend to a corner, and the other legend to another corner. Problem:

Legends could overlap with orbit plotting.

[ ] Let matplotlib locate the first legend, and locate the second legend in a different place. Problem:

Same as above.
I haven't been able to get loc property of the first legend.

[x] Making the two legends draggable.

Alternative solutions are welcome.

Example:

In [1]: from poliastro.plotting import OrbitPlotter
   ...: from poliastro import neos
In [2]: frame=OrbitPlotter()
In [3]: frame.plot(neos.neows.orbit_from_name('atira'), label='atira')
In [4]: frame.plot(neos.neows.orbit_from_name('amor'), label='amor')
In [5]: frame.plot(neos.neows.orbit_from_name('eros'), label='eros', epoch_label=False)
In [6]: frame.plot(neos.neows.orbit_from_name('florence'), osculating=False)

Thanks @anhiga! We will discuss the code in our meeting.

Closing and moving to #230.


Builds are failing on TeamCity

Builds are failing since more than a month on TeamCity. I will take a look.

The project on the TeamCity was configured to search for the "Website" app, though the app was recently renamed to "WebsiteEditor".
It means that the PR with renaming to "WebsiteEditor" (https://github.com/StarcounterApps/Website/pull/112) was merged to develop despite the fact that TeamCity reported errors. Please never merge changes that do not build with TeamCity.

Fix now. Please report in future when the builds fail.
cc @un-tone, @PatrykSzwer, @bouguila
Thanks!


Consider using tags to version releases and use Github "releases" tab

I just noticed this package published v2.0.0, however, it is completely unclear to me what has changed. Consider tagging releases in git, and publishing any release notes under the releases tab in Github.

I apologize for the sudden 2.0.0 bump last month.
This is the Release Notes published on the nuget package:
Version 2.0.0 BREAKING CHANGES:
- Changed component namespace from FluentValidation.FluentValidator to Microsoft.AspNetCore.Components.Forms.FluentValidator to solve namespace-related issues when used in projects with Accelist.* namespace!
- Set ServiceScope property in component to private. (Accidentally made public!)

A sudden namespace change is required due to bug found in C# / Razor compiler.

Which bug?
Met vriendelijke groet,
Sebastiaan Dammann

Van: Ryan Elian<EMAIL_ADDRESS>Verzonden: Saturday, March 7, 2020 7:02:15 PM
Aan: ryanelian/FluentValidation.Blazor<EMAIL_ADDRESS>CC: Sebastiaan Dammann<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Onderwerp: Re: [ryanelian/FluentValidation.Blazor] Consider using tags to version releases and use Github "releases" tab (#18)
I apologize for the sudden 2.0.0 bump last month.
This is the Release Notes published on the nuget package:
Version 2.0.0 BREAKING CHANGES:

Changed component namespace from FluentValidation.FluentValidator to Microsoft.AspNetCore.Components.Forms.FluentValidator to solve namespace-related issues when used in projects with Accelist.* namespace!
Set ServiceScope property in component to private. (Accidentally made public!)

A sudden namespace change is required due to bug found in C# / Razor compiler.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fryanelian%2FFluentValidation.Blazor%2Fissues%2F18%3Femail_source%3Dnotifications%26email_token%3DAAK4FMOLTOV67G5GA7HZJ43RGKD2PA5CNFSM4LDQQPY2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEOEBPEI%23issuecomment-596121489&data=02|01||fa2c5917c8094f9a4ce708d7c2c1ac08|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637192009372690837&sdata=Y1aJ%2BpmG%2FaIbZj%2FdBt8gxOfeWrvbsiEUaQj08PV772E%3D&reserved=0, or unsubscribehttps://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAAK4FMKFX7T5LNC4FMJVYLTRGKD2PANCNFSM4LDQQPYQ&data=02|01||fa2c5917c8094f9a4ce708d7c2c1ac08|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637192009372700842&sdata=89T3n6bGE%2FAQsFmhWgB2KLG6dyctG4Cw5v7Qe%2Bts%2F2I%3D&reserved=0.

https://github.com/dotnet/aspnetcore/issues/18834

I believe I also put a release note in the git commit:
https://github.com/ryanelian/FluentValidation.Blazor/commit/f297bdf913032c4634493e84baa3ef0e4ef83940

Your suggestion however, is duly noted. I will tag 2.0.0 release note: https://github.com/ryanelian/FluentValidation.Blazor/releases/tag/2.0.0


fix data-integrity problem when add unique key

context: https://github.com/github/gh-ost/pull/912

Waiting  this patch  ^_^

hi @shlomi-noach   , is there any plan that this PR be merged ?
Looking forward this patch merged, thanks ^_^

Thank you and apologies for the delay. Looking into it, it may take a while.


Fix spark serve not working from commit  2d0b325

In previous latest commit https://github.com/bcit-ci/CodeIgniter4/commit/2d0b32556198aefec7057d99fa3af8daed9a504b , the HTTPVerb property of RouteCollection changed by call Services::request()->getMethod() by @lonnieezell that make command:
php spark serve

Got output:
ERROR: 404
Controller or its method is not found: App\Controllers\Ciserve::index

Checklist:

[x] Securely signed commits

ping @lonnieezell

While there are definitely some problems with my latest commit that I'll fix tonight, the solution isn't just to revert. There were probably reasons why I changed that. :)
I'll revert for now since I know there's at least one other issue I didn't notice until after. But expect it to change back to something similar tonight. I hadn't thought of it not working from here, though, so I'll keep an eye out for that.


Scottplot 5.0.47

I have a signalXY nr 1 plot with a left YAxis. When i use the GetNearest method to search for a datapoint on the graph it works perfectly.
When i have another signalXY nr 2 plot with a complete different YAxis than nr 1 above and i use it alone the GetNearest method also works perfect.
But.....
When i combine those 2 plots and put the YAxis of nr 1 to the left and put the YAxis of nr 2 to the right than GetNearest only works for signalXY plot nr 1. I tried also to add a second YAxis to the left for signalXY plot nr 2 but without succes.
It seems that only the first YAxis (i can see it in the Render results) is used for GetNearest.
It looks like that the axislimits in the lastrender are used. Even when i change the axislimits of the left YAxis with the values of the right YAxis and call the refresh() function i see that the axislimits are the same, only the axislimitsbyaxis are changed.
I cant change the axislimits in the lastrender because they are readonly.
How can i achieve this ???

Hi @herbertveldhuis,
It's hard to say for sure without a code example.
But maybe you are recalculating mouse coordinates incorrectly, use the overloaded method and specify the axes your Signal2XY uses:
    Coordinates mouseLocation = formsPlot1.Plot.GetCoordinates(mousePixel, Signal2XY.Axes.XAxis, Signal2XY.Axes.YAxis);
    var  nearestPoint = Signal2XY.GetNearest(mouseLocation, formsPlot1.Plot.LastRender)


Two files having same class and filename, 'Steadfast' and 'Steadfast.java' ?

After this commit :- https://github.com/ronz94/Steadfast/commit/73660ca929f828a948acf83febc5589b890340db
There are two files with same class name and filenname Steadfast.java. Need to remove one of them. This basically depends on whether you are using package keyword for including swing or not.
First file path: /src/Steadfast.java
Second file path: src/javax/swing/Steadfast.java
we need only one.

we have to keep the 2nd one and remove the 1st file path.

Yes, well delete the first file then, commit and close this issue.

unused file deleted.


Entity workflow buttons isn't rendered if __toString of entity return empty string

Problem in this line
As docs say,

For objects that implement the __toString() magic method (and not Countable), it will check if an empty string is returned

So, if __toString of entity return empty string, we won't see workflow buttons.
Maybe, refactor this template to something like that:
{% set entity_class = oro_class_name(entity) %}
{% if entity_class is not null and has_workflows(entity) %}

As TwigExtension has a checking "is_object", it should work fine in any cases.
Thanks

Thank you for the suggestion. We'll check if it can be done this way and will include it in one of the next releases.
(internal reference - BAP-16680 )

Fixed in this commit https://github.com/oroinc/platform/commit/061e79bb74d15153f9b98d5efb9cab289fbb0d11
And already released in 3.0.0-beta.
Thank you @scapital.


Put data using createWriteStream on new file takes over 1 minute

I am using module ssh2-sftp-client to upload files to SFTP server. Originally we used put method from ssh2-sftp-client which will call createWriteStream of ssh2-streams and found that uploading a file which is not on the SFTP server takes over 1 minute. However if the file is already on the server, the upload completes within a few seconds. After reading some of the opened issue here, we switched to fastPut and the file can be uploaded in a few seconds.
I am not familiar with SSH protocol so I am not able to tell whether this is the problem of this library or the problem of the SFTP server running CrushFTP. But at least, I tested with scp and sftp command on Linux and FileZilla on Windows and all of them can process the files in a few seconds.
Here are the minimal source code to trigger the issue and the log. I have intentionally added line break in the log to indicate long waiting time.  Streams in general enforce certain behaviors, so they will be slower than using the fast*() methods for the forseeable future.
For example, while sftp.createWriteStream() supports writing chunks in parallel (via _writev()) like fastPut(), it has to wait for acknowledgements for each chunk before continuing to write any more chunks. fastPut() doesn't have that limitation because it's not utilizing streams, so it can start reading and sending new chunks as soon as any previous chunks get acknowledged.

Actually there might be some more room for improvement in the _writev() implementation such that instead of just simply making one request per chunk (which doesn't really offer anything over and above doing it sequentially), we could try to coalesce as many writes into a single request as possible (up to some limit to avoid potential issues on the remote end). That would help avoid additional protocol overhead.

However this issue only happens on the SFTP server CrushFTP which I used. I also tested put file on SFTP server running OpenSSH and it can be finished in a few seconds. So I guess there is something at the server side as well which cause this sftp module to run abnormally slow?

That's always possible with any SSH implementation.

I see. In that case I will treat this as a limitation of ssh2-streams module on sftp.createWriteStream(), and I will continue to use fastPut() for SFTP file transfer. Thanks a lot for the clarification!


Review global candidate functions

We should go through our existing flagship projects and review potential candidate functions to include in this module.
It stayed idle for too long.
We should start by listing potential candidates before including them.

Well... It does not seem we have any. Maybe when developing new projects we'll have to copy/paste useful functions and then we'll include them...
But for now, I couldn't find anything in our sites which would was agnostic enough that we could safely include them in those...


Canvas2D: Multiple readback operations using getImageData are faster with the willReadFrequently attribute set to true

Canvas2D: Multiple readback operations using getImageData are faster with the willReadFrequently attribute set to true. See: https://html.spec.whatwg.org/multipage/canvas.html#concept-canvas-will-read-frequently

See #14203, #14204, #14215 for those that are already fixed. Are you seeing this warning in any other context still, after npm install ol@dev?

Is this fix available in the Production version?

See #14203, #14204, #14215 for those that are already fixed. Are you seeing this warning in any other context still, after npm install ol@dev?

Sorry, Which is the fixed ol version?

Now with ol@latest (v7.2.2)

Upgrading to 7.2.2 fixed the issue for me. Thanks!


[release-1.21] manifest: Ensure profile is a string

Manual cherrypick required.
#52017 failed to apply on top of branch "release-1.21":
Applying: manifest: Ensure profile is a string
Using index info to reconstruct a base tree...
M	manifests/charts/istio-control/istio-discovery/templates/NOTES.txt
Falling back to patching base and 3-way merge...
Auto-merging manifests/charts/istio-control/istio-discovery/templates/NOTES.txt
CONFLICT (content): Merge conflict in manifests/charts/istio-control/istio-discovery/templates/NOTES.txt
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 manifest: Ensure profile is a string
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

The patch is only relevant until 1.22. Sorry, my bad. I will update the main issue.


Cherry-pick: Large loadable types pass - tuple’s extracted type

Radar rdar://problem/31972859
Cherry-pick / Swift 4.0 version of PR https://github.com/apple/swift/pull/9300
CCC Approved by TedK

@swift-ci Please clean test and merge

@swift-ci Please clean test and merge


(maint) Install modules from bolt's Puppetfile for acceptance tests

Previously for component acceptance tests once bolt is cloned from git and a gem is built, a puppetfile was created in the default moduledir containing a reference to module versions independed from the modules shipped with bolt. We had to remember to manually update both the bolt Puppetfile as well as the acceptance test setup script when updating module references. With this commit, we use the Puppetfile from the bolt repo as the sole source of modules to be used in component acceptance tests.

CLA signed by all contributors.

@donoghuc Looks like this needs a rebase?

I'm working on re-doing this based on alex's comment.

Closing to build in https://github.com/puppetlabs/bolt/pull/1354


[WIP, DONT REVIEW THIS ONE] feat: enable sendRequest and request modification in pre-request scripting - INS-3379

Change (will split them later):

[x] enable insomnia.sendRequest
[x] enable insomnia.request for modification
[ ] support .globals
[x] enable importing pre-request script
[x] update lintOptions of editor
[x] add tests

d

sss

ss

ss


ImportError: cannot import name 'CompositeElement' from 'unstructured.documents.elements'bug/

Describe the bug
When importing chunk_by_title or chunk_elements
I get the following error
ImportError: cannot import name 'CompositeElement' from 'unstructured.documents.elements'
To Reproduce
from unstructured.chunking.basic import chunk_elements

or

from unstructured.chunking.title import chunk_by_title

Expected behavior
import the functions without errors
Screenshots
If applicable, add screenshots to help explain your problem.

Environment Info
Additional context
Add any other context about the problem here.

The issue was on on Windows. When installing the library on ubuntu, everything worked find.


74 - Add diff renderer and improve reporting

Issue

Resolves #74
Changes

Repurposed prettyValue into serialiseValue, which recursively prints tables that do not have an overridden tostring

This is aligned with Jest

Added a new renderDiff function which is used to generate a diff between any two values, optionally performing a "deep" recursive diff
Updated all code using prettyValue to use serialiseValue
Changed require paths to remove the need for src.lua. in every require()

Paths should be changed in any files that would be included in the diff regardless

Fixed matcher assertions printing the stack trace twice
Changed the test result error to not colour its message body

This allows matchers to colour their own message (needed for renderDiff)

Changed the expect print to not serialise the values into expect(...).matcherName(...) to avoid duplicating information

Impact

Significantly improves the user experience of Lest by allowing users to immediately see deep inequalities in tables through the diff
Improves the reporting for non-deep equality tests to better highlight expected and received values
All existing test failure messages will change colour from red to white

#114 to add colours back in

DevX improved by removing the need to import from src.lua manually, and automatically importing index.lua files when a directory path is given

#115 to update remaining imports

Testing
Fairly well covered by automated tests, but should try the following:

toBe failure messages display serialised expected and received with no table diff rendering
toEqual failure messages match toBe if one or both values are not a table
toEqual failure messages for two tables

handles cyclic references
shows correct expected and received counts for the number of differences
correctly chooses whether a value can be added to the table as an array item ({1, 2, 3}), symbol key ({foo = "bar"}) or expression key ({["end"] = "bar"})
correctly marks fields as either unchanged, added, removed or changed (added and removed adjacent for same key)

never.toBe and never.toEqual failure messages always show the serialised expected value in the format Expected: not %s

Helpful Links
API Docs
Project Board
Discord

If @Vurv78 doesn't pick this up later today then I'll probably start a review


Issue applying size and from to a match_all query

Please use the following questions as a guideline to help me answer
your issue/question without further inquiry. Thank you.
Which version of Elastic are you using?
[x] elastic.v7 (for Elasticsearch 7.x)
[ ] elastic.v6 (for Elasticsearch 6.x)
[ ] elastic.v5 (for Elasticsearch 5.x)
[ ] elastic.v3 (for Elasticsearch 2.x)
[ ] elastic.v2 (for Elasticsearch 1.x)
Please describe the expected behavior
The ability to define a match all query with a size and from defined.
Please describe the actual behavior
No limit or offset behaviour seems to be applied to a match all query.
Any steps to reproduce the behavior?
My code:
userRes, err := s.client.Search().
		Index("users").
		Query(userTerm).
		Pretty(true).
		From(offset).
		Size(limit).
		Do(ctx)

I'm passing in, say a from of 0 and a size of 10, I'm actually getting the max limit of 10000 back instead.

Please double-check. I've done just that a few minutes ago and it worked fine. Enable trace log to see what's really being sent over the wire.
Otherwise, share runnable code so that we can reproduce.

Hmm, my function is:
func (s *EsSearch) FindAll(ctx context.Context, limit, offset int) ([]*model.User, error) {
	log.Println("limit offset: ", limit, offset)
	userTerm := elastic.NewMatchAllQuery()
	userRes, err := s.client.Search().
		Index("users").
		Query(userTerm).
		Pretty(true).
		From(offset).
		Size(limit).
		Do(ctx)

	if err != nil {
		return nil, errors.Wrap(err, "error fetching user")
	}

        log.Println(userRes.Hits.Hits)

        // redacted
}

Limit and offset are being printed out exactly as expected. I enabled trace log, but I'm not seeing a raw query for this being outputted (I am for some other queries ran else-where).
In-fact, one I am seeing is:
{\"from\":0,\"size\":100,\"query\":{\"script_score\":{\"query\":{\"match_all\":{\"boost\":1.0}},\"script\":{\"source\":\"dotProduct(params.query_vector, doc['item_vector'])\",\"lang\":\"painless\",\"params\":{\"query_vector\":[vector data redacted]}},\"boost\":1.0}}}}]

Which looks as though the size/from are in the wrong part of the query?

Why do you think that? See documentation.

Hmm. Not sure in that case. Apologies for the noise.

I enabled trace log, but I'm not seeing a raw query for this being outputted (I am for some other queries ran else-where).

That should indicate that you're probably not going through that code path.
Anyway. I'm very sure that from and size are correct in the client. That'd be such an obvious problem—we should've seen that before over the last few years.

I was looking at res.Hits.TotalHits.Value thinking it was the results count! My bad! 🤦🏻♂