Image Flipping

Implementation of the same using opencv.
@geekquad,I see, Its not present in the folders. I want to  work on this issue under GSSoC'21.
Kindly assign this to me.

Go ahead @ainy-123.


AWS metadata request not compatible with v2

The metadata requests fail on AWS if instance metadata v1 is disabled on the host.
Description
When my app boots up the New Relic gem fires off requests to all known cloud provider metadata endpoints. The request to AWS uses the deprecated v1 request method. It is a best practice to not only use the v2 service but to disable access to v1 on hosts.
See:
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html
https://github.com/newrelic/newrelic-ruby-agent/blob/dev/lib/new_relic/agent/utilization/aws.rb
Expected Behavior
I expect New Relic to use the v2 metadata service.
Steps to Reproduce
Disable instance metadata v1 on your host and then start an app using any version of the New Relic gem.
Your Environment
My hosts are in AWS and have instance metadata v1 disabled
Additional context
For now I'm disabling requests to the metadata service completely to avoid the errors.

@lefthand Thank you for reporting this.  You're right, we need to bring the Agent code up to date with at least v2 API for AWS.
This is more than a simple fix.  It looks like we also need to refactor a bit to retrieve a valid token for issuing API calls on v2 endpoints.
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-identity-documents.html

I'm also looking for documentation on when v1 endpoints are EOL'd.  If anyone knows, please attach a link to this issue to help us prioritize.

Thanks for looking into this. I haven't seen any info on a possible EOL for v1, I'm sure it will be quite a while before it gets retired.

For us, this is a security concern. We'd like to disable IMDSv1 on our instances as defense-in-depth against SSRF / data exfiltration from the AWS metadata service. Disabling v1 is the recommended AWS best practice for security.

@woodhull Thank you for letting us know about your interest in this feature request. It's not scheduled to be part of our next release (8.0.0), but after that, we will talk with project management to see when this work should be prioritized for.

This is not on our short-term roadmap but we will evaluate this for one of our quarterly feature packs.

I'd like to upvote this for the same security reasons. It is a blocker for my employer as well.

Thanks to all for their continued persistence on this issue. We are internally QA'ing a few solutions to enable IMDSv2 on the Ruby Agent and will have a test branch ready soon. If anyone is available/interested in testing the solution, it would be a huge help to our team. We'll post the branch here when we're ready.

Hello! I wanted to let y'all know the feature can be tested by pointing your newrelic_rpm installation to the include_a_token_with_aws_imds_requests branch.
gem 'newrelic_rpm', git: 'https://github.com/newrelic/newrelic-ruby-agent.git', branch: 'include_a_token_with_aws_imds_requests'

Hey all. This change has also now gone out in version 8.5.0 of the agent gem now available from RubyGems.org


"Add Links" modal: Add spinner when search results are loading

Steps

Log in to osf.io
Navigate to one of your projects.
In the components widget, click on "Add Links."
Search all projects for "Psych".
From page 1 of the results, click to the last page of the results.
Notice the behavior.

Expected Behavior
I expect that while the page loads, I will see a spinner, as when logs are loading:

Actual Behavior
There are 28 pages of results in this example, and clicking between pages (especially from page 1 to page 28) takes awhile. While the load occurs, nothing appears to be happening. With more pages of results, the lack of a spinner informing the user what is going on becomes more noticeable. Blue highlighting of the page number doesn't occur until the load has finished, so the user doesn't know for sure if the request is being processed. Adding a spinner will enhance the user experience.

@lbanner There was a slight mix up and I should be assigned to this issue, could you do that?


🐞 - PHP requires an opening tag for syntax highlighting to work

Which @codeimage/* package(s) are the source of the bug?
codeimage
Please provide a screenshot or a video to a minimal reproduction of the bug
No response
Description
PHP requires an opening tag (i.e. <?php) for syntax highlighting to work. Without the tag the code will only be white.

Which browsers have you used?

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

Which operating systems have you used?

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

Released in https://github.com/riccardoperra/codeimage/releases/tag/v1.8.2 😄

Awesome, thank you!

@riccardoperra Highlighting without the opening tag is working as expected, however, now when the opening tag is included the tag is now highlighted in two different colors and I don't think this was intentional.

I don’t think this can be fixed, it seems that with this mode “php” is recognized as a keyword. This Depends on the theme


[Task]: remove /usage-pulse from /applications page

Is there an existing issue for this?

[X] I have searched the existing issues

SubTasks
As of today when you load app.appsmith.com, a /usage-pulse is fired, that should not happen.

Tracking invocations:

https://github.com/appsmithorg/appsmith/blob/release/app/client/public/logger.js#L84
https://github.com/appsmithorg/appsmith/blob/release/app/client/public/logger.js#L44
https://github.com/appsmithorg/appsmith/blob/release/app/client/public/logger.js#L47

All these result in calling punchIn, which calls sendPulse here
It is defined here: https://github.com/appsmithorg/appsmith/blob/release/app/client/public/logger.js#L27-L35

Problematic /usage-pulse

login page
signup page
applications page

Instead of a blocklist, can we use allowlist that contains only one input: /app/ in url?


Automatic events deletion

Need to implement a logic to automatic delete logs in MongoDB, according to a new setting in config.yaml. It must be done in MongoDBRecordHandler.

And events, probably.

No more logs in MongoDB, so I need to delete outdated events only.


default version should be "1.0", not "WARC/1.0"

https://github.com/jedireza/warc/blob/b2b9dfca0d81ed5a91e0016ea89022caf5283ec4/src/record.rs#L609
WarcWriter already writes WARC/ in the headers, so setting the version to WARC/1.0 prints WARC/WARC/1.0 in the header.
also, shouldn't version be an enum? :)

Good catch and thank for reporting! I created https://github.com/jedireza/warc/pull/39 to fix.

also, shouldn't version be an enum? :)

I don't think so because the version could be arbitrary. For example:
https://github.com/jedireza/warc/blob/b2b9dfca0d81ed5a91e0016ea89022caf5283ec4/src/parser.rs#L132-L135


update alt server certs guide

@dovholuknf ready for review

This rewrite was a failed attempt to partially answer the issue about documenting bring-your-own-pki. We should use that issue to organize and focus efforts on the various topics the issue represents. It's a broad issue, so we should peel off pieces of that which can be addressed with a particular type of doc, like a guide, explainer, or tutorial.

I don't know what the thumbs up emoji means. Is the plan to remove this file entirely?


adding support for APC 40 MK II

has correct init string for Mode 2

Manual (APC40Mk2_Communications_Protocol_v1.2.pdf) confirms the message. I can't test it more than that.


Request without POST or GET

Hi @ewolff ,
We followed your recommendations from this issue and found a few instances of request method without get or post
Source:
https://github.com/ewolff/microservice-istio/blob/7f014b319b3bdc8c704dfd3c8c927c3ad9e94d5b/microservice-istio-demo/microservice-istio-invoicing/src/main/java/com/ewolff/microservice/invoicing/web/InvoiceController.java#L28
and
https://github.com/ewolff/microservice-istio/blob/7f014b319b3bdc8c704dfd3c8c927c3ad9e94d5b/microservice-istio-demo/microservice-istio-order/src/main/java/com/ewolff/microservice/order/logic/OrderRestController.java#L36
and
https://github.com/ewolff/microservice-istio/blob/7f014b319b3bdc8c704dfd3c8c927c3ad9e94d5b/microservice-istio-bonus/src/main/java/com/ewolff/microservice/bonus/web/BonusController.java#L28
and
https://github.com/ewolff/microservice-istio/blob/7f014b319b3bdc8c704dfd3c8c927c3ad9e94d5b/microservice-istio-demo/microservice-istio-order/src/main/java/com/ewolff/microservice/order/logic/OrderController.java#L45
and
https://github.com/ewolff/microservice-istio/blob/7f014b319b3bdc8c704dfd3c8c927c3ad9e94d5b/microservice-istio-demo/microservice-istio-shipping/src/main/java/com/ewolff/microservice/shipping/web/ShippingController.java#L28
and
https://github.com/ewolff/microservice-istio/blob/7f014b319b3bdc8c704dfd3c8c927c3ad9e94d5b/microservice-istio-demo/microservice-istio-invoicing/src/main/java/com/ewolff/microservice/invoicing/web/InvoiceController.java#L28

As mentioned https://github.com/ewolff/microservice/issues/28#issuecomment-654375293 I don't think this is a security problem. Please reopen if you have different information. Thanks.


Add default peer host for peer task

Signed-off-by: Jim Ma<EMAIL_ADDRESS>
Description

Related Issue

Motivation and Context

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation Update (if none of the other choices apply)

Checklist:

[ ] Code compiles correctly.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Codecov Report

Merging #437 (959f3d7) into main (eae954f) will decrease coverage by 0.11%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main     #437      +/-   ##
==========================================
- Coverage   38.07%   37.95%   -0.12%
==========================================
  Files          80       80
  Lines        6279     6283       +4
==========================================
- Hits         2391     2385       -6
- Misses       3551     3556       +5
- Partials      337      342       +5

Flag
Coverage Δ

unittests
37.95% <0.00%> (-0.12%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

client/daemon/peer/peertask_manager.go
18.84% <0.00%> (-0.57%)
:arrow_down:

client/daemon/peer/peertask_stream_callback.go
62.02% <0.00%> (-2.54%)
:arrow_down:

client/daemon/peer/peertask_base.go
32.76% <0.00%> (-0.73%)
:arrow_down:

client/daemon/peer/peertask_stream.go
55.71% <0.00%> (-0.37%)
:arrow_down:


Fix kivy deprecation warning on Scale().scale property

Kivy 1.6.0 deprecated the scale property of graphics.Scale objects, which triggers a log warning when MPF renders a text widget.
This PR changes the text widget syntax to explicitly assign the x,y,z scale values according to the desired scale factor.
The x, y, and z properties of graphics.Scale have existing as long as scale has, so there is little risk of backwards-breaking changes.

Thanks!


A question on logic of setting/getting attributes

Problem:
According to code in the library, there is possibility to change validators after it's instantiation... Which breaks logic of library, and produces bugs. However, logic in the code does not work at all (at least with Python 2, haven't tested behavior in Python 3 yet), because we can change validators only at instance level, what causes to validator break down completely. After such "mutation" it becomes fully unusable, so it is a bug.
Possible solution:
My proposal is to remove possibility to change validator after it's creation, and replace it with possibility to mutate data passed to class using this api. In my opinion, the declarative way to implement validator means that you are not able to change it afterwards, and sometimes there should be possibility to change data after validation (it will smell not good, but at least have a bit of sense, unlike current implementation) :smile:.
Example of usage should be like this:
class GreatValidator(TrafaretValidator):
    id = t.Int()
    name = t.String(allow_empty=False)

...

vld = GreatValidator(**json.loads(request.data))  # request.data = '{"id": 1}'
if not vld.validate():
    if 'name' in vld.errors:
        vld.name = 'Anonymous'
    if vld.validate():
        abort(412)
author = Author(id=vld.id, name=vld.name)  # <Author id=1 name="Anonymous">

You can't reassign trafaret variable, look at setattr:
def __setattr__(self, name, value):
    if name in self._validators.keys():
        raise AttributeError('Cannot reassign validator.')

If you need return another value if data is not valid, you can do as in this example:
def name_validator(value):
    if value is None:
        return  'Anonymous'
    return check_and_return_str(value)

Well, after testing this thing in Python2.7 I got some strange behavior, you can check it out here. I presume, it's a bug :bug:
The case of custom value looks good, so is there any sense in possibility to actually write some changes to validator or it's instance?

Ok, I understand you. Will solve it with 0.3.8 version


Any support or help to implement this endpoint from Objects?

I want to be able to get all the objects from a particular bucket like the below documentation
https://cloud.google.com/storage/docs/json_api/v1/objects/list
Can this be implemented? I am trying to add it to the current code, but I need some help understanding how to go about this

I think this is the API you want.
https://github.com/yoshidan/google-cloud-rust/blob/main/storage/src/http/storage_client.rs#L1695

Yes thank you, this is exactly what I was looking for!

I think this is the API you want. https://github.com/yoshidan/google-cloud-rust/blob/main/storage/src/http/storage_client.rs#L1695


joint strain limits, after which they break

I know I can make a system to do this, but it seems like it'd be nice for bevy_xpbd to take care of it. I'd like to configure the maximum strain a joint can take when pushed past its limits — either those restricted by the joint type, or by the configured limits of the joint within its allowed free rotations or translations.
I am imaging that this could do one of three things (possibly configurable per joint):

If the joint exceeds any limit, destroy it.
If the joint exceeds a restriction of the joint type, destroy it. If it exceeds the configured aligned or free limit, remove that limit (so now e.g. a turnstyle can spin freely).
Do nothing, but send an event. This event should include what constraint is overpowered, so a system can respond appropriately.

3 is obviously the most powerful, but I can definitely think of cases where simply doing 1 or 2 would be handy.

One option would be to do it like PhysX. A joint will break when the force or torque exceeds some user-defined threshold. Broken joints aren't simulated, but they're not despawned automatically, so you could re-enable them if you wanted to.
In our case, I think a flexible and ergonomic way to handle breakage would be to add a component like JointBroken when the joint is broken. This way, or constraint systems can just skip them using Without<JointBroken>, users can detect breakage with Added<JointBroken>, and people can "unbreak" joints by simply removing the component. Events could be used as well, but I think you can achieve the same result in a more flexible and efficient way with a component

Yeah, that makes sense.
I admit I'm thinking further than anything I have a current practical use for, but I like the idea of having different break conditions — forcing a crank or lever past its limit as something different than yanking it from the wall. Maybe this could be something like LimitBroken?
Am I over-thinking?

I think it's better to have one simple component responsible for joint breaking behavior rather than having several different components with subtle differences that may be confusing for users. The component should have logical default behavior, like breaking when a force threshold is reached, since I feel like that's the most common use-case (like tearing a rope or cloth, or pulling the cork on a bottle).
The nice thing about having it as a component is that you could just override the default behavior and do whatever you want, like the "break on limit exceeded" case you're describing. You could just create a system that adds the JointBroken component when the desired criteria is met, like pulling a lever too far.

In keeping with the joint constraint compliance thoughts, even without  having different events or components for different types of breakage, it would be nice to have different limits in every axis and rotation. Or, at least, distinguish between the constrained/free (or limited) movements. (Except for distance joint!)

We can have separate compliances and breaking thresholds for "locked" axes and the limits, but not for each individual translational/rotational axis, because it would probably be a lot more expensive. Currently, e.g. the prismatic joint can combine the corrections along both locked translational axes into one operation, but if they had different compliances (or forces, which are required for the breakage), the axes would have to be handled separately.

Or it's technically not that expensive actually; it would have to do just the computation below two or three times instead of once, and it's pretty cheap
let tilde_compliance = compliance / dt.powi(2);
(-c - tilde_compliance * lagrange) / (w_sum + tilde_compliance)

Another issue is that the joint structs already have a lot of properties (look at e.g. SphericalJoint). and per-axis compliance and breaking thresholds would add even more. Each joint type also has different limits and DOFs, so the code isn't currently shared much. We also can't have a nice trait method for things like the breaking thresholds of different axis limits, so the breaking system would have to be implemented separately for each joint instead of using generics.
What we could do is have something like Rapier's GenericJoint that can be used for pretty much all joint types with configuration for each translational and rotational axis. Something like this rough outline:
struct GenericJoint {
    locked_translational_axes: [Option<JointAxis>; 3],
    locked_rotational_axes: [Option<JointAxis>; 3],
    limits: [Option<JointLimit>; 3],
    motors: [Option<JointMotor>; 3],
}

struct JointAxis {
    compliance: Scalar,
    lagrange: Scalar,
    force: Scalar,
    break_threshold: Scalar,
}

struct JointLimit {
    min: Scalar,
    max: Scalar,
    compliance: Scalar,
    lagrange: Scalar,
    force: Scalar,
    break_threshold: Scalar,
}

Then, e.g. PrismaticJoint would just have two locked translational axes and three locked rotational axes, and they could all be configured individually (same for motors, one per axis). If this was possible to do efficiently with XPBD, it would reduce code duplication significantly while also making it much easier to make new joint types since all of the DOFs would be handled by the single joint type. Not sure how viable it is, but maybe worth experimenting with

What we could do is have something like Rapier's GenericJoint that can be used for pretty much all joint types with configuration for each translational and rotational axis. Something like this very rough outline:

Yeah, when I started actually looking at the implementation yesterday, that's what I expected. I can't think of anything that would make it impossible for xpbd, but it's a pretty big refactor.

Yep, it's a big refactor, but it would be a pretty big improvement in terms of customizability, usability and maintainability, and it's better to do sooner rather than later (assuming it is possible in XPBD; I don't see why it wouldn't be).
I'll see if I can get an MVP working over the weekend. With a generic joint like this, implementing the limits, breaking thresholds and joint motors would be significantly easier as we don't need to implement them separately for each joint type. I'd like joint improvements to be a major focus for 0.4, and I think this could be the first step.


docs: Mention probably needing to allow port 22 for SSH access.

Self-review checklist

[ ] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[ ] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[ ] Each commit is a coherent idea.
[ ] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ ] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

Merged, thanks @alexmv! I think it's reasonable to immediately backport this one.

Backported to 6.x as cfae101805b8f9ce90b86066a974a57285b07336.


Update dserver.sh to allow ./some/path/to/dserver.sh

Thanks! I'm back porting it also in 2.0.3 hotfix ;-)

Thanks :+1:


Release v0.8.1

Should we update the class hashes in the codumentation in here as well?

Not really, this should be done whenever we update the compiler version, as documented. I'll try to exceptionally update them in here.

One suggestion, I think is worth creating the release branch PR from a fork, instead of directly pushing to the repo, because the docsite is automatically updated with the latter (it currently shows 0.8.1 even when the PR hasen't been reviewed), and this could be confusing to users.

this is the same reason we protected the branch. I think we should use an alternative branch, not depending on us creating the branch from a fork. I wonder whether we should change the docsite config so it pulls the tag instead of the commit branch. I think we need to thing this further and I'd rather not block this release because of this.

Not really, this should be done whenever we update the compiler version, as documented. I'll try to exceptionally update them in here.

But in this case, we are updating the compiler version from 2.3.1 to 2.4.1, right?

Indeed. I was just stating that it's not the standard procedure to do it in these PRs.


fixed two bugs in ansys_simulator.py

two commits by accident because only committed one file in the first commit, then committed all of the other files in the second commit

changes were made.


zoomed images create white block

images that are zoomed have white tiles that don't render. maybe has something to do with caching?
https://specialcollections.du.edu/object/37f61137-6a16-4731-835e-1f361eae8047
https://specialcollections.du.edu/object/34a0d158-f8fe-499c-b18a-73a29183a59a
https://specialcollections.du.edu/object/0db7d128-8271-4109-bdfb-e53544c16633
https://specialcollections.du.edu/object/9604c399-627f-4ed6-9960-67f4a6478c86

we should just upgrade cantaloupe to 4.1.6
see tilesize issue https://github.com/cantaloupe-project/cantaloupe/issues/380

can you update the documentation and config file, and also indicate the version we're using in README.

issue now fixed, to document

duplicates of https://github.com/dulibrarytech/digitaldu-frontend/issues/347


Night vision onboard module connections

I have installed the plugin and am trying to connect it to my Night vision 5mp camera module (Though the onboard IO connection). Ive looked around and can not find the code to connect it .. I need the code for the “Source” part.
I’m trying to make a baby monitor for my sons room.
Many Thanks

Logs:

Show the Homebridge logs here.
Remove any sensative information.

Homebridge Config:
Show your homebridge config.json here.
Remove any sensitive information, such as your homebridge-gsh / google-smarthome token.

Screenshots:

Environment:

Node.js Version:
NPM Version:
Homebridge Version:
Homebridge Camera FFmpeg Version:
Homebridge Config UI X Plugin Version:
Operating System:

Bump


Dialog does not appear on single click of EditText

When this functionality is set to appear onClickListener set on an EditText, the dialog does not seem to appear unless you make a consecutive second click on the same EditText. I am using both Date and Time picker. I tried using onTouchListener but that would execute the command for more than once, i.e the dialog appears twice.

@bapu-nawaz I am also facing this issue. How did you fix that?

You shouldn't use an EditText as a Button.
It clashes with the built-in event listeners.


refactor: springframework dependencies multi module

I would change the repo name to quarkus-spring-api as it aims to wrap or include the dependencies under org.springframework groupId.
This goes with this commit
WDYT?

Is this what was discussed with @cescoffier?

yes

I'm fine with it if the @cescoffier and @gsmet are


How to hire or be hired

Is this more of a what hiring managers look for? Or methodologies for both? Because that could be a really big article.
I'd be pretty interested in hearing about a "good" interview process.

I was thinking both, but you're right this should be two separate ones.

First of many at http://adamweiss.me/leadership/hiring-people-shouldnt-be-this-hard/


Attempt to fix test-upgrade.py under strict confinement

Summary
Call tests from /root instead of /var/tmp.
Addresses the following issue in strict confinement:
15:53:51  Retrying /snap/bin/microk8s.kubectl apply -f /var/tmp/tests/templates/ingress.yaml
15:53:54  error: open /var/tmp/tests/templates/ingress.yaml: permission denied
15:53:54
15:53:54  Will not test ingress

Thank you @neoaggelos, please backport this work to the strict branch with a rebase.


MudBlazor Table does not perform row click to select with Inline Edit and EditTrigger = TableEditTrigger.EditButton

Bug type
Component
Component name
MudTable
What happened?
For a MudTable with Inline Edits enabled and it's EditTrigger set to TableEditTrigger.EditButton, click on a row fails to update the selected item. If you change the EditTrigger to TableEditTrigger.RowClick, clicking on a row updates the selected item.
Expected behavior
If using EditButton, clicking on a row would continue to set the bound selected item.
Reproduction link
https://try.mudblazor.com/snippet/GucmFFvqJSSEGbdB
Reproduction steps

(You can also see this behavior in the MudBlazor docs: https://mudblazor.com/components/table#inline-edit-mode)
In the example, using the dropdown below the table labeled "Edit Trigger" and set the value to "Edit Button"
Click on rows in the table, notice the value of "Selected1" never updates.
Set the Edit Trigger to "Row Click"
Click on rows in the table, notice the value of "Selected1" NOW updates.
Switch edit Trigger back to "Edit Button"
Click on rows in the table, notice that "Selected1" again does not update.
...

Relevant log output
No response
Version (bug)
6.0.18
Version (working)
No response
What browsers are you seeing the problem on?
Chrome, Microsoft Edge
On what operating system are you experiencing the issue?
Windows, Linux
Pull Request

[ ] I would like to do a Pull Request

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Issue in #5467.


Test failure: NonListenerPipeConnectionsAreLoggedAndIgnored

This test fails occasionally with the following error:
System.IO.InvalidDataException : No StatusCode found in ''
   at Microsoft.AspNetCore.Testing.HttpClientSlim.GetStatus(String response)
   at Microsoft.AspNetCore.Testing.HttpClientSlim.ReadResponse(Stream stream)
   at Microsoft.AspNetCore.Testing.HttpClientSlim.GetStringAsync(Uri requestUri, Boolean validateCertificate)
   at Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Tests.ListenerPrimaryTests.AssertResponseEventually(Uri address, String expected, String[] allowed, Int32 maxRetries, Int32 retryDelay) in /_/test/Kestrel.Transport.Libuv.Tests/ListenerPrimaryTests.cs:line 281
   at Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Tests.ListenerPrimaryTests.NonListenerPipeConnectionsAreLoggedAndIgnored() in /_/test/Kestrel.Transport.Libuv.Tests/ListenerPrimaryTests.cs:line 140
--- End of stack trace from previous location where exception was thrown ---

Other tests within that build may have failed with a similar message, but they are not listed here. Check the link above for more info.
This test failed on 2.2.
CC @muratg
This issue was made automatically. If there is a problem contact ryanbrandenburg.

Please use this workflow to address this flaky test issue, including checking applicable checkboxes and filling in the applicable "TODO" entries:

Is this actually a flaky test?

No, this is a regular test failure, fix the test/product (TODO: Link to commit/PR)
Yes, proceed below...

Is this test failure caused by product code flakiness? (Either this product, or another product this test depends on.)

[ ] File a bug against the product (TODO: Link to other bug)
Is it possible to change the test to avoid the flakiness?

Yes? Go to the "Change the test!" section.
No?

[ ] Disable the test (TODO: Link to PR/commit)
[ ] Wait for other bug to be resolved
[ ] Wait for us to get build that has the fix
[ ] Re-enable our test (TODO: Link to PR/commit)
[ ] Close this bug

Is it that the test itself is flaky? This includes external transient problems (e.g. remote server problems, file system race condition, etc.)

Is there is a way to change our test to avoid this flakiness?

Yes? Change the test!

[ ] Change the test to avoid the flakiness, for example by using a different test strategy, or by adding retries w/ timeouts (TODO: Link to PR/commit)
[ ] Run the test 100 times locally as a sanity check.
[ ] Close this bug

No?

Is there any logging or extra information that we could add to make this more diagnosable when it happens again?

Yes?

[ ] Add the logging (TODO: Link to PR/commit)

No?

[ ] Delete the test because flaky tests are not useful (TODO: Link to PR/commit)

This comment was made automatically. If there is a problem contact ryanbrandenburg.

NonListenerPipeConnectionsAreLoggedAndIgnored failed with about the same error on 2.2.
This comment was made automatically. If there is a problem contact ryanbrandenburg.

There were 1 failures with about the same error on 2.2:

NonListenerPipeConnectionsAreLoggedAndIgnored

This comment was made automatically. If there is a problem contact ryanbrandenburg.

@JunTaoLuo could you take a look please?

This is another manifestation of empty responses on macOS. I'll add functionality to retry tests since this is an OS level bug we can't fix and we don't want to lose test coverage.

This comment was made automatically. If there is a problem contact ryanbrandenburg.
There were 1 failures with about the same error on 2.1 at 10:47:21 PM:

NonListenerPipeConnectionsAreLoggedAndIgnored

This comment was made automatically. If there is a problem contact ryanbrandenburg.
There were 1 failures with about the same error on master at 6:54:43 PM:

CanRebindToMultipleEndPoints


(chromium) Outdated stable version

Today, I am trying to install the latest STABLE version of Chromium but the installed version is outdated.
Expected Behavior
Today the latest stable version of Chromium is 70.0.3538.77
Your updater works nicely but the install is wrong.
Your updater: https://github.com/chocolatey/chocolatey-coreteampackages/blob/master/automatic/chromium/chromium.json --> OK
The installed version is: 64.0.3282.168 --> Outdated STABLE version.

You can see the same outdated STABLE version on your site:

https://chocolatey.org/packages?q=Chromium
https://chocolatey.org/search?q=Chromium

Possible Solution
The latest stable version of Chromium should be 70.0.3538.77.
Steps to Reproduce (for bugs)
To reproduce it, just install Chromium stable.
choco install chromium-stable
Your Environment

Package Version used: Chromium stable
Operating System and version: Windows 10 Pro 1803
Chocolatey version: v0.10.11
Install/uninstall gist:

I think there may be some misunderstanding here.
The chromium-stable package is not the same as the chromium package maintained here in this repository.
The one you're actually looking for is just called chromium. When you don't use --pre when calling chocolatey, you'll get the latest stable version of chromium (with that argument, you'll get the latest snapshot).

Hello AdmiringWorm,
No, I talk about the STABLE version, not the development version. Please, check my screenshots. They are all about the STABLE version.

@woolyss, afaik, chroimum is about dev and stable versions, stable are default, dev with --pre switch.
chromium-stable hasn't updated since February 2018 so it's no point in keeping this outdated package on https://chromium.woolyss.com. chroimum has 460K downloads, chromium-stable — 2.5K
What is not clear is why chromium-stable is still there with no warning of any kind when it's obvious it's outdated and abandoned, maybe @AdmiringWorm can explain this.

@woolyss as @mikhaelkh said, the chromium package contains both stable and dev versions.
The chromium-stable package was created by a completely different maintainer, and isn't actually maintained in this repository at all (although the person maintaining that package, contributed to the current update script we're using here).
AFAIK, the chromium-stable package was actually supposed to be deprecated when the original chromium package managed to hit the actual stable release, which it have.
@mikhaelkh I can't actually answer that, since that package is maintained by someone else, that question needs to be directed to him.
Anyhow, below I'll try to answer some of your edited questions:

I agree with your suggestion but the chocolatey.org pages about Chromium are very unclear.

I do agree here, and I also know that this is caused by a bug in the website code.
What's supposed to happen, is that the latest stable version to be shown by default. I believe there is an open issue about this over at: https://github.com/chocolatey/chocolatey.org/issues
But unfortunately I'm unable to find it right now. If there isn't I would suggest to open an issue regarding this there.

You should create better URL page like:
chocolatey.org/packages/chromium about the STABLE version
chocolatey.org/packages/chromium-snapshots about the DEV version

I don't create any urls, I only help out maintaining packages listed in this repository (as well as some in my own repository).
A new url, would actually result in a new package being created, or in other words a duplicate package (which is what we try to avoid when possible, which is why snapshot/dev builds is being provided with a pre-release version), and stable releases without it. (Unfortunately this wasn't always the case though)

Or update your exisiting chocolatey.org/packages/chromium-stable page.

I'm sorry, but we can't update something we don't actually maintain.
This is something that needs to be directed to the maintainer of the chromium-stable package.
To give a little data with this, most of the packages on chocolatey.org is being provides by multiple maintainers (Most are volunteers, and not affiliated with chocolatey itself. Myself included). Everyone of them (well most of them anyhow) have their own repository where they maintain the packages they have pushed to chocolatey.org.

There is another issue about the DEV version on the chocolatey.org site.
Search chocolatey.org/packages?q=chromium
The first answer will be Chromium 70.0.3538.77 (This is the STABLE version number!!!!???)
You click on this link, it will open chocolatey.org/packages/chromium/70.0.3538.77 But it is a wrong result because this page should concern only DEV version. check Version History at the bottom page.
Sorry, nothing is clear on this page too.
I understand that you migrate different versions few month ago. But please, can you clarify that to help new users? Thank you very much.

Let me correct one thing here which I tried to explain in my previous comment.
The chromium package (the one you link to in the above quote) should contain both stable and development versions, all development versions have the following prefix added to the their version (-snapshots), which is done to prevent chocolatey to install development versions by default.
SO basically, yes that exact link you provided is meant to be the stable release.
And regarding the Version history, if you click on the More link and scroll down you'll actually see versions without the snapshots in the version.

Moreover, nothing to do with this issue but you can update the Chromium logo too.
commons.wikimedia.org/wiki/File:Chromium_Material_Icon.png

Thank you, I don't usually look at application icons, so I hadn't noticed this. I'll make sure it gets added to future package versions of chromium

Thank you very much @AdmiringWorm and @mikhaelkh for your detailed explanation. All is clear now.  I will open an issue regarding the website issue about Chromium pages.

I will open an issue regarding the website issue about Chromium pages.

Please make sure that an issue doesn't exist already (I believe there may be one)

Anyhow, I'll be closing this issue. As it isn't related to the package we're maintaining


Giving wrong GitHub PAT -> repository analysis progress notification keeps on loading

@vineetmimrot this was fixed, right?


Heart beat check causes intermittent test failures

JENKINS-48300 issue seems to cause intermittent build failures
https://ci.adoptopenjdk.net/job/Test_openjdk13_hs_sanity.openjdk_x86-64_mac/49/console
07:27:54  Cannot contact test-macincloud-macos1013-x64-2: java.lang.InterruptedException
07:35:37  wrapper script does not seem to be touching the log file in /Users/jenkins/workspace/Test_openjdk13_hs_sanity.openjdk_x86-64_mac@tmp/durable-d48b539f
07:35:37  (JENKINS-48300: if on an extremely laggy filesystem, consider -Dorg.jenkinsci.plugins.durabletask.BourneShellScript.HEARTBEAT_CHECK_INTERVAL=86400)

Seems the bug on Jenkins has been resolved. Does anybody know if this issue still affects our builds?

I have not seen this recently at all, so agree it can be closed.


Add URLHaus API

[x] My submission is formatted according to the guidelines in the contributing guide
[x] My addition is ordered alphabetically
[x] My submission has a useful description
[x] The description does not end with punctuation
[x] Each table column is padded with one space on either side
[x] I have searched the repository for any relevant issues or pull requests
[x] Any category I am creating has the minimum requirement of 3 items
[ ] All changes have been squashed into a single commit

your welcome @matheusfelipeog  :+1:


cmd/compile: loop & recursion in named closure yields panic or unexpected behavior

What version of Go are you using (go version)? What operating system and processor architecture are you using?

Run the following program:
package main

import "fmt"

func main() {
	// Just run test over and over again. This main func is just for
	// convenience; if test were the main func, we could also trigger
	// the panic just by running the program over and over again
	// (sometimes it takes 1 time, sometimes it takes ~4,000+).
	for iter := 0; ; iter++ {
		if iter%50 == 0 {
			fmt.Println(iter)
		}
		test(iter)
	}
}

func test(iter int) {

	const maxI = 500
	m := make(map[int][]int)

	// The panic seems to be triggered when m is modified inside a
	// closure that is both recursively called and reassigned to in a
	// loop.
	var fn func()
	for i := 0; i < maxI; i++ {
		j := 0
		fn = func() {
			m[i] = append(m[i], 0)
			if j < 25 {
				j++
				fn()
			}
		}
		fn()
	}

	if len(m) != maxI {
		panic(fmt.Sprintf("iter %d: maxI = %d, len(m) = %d", iter, maxI, len(m)))
	}
}

Note: The constants are not special; as long as they are sufficiently large (above ~5), the behavior is exhibited.

What did you expect to see?

The program should continue iterating indefinitely without triggering the panic at the end of func test, and indeed without panicking at all.

What did you see instead?

On Go 1.5.2 and Go 1.6beta1 on darwin-amd64 and linux-amd64, the panic at the bottom of func test is triggered after anywhere between 1 and 4,000 iterations. Sometimes some other panics are seen (see "Clues" below).
This is a possible compiler bug.
It continues iterating indefinitely without panics (as expected) on gccgo 4.9.1 on linux-amd64 and on GopherJS.
Thanks to @shurcooL for help in reproducing and isolating this issue.

Clues
If you move the var fn func() declaration to inside the loop, it reliably succeeds.
If you add the following before the if len(m) != maxI { check, it reliably succeeds.
v := fmt.Sprint(m)
_ = v

Also, sometimes instead of the usual panic at the end of func test, I see this panic:
...
1250
1300
fatal error: concurrent map read and map write

goroutine 1 [running]:
runtime.throw(0x118780, 0x21)
	/usr/local/go/src/runtime/panic.go:530 +0x90 fp=0xc8201c9ae0 sp=0xc8201c9ac8
runtime.mapaccess1_fast64(0xb7e60, 0xc820313d28, 0x1a, 0xfa0000c8201b8048)
	/usr/local/go/src/runtime/hashmap_fast.go:112 +0x5a fp=0xc8201c9b00 sp=0xc8201c9ae0
main.test.func1()
	/Users/sqs/src/sourcegraph.com/sourcegraph/srclib/qqqq.go:28 +0x63 fp=0xc8201c9b98 sp=0xc8201c9b00
main.test.func1()
	/Users/sqs/src/sourcegraph.com/sourcegraph/srclib/qqqq.go:31 +0x10f fp=0xc8201c9c30 sp=0xc8201c9b98
main.test(0x51c)
	/Users/sqs/src/sourcegraph.com/sourcegraph/srclib/qqqq.go:34 +0x1e3 fp=0xc8201c9ee0 sp=0xc8201c9c30
main.main()
	/Users/sqs/src/sourcegraph.com/sourcegraph/srclib/qqqq.go:13 +0x119 fp=0xc8201c9f60 sp=0xc8201c9ee0
runtime.main()
	/usr/local/go/src/runtime/proc.go:185 +0x2b0 fp=0xc8201c9fb0 sp=0xc8201c9f60
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1998 +0x1 fp=0xc8201c9fb8 sp=0xc8201c9fb0

I have also seen the following panic (less common):
SIGILL: illegal instruction
PC=0x9a2b m=0

goroutine 1 [running]:
runtime.mapassign1(0xc0740, 0xc8200bdd88, 0xc8201f7b30, 0xc8201f7b50)
    /usr/local/go/src/runtime/hashmap.go:446 +0x1fb fp=0xc8201f7af0 sp=0xc8201f7a48

I'll add some more details that haven't been mentioned already.
We've tried running with -race flag to enable race detector, and it did not catch issues. Which is not surprising because there's no concurrency in the sample program.
However, some of the panics/errors like "fatal error: concurrent map read and map write" make it sound as if concurrency is somehow involved.
Also, since func test operates on local variables only, it should be safe to run it concurrently:
for iter := 0; ; iter += 4 {
        if iter%50 == 0 {
            fmt.Println(iter)
        }
        go test(iter)
        go test(iter)
        go test(iter)
        test(iter)
    }

In my testing, doing that makes the gc compiler result in a panic much, much sooner (well under 50 iterations in most cases). The 2 other compilers I've tried (gccgo and gopherjs) continue to work without panics, so it's only gc compiler that is exhibiting this behavior.

CC @dr2chase
Could possibly be an escape analysis problem.

This is weird.
Here's the escape report (-gcflags -m) for the failing version and not-failing version, with common
lines intended
drchase-macbookair:tmp drchase$ go build -gcflags -m b13799.go
# command-line-arguments
   ./b13799.go:41: iter escapes to heap
   ./b13799.go:41: maxI escapes to heap
   ./b13799.go:41: len(m) escapes to heap
./b13799.go:30: func literal escapes to heap
./b13799.go:30: func literal escapes to heap
./b13799.go:27: moved to heap: i
./b13799.go:31: &i escapes to heap
./b13799.go:29: moved to heap: j
./b13799.go:32: &j escapes to heap
./b13799.go:26: moved to heap: fn
./b13799.go:34: &fn escapes to heap
./b13799.go:30: func literal escapes to heap
./b13799.go:30: func literal escapes to heap
./b13799.go:31: &i escapes to heap
./b13799.go:32: &j escapes to heap
./b13799.go:34: &fn escapes to heap
   ./b13799.go:21: test make(map[int][]int) does not escape
   ./b13799.go:41: test ... argument does not escape
   ./b13799.go:12: iter escapes to heap
   ./b13799.go:12: main ... argument does not escape

(this is the working one)
drchase-macbookair:tmp drchase$ go build -gcflags -m b13799.go
# command-line-arguments
   ./b13799.go:41: iter escapes to heap
   ./b13799.go:41: maxI escapes to heap
   ./b13799.go:41: len(m) escapes to heap
   ./b13799.go:21: test make(map[int][]int) does not escape
./b13799.go:30: test func literal does not escape
   ./b13799.go:41: test ... argument does not escape
   ./b13799.go:12: iter escapes to heap
   ./b13799.go:12: main ... argument does not escape

My guess is that the bug occurs when the function escapes to heap but the map does not, and then the stack moves (because of recursion) and the heap-allocated closure is not updated.


BOM for metrics?

I noticed there is no bom for metric artefacts, it could be nice to have one.
For example latest dropwizard uses metrics 3.2.2 and 3.2.3 was released: if I want to use latest version I have to add lots of dependency management just to force the version…

I think that's a good idea, thanks for suggesting it. I recently started to
extracting all metrics dependencies in one place in 4.0,  so I think I can
take a spin on the BOM artefact as well.
That's also a good reminder to upgrade Dropwizard's dependency on metrics.


WIP Update config_rb_server.rst

@lbakerchef commented on Wed Aug 21 2019
postgresql['sslmode']
SSL encryption mode between Chef Server and PostgreSQL.  Valid settings are 'disable' (off) and 'require' (on).  Default value: 'disable'.

@IanMadd commented on Wed Aug 21 2019
Hi @lbakerchef, can you add your DCO sign-off  to this PR. Thanks!

https://github.com/chef/chef-web-docs/pull/2085


tags: parse "line:" and use it for search

Updates Daniel Hahler's (@blueyed) patch #2546, differently; addresses #1057.

Codecov Report

Merging #5232 into master will increase coverage by 0.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #5232      +/-   ##
==========================================
+ Coverage   82.07%   82.08%   +0.01%
==========================================
  Files         134      134
  Lines      147422   147427       +5
==========================================
+ Hits       120990   121019      +29
+ Misses      26432    26408      -24

Impacted Files
Coverage Δ

src/tag.c
79.31% <100%> (+0.05%)
:arrow_up:

src/if_xcmdsrv.c
85.99% <0%> (-0.18%)
:arrow_down:

src/ui.c
71.31% <0%> (-0.09%)
:arrow_down:

src/term.c
81.06% <0%> (-0.06%)
:arrow_down:

src/window.c
88.4% <0%> (+0.1%)
:arrow_up:

src/gui_gtk_x11.c
58.3% <0%> (+0.19%)
:arrow_up:

src/sign.c
94.77% <0%> (+0.26%)
:arrow_up:

src/netbeans.c
27.76% <0%> (+0.29%)
:arrow_up:

src/profiler.c
94.67% <0%> (+0.56%)
:arrow_up:

src/gui.c
64.35% <0%> (+0.56%)
:arrow_up:

Continue to review full report at Codecov.

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


Timezones like US/Pacific, America/Los_Angeles are not switching between PST and PDT

Describe the bug
I am unsure if this started recently (I believe it has, because we suddenly got multiple support tickets regarding this in the last 24 hours) but it appears that locale based timezones are not automatically switching to PDT. In the Heroku Dashboard, we are seeing all locale based timezones showing standard timezones (PST, EST, MST, etc.) rather than the daylight timezones despite currently being in Daylight Savings Time as of a few weeks ago.
Expected behavior
These timezones should be automatically switching between PST and PDT at daylight savings.
Screenshots

Label shows PST, and all times are off by one hour.
Moment-specific environment
US/Pacific
11:13AM PDT
Ember
Wed Mar 29 2023 11:12:37 GMT-0700 (Pacific Daylight Time)
VM291:2 3/29/2023, 11:12:37 AM
VM291:3 420
VM291:4 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
VM291:5 2.29.4```

Hi, can I be assigned to this issue?

Hi, can I be assigned to work on this issue?

Hi,
Having the same issue with 'Europe/Copenhagen' timezone. It looks like moment.js is still using the Standard Time (+01:00) instead of DST (+02:00)

Hi @kalina559, are you still having this issue in local development or just production?

@kenyaplenty in both

@kalina559 are you doing any specific checks between DST and standard time?

@kenyaplenty nope, just calling tz() on a utc date

This is something I'm also seeing for a number of different timezones. It seems that moment is not currently supporting DST at all for 2023 and beyond.
Example:
> let timeZone = 'America/Los_Angeles';
let winterDateStr = '2022-12-04T17:05';
let summerDateStr = '2022-06-04T17:05';
console.log('2022 Winter ISO Time  ' + moment.tz(winterDateStr, timeZone).toISOString());
console.log('2022 Winter is DST  ' + moment.tz(winterDateStr, timeZone).isDST());
console.log('2022 Summer ISO Time  ' + moment.tz(summerDateStr, timeZone).toISOString());
console.log('2022 Summer is DST  ' + moment.tz(summerDateStr, timeZone).isDST());

winterDateStr = '2023-12-04T17:05';
summerDateStr = '2023-06-04T17:05';
console.log('2023 Winter ISO Time  ' + moment.tz(winterDateStr, timeZone).toISOString());
console.log('2023 Winter is DST  ' + moment.tz(winterDateStr, timeZone).isDST());
console.log('2023 Summer ISO Time  ' + moment.tz(summerDateStr, timeZone).toISOString());
console.log('2023 Summer is DST  ' + moment.tz(summerDateStr, timeZone).isDST());

> 2022 Winter ISO Time  2022-12-05T01:05:00.000Z
 2022 Winter is DST  false
 2022 Summer ISO Time  2022-06-05T00:05:00.000Z
 2022 Summer is DST  true
 2023 Winter ISO Time  2023-12-05T01:05:00.000Z
 2023 Winter is DST  false
 2023 Summer ISO Time  2023-06-05T01:05:00.000Z
 2023 Summer is DST  false

This also seems related to this similar issue: https://github.com/moment/moment/issues/6114

@ismurray This is weird, but when I ran your code in my own environment, I received the following output:
2022 Winter ISO Time  2022-12-05T01:05:00.000Z
2022 Winter is DST  false
2022 Summer ISO Time  2022-06-05T00:05:00.000Z
2022 Summer is DST  true
2023 Winter ISO Time  2023-12-05T01:05:00.000Z
2023 Winter is DST  false
2023 Summer ISO Time  2023-06-05T00:05:00.000Z
2023 Summer is DST  true

I also tried it with 'Europe/Copenhagen' to test @kalina559 's issue and I got:
2022 Winter ISO Time  2022-12-04T16:05:00.000Z
2022 Winter is DST  false
2022 Summer ISO Time  2022-06-04T15:05:00.000Z
2022 Summer is DST  true
2023 Winter ISO Time  2023-12-04T16:05:00.000Z
2023 Winter is DST  false
2023 Summer ISO Time  2023-06-04T15:05:00.000Z
2023 Summer is DST  true

Am I perhaps missing something? Could you try running your code again to see if the error is still occurring?

@sanchej this may seem like a silly question, but are you potentially using moment-timezone instead of moment? I ask because this works correctly for me with moment-timezone, but not with moment.
moment:
import moment from 'moment';
// ...

> let timeZone = 'America/Los_Angeles';
let winterDateStr = '2022-12-04T17:05';
let summerDateStr = '2022-06-04T17:05';
console.log('2022 Winter ISO Time  ' + moment.tz(winterDateStr, timeZone).toISOString());
console.log('2022 Winter is DST  ' + moment.tz(winterDateStr, timeZone).isDST());
console.log('2022 Summer ISO Time  ' + moment.tz(summerDateStr, timeZone).toISOString());
console.log('2022 Summer is DST  ' + moment.tz(summerDateStr, timeZone).isDST());

winterDateStr = '2023-12-04T17:05';
summerDateStr = '2023-06-04T17:05';
console.log('2023 Winter ISO Time  ' + moment.tz(winterDateStr, timeZone).toISOString());
console.log('2023 Winter is DST  ' + moment.tz(winterDateStr, timeZone).isDST());
console.log('2023 Summer ISO Time  ' + moment.tz(summerDateStr, timeZone).toISOString());
console.log('2023 Summer is DST  ' + moment.tz(summerDateStr, timeZone).isDST());

> 2022 Winter ISO Time  2022-12-05T01:05:00.000Z
 2022 Winter is DST  false
 2022 Summer ISO Time  2022-06-05T00:05:00.000Z
 2022 Summer is DST  true
 2023 Winter ISO Time  2023-12-05T01:05:00.000Z
 2023 Winter is DST  false
 2023 Summer ISO Time  2023-06-05T01:05:00.000Z
 2023 Summer is DST  false

moment-timezone:
import moment from 'moment-timezone';
// ...

let timeZone = 'America/Los_Angeles';
let winterDateStr = '2022-12-04T17:05';
let summerDateStr = '2022-06-04T17:05';
console.log('Winter ISO Time  ' + _momentTimezone.tz(winterDateStr, timeZone).toISOString());
console.log('Winter is DST  ' + _momentTimezone.tz(winterDateStr, timeZone).isDST());
console.log('Summer ISO Time  ' + _momentTimezone.tz(summerDateStr, timeZone).toISOString());
console.log('Summer is DST  ' + _momentTimezone.tz(summerDateStr, timeZone).isDST());

winterDateStr = '2023-12-04T17:05';
summerDateStr = '2023-06-04T17:05';
console.log('Winter ISO Time  ' + _momentTimezone.tz(winterDateStr, timeZone).toISOString());
console.log('Winter is DST  ' + _momentTimezone.tz(winterDateStr, timeZone).isDST());
console.log('Summer ISO Time  ' + _momentTimezone.tz(summerDateStr, timeZone).toISOString());
console.log('Summer is DST  ' + _momentTimezone.tz(summerDateStr, timeZone).isDST());

> Winter ISO Time  2022-12-05T01:05:00.000Z
 Winter is DST  false
 Summer ISO Time  2022-06-05T00:05:00.000Z
 Summer is DST  true
 Winter ISO Time  2023-12-05T01:05:00.000Z
 Winter is DST  false
 Summer ISO Time  2023-06-05T00:05:00.000Z
 Summer is DST  true

Versions:
    "moment": "2.29.4"
    "moment-timezone": "0.5.43"

running in Chrome Version 111.0.5563.146 (Official Build) (arm64)

Has anybody been able to find the underlying issue inside of moment.js? @daniellecrasiuc @sanchej

Hey @ismurray , sorry I was busy but yes I was running moment timezone, I will continue to look into moment

@mimen  I will continue to look into it, being transparent, I am taking a class that wants us to contribute to an open-source project so I will try to tackle this soon.

Moment Timezone includes OLD AND DEPRECATED files called moment-timezone-with-data-2012-2022.js (and .min.js). As the filename indicates, they only have data up to and including the year 2022. Given the number of reports of "broken" code as we've hit 2023, I'm guessing that a lot of people are using these files without realising that their code should have been changed years ago. The most recent versions of Moment Timezone have added deprecation warnings to these files, and they'll be completely removed in a future release.
Here are my suggestions for everyone with issues around incorrect DST rules starting this year:

Check if you're actually using moment-timezone, not core moment. If your code says moment.tz(), you're using moment-timezone. Core moment doesn't include any time zone rules, and just relies on the native Date object.
Check how you're including moment-timezone. If you're including a file called moment-timezone-with-data-2012-2022.min.js or similar, this is the problem.

You'll need to change the reference to moment-timezone-with-data-10-year-range instead. This is a rolling 10-year range that is updated on every release. For example, any release built in 2023 will include data from 2018 to 2028.

Thanks so much @gilmoreorless for providing this info.
For reference for others, I was able to fix this by including this file at the end of my ember-cli-build.js file.
app.import('node_modules/moment-timezone/builds/moment-timezone-with-data-10-year-range.min.js');

Hi it apears using moment from the website this is not working still
demo working
https://time-to-style.freemap.win/countdown?datetime=2024-05-06T18%3A00&timezone=America%2FLos_Angeles
demo not working
https://time-to-style.freemap.win/countdown?datetime=2024-05-06T18%3A00&timezone=PDT
See console for error its not finding the abbreviation only the full name

its not finding the abbreviation only the full name

Moment Timezone doesn't support finding a time zone by its abbreviation, and never has. Abbreviations are not globally unique (e.g. "CST" can map to at least 3 different zones).

Cool this should allow user to select between the ambiguous options. but maybe that's for a future project.

Thank you for feedback 😃
If you have any suggestions let me know. I xan change it now that the
project is over. It was a school project that was only allowed certain
attributes.
On Wed, Jun 12, 2024, 05:40 Kier @.***> wrote:

Cool this should allow user to select between the ambiguous options. but
maybe that's for a future project.
—
Reply to this email directly, view it on GitHub
https://github.com/moment/moment/issues/6111#issuecomment-2162563487,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BIAKQLNBZTHQCVIXRULO3A3ZHAJPHAVCNFSM6AAAAAAWMHJ5ECVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNRSGU3DGNBYG4
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


npm scripts experiment

Think about using scripts for common tasks, like described here
Additional resources:

https://css-tricks.com/why-npm-scripts/
https://github.com/damonbauer/npm-build-boilerplate/blob/master/package.json

Partially closed here https://github.com/orlovmax/gulp-workflow/commit/a06669cf1f657e9d359683be9c13e49fb3015552


CALENDAR's class arguments

Hello,
I am trying to use this example:
But your documentation for the argument params points to OANDA's documentation, which in turn has no information as its page is not working for forexlabs: https://developer.oanda.com/rest-live-v20/forexlabs-ep/
params =
        {
          "instrument": "EUR_USD",
          "period": 86400
        }

It looks that the params takes two inputs. First input, that is instrument is ok. I can understand what values takes. But I do not understand what values the second input takes, that is theperiod.
Any help ?

I think that endpoint has been deleted.
Forex labs was in V1. When OANDA released V20 there were some forexlabs related endpoints that were 'to come'.
For some time the old V1 endpoints were supported, but in the end the endpoints were dropped.
In a next release I will drop these classes, since the endpoints do not exist anymore.


Button resizing (apple+J) stopped working

Love this plugin. Sadly, today it has stopped resizing. Tried un- and re-installing. OSX 10.11.6. Tried Sketch v39 and v39.1.

Hi @prefontaine,
My apologies, Let me poke around it tonight after I get home. I'll update soon.

Awwwww. No problem. Just wanted to let you know. Thank you for getting back
to me so quickly!
On Mon, Sep 19, 2016 at 4:58 PM, fuggfuggfugg<EMAIL_ADDRESS>wrote:

Hi @prefontaine https://github.com/prefontaine,
My apologies, Let me poke around it tonight after I get home. I'll update
soon.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/fuggfuggfugg/sketch-dynamic-button-3.5/issues/15#issuecomment-248124600,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA2dRRMJYMMRDVHeEs92WL8JiBjqBZttks5qrveGgaJpZM4KA7-i
.

@prefontaine Thanks for your patience.
I'm on Mac 10.10.5 and I failed to reproduce an issue. I also added 2 new features and updated the plugin.  Can I request you to try this new plugin and see if the issue still occurs.
As for the new features,

Now you can add a single value. For eg. If you update the layer name to 15 and run the plugin, it will add 15px padding on all 4 sides. If you do not add any values, it will default to 20px.
I also added better error handling, previously the plugin worked on any layers. At times, I selected the BG layer by default and hit Cmd+J and it would create the folders around the layer. This was annoying, now I specifically ignore all other layers so no more mistakes. Even if you select multiple layers, it will only run default button changes to the text layer and ignore all other layers.

Here's a small demo

Thanks again for reporting the issue. Please let me know if the issue still arises. I'll proceed to update my mac and try it again.
Cheers.

Thank you @fuggfuggfugg. I figured out what I was doing wrong. So silly: Somehow the dimensions of the text box had been changed. So it was working — to the text box. Thanks again for the quick response and for updating this awesome plugin. I love it!


Update CANOpen sample description

In the corresponding README.rst there is no mention about -DCONF_FILE=prj_no_storage.conf compile option. Thus new developers  can be disappointed compiling project first time.

Also, please note the platform_allow: twr_ke18f frdm_k64f in the sample.yaml file. It may work on others boards, but it is only explicitly allowed/tested on those.

Also, please note the platform_allow: twr_ke18f frdm_k64f in the sample.yaml file. It may work on others boards, but it is only explicitly allowed/tested on those.

Also, please note the platform_allow: twr_ke18f frdm_k64f in the sample.yaml file. It may work on others boards, but it is only explicitly allowed/tested on those.

I am currently working on stm32h7. Therefore I would prefer to add my board / SoC after I tested it.

Also, please note the platform_allow: twr_ke18f frdm_k64f in the sample.yaml file. It may work on others boards, but it is only explicitly allowed/tested on those.

I am currently working on stm32h7. Therefore I would prefer to add my board / SoC after I tested it.

Thanks!

Do you have any experience with FD-CAN?

Thanks!

Do you have any experience with FD-CAN?


HTML/formatting stripped when forwarding HTML emails

Expected behavior
Forwarding an HTML email should result in the recipient receiving an HTML email with all contents intact.
Actual behavior
Forwarded message is plain-text only
Steps to reproduce

Receive HTML email
Forward HTML email
Review email received by recipient

Environment
K-9 Mail version: 5.111
Android version: 6.0
Account type: IMAP
I checked a fresh install/setup of 5.010 and this problem did not occur, but a fresh install/setup of 5.111  with the same settings brought it back.

Did you configure K-9 Mail to send plain text only messages? (Account settings > Sending Mail > Message Format = Plain Text)

Nevermind, I was able to reproduce this with 'Message Formt = HTML'.

I don't recall if this happened when it was set to HTML or automatic, but it was definitely not plain text.
Thanks.

Caused by #1625 I think. I loaded #1678 on and it's fixed it.

I'm guessing it's the same as #1613.


Update to netbox 2.10.x

Please update the chart to cater for netbox 2.10 series
https://github.com/netbox-community/netbox/releases

I would suggest to pin the netbox image to a specific tag rather than using the latest. Its only causing issues

This will be fixed with version 3.0.0 of the chart, which I'm currently working on in master. The fix for this particular issue is in https://github.com/bootc/netbox-chart/commit/38f4b943abdc353d1e8d13a83c98c1b03c2601db.


Further Validate Cron Expression in Parser

CronExpression.Parser.parse!/1 does some checks on a crontab's format, but still accepts some input that is then not usable for example by Crontab.Scheduler.get_next_run_date/2.
iex(2)> alias Crontab.{CronExpression.Parser, Scheduler}
[Crontab.CronExpression.Parser, Crontab.Scheduler]
iex(3)> Parser.parse!("* */8 * * *")
        |> Scheduler.get_next_run_date(NaiveDateTime.utc_now())
{:ok, ~N[2019-06-03 16:00:00]}
iex(4)> Parser.parse!("* 4/8 * * *")
        |> Scheduler.get_next_run_date(NaiveDateTime.utc_now())
{:error, "No compliant date was found for your interval."}
iex(5)> Parser.parse!("-1 */8 * * *")
        |> Scheduler.get_next_run_date(NaiveDateTime.utc_now())
{:error, "No compliant date was found for your interval."}
iex(6)> Parser.parse!("59 */8 * * *")
        |> Scheduler.get_next_run_date(NaiveDateTime.utc_now())
{:ok, ~N[2019-06-03 16:59:00]}
iex(7)> Parser.parse!("60 */8 * * *")
        |> Scheduler.get_next_run_date(NaiveDateTime.utc_now())
{:error, "No compliant date was found for your interval."}

What would be a reasonable strategy to check that a crontab coming from user input is going to be usable? I looked into the ecto data type but it seems to just use parse. Would it make sense to strengthen validation performed by parse? Or would the right approach be for validation code to try a call to Scheduler.get_next_run_date/2 with the current time? Or another approach that I can't think of?

If you want to validate user input, I'd recommend checking via get_next_run_date.
It should however not happen inside of parse.
For example, a valid cron expression could specify the year 2010. You'll never find a future run date though.
We should, however, check that the cron expression itself is valid. You can for example not have a second 60. Therefore this should yield an error.

So if I understand correctly, parse should be improved so that it rejects things like negative numbers, minutes greater than 59, hours greater than 23 and so on? Is this something you'd be interested in adding to the library?
The year example you came up with is interesting. Let's say today a user stores a crontab with year 2019 in a database record. If I rely on get_next_run_date for validation based on the current date and if next year they edit the entry and try to save it back, it will give them an error even though they haven't updated the crontab field. I'm not sure if this is what we want.
Anyway in my use case I don't use the extended format so I have don't have years. I think constraining the first 5 fields to valid value ranges would allow to cover a good share of validation use cases without depending on when the validation is performed. FWIW I checked the behavior of crontab -e on my Linux system and it rejects any crontab with out-of-range values at edit time.
If adding value range checks to parse is something you'd like to see integrated in the library, I can give a go at a PR.

Is this something you'd be interested in adding to the library?

Yes, definitely.

The year example you came up with is interesting.

Yes, also a cron expression can be valid without being able to run in the future.

Anyway in my use case I don't use the extended format so I have don't have years.

If you refer to extended of this library, then extended means including seconds and not years. If you do not further check a string that a user provides this library will always provide the option to restrict years.

If adding value range checks to parse is something you'd like to see integrated in the library, I can give a go at a PR.

That would be great ❤

@amarandon I did some improvements to the types (dialyzer). This should help you when doing a PR:
https://github.com/jshmrtn/crontab/tree/improve_types

@maennchen OK so I guess I'll rebase my current work on this then.
Actually I was wondering about how to check my code against typespecs as I've never used them before. So I should use dialyzer?

@amarandon You should be able to run mix dialyzer and get no errors. It'd be good if you can check it and write @spec for all new functions as well.

Closed in favor of PR #59


AAP-36629: Address chatbot response issues by ingesting additional doc to RAG DB

See https://issues.redhat.com/browse/AAP-36629
Description
Proposals done:

Automate population of Ansible components' changelog ingestion data (components_versions.txt), in order to avoid manual maintenance
Reduce max chunk length to increase the amount of documents generated and the relationships between them, and provide better similarity search scores results on sentences. Chatbot focuses more on "details".
Need also this update https://github.com/ansible/ansible-chatbot-service/pull/41/files#diff-02ff6b14cc2516cb244b2071f1d406c61a400481fc4d9c7f1c7a2d2b4e7e47eaR120
Fixes https://github.com/ansible/ansible-lightspeed-va-feedback/issues/3

Dependencies
Depends on:  https://github.com/ansible/ansible-chatbot-service/pull/41
Testing
For testing, what I did is manual comparison on two aspects, for some queries and different chunk lengths, then checking how the prompts (and the documents in context) and the final LLM responses are looking, compared to actual PROD
Here some queries I used for testing:
- give me the latest version of ansible-rulebook
- what is the latest version of ansible-rulebook?
- give me the latest version of Ansible Rulebook
- what is Ansible Lightspeed?
- does Ansible Lightspeed allow trials?

Also I tested by using different chunk length for all above queries as well:
- 175
- 200
- 225
- 250

Finally after some observations and tests, also increasing the similarity scoring cut off, plus a chunk size of 200, we got better focus on the results and more smart answers. It increases the documents length and the relationships between them, and provide better similarity search scores results on sentences, by focusing more on smaller chunks, more at the detail.

@jameswnl fixed the typo :) About this work, not sure if moving this to prod, as we'll be not around for a couple of weeks. Up to you guys, I don't want to "break" anything and be not around :)


Set default value for password-file flag from env

Allows defining password file path as RESTIC_PASSWORD_FILE=/foo

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@16340ce). Click here to learn what that means.
The diff coverage is 100%.

@@            Coverage Diff            @@
##             master    #1117   +/-   ##
=========================================
  Coverage          ?   49.33%
=========================================
  Files             ?      119
  Lines             ?    11339
  Branches          ?        0
=========================================
  Hits              ?     5594
  Misses            ?     5063
  Partials          ?      682

Impacted Files
Coverage Δ

src/cmds/restic/global.go
20.45% <100%> (ø)

Continue to review full report at Codecov.

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

Rebased to master.

LGTM, thanks!

By the way, are these variables documented anywhere besides cli help?

Not yet, no. The RESTIC_PASSWORD and RESTIC_REPOSITORY are documented in the manual: https://restic.readthedocs.io/en/latest/manual.html#local


It's giving error in angular10 as showing 'Renderer2' is declared here.

It's need Renderer2 instead of Renderer in angular 10. Kindly update it.
node_modules/ngx-gallery/ngx-gallery-preview.component.d.ts:1:89 - error TS2724: Module '"../@angular/core/core"' has no exported member 'Renderer'. Did you mean 'Renderer2'?

1 import { ChangeDetectorRef, EventEmitter, OnInit, OnChanges, SimpleChanges, ElementRef, Renderer } from '@angular/core';
                                                                                ~~~~~~~~

  node_modules/@angular/core/core.d.ts:5764:31
    5764 export declare abstract class Renderer2 {
                                       ~~~~~~~~~
    'Renderer2' is declared here.

Same here

facing the same issue, anyone has a solution to this issue then let me know.
thank you

facing the same issue, anyone has a solution to this issue then let me know.
thank you

https://github.com/SaeedSpate/ngx-gallery-9

facing the same issue, anyone has a solution to this issue then let me know.
thank you

https://github.com/SaeedSpate/ngx-gallery-9

Worked out, thanks!

Just install the 4.7 version.
npm install<EMAIL_ADDRESS>--save
I had same error and this solved it

Just install the 4.7 version.
npm install<EMAIL_ADDRESS>--save
I had same error and this solved it

Thank you so much, it works !

Still getting the same error after installing npm install<EMAIL_ADDRESS>--save or npm install ngx-gallery-9 --save

I am using Angular 9 and facing the same error even after installing npm install<EMAIL_ADDRESS>--save or npm install ngx-gallery-9 --save
Please Help

I am using Angular 9 and facing the same error even after installing npm install<EMAIL_ADDRESS>--save or npm install ngx-gallery-9 --save
Please Help

@dhiraj66 You need to delete the existing packages by saying npm uninstall ngx-gallery and then install this package by saying npm install ngx-gallery-9 --save and use it as 'ngx-gallery-9' in your module.


Export-windowsdriver -online -destination doesn't work on Win11

Export-windowsdriver -online -destination doesn't work on Win11, but works on Win10.
PS C:\Users\user> export-windowsdriver -Online -Destination c:\temp
export-windowsdriver : Value cannot be null.
Parameter name: SafeHandle cannot be null.
At line:1 char:1

export-windowsdriver -Online -Destination c:\temp

  + CategoryInfo          : NotSpecified: (:) [Export-WindowsDriver], ArgumentNullException
  + FullyQualifiedErrorId : System.ArgumentNullException,Microsoft.Dism.Commands.ExportWindowsDriverCommand

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

ID: 12e5116f-0001-2f58-d96c-e5c2d3c958cd
Version Independent ID: 3a0a449b-6e9e-fff3-7448-2cf8a9e29f76
Content: Export-WindowsDriver (DISM)
Content Source: docset/winserver2022-ps/dism/Export-WindowsDriver.md
Product: w10
Technology: windows
GitHub Login: @JasonGerend
Microsoft Alias: jgerend

This repository is for PowerShell core documentation. You seem to be looking for support, which we can't provide here.
I suggest you try posting your issue with context in one of the available community support forums.

I wasn't looking for support.  I was looking for someone to correct the documentation.


DNS lookup fails for mxutils.com domain

Hi James,
mxutils.com no longer resolves, so neither the API or http://www.mxutils.com/ web site can be used. Has this wonderful service gone away?
Matt

Hi Matt,
Yikes!  I let the domain name lapse.  I just renewed it, so things should be back to normal momentarily.
Thanks for the heads up!

James

Excellent, things are back to normal. Thank you!


NotImplementedError: augmented slice assignment

An augment-assign (+=) on an array slice causes Numba to raise a NotImplementedError.
This can be reproduced with the following code:
import numpy as np
import numba

@numba.jit
def func(buf):
    buf[2:8] += 10

buffer = np.arange(10)
func(buffer)

Executing this code produces the following error:
NotImplementedError: offset=17 opcode=0x5 opname=ROT_FOUR
I'm running on Python 2.7, Numba 0.20.0 on OSX

I see. This happens only on Python 2.


Roll engine 2f11d3c4a205..8768180a8871 (1 commits)

https://github.com/flutter/engine/compare/2f11d3c4a205...8768180a8871
git log 2f11d3c4a205eca899de19617303ca8174ada7e3..8768180a8871ede2af9d483d764109b92df6faf9 --no-merges --oneline
8768180a8 Roll src/third_party/skia e6a83e160860..08c79d61450b (1 commits) (flutter/engine#8797)
The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (bmparr@google.com), and stop
the roller if necessary.

Auto-roller completed checks. About to merge.


Excellent!

[Enter feedback here]
Perfect amount of detail. Thank you for providing this opportunity to the Azure Arc-enabled data services family. Looking forward to the collaboration!

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

ID: 2716d7db-c5d1-3290-caf2-e86325b1239f
Version Independent ID: 677f8cf9-a8bd-1e3a-f6de-8bbc1253ec0c
Content: Azure Arc-enabled data services - Pre-release testing - Azure Arc
Content Source: articles/azure-arc/data/preview-testing.md
Service: azure-arc
Sub-service: azure-arc-data
GitHub Login: @twright-msft
Microsoft Alias: twright

@rfsonders Thanks for the feedback. Glad to know the content in the document is helpful.


AttributeError: module 'llama_cpp.server' has no attribute 'app'

This looks great, but I seem to have an issue with importing the llama-cpp api server.
File "~/Eucalyptus-Chat/api-server.py", line 22, in
uvicorn.run(server.app, host=args.host, port=args.port)
AttributeError: module 'llama_cpp.server' has no attribute 'app'
I've tried referring to app.py in llama-cpp-python/llama_cpp/server directly and then the api-server starts but throws a module error. not sure if this is a bug or something strange on my system.

I was able to reproduce the error. Seems like the developer of llama-cpp-python made an API change without raising the major version of the pip package.

should be fixed now :)

working perfectly now, thank you!


Support for Websocket compression

I'm curious if compression support has been considered for Websockets in NIO. I'd be interested in using it in my server-side app.
Kitura developed this package for websocket compression built on NIO's websockets. I asked about it being supported in Vapor and @tanner0101 suggested it would be very convenient to have it live directly in NIO.
How do you decide which parts of the Websocket spec are included in NIO and which are up to clients? I know Compression is an extension to Websockets, but it is pretty standard in most packages.

NIO is very reluctant to take on a dependency on zlib: in fact, we removed a previous HTTP compression library to swift-nio-extras for this very reason. I think we'd be happy to accept a patch in swift-nio-extras that implements this extension, though.


Address #1566 by adding WithObserver on Queries

This PR adds support for Observability as initially described in #1566.
fixes issue: #1566

@kyleconroy the PR is updated and should be able to run through CI again. :)

@kyleconroy What do you think?
Is the PR something you want to move on with? And if so, any further changes you see we need?

@kyuff Thanks for writing up the original issue and working on an implementation.
Right now this isn't a feature I'm looking to add to the core of sqlc. I agree that observability is important. I usually suggest that people use sqlmw. I also think that plugins should offer a way to add this without changes to the generated code.

@kyuff Thanks for writing up the original issue and working on an implementation.
Right now this isn't a feature I'm looking to add to the core of sqlc. I agree that observability is important. I usually suggest that people use sqlmw. I also think that plugins should offer a way to add this without changes to the generated code.

That's a shame to hear.
I will look forward to see what we can do with the plugin system once that is in place.


kube-prometheus and etcd-mixin - on minikube

(By the way, all the jsonnet stuff recently added to kube-prometheus is super cool.)
There's some things about kube-prometheus & etcd that I'm hoping someone can please help me understand...
#1) Now that we have Static etcd configuration (& etcd.jsonnet), regarding Monitoring external etcd:

should Step 1 - Make the etcd certificates available to Prometheus pod and Step 2 - Create the Service, endpoints and ServiceMonitor be deleted? Those things are created by etcd.jsonnet/kube-prometheus-static-etcd.libsonnet.
should the rest of the Steps on that page be moved/integrated into Static etcd configuration? Thus that entire Monitoring external etcd page could be deleted.

#2) How do I figure out what values to use for the 5 etcd variables in etcd.jsonnet?
How I setup minikube:
josh@MyMac$ minikube version
minikube version: v0.28.0
josh@MyMac$ minikube start --kubernetes-version v1.9.4 --bootstrapper=kubeadm --vm-driver=virtualbox --memory 4096 --extra-config=kubelet.authentication-token-webhook=true --extra-config=kubelet.authorization-mode=Webhook --extra-config=scheduler.address=<IP_ADDRESS> --extra-config=controller-manager.address=<IP_ADDRESS>
Starting local Kubernetes v1.9.4 cluster...
Starting VM...
Getting VM IP address...
Moving files into cluster...
Setting up certs...
Connecting to cluster...
Setting up kubeconfig...
Starting cluster components...
Kubectl is now configured to use the cluster.
Loading cached images from config file.

Here's what I tried (I used minikube.jsonnet as a starting point to create my own version of minikube.jsonnet - and I've added in the stuff from etcd.jsonnet)...:
~/mkp-3a_gh
josh@MyMac$ cat minikube.jsonnet
local kp =
  (import 'kube-prometheus/kube-prometheus.libsonnet') +
  (import 'kube-prometheus/kube-prometheus-kubeadm.libsonnet') +
  (import 'kube-prometheus/kube-prometheus-node-ports.libsonnet') +
  (import 'kube-prometheus/kube-prometheus-static-etcd.libsonnet') +
  {
    _config+:: {
      namespace: 'monitoring',
      alertmanager+:: {
        replicas: 1,
        config: importstr 'alertmanager-config.yaml',
      },
      grafana+:: {
        config: {
          sections: {
            "auth.anonymous": {enabled: true},
          },
        },
      },
      etcd+:: {
        ips: ['<IP_ADDRESS>'],
        clientCA: importstr '/Users/josh/.minikube/ca.crt',
        clientCert: importstr '/Users/josh/.minikube/client.crt',
        clientKey: importstr '/Users/josh/.minikube/client.key',
        serverName: 'minikube',
      },
    },
    prometheus+:: {
      prometheus+: {
        spec+: {
          externalUrl: "http://<IP_ADDRESS>:30900",
          externalLabels: {
            cluster: "minikube-josh",
          },
        },
      },
    },
    alertmanager+:: {
      alertmanager+: {
        spec+: {
          externalUrl: "http://<IP_ADDRESS>:30903",
          logLevel: "debug",
        },
      },
    },
  };

{ ['00namespace-' + name]: kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus) } +
{ ['0prometheus-operator-' + name]: kp.prometheusOperator[name] for name in std.objectFields(kp.prometheusOperator) } +
{ ['node-exporter-' + name]: kp.nodeExporter[name] for name in std.objectFields(kp.nodeExporter) } +
{ ['kube-state-metrics-' + name]: kp.kubeStateMetrics[name] for name in std.objectFields(kp.kubeStateMetrics) } +
{ ['alertmanager-' + name]: kp.alertmanager[name] for name in std.objectFields(kp.alertmanager) } +
{ ['prometheus-' + name]: kp.prometheus[name] for name in std.objectFields(kp.prometheus) } +
{ ['grafana-' + name]: kp.grafana[name] for name in std.objectFields(kp.grafana) }
josh@MyMac$ ./build.sh minikube.jsonnet
...
josh@MyMac$ kubectl create -f manifests/
...

#2a) ...but no etcd stuff ever shows up on http://<IP_ADDRESS>:30900/config nor http://<IP_ADDRESS>:30900/targets - so I believe (per Step 4: verify) that means prom isn't scraping/monitoring etcd, right?
More info...
#2b) I'm simply using the kube config that was generated the first time I ran minikube start - is this file what I should use to determine what 3 files to specify for the 3 "clientCA/clientCert/clientKey" variables?:
josh@MyMac$ cat ~/.kube/config
apiVersion: v1
clusters:
- cluster:
    certificate-authority: /Users/josh/.minikube/ca.crt
    server: https://<IP_ADDRESS>:8443
  name: minikube
contexts:
- context:
    cluster: minikube
    user: minikube
  name: minikube
current-context: minikube
kind: Config
preferences: {}
users:
- name: minikube
  user:
    client-certificate: /Users/josh/.minikube/client.crt
    client-key: /Users/josh/.minikube/client.key

Reference info: https://github.com/kubernetes/kubeadm/blob/master/docs/design/design_v1.10.md (Sorry, some of my questions might more so be about how kubeadm sets up etcd than they are about kube-prometheus.)
(I did dig into my minikube to try to figure out what 3 cert files etcd uses - e.g. kubelet.service in minikube starts /usr/bin/kubelet with --client-ca-file=/var/lib/localkube/certs/ca.crt - and I verified that file is a copy of /Users/josh/.minikube/ca.crt from my Mac.)

#2c) What value should I specify for serverName?:

"minikube"? (That's what's printed when I do minikube ssh and then hostname.)
"https://<IP_ADDRESS>:8443"? (From server: in ~/.kube/config.)
"minikubeCA"?

josh@MyMac$ openssl x509 -in /Users/josh/.minikube/ca.crt -text|grep CN
        Issuer: CN=minikubeCA
        Subject: CN=minikubeCA

#2d) What value should I specify for ips?:

"<IP_ADDRESS>"? On my Mac I did the equivalent of ip addr (reference info here):

josh@MyMac$ ifconfig
...
vboxnet0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
	ether 0a:00:27:00:00:00
	inet <IP_ADDRESS> netmask 0xffffff00 broadcast <IP_ADDRESS>

"<IP_ADDRESS>"? (That's what's printed by minikube ip.)
"<IP_ADDRESS>"?

josh@MyMac$ kubectl get pods -n kube-system -o wide | egrep "NAME|etcd"
NAME                                    READY     STATUS              RESTARTS   AGE       IP           NODE
etcd-minikube                           1/1       Running             0          20h       <IP_ADDRESS>    minikube

#3) In minikube do I by chance need to do anything per Step 3: Open the port?

Note that the only way I've been able to access the etcd metrics is on my Mac doing minikube ssh and then curl http://<IP_ADDRESS>:2379/metrics.

Yes I think you're absolutely right, we should have one documentation page and it should be folded into the jsonnet documentation, as you proposed.

a) Yes if prometheus isn't showing the target, it's not attempting to scrape it.

b) No the certificates in the kubeconfig are not the ones to access etcd, you need to check the apiserver container.
c) The certificates (etcd/ca.crt, apiserver-etcd-client.crt, apiserver-etcd-client.key), can be found in /var/lib/localkube/certs/ of your minikube VM, so you would need to copy those out of the minikube VM onto your machine and then you could use them. I just checked the certificate generated for my minikube, and valid serverName values would be localhost or <IP_ADDRESS>. You can also use kubectl cp to copy them out of the apiserver container.
2d and 3) The whole problem about monitoring your minikube's etcd is that it binds to <IP_ADDRESS>:2379 only, and within host networking namespace. This means that no Pod will ever be able to reach it unless it is also run in host networking namespace, which doesn't make sense for Prometheus. This means that unless minikube changes or allows us to configure this, we won't be able to monitor the etcd server of minikube. Maybe we should document this in the readme, that monitoring etcd in minikube is currently not possible because of how etcd is setup?

Thank you so much Frederic for the detailed and helpful info - all of that sounds great.
(I'm currently working on stepping up from v0.19.0 to v0.22.0. I've never gotten kube-prometheus to monitor etcd in minikube (and it's not a requirement for me) - I just figured I'd make a go of it with the new version 0.22.0. But I do have v19 of kube-prometheus monitoring etcd in a K8s cluster on AWS - and I'm sure it wont be hard to get that working with v22 also.)
I'll leave this issue open for now - once I'm up & running with v22, then I'll submit a PR to make the doc updates you described.

That sounds fantastic, thank you so much for your involvement!


Matched patients names with existing to avert duplication during patient registration

Only works during new patient registration and a match is found with the existing patients based on their compulsory name entries

Coverage decreased (-0.02%) to 19.906% when pulling 4c8e762807c96b6a1c9cb6f57812ff63b901f96f on ningosi:master into 3cbc7f77c2f81c0f12e3b832eb23013a5d20beb4 on esaude:master.

Coverage decreased (-0.02%) to 19.906% when pulling c253d1456840018cd240305431f8595e52b4ba65 on ningosi:master into 3cbc7f77c2f81c0f12e3b832eb23013a5d20beb4 on esaude:master.

Coverage decreased (-0.01%) to 19.919% when pulling fdaf38885c33e3fa7db7065f5c99c9f3f41d552e on ningosi:master into 3cbc7f77c2f81c0f12e3b832eb23013a5d20beb4 on esaude:master.

Coverage decreased (-0.02%) to 19.906% when pulling 5aed3a7f5ac6b1d76c7906975a846bfc0d316a24 on ningosi:master into 3cbc7f77c2f81c0f12e3b832eb23013a5d20beb4 on esaude:master.


The "blurInput" state change type is not emmited if the user clicked outside the input

downshift version: 2.0.20
node version: not applicable (codesandbox)
npm (or yarn) version: not applicable (codesandbox)

Relevant code or config
import React from "react";
import { render } from "react-dom";
import Downshift from "downshift";

const items = [
  { value: "apple" },
  { value: "pear" },
  { value: "orange" },
  { value: "grape" },
  { value: "banana" }
];

function stateReducer(state, changes) {
  console.log({ state, changes });
  switch (changes.type) {
    case Downshift.stateChangeTypes.blurInput:
      alert("Input blurred (Downshift)");
      return { ...state, ...changes };
    default:
      return { ...state, ...changes };
  }
}

function handleInputRefObtained(ref) {
  if (ref) {
    ref.addEventListener("blur", () => alert("Input blurred (DOM)"));
  }
}

render(
  <Downshift
    onChange={selection => alert(`You selected ${selection.value}`)}
    itemToString={item => (item ? item.value : "")}
    stateReducer={stateReducer}
  >
    {({
      getInputProps,
      getItemProps,
      getLabelProps,
      isOpen,
      inputValue,
      highlightedIndex,
      selectedItem
    }) => (

        Enter a fruit
        <input {...getInputProps()} ref={handleInputRefObtained} />
        {isOpen ? (

            {items
              .filter(item => !inputValue || item.value.includes(inputValue))
              .map((item, index) => (

                  {item.value}

              ))}

        ) : null}

    )}
  </Downshift>,
  document.getElementById("root")
);

What you did:
Expect the onStateChange to emit the Downshift.stateChangeTypes.blurInput change type when the input is blurred by clicking on other HTML Element instead of pressing tab.
What happened:
This expectation was not met.
Reproduction repository:

Problem description:
Currently, in our application, we must obtain a reference to the input being used in Downshift and manually handle the blur event. Ideally, we would only use Downshift.stateChangeTypes.blurInput, however, this does not work when clicking outside an element.
In order to reproduce, go to the code sandbox, type a value, and then press tab. You should see two alerts, one indicating that the DOM event listener has correctly received the event, and other indicating that the state change listener has also received it.
However, if you focus the input, type a value, then click on the label, you should only see the alert indicating that the DOM event listener received the event. You should not see the alert triggered by the state change listener.
Suggested solution:
Make onStateChange emit blur events that are caused by clicking outside the input.
Thank you for your help!

Hi @MeLlamoPablo,
The problem is that if we did that, then the menu would disappear between the time the blur event fires and the click event fires. This means that users wouldn't be able to click elements in the menu.
Believe me, I've dealt with that bug many times. Really annoying.
So downshift handles this for you by not firing the blur event on mouse down. Instead, it waits until there's a mouse up, at which point it determines where the click happened and resets the state if it was outside downshift.
This does make things a little more complicated and there's a way to work around this by using one of the other state change types or the onOuterClick prop. However, these will only run when there is state that needs to change. If you need to be notified whenever the input is blurred, then you can just pass onBlur to getInputProps.
Is there a reason that wont work for you? Your example is a little contrived. I could help you if you describe what you're really trying to accomplish.

prevents you from subscribing to the Downshift.stateChangeTypes.blurInput event

I think this is the main confusion. The stateReducer isn't an "event dispatch handler" but a "state change handler." So the "events" are actually state changes. If any particular event does not cause a state change, then your stateReducer will not be called. In addition to that, your stateReducer should be a pure function so it would be wrong if you're doing anything other than handling state changes and returning your modifications to those state changes.

I think that the blurInput name should be changed

Due to the nature of onStateChange and stateReducer, the name will not be changed. The type refers to what caused the state change. It will not be called whenever the event happens. I think it's pretty clear that if you want to handle an event you can do so as you normally would through the prop getters. I'm not sure how to improve the docs to emphasize this. PRs welcome though.

Obviously, the definition of "hack" is relative, but using onBlur feels like a hack to me when we could use an event provided by downshift instead. And I'd argue that no library should force their users to do something that "feels like a hack".

I think you're thinking about downshift all wrong. The beauty of downshift is how little it does for you. You are responsible for rendering the input, so interacting with that input as you would without downshift is a feature.
So no, we wont be adding state change types for things that don't actually change any state (we do already have a mouseUp state change type, but again, those are only called when state actually changes).
I'll add a note to the README calling out the fact that your onStateChange and stateReducer will only be called when state actually changes.
Thanks!


Remove temporary files on Windows & Linux

[ ] Remove them by default on Linux
[ ] Remove all files exept options and data file on Windows
[ ] Add a checkbox to remove options and data to on Windows.

It looks like we can't edit GUI from a JPackage app.
An hard and dirty way to achieve this would be to edit the .msi after it have been create by JPackage.
A better way to do it would probably to ask LauncherJar gui to handle the last steps of installation :

[ ] Checkbox "create desktop link (No necessary, but would be better than enforcing it)" (✔ by default)
[ ] Checkbox "add to windows menu (No necessary, but would be better than enforcing it)" (✔ by default)
[ ] While the user choose, start downloading the game & display the download bar & information
[ ] 2 button that will display "Start the game" in green & "close" in red
And the first steps of uninstallation :
[ ] Checkbox "uninstall games files (except options)" (✔ by default) (Uninstall the .jar & temp/)
[ ] Checkbox "uninstall options" (unchecked by default) (It Uninstall all .gamename/ & remove the game data from the launcher jar files & if it was the last launcherjar file also remove .launcherjar)

We still need to figure out how to launch launcher jar when the uninstaller have been launched & how to do small action as adding an .exe app to the Windows menu.
This 2nd steps have the huge advantages of allowing us to translate the strings & doing the download while the user is choosing.


Clean up arguments

Clean up args as there are many now unused args to shorten the list of args down significantly.
Also possibly add some more relevant args to do with graphs, and the prediction output collection args, to be included in examples as well.

https://github.com/DreamingRaven/nemesyst/pull/85


Suggestion: Distributing union discrimination over a compatible hashmap

Search Terms
discriminated union, hashmap, switch, object, map, router
Suggestion
When a hashmap object property is accessed by a union discriminant, check if the resulting property covaries with the discriminant in a compatible way.
Example
interface UnionComponentA { discriminant: "A", foo: number }
interface UnionComponentB { discriminant: "B", bar: boolean }
interface UnionComponentC { discriminant: "C", baz: string }
type Union = UnionComponentA | UnionComponentB | UnionComponentC

const handleA = (arg: UnionComponentA) => console.log(arg.foo)
const handleB = (arg: UnionComponentB) => console.log(arg.bar)
const handleC = (arg: UnionComponentC) => console.log(arg.baz)

const router = {
  A: handleA,
  B: handleB,
  C: handleC
};

function route(union: Union){
  router[union.discriminant](union) // <--- !
}

Currently: the line with <--- ! comment would incur a type error, since union cannot fit into the intersection of UnionComponentA & UnionComponentB & UnionComponentC, which is the safe way of making sure that union can be accepted by any property of router.
Wanted: in reality, we could infer that the type of union is discriminated in way that it will always match the call signature that is the result of indexing route. This inference (I guess) would require that the indexed route function property is invoked immediately with the discriminated union as argument.
Use Cases
This can, in some cases, be much more concise than a long switch. This is especially true if handle* functions above accept multiple arguments, and only one is polymorphic that would currently require use of switch to resolve:
switch (union.discriminant){
   case "A":
      handleA(some, long, arglist, before, the, discriminated, union) // the last position is polymorphic
      break

   case "B":
      // ... same deal ...
}

Disclaimer: I don't know if this kind of reasoning is too "niche", and maybe somebody more knowledgeable than me with TypeScript's internal can generalize what I'm asking for here or present an existing pattern that fulfill the spirit of what this suggestion would achieve. Another case that would employ a similar kind of inference might be something like assigning a discriminated union to a specific, compatible property of route; but I don't see a practical use case of this.
Checklist
My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code <-- (Um, I believe it doesn't, but more knowledgeable people can maybe correct me!)
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals. <--- I think it does..., again would welcome any explanation otherwise!

Duplicate of #30581 I think but thumbs up anyway.

Thanks for finding the duplicate. Since the issue is now linked into a more mature thread, let's close it.