type annotation-driven cleanup

This PR makes a lot of changes derived from type annotations and other warnings in VS Code/pylance. I hope that some or all of the changes are acceptable, and I'm totally open to rolling some of them back based on your feedback. I think many of the changes are worthwhile, since they substantially reduce the number of highlights and warnings displayed in my IDEs :-)
Functionally, only a few things have changed in small ways. Most of the changes tweak the types of variables/routines or adjust how classes are used to store data (particularly, by avoiding class variables when possible).
Here are some of the notable changes:
default values removed for class variables
Almost all class variables are used just to provide type hints for Structure subclasses. I've removed the default values (typically None) from their declarations, which makes type checkers much happier. The hints still work for instances, but no variables are actually created on the class.

However, this does mean you have to use if hasattr(it, "foo") rather than if it.foo, though this only affects internal code:

removes class variables when possible
For MDTableRow, ClrMetaDataTable, and friends, move class variables into instance variables where appropriate. As far as I can tell, class variables are needed for the dynamically parsed instances (like MethodRowStruct) but not in some other cases. As I'm sure you know, class variables can be a little tricky, so I'd argue that instance variables should be preferred when possible. As always, open to feedback and discussion.
With the above in mind, I've made the class variable accesses extra explicit by routing them through self.__class__.foo rather than self.foo. This is stylistic and can be reverted.

row type annotations
Introduced type annotations so that row types can be accurately modeled. This means that editors can auto-complete the properties of rows based on each table! Each table uses a generic type parameter to specify the row type.

row field enums
Add support for decode enum data from row properties:

mypyp in CI
Adds a CI lint for mypy type checking:

adds user_strings heap shortcut
Like blobs and guids, add a shortcut to access user strings:

didn't think I'd get mypy passing but only one issue left, so going to try to knock that out, one sec.

:-)

I mostly like these changes. The two that I have to think more about are whether stream names are guaranteed to be ascii and raising exceptions.
I am not sure if stream names are requiremed to be ascii for a .NET program to load and run.  If it is not a runtime dependency, then we need to account for when the stream name contains non-ascii bytes.
In general I am ok with raising exceptions. However if raising an exception at an early stage or parsing prevents parsing data that would be parsable, then I prefer not to raise an exception. One of my goals in designing dnfile was to parse as much information from the file as possible, even if it is malformed. I believe the pefile mechanism for handling that is to have "warnings" that are shown when print_info() is called. I have tried to use that mechanism, though my current implementation is imperfect.

Great feedback, thanks for that!
Tomorrow I’ll do at least two things:

Research the stream name encoding, and provide a test case either way. If the names can be arbitrary bytes then I completely agree they should be represented this way in dnfile. I’ll look at the spec and then see how the M$ and mono runtimes handle malformed data.

enumerate the places I changed the exception behavior. Off the top of my head I think it’s basically two cases:

top level can’t parse any metadata (previous behavior was just to set pe.net to None)
inner routines, like pick struct format, whose error mechanism should simply become more descriptive with exceptions, not change the functionality.

I might have forgotten some here, and regardless, happy to revert if necessary. I agree that the library should parse as much as necessary, so please highlight any areas I can do a better job.

On Dec 12, 2021, at 6:59 PM, malwarefrank @.***> wrote:

I mostly like these changes. The two that I have to think more about are whether stream names are guaranteed to be ascii and raising exceptions.
I am not sure if stream names are requiremed to be ascii for a .NET program to load and run. If it is not a runtime dependency, then we need to account for when the stream name contains non-ascii bytes.
In general I am ok with raising exceptions. However if raising an exception at an early stage or parsing prevents parsing data that would be parsable, then I prefer not to raise an exception. One of my goals in designing dnfile was to parse as much information from the file as possible, even if it is malformed. I believe the pefile mechanism for handling that is to have "warnings" that are shown when print_info() is called. I have tried to use that mechanism, though my current implementation is imperfect.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

duplicate stream test added here: https://github.com/malwarefrank/dnfile/pull/17/commits/614579c38bea10798d285ec2608650d36369020a

research into stream name handling is in #19. in summary, there can be duplicate streams (last one wins) and non-ASCII stream names.
therefore, I've reverted the stream-name-as-ASCII changes and added tests to demonstrate the handling. this will required https://github.com/malwarefrank/dnfile-testfiles/pull/2 to be merged and the submodule updated here. passing locally for me:

I've reverted the changes that introduce exceptions. I should have done a much better job preserving behavior of the library when adding them before. Now, I've gone through all the changes involving exceptions and validated that:

they are required, such as in ClrData.__init__ and there's no other option, or
they are even needed, such as in clr_coded_index_struct_size where the checks weren't even required, or
they have been replaced with returning None, such as in BinaryHeap.get

For (3), which was the majority, I updated the type signatures to indicate the return value is Optional[T] which lets mypy identify when the caller doesn't check for failure. I've always liked exceptions for errors, but with mypy able to identify this, I actually feel more confident that we handle the error cases more consistently (since python/mypy doesn't have anything like "checked exceptions").
Please let me know what you think. I don't have any remaining outstanding changes.

wow, you really did a lot of work here, thanks!  I want to tag the current main branch and then will merge this in

tests looking good, i have no pending changes. thanks for the reviews!

(unrelated...)
we have four exceptions tracked internally after running dnfile against a bunch of malware. i'll likely be digging into those tomorrow and reporting the findings to this repo. i don't anticipate remotely the same amount of code as this PR.
after that, probably two things to look forward two:

further stress testing against additional malware samples, and
(probably) starting to build a project on dnfil, and will report any feature requests/enhancement here.

feel free to reach out if you'd prefer any coordination. so far, my colleagues and I have enjoyed working with you and really appreciate your attention to our issues and PRs!


when loading parameters，I got "files have errors". How to solve it?

When  I follows
"Right click on "Configuration" in the controller tree, and click on "Load Parameters". Browse to <repo_root>/robot/config_params and select SYS.cfg. Click OK to confirm loading parameters, and OK to acknowledge restart is required. Repeat for EIO.cfg in the same directory. Make sure "Load parameters and replace duplicates" is selected in the file browser window for both. "
I got "files have errors"

What robotware version are you using?

Version 6.14
                            陈志远

                                清华大学

<EMAIL_ADDRESS>

    ---- Replied Message ----FromJohn<EMAIL_ADDRESS>22:43<EMAIL_ADDRESS>***<EMAIL_ADDRESS>[rpiRobotics/abb_motion_program_exec] when loading parameters，I got "files have errors". How to solve it? (Issue #39)

What robotware version are you using?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.>
[
{
@.": "http://schema.org",
@.": "EmailMessage",
"potentialAction": {
@.": "ViewAction",
"target": "https://github.com/rpiRobotics/abb_motion_program_exec/issues/39#issuecomment-1625519703",
"url": "https://github.com/rpiRobotics/abb_motion_program_exec/issues/39#issuecomment-1625519703",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
@.***": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]

Can you cut and paste the file contents here?

The robot and PC is not at hand. I carefully follow the instructions, want to load the parameter files EIO and SYS from https://github.com/rpiRobotics/abb_motion_program_exec/tree/master/robot/config_params.Then I got the error about "file have errors"
                            陈志远

                                清华大学
<EMAIL_ADDRESS>

    ---- Replied Message ----FromJohn<EMAIL_ADDRESS>23:00<EMAIL_ADDRESS>***<EMAIL_ADDRESS>[rpiRobotics/abb_motion_program_exec] when loading parameters，I got "files have errors". How to solve it? (Issue #39)

Can you cut and paste the file contents here?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.>
[
{
@.": "http://schema.org",
@.": "EmailMessage",
"potentialAction": {
@.": "ViewAction",
"target": "https://github.com/rpiRobotics/abb_motion_program_exec/issues/39#issuecomment-1625543895",
"url": "https://github.com/rpiRobotics/abb_motion_program_exec/issues/39#issuecomment-1625543895",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
@.***": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]

We have used these files many times so I am trying to see if they have been corrupted somehow.

Thank you for your rely! When I go back to the lab, I'll show you the file's content.
                            陈志远

                                清华大学
<EMAIL_ADDRESS>

    ---- Replied Message ----FromJohn<EMAIL_ADDRESS>23:15<EMAIL_ADDRESS>***<EMAIL_ADDRESS>[rpiRobotics/abb_motion_program_exec] when loading parameters，I got "files have errors". How to solve it? (Issue #39)

We have used these files many times so I am trying to see if they have been corrupted somehow.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.>
[
{
@.": "http://schema.org",
@.": "EmailMessage",
"potentialAction": {
@.": "ViewAction",
"target": "https://github.com/rpiRobotics/abb_motion_program_exec/issues/39#issuecomment-1625565304",
"url": "https://github.com/rpiRobotics/abb_motion_program_exec/issues/39#issuecomment-1625565304",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
@.***": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]

Reference

@johnwason Do you have other abb control methods using python in PC?

Hi~ Could you tell how to realize velocity control? Thank you~~---- Replied Message ----FromJohn @.>Date07/07/2023 23:15 @.><EMAIL_ADDRESS>[rpiRobotics/abb_motion_program_exec] when loading parameters，I got "files have errors". How to solve it? (Issue #39)
We have used these files many times so I am trying to see if they have been corrupted somehow.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.>
[
{
@.": "http://schema.org",
@.": "EmailMessage",
"potentialAction": {
@.": "ViewAction",
"target": "https://github.com/rpiRobotics/abb_motion_program_exec/issues/39#issuecomment-1625565304",
"url": "https://github.com/rpiRobotics/abb_motion_program_exec/issues/39#issuecomment-1625565304",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
@.***": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]


Double radio options issue

Issue description:
When adding two radio selections in the same section, only one of them can be selected. It jumps over to each section so you can't have two options saved. https://i.imgur.com/eK5nhTn.png
The code I use is:
// Blog: Single - Related Posts
Kirki::add_field( 'theme_config_id', array(
	'type'			=> 'radio',
	'settings'		=> 'related-posts',
	'label'			=> esc_attr__( 'Single - Related Posts', 'kirkitheme' ),
	'description'	=> esc_attr__( 'Shows randomized related articles below the post', 'kirkitheme' ),
	'section'		=> 'blog',
	'default'		=> 'categories',
	'choices'		=> array(
		'1'			=> esc_attr__( 'Disable', 'kirkitheme' ),
		'categories'=> esc_attr__( 'Related by categories', 'kirkitheme' ),
		'tags'		=> esc_attr__( 'Related by tags', 'kirkitheme' ),
	),
) );
// Blog: Single - Post Navigation
Kirki::add_field( 'theme_config_id', array(
	'type'			=> 'radio',
	'settings'		=> 'post-nav',
	'label'			=> esc_attr__( 'Single - Post Navigation', 'kirkitheme' ),
	'description'	=> esc_attr__( 'Shows links to the next and previous article', 'kirkitheme' ),
	'section'		=> 'blog',
	'default'		=> 's1',
	'choices'		=> array(
		'1'			=> esc_attr__( 'Disable', 'kirkitheme' ),
		's1'		=> esc_attr__( 'Sidebar Primary', 'kirkitheme' ),
		'content'	=> esc_attr__( 'Below content', 'kirkitheme' ),
	),
) );

Only one section can be selected. When I change to radio-buttonset everything works fine.
An issue or something I've missed?
Should be the last issue I've bumped into.

Did you try the v3.0.20 version?
This was a bug in 3.0.19, I fixed it after a few hours and 3.0.20 was released

I didn't realize you already updated it. Works perfectly well now. Great stuff.


Passing a string that contains a semi-colon doesn't properly get encoded

Discovered this today in a rails app as the backend (since it totally barfs on unescaped semis)
I had a string such as "test;test"
passed it to params in $http post() and put() and got
test;test instead of

%3B

Shouldn't it encode?

I work with a platform that has a (partial) implementation of Matrix URIs.
Admittedly, Matrix URI never became a standard, and is not in widespread use.  However, there are definitely existing implementations that rely on unescaped semicolons being in the path.
The query seems to be much more of a grey area, although the older HTML specifications encouraged CGI developers to support semicolon-delimited query strings.
IMO, there's enough precedent to make me apprehensive about automatically escaping semicolons in any URI component.  If a developer is interacting with an idiosyncratic server implementation, it seems to make the most sense to fix the server, or write an interceptor to "sanitize" URLs before they are sent to the server.
HOWEVER
@bobber205's issue is a very specific and isolated use case:  Putting semicolons inside of a single query parameter value.  In this exact situation (and only this situation), I actually think that it is appropriate to escape semicolons, as server implementations might misinterpret an unescaped semicolon as a delimiter.
In summary:

path: Don't escape semicolons.  Breaks matrix parameters, and no evidence that the current behavior breaks anything.
query: Escaping the entire query string would be unwise, as it breaks an established (albeit archaic) expectation for servers to be able to handle semicolon-delimited query strings.
query values:  Probably safe to escape, especially if the server interprets semicolons as query delimiters.  Passing complex data types (ie. JSON) via query parameters is a bad idea, "real-world" string values often contain semicolons, and it seems like a good idea to escape them.

Thanks for all the hardwork! <3


feat: create discord embeds

Here are few examples
It has different color for every Action (Create, Edit, Move etc)

processMessages function is getting a little overcrowded, you could refactor it a little so it's easier to work with : D


CLI feature to have users create namespaces within projects

Feature request:
add a command to rancher cli that can create a namespace within its specified project
Steps to reproduce (least amount of steps as possible):
> kubectl get pod
No resources found.
> kubectl create ns test-namespace
namespace/test-namespace created
> kubectl -n test-namespace get pod
Error from server (Forbidden): pods is forbidden: User "u-UID" cannot list pods in the namespace "test-namespace"

Result:
Currently one is able to create namespaces in no project which prevents the creator from using that namespace.
Other details that may be helpful:
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI):
Installation option (single install/HA):

Cluster information

Cluster type (Hosted/Infrastructure Provider/Custom/Imported):
Machine type (cloud/VM/metal) and specifications (CPU/memory):
Kubernetes version (use kubectl version):

(paste the output here)

Docker version (use docker version):

(paste the output here)

Thanks for opening this issue @aemneina
A couple of things to note, first I would consider this a bug and not a feature. Being able to create namespaces that you don't have access to, is a bug in my opinion.
Secondly, in order to be able to replicate the issue simply create a test user with the built-in "project member" role in the default project.
Next, run these commands using the kubectl configuration for the test user:
> kubectl get po
No resources found.
> kubectl create ns test-project-member
namespace/test-project-member created
> kubectl -n test-project-member get po
Error from server (Forbidden): pods is forbidden: User "u-3j7i5yuu7m" cannot list pods in the namespace "test-project-member"

The feature is to add a command to the rancher CLI to add a namespace and associate it to the project.  We can't do anything aboutkubectl allowing you to do only the first half of that.

We just ran into this issue today. It's pretty bad if you run a more tight permission scheme for your production cluster.

How about an annotation to allow a user to create a namespace with kubectl inside a Rencher Project he has permissions to?


[app] Update Dependencies

Update all npm and Go packages, except Kubernetes related dependencies.
The Kubernetes related dependencies can not be updated at the moment
because the Kiali package brokes then with the following error:
"vs.ClusterName" and "gw.ClusterName" is undefined.

[ ] I added a CHANGELOG entry for this change.
[ ] I adjusted the corresponding documentation for this change.
[ ] I adjusted the values.yaml file and the documentation for all values.

Codecov Report

Merging #370 (192f9c1) into main (b80367e) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #370   +/-   ##
=======================================
  Coverage   45.42%   45.42%
=======================================
  Files         132      132
  Lines       10278    10278
=======================================
  Hits         4669     4669
  Misses       5532     5532
  Partials       77       77

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 b80367e...192f9c1. Read the comment docs.


Facebook og:image issue

The meta tags don't appear on facebook instantly or sometimes on WhatsApp share.
It appears after scraping the data 3 times
i know this is a problem with facebook, but is there anyway to resolve this issue ?

https://developers.facebook.com/docs/sharing/webmasters/images
Never mind, i had to precache images


example with api call

Hi, can you please provide an example with an api call to fetch data? Thanks

I did it like this:
const onKeywordChange = (keyword: string) => {
    setSuggestedMentions([]);
    requestAPI({
      params: `/mentions/nickname/${encodeURIComponent(keyword)}`,
      method: "GET"
    }).then(({ success, suggestions }) => {
      if (success) {
        setSuggestedMentions(suggestions);
      } else { throw "error"; }
    }).catch((error) => {
      console.log("getUsersByUserName error:", error);
    });
  };

Hope it helps you.


checkpoint resume & model save

Hello, again!
My training was interrupted on the 7th epoch, but luckily there was 2 ckpt files left. I wonder how to resume training with these files? I searched for the code with the keyword "save" and found the following information:
class MyLightningCLI(LightningCLI):
  def add_arguments_to_parser(self, parser) -> None:
      parser.add_lightning_class_args(ModelCheckpoint, "model_checkpoint")
      parser.set_defaults(
          {
              "trainer.logger": lazy_instance(
                  CSVLogger, save_dir="output", name="default"
              ),
              "model_checkpoint.monitor": "val_acc",
              "model_checkpoint.mode": "max",
              "model_checkpoint.filename": "best-step-{step}-{val_acc:.4f}",
              "model_checkpoint.save_last": True,
          }
      )
      parser.link_arguments("data.size", "model.image_size")
      parser.link_arguments(
          "data.num_classes", "model.n_classes", apply_on="instantiate"
      )

But I didn't find code to save the model like torch.save(model,model_path) . Or it's unnecessary ? What should I do if I need to save the model?
Thank you so much for reading this far, and have a great day！

You can resume from a checkpoint file with --ckpt_path argument.
None of the checkpoint saving and loading is explicitly written in this repo since its all done by PyTorch Lightning. You can see the list of training arguments with python main.py fit --help and more details about the arguments can be found in the lighning docs.


feat: support idea 232

#205

@anurnomeru

looks good

LGTM

Done some tests in 2023.2, looks good

this pr has been resolved by this one #212 .
plugin has been approved by Jetbrains market review and now is available publicly, resolve issue #205


[Feature] PICS tool - save in same location as where file was opened

Feature description
Especially for devices with multiple endpoints (aka every device), having the file default to save to the same location from where it was opened would help folks not to accidentally overwrite their PICS files as they move through the multiple conformances.
Use Cases

edit PICS for EP0, save file
open PICS for EP1, save file, don't accidentally overwrite EP0

Test Cases
just...test it I guess? This is apparently a required field, sorry.
Additional Information
No response

As the PICS Tool is a browser based tool, this would heavily depend on the browser type used. As such, the "Save As" feature of the browser might for now be easier than to rely on the tool to do this.

Feature added in latest 2.1.19 release (archive option).


Not able to click on a link with deepquery

Hi Georgegiff,
Here is the jspath and i'm trying to click on the link so that i can navigate to a different page :
document.querySelector("body > portal-web").shadowRoot.querySelector("#sink > details-web").shadowRoot.querySelector("div > app-component-search-page > div > ink-container > ink-card > div:nth-child(2) > div > mat-table > mat-row > mat-cell.ods-text__body--small.component-width-cname.mat-cell.cdk-column-Component-Name.mat-column-Component-Name.ng-star-inserted > a")
If i do the deepqueryselector on the above like this
await this.page.addScriptTag({
path: path.join(__dirname, '../../node_modules/query-selector-shadow-dom/dist/querySelectorShadowDom.js')
});
    try {
        const complink = (await this.page.waitForFunction(() => {
            const complink = querySelectorShadowDom.querySelectorDeep("#sink > mf-details-web")
            return complink;
        })).asElement();
        await complink.click();
        console.log("clicking on the link is success")
    }catch(e) {
        throw new Error("clicking on the link is not success")
    }

OR like this
   await this.page.addScriptTag({
        path: path.join(__dirname, '../../node_modules/query-selector-shadow-dom/dist/querySelectorShadowDom.js')
    });

    try {
        const complink = (await this.page.waitForFunction(() => {
            const complink = querySelectorShadowDom.querySelectorDeep(".div > app-component-search-page > div > ink-container > ink-card > div:nth-child(2) > div > mat-table > mat-row > mat-cell.ods-text__body--small.component-width-cname.mat-cell.cdk-column-Component-Name.mat-column-Component-Name.ng-star-inserted > a")
            return complink;
        })).asElement();
        await complink.click();
        console.log("clicking on the link is success")
    }catch(e) {
        throw new Error("clicking on the link is not success")
    }

doesn't work either ways. What are my options in this case?

Hi thanks for the issue this might be a little tricky for me to debug, that jspath is quite complicated.
I would try to see if there is  selectors that do not make use of > to see if there is an issue there.
try to make the simplest selector you can to your link. This is good for maintenance as well, do you really want your selector to break if any of those child components change? Probably not
When working with shadow Dom > doesn't always make sense.
Your first example is a little confusing because it doesn't seem to be for the same element as the 2nd?

Here is the jspath for this ;

Can you please just try using something simple like div:nth-child(2) ng-star-inserted  a for example. Theres no need to create a selector with all of those references to parents.
Also in your prior example you had
querySelectorDeep(".div > app-component-search-page > div > ink-container > ink-card > div:nth-child(2) > div > mat-table > mat-row > mat-cell.ods-text__body--small.component-width-cname.mat-cell.cdk-column-Component-Name.mat-column-Component-Name.ng-star-inserted > a")
are you sure .div is correct? doesn't seem right to me

That worked :) this is really helpful!!


HTTPS v2

from v1:

add sol_http_server_config (avoid two functions to create a server)
Added better explanation about how to test the sample

It's breaking the doxygen, i will fix it before commit.

fixes in https://github.com/solettaproject/soletta/pull/1934


On server crash (and potentially a basic shutdown) inventories of Primal Magick Blocks are cleared

I have noticed my wand disappearing from wand chargers, fuel/dusts disappearing from calcinators, honey/wax disappearing the magical centrifuge, etc. when my server crashes and potentially on a standard shutdown.  This is different from chests or furnaces that seem to always retain their inner inventory when the server goes down.  This causes a potential issue for multiplayer players on servers when they leave something running and then the next thing they know the block has been emptied out with no trace of what was put in it

Could you check whether you're using an updated version? This sounds like the issue I was having #65 but if it's still happening on the most recent version of the mod on Curseforge then it might be different.

This sounds like a bug that I recently fixed, as of version 2.0.3, if I remember correctly.  What version are you using?

I was using 2.0.2 when this bug was happening I will confirm later tonight if this happens in multiplayer at all on the latest version.  I will close this out with a comment if that is the case as @daedalus4096 only tested in Singleplayer it seems

Since I haven't heard from you further about this, I'm going to assume that this fix is holding.  If that's not the case, please file a new ticket.  Thanks for reporting the issue!


[Feature] File view pane, edit panel shows earlier version [OSF-6300]

Purpose:
OSF-6300
Fix to get latest version in file editor panel
Changes:
Update website/addons/base/views.py add version to key for file_guid_to_share_uuids
Credits
Just like Brian said all along.
Warning!
It may be best to stop the sharejs server during the merging of this code. If there is an existing editing session before merging and a new user starts editing afterwards, then the new session will not share(js) with the old session. Unexpected results may occur.
[#OSF-6300]

Does this work with wikis as well?

Could you do some experimentation with the changeover to be sure the right procedure, then update the warning with a step-by-step?

Pass done. 🐧

I did a quick audit of wiki code. This PR will have no effect on the wiki, nor does it appear to me that the issue this PR fixes could happen in the wiki. This issue is due to a mismatch between the stored add-on file and the sharejs instance. The wiki does not use OSF Storage or any other add-on. It stores all wiki contents in Mongo. I guess it's possible that it could run into a similar issue with Mongo/sharejs mismatch. But after about 30 minutes of testing I was unable to get it to lose track of the correct version. There are fewer layers of abstraction with the wiki implementation, so harder to to lose track.

As discussed in person:

Create a wiki using the web ui
Leave that ShareJS session going
Update the wiki to a new version with different content using the osf shell (invoke shell)
Connect an incognito window to create a new ShareJS session to the same wiki

Let me know if the two windows have a) the same information and b) the correct information.


Errors in Html.Events documentation

There is an error in the Event.targetValue documentation example. The address parameter's name is not coherent with it's usage in the function body.
https://github.com/evancz/elm-html/blob/master/src/Html/Events.elm#L97-L98
Same for targetChecked

Oops! Do you mind opening a PR to fix that?


Verify no pod is running in controlplane for workerless shoots

How to categorize this PR?

/area testing
/kind enhancement
What this PR does / why we need it:
I think VerifyNoRunningPods(Check for no pod is running in controlplane) was mistakenly disabled for workless shoots, there is no point in not having this check for workerless shoots.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
/cc @ary1992 @shafeeqes
Release note:

NONE

/approve


linear-gradient requires position when first color stop has a defined stop point

When inputting the below code, you receive the given output that contains "to ," within it, breaking the layout on some browsers.
code:
@include background-image( linear-gradient( #6c9f57 0px, #6c9f57 21px, #61914e 22px, #61914e 100% ) );

output:
background-image: -webkit-linear-gradient(#6c9f57 0px, #6c9f57 21px, #61914e 22px, #61914e 100%);
background-image: linear-gradient(to   , #6c9f57 21px, #61914e 22px, #61914e 100%); } }

However, if you include a position (direction), the output is as expected.
code:
@include background-image( linear-gradient( to bottom, #6c9f57 0px, #6c9f57 21px, #61914e 22px, #61914e 100% ) );

output:
background-image: -webkit-linear-gradient( top , #6c9f57 0px, #6c9f57 21px, #61914e 22px, #61914e 100%);
background-image: linear-gradient(to bottom, #6c9f57 0px, #6c9f57 21px, #61914e 22px, #61914e 100%); } }

@jessepearson Still an open issue? Are you able to use the linear-gradient mixin to solve your needs?

Not that I know of, but I believe it may have been a documentation discrepancy that caused user error. I also have moved away from using the bourbon mixins and now use a autoprefixer for projects.


[tests] Add explicit test for synthetic edges on directory tree nodes.

Also, add a doc note on this behavior.

@swift-ci please smoke test

@shahmishal something odd changed here which caused llbuild to use GCC instead of Clang, did something about the machine environment change?

@swift-ci please smoke test linux


[SPM] Fix warnings when building Moya module.

Supporting files directory included prints a warning and I get an error from not including Foundation in these two files, so this should fix it 🤞
Also, we might need to add compatibility checks on our CI soon.

Yikes

Module compiled with Swift 3.1 cannot be imported in Swift 3.2: /Users/distiller/Moya/Carthage/Build/tvOS/Alamofire.framework/Modules/Alamofire.swiftmodule/x86_64.swiftmodule

Same error recently happened to me. I think @sunshinejr fixed it by clearing the build cache 🤔

This error is gonna haunt me forever. Not sure why I always need to rebuild without cache. How does it get this old cache? Anyone has an idea? 🤔

First time i'm seeing CircleCI and can't say it feels very reliable thus far 🤔

Seems like you can just add a post hook to manually clear the cache. But still super annoying: https://circleci.com/docs/1.0/how-cache-works/#clearing-cache

Clearing cache is not something I would pursue, since building dependencies each time might be too painful. I'm thinking if this is a temporary problem, since on master we have this old cache with 3.1, and on 9.0.0-dev we have new cache with 3.2. Maybe new PRs are getting cache from master and that's the problem? 🤔

Yeah that makes total sense, since I imagine the entire project reuses some of the same caches/machines? I guess we can "wait the pain out" until 9.0.0 is out next month, right? :)

Yeah that makes sense the docs updates / gardening of master matches the inconsistency of the error.
Next month?! 😱 We're so close!!

          2 Warnings

:warning:
Any changes to library code should be reflected in the Changelog. Please consider adding a note there.

:warning:
The library files were changed, but the tests remained unmodified. Consider updating or adding to the tests to match the library changes.

  Generated by :no_entry_sign: Danger

Codecov Report

Merging #1224 into 9.0.0-dev will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           9.0.0-dev    #1224   +/-   ##
==========================================
  Coverage      76.25%   76.25%
==========================================
  Files             24       24
  Lines            758      758
==========================================
  Hits             578      578
  Misses           180      180

Impacted Files
Coverage Δ

Sources/RxMoya/RxMoyaAvailability.swift
0% <ø> (ø)
:arrow_up:

...ources/ReactiveMoya/ReactiveMoyaAvailability.swift
65.38% <ø> (ø)
: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 f2787a2...9fb12a5. Read the comment docs.

Yeah, let's just wait that out until we merge it for next version (which should be a lot faster than one month 😄)


[FLINK-7642] [docs] Add very obvious warning about outdated docs

What is the purpose of the change
This pull requests make the warning about outdated docs more obvious.

Please compare the screenshot to our current state: https://ci.apache.org/projects/flink/flink-docs-release-1.1/
If you like this, I would back/forward port this to all versions >= 1.0 and update the releasing Wiki page to add a note about updating the configuration of the docs.
Brief change log

Change the color of the outdated warning footer to red
Rename the config key from is_latest to show_outdated_warning
Add an outdated warning to every page before the actual content

Verifying this change

We don't have any tests for the docs
You can manually check out my branch and build the docs

+1 I like these improvements.

+1 Thank you @uce. I will merge this...

I merge this to all release branches >= 1.0. Feel free to check if I didn't make a mistake.

@twalthr Thanks for doing the work of merging this to the other branches as well. I've triggered a build for all branches. While 1.2 worked and the warning is now available online (https://ci.apache.org/projects/flink/flink-docs-release-1.2/), older branches don't build properly:
https://ci.apache.org/builders/flink-docs-release-1.0/builds/545
https://ci.apache.org/builders/flink-docs-release-1.1/builds/391
Do you have a clue what we can do there? Also pinging @rmetzger who has some experience with the Apache infrastructure...

Afaik the problem is that the doc builders are independent of Flink version. So we use the same toolchain for building 0.8 docs and 1.4 docs.
The flink.conf file in https://svn.apache.org/repos/infra/infrastructure/buildbot/aegis/buildmaster/master1/projects contains the builder config. I've introduced @twalthr into the ugly details of it a few weeks ago, maybe he can look into it.


More imports from digital-citizenship-functions

Warnings

:warning:
Please include a Pivotal story at the beginning of the PR title (see below).

:warning:
Please include a description of your PR changes.

Example of PR titles that include pivotal stories:

single story: [#123456] my PR title
multiple stories: [#123456,#123457,#123458] my PR title

cidr-matcher
Author: Marco Pracucci
Description: Fast CIDR matcher. Given an input IPv4 address, it checks if it's inside a set of IP ranges, expressed in CIDR notation.
Homepage: https://github.com/pracucci/node-cidr-matcher

Createdover 3 years agoLast Updated4 months agoLicenseMITMaintainers2Releases8Direct Dependenciesip6addrKeywordsip, address, cidr, network, class and subnet

README
CIDR Matcher
Fast CIDR matcher. Given an input IPv4 or IPv6 address, it checks if it's inside a set of IP ranges, expressed in CIDR notation. This module is based upon the great ip6addr module.
Installation
npm
npm install cidr-matcher

git
git clone https://github.com/pracucci/node-cidr-matcher.git

Usage

var CIDRMatcher = require('cidr-matcher');

var matcher = new CIDRMatcher([ '2a05:d07c:2000:0:0:0:0:0/120', '<IP_ADDRESS>/24', '<IP_ADDRESS>/32', '<IP_ADDRESS>/32' ]);

matcher.contains('<IP_ADDRESS>'); // returns true
matcher.contains('<IP_ADDRESS>'); // returns true

matcher.contains('<IP_ADDRESS>'); // returns true
matcher.contains('<IP_ADDRESS>'); // returns false

matcher.contains('<IP_ADDRESS>'); // returns false
matcher.contains('<IP_ADDRESS>'); // returns false

matcher.containsAny([ '<IP_ADDRESS>', '<IP_ADDRESS>' ]); // return true
matcher.containsAny([ '<IP_ADDRESS>', '<IP_ADDRESS>' ]); // return true
matcher.containsAny([ '<IP_ADDRESS>', '<IP_ADDRESS>' ]); // return false

assert.ok(matcher.contains('2a05:d07c:2000:0:0:0:0:0'));  // return true
assert.ok(matcher.contains('2a05:d07c:2000:0:0:0:0:ff')); // return true
assert.ok(matcher.contains('2a05:d07c:3000:0:0:0:0:0'));  // return false

// You can also add / remove network classes on-the-fly
matcher.addNetworkClass('<IP_ADDRESS>/24');
matcher.contains('<IP_ADDRESS>'); // returns true

matcher.removeNetworkClass('<IP_ADDRESS>/24');
matcher.contains('<IP_ADDRESS>'); // returns false

Benchmark
The following table shows the execution of benchmark/ across different versions of this module and other modules you can find on npm. Each benchmark is executed with a random set of 25000 IP addresses, where each IP is checked against each network range (CIDR) in the test dataset.

Module
Version
Dataset
Execution time

This one
2.0.0
AWS IPv4 (1385 CIDRs)
228 ms

This one
2.0.0
AWS IPv6 (474 CIDRs)
1799 ms

This one
1.0.5
AWS IPv4 (1385 CIDRs)
2895 ms (without IPv4 over IPv6 support)

This one
1.0.5
AWS IPv6 (474 CIDRs)
Unsupported

is-in-subnet
1.9.0
AWS IPv4 (1385 CIDRs)
96106 ms

is-in-subnet
1.9.0
AWS IPv6 (474 CIDRs)
33482 ms

ip-range-check
0.0.2
AWS IPv4 (1385 CIDRs)
390134 ms

ip-range-check
0.0.2
AWS IPv6 (474 CIDRs)
73083 ms

If you're aware of any other module that implements the IP in CIDR and you wanna see it benchmarked, please open an Issue or submit a PR.
Contribute
Run tests
npm test

License
This software is licensed under the MIT License.
Copyright (c) 2015, Marco Pracucci<EMAIL_ADDRESS>Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
  IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

helmet
Author: Adam Baldwin
Description: help secure Express/Connect apps with various HTTP headers
Homepage: https://helmetjs.github.io/

Createdover 7 years agoLast Updatedabout 2 months agoLicenseMITMaintainers2Releases84Direct Dependenciesdepd, dns-prefetch-control, dont-sniff-mimetype, expect-ct, feature-policy, frameguard, helmet-crossdomain, helmet-csp, hide-powered-by, hpkp, hsts, ienoopen, nocache, referrer-policy and x-xss-protectionKeywordssecurity, headers, express, connect, x-frame-options, x-powered-by, csp, hsts and clickjack

README
Helmet

Helmet helps you secure your Express apps by setting various HTTP headers. It's not a silver bullet, but it can help!
Looking for a version of Helmet that supports the Koa framework?
Quick start
First, run npm install helmet --save for your app. Then, in an Express (or Connect) app:
const express = require('express')
const helmet = require('helmet')

const app = express()

app.use(helmet())

// ...

It's best to use Helmet early in your middleware stack so that its headers are sure to be set.
You can also use its pieces individually:
app.use(helmet.xssFilter())
app.use(helmet.frameguard())

You can disable a middleware that's normally enabled by default. This will disable frameguard but include the other defaults.
app.use(helmet({
  frameguard: false
}))

You can also set options for a middleware. Setting options like this will always include the middleware, whether or not it's a default.
app.use(helmet({
  frameguard: {
    action: 'deny'
  }
}))

If you're using Express 3, make sure these middlewares are listed before app.router.
How it works
Helmet is a collection of 14 smaller middleware functions that set HTTP response headers. Running app.use(helmet()) will not include all of these middleware functions by default.

Module
Default?

contentSecurityPolicy for setting Content Security Policy

crossdomain for handling Adobe products' crossdomain requests

dnsPrefetchControl controls browser DNS prefetching
✓

expectCt for handling Certificate Transparency

featurePolicy to limit your site's features

frameguard to prevent clickjacking
✓

hidePoweredBy to remove the X-Powered-By header
✓

hpkp for HTTP Public Key Pinning

hsts for HTTP Strict Transport Security
✓

ieNoOpen sets X-Download-Options for IE8+
✓

noCache to disable client-side caching

noSniff to keep clients from sniffing the MIME type
✓

referrerPolicy to hide the Referer header

xssFilter adds some small XSS protections
✓

You can see more in the documentation.

helmet-csp
Author: Adam Baldwin
Description: Content Security Policy middleware.
Homepage: https://github.com/helmetjs/csp#readme

Createdover 4 years agoLast Updated11 months agoLicenseMITMaintainers1Releases27Direct Dependenciescamelize, content-security-policy-builder, dasherize and platformKeywordshelmet, security, express, connect, content, security, policy, csp and xss

README
Content Security Policy middleware

Looking for a changelog?
Content Security Policy helps prevent unwanted content being injected into your webpages; this can mitigate cross-site scripting (XSS) vulnerabilities, malicious frames, unwanted trackers, and more. If you want to learn how CSP works, check out the fantastic HTML5 Rocks guide, the Content Security Policy Reference, and the Content Security Policy specification. This module helps set Content Security Policies.
Usage:
var csp = require('helmet-csp')

app.use(csp({
  // Specify directives as normal.
  directives: {
    defaultSrc: ["'self'", 'default.com'],
    scriptSrc: ["'self'", "'unsafe-inline'"],
    styleSrc: ['style.com'],
    fontSrc: ["'self'", 'fonts.com'],
    imgSrc: ['img.com', 'data:'],
    sandbox: ['allow-forms', 'allow-scripts'],
    reportUri: '/report-violation',
    objectSrc: ["'none'"],
    upgradeInsecureRequests: true,
    workerSrc: false  // This is not set.
  },

  // This module will detect common mistakes in your directives and throw errors
  // if it finds any. To disable this, enable "loose mode".
  loose: false,

  // Set to true if you only want browsers to report errors, not block them.
  // You may also set this to a function(req, res) in order to decide dynamically
  // whether to use reportOnly mode, e.g., to allow for a dynamic kill switch.
  reportOnly: false,

  // Set to true if you want to blindly set all headers: Content-Security-Policy,
  // X-WebKit-CSP, and X-Content-Security-Policy.
  setAllHeaders: false,

  // Set to true if you want to disable CSP on Android where it can be buggy.
  disableAndroid: false,

  // Set to false if you want to completely disable any user-agent sniffing.
  // This may make the headers less compatible but it will be much faster.
  // This defaults to `true`.
  browserSniff: true
}))

There are a lot of inconsistencies in how browsers implement CSP. Helmet looks at the user-agent of the browser and sets the appropriate header and value for that browser. If no user-agent is matched, it will set all the headers with the 2.0 spec.
Supported directives
Directives can be kebab-cased (like script-src) or camel-cased (like scriptSrc); they are equivalent.
The following directives are supported:

base-uri or baseUri
block-all-mixed-content or blockAllMixedContent
child-src or childSrc
connect-src or connectSrc
default-src or defaultSrc
font-src or fontSrc
form-action or formAction
frame-ancestors or frameAncestors
frame-src or frameSrc
img-src or imgSrc
manifest-src or manifestSrc
media-src or mediaSrc
object-src or objectSrc
plugin-types or pluginTypes
prefetch-src or prefetchSrc
report-to or reportTo
report-uri or reportUri
require-sri-for or requireSriFor
sandbox or sandbox
script-src or scriptSrc
style-src or styleSrc
upgrade-insecure-requests or upgradeInsecureRequests
worker-src or workerSrc

Handling CSP violations
If you've specified a reportUri, browsers will POST any CSP violations to your server. Here's a simple example of a route that handles those reports:
// You need a JSON parser first.
app.use(bodyParser.json({
  type: ['json', 'application/csp-report']
}))

app.post('/report-violation', function (req, res) {
  if (req.body) {
    console.log('CSP Violation: ', req.body)
  } else {
    console.log('CSP Violation: No data received!')
  }
  res.status(204).end()
})

Not all browsers send CSP violations in the same way, so this might require a little work.
Note: If you're using a CSRF module like csurf, you might have problems handling these violations without a valid CSRF token. The fix is to put your CSP report route above csurf middleware.
Generating nonces
You can dynamically generate nonces to allow inline <script> tags to be safely evaluated. Here's a simple example:
var uuidv4 = require('uuid/v4')

app.use(function (req, res, next) {
  res.locals.nonce = uuidv4()
  next()
})

app.use(csp({
  directives: {
    scriptSrc: [
      "'self'",
      function (req, res) {
        return "'nonce-" + res.locals.nonce + "'"  // 'nonce-614d9122-d5b0-4760-aecf-3a5d17cf0ac9'
      }
    ]
  }
}))

app.use(function (req, res) {
  res.end('<script nonce="' + res.locals.nonce + '">alert(1 + 1);</script>')
})

Using CSP with a CDN
The default behavior of CSP is generate headers tailored for the browser that's requesting your page.  Make sure to eschew a CDN when using this module or set the browserSniff option to false.
See also

GitHub's CSP journey
Content Security Policy for Single Page Web Apps

New dependencies added: cidr-matcher, helmet, helmet-csp, referrer-policy, superagent, nodemailer, @types/nodemailer, @types/helmet and @types/superagent.
superagent
Author: TJ Holowaychuk
Description: elegant & feature rich browser / node HTTP with a fluent API
Homepage: https://github.com/visionmedia/superagent

Createdalmost 8 years agoLast Updated5 days agoLicenseMITMaintainers11Releases132Direct Dependenciescomponent-emitter, cookiejar, debug, fast-safe-stringify, form-data, formidable, methods, mime, qs, readable-stream and semverKeywordsagent, ajax, ajax, api, async, await, axios, cancel, client, frisbee, got, http, http, https, ky, promise, promise, promises, request, request, requests, response, rest, retry, super, superagent, timeout, transform, xhr and xmlhttprequest

README
superagent

Small progressive client-side HTTP request library, and Node.js module with the same API, sporting many high-level HTTP client features

Table of Contents

Install
Usage

Node
Browser

Supported Platforms

Required Browser Features

Plugins
Upgrading from previous versions
Contributors
License

Install
npm:
npm install superagent

yarn:
yarn add superagent

Usage
Node
const superagent = require('superagent');

// callback
superagent
  .post('/api/pet')
  .send({ name: 'Manny', species: 'cat' }) // sends a JSON post body
  .set('X-API-Key', 'foobar')
  .set('accept', 'json')
  .end((err, res) => {
    // Calling the end function will send the request
  });

// promise with then/catch
superagent.post('/api/pet').then(console.log).catch(console.error);

// promise with async/await
(async () => {
  try {
    const res = await superagent.post('/api/pet');
    console.log(res);
  } catch (err) {
    console.error(err);
  }
})();

Browser
The browser-ready, minified version of superagent is only 6 KB (minified and gzipped)!
Browser-ready versions of this module are available via jsdelivr, unpkg, and also in the node_modules/superagent/dist folder in downloads of the superagent package.

Note that we also provide unminified versions with .js instead of .min.js file extensions.

VanillaJS
This is the solution for you if you're just using <script> tags everywhere!
<script src="https://polyfill.io/v3/polyfill.min.js?features=Array.from,Promise,Symbol,Object.setPrototypeOf,Object.getOwnPropertySymbols"></script>
<script src="https://cdn.jsdelivr.net/npm/superagent"></script>
<!-- if you wish to use unpkg.com instead: -->
<!-- <script src="https://unpkg.com/superagent"></script> -->
<script type="text/javascript">
  (function() {
    // superagent is exposed as `window.superagent`
    // if you wish to use "request" instead please
    // uncomment the following line of code:
    // `window.request = superagent;`
    superagent
      .post('/api/pet')
      .send({ name: 'Manny', species: 'cat' }) // sends a JSON post body
      .set('X-API-Key', 'foobar')
      .set('accept', 'json')
      .end(function (err, res) {
        // Calling the end function will send the request
      });
  })();
</script>

Bundler
If you are using browserify, webpack, rollup, or another bundler, then you can follow the same usage as Node above.
Supported Platforms

Node: v6.x+

Browsers (see .browserslistrc):
npx browserslist

and_chr 71
and_ff 64
and_qq 1.2
and_uc 11.8
android 67
android 4.4.3-4.4.4
baidu 7.12
bb 10
bb 7
chrome 73
chrome 72
chrome 71
edge 18
edge 17
firefox 66
firefox 65
ie 11
ie 10
ie 9
ie_mob 11
ie_mob 10
ios_saf 12.0-12.1
ios_saf 11.3-11.4
op_mini all
op_mob 46
op_mob 12.1
opera 58
opera 57
safari 12
safari 11.1
samsung 8.2
samsung 7.2-7.4

Required Browser Features
We recommend using https://polyfill.io (specifically with the bundle mentioned in VanillaJS above):
<script src="https://polyfill.io/v3/polyfill.min.js?features=Array.from,Promise,Symbol,Object.setPrototypeOf,Object.getOwnPropertySymbols"></script>

IE 9-10 requires a polyfill for Promise, Array.from, Symbol, Object.getOwnPropertySymbols, and Object.setPrototypeOf
IE 9 requires a polyfill for window.FormData (we recommend formdata-polyfill)

Plugins
SuperAgent is easily extended via plugins.
const nocache = require('superagent-no-cache');
const superagent = require('superagent');
const prefix = require('superagent-prefix')('/static');

superagent
  .get('/some-url')
  .query({ action: 'edit', city: 'London' }) // query string
  .use(prefix) // Prefixes *only* this request
  .use(nocache) // Prevents caching of *only* this request
  .end((err, res) => {
    // Do something
  });

Existing plugins:

superagent-no-cache - prevents caching by including Cache-Control header
superagent-prefix - prefixes absolute URLs (useful in test environment)
superagent-suffix - suffix URLs with a given path
superagent-mock - simulate HTTP calls by returning data fixtures based on the requested URL
superagent-mocker — simulate REST API
superagent-cache - A global SuperAgent patch with built-in, flexible caching
superagent-cache-plugin - A SuperAgent plugin with built-in, flexible caching
superagent-jsonapify - A lightweight json-api client addon for superagent
superagent-serializer - Converts server payload into different cases
superagent-httpbackend - stub out requests using AngularJS' $httpBackend syntax
superagent-throttle - queues and intelligently throttles requests
superagent-charset - add charset support for node's SuperAgent
superagent-verbose-errors - include response body in error messages for failed requests
superagent-declare - A simple declarative API for SuperAgent

Please prefix your plugin with superagent-* so that it can easily be found by others.
For SuperAgent extensions such as couchdb and oauth visit the wiki.
Upgrading from previous versions
Our breaking changes are mostly in rarely used functionality and from stricter error handling.

4.x to 5.x:

We've implemented the build setup of Lass to simplify our stack and linting
Unminified browserified build size has been reduced from 48KB to 20KB (via tinyify and the latest version of Babel using @babel/preset-env and .browserslistrc)
Linting support has been added using caniuse-lite and eslint-plugin-compat
We can now target what versions of Node we wish to support more easily using .babelrc

3.x to 4.x:

Ensure you're running Node 6 or later. We've dropped support for Node 4.
We've started using ES6 and for compatibility with Internet Explorer you may need to use Babel.
We suggest migrating from .end() callbacks to .then() or await.

2.x to 3.x:

Ensure you're running Node 4 or later. We've dropped support for Node 0.x.
Test code that calls .send() multiple times. Invalid calls to .send() will now throw instead of sending garbage.

1.x to 2.x:

If you use .parse() in the browser version, rename it to .serialize().
If you rely on undefined in query-string values being sent literally as the text "undefined", switch to checking for missing value instead. ?key=undefined is now ?key (without a value).
If you use .then() in Internet Explorer, ensure that you have a polyfill that adds a global Promise object.

0.x to 1.x:

Instead of 1-argument callback .end(function(res){}) use .then(res => {}).

Contributors

Name

Kornel Lesiński

Peter Lyons

Hunter Loftis

Nick Baugh

License
MIT © TJ Holowaychuk

nodemailer
Author: Andris Reinman
Description: Easy as cake e-mail sending from your Node.js applications
Homepage: https://nodemailer.com/

Createdover 8 years agoLast Updatedabout 1 month agoLicenseMITMaintainers1Releases218Direct DependenciesKeywordsNodemailer

README
Nodemailer

Send e-mails from Node.js – easy as cake! 🍰✉

See nodemailer.com for documentation and terms.
Why version bump to 5?
Nodemailer changed from dns.lookup() to dns.resolve for resolving SMTP hostnames which might be backwards incompatible and thus the version bump. Nodemailer tries first resolve4() and if no match is found then resolve6() and finally reverts back to lookup(). Additionally found DNS results are cached (for 5 minutes). This should make it easier to manage high performance clients that send a lot of messages in parallel.
Having an issue?
First review the docs
Documentation for Nodemailer can be found at nodemailer.com
Nodemailer throws a SyntaxError for "..."
You are using older Node.js version than v6.0. Upgrade Node.js to get support for the spread operator
I'm having issues with Gmail
Gmail either works well or it does not work at all. It is probably easier to switch to an alternative service instead of fixing issues with Gmail. If Gmail does not work for you then don't use it.
I get ETIMEDOUT errors
Check your firewall settings. Timeout usually occurs when you try to open a connection to a port that is firewalled either on the server or on your machine
I get TLS errors
If you are running the code in your own machine, then check your antivirus settings. Antiviruses often mess around with email ports usage. Node.js might not recognize the MITM cert your antivirus is using.
I have a different problem
If you are having issues with Nodemailer, then the best way to find help would be Stack Overflow or revisit the docs.
Contributors
This project exists thanks to all the people who contribute. [Contribute].

Backers
Thank you to all our backers! 🙏 [Become a backer]

Sponsors
Support this project by becoming a sponsor.  [Become a sponsor]

License
Nodemailer is licensed under the MIT license

The Nodemailer logo was designed by Sven Kristjansen.

@types/nodemailer
Author: Unknown
Description: TypeScript definitions for Nodemailer
Homepage: http://npmjs.com/package/@types/nodemailer

Createdabout 3 years agoLast Updated28 days agoLicenseMITMaintainers1Releases41Direct Dependencies@types/node

README
Installation

npm install --save @types/nodemailer

Summary
This package contains type definitions for Nodemailer ( https://github.com/nodemailer/nodemailer ).
Details
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/nodemailer
Additional Details

Last updated: Tue, 28 May 2019 19:24:38 GMT
Dependencies: @types/node
Global values: none

Credits
These definitions were written by Rogier Schouten https://github.com/rogierschouten, Piotr Roszatycki https://github.com/dex4er, Daniel Chao https://github.com/bioball.

@types/helmet
Author: Unknown
Description: TypeScript definitions for helmet
Homepage: http://npmjs.com/package/@types/helmet

Createdabout 3 years agoLast Updated28 days agoLicenseMITMaintainers1Releases25Direct Dependencies@types/express

README
Installation

npm install --save @types/helmet

Summary
This package contains type definitions for helmet ( https://github.com/helmetjs/helmet ).
Details
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/helmet
Additional Details

Last updated: Thu, 07 Mar 2019 23:20:18 GMT
Dependencies: @types/express
Global values: none

Credits
These definitions were written by Cyril Schumacher https://github.com/cyrilschumacher, Evan Hahn https://github.com/EvanHahn, Elliot Blackburn https://github.com/bluehatbrit, Daniel Müller https://github.com/chdanielmueller.

@types/superagent
Author: Unknown
Description: TypeScript definitions for SuperAgent
Homepage: http://npmjs.com/package/@types/superagent

Createdabout 3 years agoLast Updated28 days agoLicenseMITMaintainers1Releases44Direct Dependencies@types/cookiejar and @types/node

README
Installation

npm install --save @types/superagent

Summary
This package contains type definitions for SuperAgent ( https://github.com/visionmedia/superagent ).
Details
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/superagent/v2
Additional Details

Last updated: Tue, 12 Mar 2019 18:08:27 GMT
Dependencies: @types/node
Global values: none

Credits
These definitions were written by Alex Varju https://github.com/varju, Nico Zelaya https://github.com/NicoZelaya, Michael Ledin https://github.com/mxl.

referrer-policy
Author: Evan Hahn
Description: Middleware to set the Referrer-Policy HTTP header
Homepage: https://helmetjs.github.io/docs/referrer-policy/

Createdalmost 3 years agoLast Updatedabout 2 months agoLicenseMITMaintainers1Releases4Keywordshelmet, security, express, connect, referer, referrer and privacy

README
Referrer Policy

The Referer HTTP header is typically set by web browsers to tell the server where it's coming from. For example, if you click a link on example.com/index.html that takes you to wikipedia.org, Wikipedia's servers will see Referer: example.com. This can have privacy implications—websites can see where you are coming from. The new Referrer-Policy HTTP header lets authors control how browsers set the Referer header.
Read the spec to see the options you can provide.
Usage:
const referrerPolicy = require('referrer-policy')

app.use(referrerPolicy({ policy: 'same-origin' }))
// Referrer-Policy: same-origin

app.use(referrerPolicy({ policy: 'unsafe-url' }))
// Referrer-Policy: unsafe-url

app.use(referrerPolicy())
// Referrer-Policy: no-referrer

  Generated by :no_entry_sign: dangerJS against 6abb159f4954a2e3afc71baceafd3793f79bb751


POL-1347 - feat: refactor AWS, Azure, and Google Schedule Instance Policy Templates

Description

remove next_stop, next_start tag requirements
remove static zone to region mapping
add task_labels and debugging for CWF actions
add error capture, graceful timeout handling

Issues Resolved
https://flexera.atlassian.net/browse/POL-1347
Link to Example Applied Policy
Applied Policy:
https://app.flexera.com/orgs/27018/automation/applied-policies/projects/116186?policyId=66e3244ba0dc2874b49bb87d
(Org27018, Project "Flexera-Sales" 116186, Name "Google Schedule Instance")
VM:
https://console.cloud.google.com/compute/instancesDetail/zones/us-central1-a/instances/instance-1-ip-test?project=sales-engineering-buyer
Login through Okta > Google Cloud App first
Contribution Check List

[X] New functionality includes testing.
[X] New functionality has been documented in the README if applicable
[X] New functionality has been documented in CHANGELOG.MD

Rest of test warnings/failures above appear to be false positives


Flow repeated twice CLEANUP - Admin | Sync Template v2 (Power Apps User Shared With)

Hello,
I was reading this document and you mention this flow CLEANUP - Admin | Sync Template v2 (Power Apps User Shared With) twice. I think it is only needed once. The description is a little bit different, but I think it's the same. I maybe wrong.

Thanks,
Garry

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

ID: e70f7e68-a58d-f9a1-1f2a-3f2bec8e58e2
Version Independent ID: 119292c3-9155-226c-8f26-9b92a86c0aa5
Content: Core components - Power Platform
Content Source: power-platform/guidance/coe/core-components.md
Service: power-platform
GitHub Login: @manuelap-msft
Microsoft Alias: mapichle

We have updated this now, thanks for letting us know!

We have updated this now, thanks for letting us know!


[BugFix] Remove the jobid check

Proposed changes
Issue Number: close #xxx

When FE is 2.x and BE is 3.0, the schema change job id is still not set.
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

Please refer the pr which introduced the job id.

LGTM


Device Tracker Unifi session times out.

Make sure you are running the latest version of Home Assistant before reporting an issue.
You should only file an issue if you found a bug. Feature and enhancement requests should go in the Feature Requests section of our community forum:
Home Assistant release (hass --version):
0.30.2
Python release (python3 --version):
Component/platform:
Unifi Device Tracker
Description of problem:
After an undermined amount of Uptime of HASS the login session to the Unifi Console for device tracking times out and needs to be logged in again.
The following errors then show up in the log.
16-11-10 20:04:00 homeassistant.components.device_tracker.unifi: Failed to scan clients: HTTP Error 401: Unauthorized

Expected:
I would assume there could be added to the component to detect the code 401 and re login

What version of Unifi Controller are you running?

Hello @rbflurry,
It is working fine for me here. Could you please share your configuration? Does it happen if you update to the latest HASS version? Do you have multiple sites configured on your Unifi?

Not totally related with the issue but during some troubleshooting, I found that would be nice to have a persistent message displayed if Unifi fails to initiate.
Submitted PR https://github.com/home-assistant/home-assistant/pull/4682 to accomplish it.


The start/end_listening sounds should be called with the pulse media.role=phone to enable ducking

Copied from https://github.com/MycroftAI/mycroft-core/issues/3148
This will likely never get fixed upstream since MycrodtAI has moved on to dinkum. But now that I am building my home setup around ovos, maybe there is a chance?
The linked ticket describes the issue.
Basically, the start listening sound play command  should be passed the same environment as the tts play command.
This let's pulse properly handle ducking of the start listening sound.
Without this, as it currently stands, the start listening sound is played without the phone role, so it is treated as music. This is problematic because I want the start listening sound and the tts to be played at the same volume.

the fix for this should be simple and go here https://github.com/OpenVoiceOS/ovos-utils/blob/dev/ovos_utils/sound/init.py


Validate redirect domain

Merging https://github.com/thomseddon/traefik-forward-auth/pull/77
Even if the discussion is correct and this doesn't actually matter in practice, it will hopefully make CodeQL happy.

I don't think this actually made CodeQL happy but I think it's just being dumb


Description of font directory string is now confusing on GMS2.3.0

Due to the way GMS2.3.0 display its Included Files, the instructions for scribble_init() are now misleading (though the core behaviour hasn't changed).
Additionally, a warning shouldn't appear when the font directory is set to an empty string. scribble_init() should make it clear that no fonts are loaded even if a valid default font is provided unless autoscan is used.

Fixed for v6.0.9


3.17 unable to publish package.

Hi! Thanks for reporting this feature/bug/question!
Please keep / fill in the relevant info from this template so that we can help you as best as possible.
Type (choose one):
- Bug
NPE version: 3.17
Installed from: ClickOnce / chocolatey.org / Zip on CodePlex
In case of a BUG:

What is the current result?
after installing version 3.17, i opened an older package (using v3.14) and after making changes, attempted to publish to our internal Nuget server. the publish failed.  also of note: when another developer using v3.14 attempted to open the package, they recieved an exception - we didnt capture the details, but it was in reference to an XML node (problem reading / didn not exist / unexpected value / etc)
What is the expected result?
the publish should succeed
Please post full exception details in case of an Exception (message, stacktrace, inner exceptions)
Internal Server Error
Are there any work arrounds? yes/no
have another developer on v3.14 do the publish
Is there a version in which it did worked?
v3.14
Is there a package on Nuget.org which shows the bug?
no

in case of a FEATURE REQUEST:

Why do we need it?
ensure backwards compatibility
Please provide an use case.

Please capture the exception.

I have included a screenshot with 2 images – one of the error when attempting to publish the v3.17 package, and the other of another user attempting to open the v3.17 package with v.314 of Nuget Package Explorer
-Kevin
From: Julian Verdurmen<EMAIL_ADDRESS>Sent: Monday, June 13, 2016 3:00 PM
To: NuGetPackageExplorer/NuGetPackageExplorer<EMAIL_ADDRESS>Cc: Kevin Hardy<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [NuGetPackageExplorer/NuGetPackageExplorer] 3.17 unable to publish package. (#112)
Please capture the exception.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/NuGetPackageExplorer/NuGetPackageExplorer/issues/112#issuecomment-225675734, or mute the threadhttps://github.com/notifications/unsubscribe/APleFRBi_cy07JzzwVHH_u4Dd21pF8SYks5qLailgaJpZM4I0nMZ.

Maybe because I'm on mobile, but i don't see the attachments.
Is is possible to test with 3.16?

Hey Julian,
I can five that a try tomorrow - maybe the attachment got stripped ?
If you'd like to send me another email o could try the attachment again
Kevin
Sent from my iPhone
On Jun 13, 2016, at 5:34 PM, Julian Verdurmen <notifications<EMAIL_ADDRESS>wrote:
Maybe because I'm on mobile, but i don't see the attachments.
Is is possible to test with 3.16?

You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/NuGetPackageExplorer/NuGetPackageExplorer/issues/112#issuecomment-225715750, or mute the threadhttps://github.com/notifications/unsubscribe/APleFfDhtTD27DZyzTXoRUWZiRj1j2hPks5qLczYgaJpZM4I0nMZ.

See #114

This should be fixed in 3.18. If not, please let me know.


Safing.Portmaster version 0.7.14

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[x] Does your manifest conform to the 1.0 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

The hash is the same?!

It's an update, so the hash should be the same right?

It's an update, so the hash should be the same right?

Looks like 0.7.0 installs 0.7.14 so you should probably fix the version in the 0.7.0 package.
https://github.com/safing/portmaster/releases/tag/v0.7.14

It's an update, so the hash should be the same right?

Looks like 0.7.0 installs 0.7.14 so you should probably fix the version in the 0.7.0 package.
https://github.com/safing/portmaster/releases/tag/v0.7.14

The 0.7.0 manifest's download URL is https://updates.safing.io/windows_amd64/packages/portmaster-installer_v0-7-0.exe
So it probably installs 0.7.0. But I downloaded both versions, and they seem to have the exact same size and hash, so maybe they're the same after all.
So should I update the version AND the installer URL of the 0.7.0 manifest?

Because the Portmaster auto-updates, the installers we distribute are only minimal and usually only describe themselves, similar to all these "light or web installers" that only download the real deal when they are run.
Based on that, I have the following feedback:

Depending on the usage and behavior of winget, possibly use an identifier specific to the installer: Safing.Portmaster.Installer

While this would be more technically correct, just using Safing.Portmaster probably makes more sense for all practical use cases.

Use the version of the installer: v0.5.2

Use the direct link to the installer, not the "latest" redirect: https://updates.safing.io/windows_amd64/packages/portmaster-installer_v0-5-2.exe

Especially as you are providing a hash for it.

Mention to the user that the Portmaster auto-updates when doing a silent install, if possible.

Also, we will be issuing an update to the installer within the next month that will change the installation experience: The Portmaster service will not be started automatically after the install finished, but the user will be prompted to restart the device to complete installation. It would be interesting how this could be communicated in the install process here. If the installer is run interactively, then this should not be a problem, but I wonder how the silent installs would then work.
I'm not all too familiar with winget, so take my advice with a pinch of salt.
Originally posted by dhaavi in https://github.com/microsoft/winget-pkgs/issues/11651#issuecomment-827931214

Thank you for clarifying! Didn't know the devs were already on it..


Support double hyphen (--) in argument parsing

Hello,
I've been experimenting with Goawk recently and I discovered that goawk does not accept double hyphens to indicate the end of options parsing.
Here's an example of what I'm talking about:
$ awk -- '{print $1}' -file

The above snippet uses double hyphens to indicate the end of options parsing etc, and to allow for safely handling weird file names or untrusted input.
For example, if we have a file that we'd like to munge that is annoyingly named "-file"  and we do not use double hyphens, then the above snippet will fail because it parses "-file" as "-f ile", ie attempts to read a progfile from the non-existent file "ile".
Goawk however simply throws an an error: "flag provided but not defined: --".
Just thought I'd share my observations here.
Regards,
Jordan

Good call. It actually looks like both Gawk and (Brian Kernighan's) AWK don't even require the -- for this case. This works fine:
$ awk '{print $1}' -file

because they stop parsing options at the first argument that doesn't start with a -. (Both Gawk and AWK also support an explicit --.)
I'd be happy to add these behaviours to GoAWK (but may not get to it for a while). If you do want to work up a PR, feel free!

@essays-on-esotericism Out of interest, what are you using GoAWK for?

Hey, sorry for the late reply, I was AFK for a couple of weeks there.
I took a look at bringing GoAWKS's double hyphens and end of options parsing  in line with that of the other awks, but my Go chops aren't good enough unfortunately.
In terms of what I'm using GoAWK for:
I'm using it to do a bunch of data munging in my pf-badhost and unbound-adblock projects.
For example, we use awk to parse internet registrar datasets from ARIN/APNIC etc to extract IP addresses, CIDR blocks and ASNs. This involves computing logarithms ,  performing character case conversions, string manipulations etc - all things in awks wheelhouse.
I do all sorts of data munging and input sanitization with awk in those projects, I'll include some links to it below if you're interested. I've added support for GoAWK in the latest 0.6 beta snapshot, as you'll see on the  project pages linked below.
pf-badhost:
https://geoghegan.ca/pfbadhost.html
https://geoghegan.ca/pub/pf-badhost/beta/pf-badhost.sh
unbound-adblock:
https://geoghegan.ca/unbound-adblock.html
https://geoghegan.ca/pub/unbound-adblock/beta/unbound-adblock.sh

This is fixed now on the master branch.

Excellent work, thanks for making GoAWK!


[Dashboard] [Navigation] Dashboard ONLY

New navigation in the new Dashboard section. Navigation will be updated in other pages (eg: account pages, etc.) in https://github.com/CartoDB/cartodb/issues/14312.
It should initially have the following menu items:

~Home~ (this will be added when we implement the Dashboard)
[ ] Solutions
[ ] Maps
[ ] Data
[ ] CARTO Icon
[ ] Search box
[ ] Avatar

[ ] Your account
[ ] API Keys
[ ] Public profile
[ ] Notifications (X)
[ ] Log out ->

[ ] Notifications page

@csubira unless you're already working on it... I think we can extract the new Account dropdown and the new Notification page to separate issues. Are you working on any of those? Apart from those, what's left? Thank you!

@alonsogarciapablo when you mention "Account dropdown", do you mean the dropdown with the user information? (Older version in the image below) If that's it, it's included in this PR.

However, the notification page, as you said, I assumed that was a separate issue and I haven't been working on it.

@csubira yes. I was referring to that dropdown. Happy to hear is already in progress 👏 👏 👏
Don't worry about the notifications page. I will open a separate issue.

Merged! 🚀

Vamos @csubira! 👏 👏 👏


Request rephrasing under Prerequisites

Requesting rephrasing under Prerequisites:
Instead of "Microsoft Endpoint Configuration Manager (MECM) older than 2207. ", recommend to have something like "Microsoft Endpoint Configuration Manager (MECM) version to be higher than 2207." , as "older than" seems to be confusing.

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

ID: db7a8efc-83e0-d8cf-7385-c323d3793327
Version Independent ID: db7a8efc-83e0-d8cf-7385-c323d3793327
Content: Migrating servers from Microsoft Monitoring Agent to the unified solution
Content Source: microsoft-365/security/defender-endpoint/application-deployment-via-mecm.md
Service: microsoft-365-security
Sub-service: mde
GitHub Login: @alekyaj
Microsoft Alias: macapara

@benpaul4u thank you for your feedback. We have made changes to the document via PR#https://github.com/MicrosoftDocs/microsoft-365-docs/pull/10712
Once the author approves, the changes will be live.
Thanks
Sri

Closing as duplicate PR is merged. Thanks


Issue-188 Upgrade Netty-all from 4.1.42.Final to 4.4.51.Final

Netty 4.4.42 has some known security issues as following:

CVE-2019-20444 , before 4.1.44
CVE-2019-20445, before 4.1.44
CVE-2020-11612, before 4.1.46

This PR aims to bring the bug fixes from the latest netty-all.

gentle ping @wenweihu86 , please have a review, thx ~


Save Private Repo Credentials for Push/Pull

Is your feature request related to a problem? Please describe.
I created a Private Access Token from my GitHub account and I cloned my private repo through the Git tab in SageMaker Studio. When I did this, my Chrome browser (Windows 11) saved my credentials.
Each time I push/pull to this private repo (for which credentials are required), SageMaker studio asks me to provide my credentials. However, the web browser doesn't recognize the form and I have to manually copy/paste them in the right boxes.
FYI, the Private Access Token it provided only once and it means that I need to have it saved somewhere else.
Describe the solution you'd like
2 possible solutions:

Enable the web browser to capture the credential form and paste automatically the credentials into them. Then the user just needs to select which Username from the Browser-Pre-Saved Password List or directly press OK.
Have the possibility to configure git in order to pull out the credentials automatically from AWS ARN Secret. The ARN would be generated a 1st time by adding the git repo in SageMaker > Notebook > Git repositories > Add Repository. Then we would just refer to the arn link from SageMaker Studio.

Describe alternatives you've considered
So far 3 alternatives:

Fill by hand
Avoid using studio -> fall back on regular notebook instances
Try to write a script based on ssh connection + config of git client (noticed that ssh-add didn't work for me -> "Could not open a connection to your authentication agent.")

Additional context
None

You can use gh library to remember your credential. Please refer the following official GitHub document.
https://docs.github.com/en/get-started/getting-started-with-git/caching-your-github-credentials-in-git
The following instruction would be helpful for you.

Launch the Terminal in Studio Lab
conda install gh
gh auth login

Hi @icoxfog417, thanks a lot for trying to help me here!
Thanks for the doc! I don't know if conda decides by default to choose the conda-forge channel but in the doc you provided, it recommended the following command for the install:
conda install gh --channel conda-forge
Regarding this command and the next you recommended me to execute. Should it be run in a System Terminal or the (Docker) Image Terminal (or to include it in a script when a prompt ask for joining a script when we run a notebook for the 1st time) ?
I would have thought that it should be run in a System Terminal, correct?
So I ran:
bash-4.2$  conda install -v gh --channel conda-forge -y

When I do so, I get the following stdout:
Collecting package metadata: ...working... done
Solving environment: ...working... Killed

Any ideas ?

@ArnaudGlt I'm glad you can finally solve the credential issue. If you have not any other problems, please close this issue.
You can install gh by conda install -c conda-forge gh (I fixed the above comment). Something wrong will occur when installing the gh from the log you shared Solving environment: ...working... Killed. The latest gh iv  v2.5.2, I think you can update gh if you install successfully.
I assume that you use SageMaker Studio Notebook and here is SageMaker Studio Lab repository. In any case, you can solve the credential issue by your ssh procedure or gh procedure.

Hi @icoxfog417,
I confirm that I was using SageMaker Studio Lab (see my 1st post for instance) and that the Private Access Token issue for which I opened this thread is still not solved.
I couldn't use the gh method. The conda update failed. Without trying to sound harsh, your latest reply didn't help me in that regard.
Here is a try at a fix using gh (which honestly won't beat the good old ssh method I wrote above).
For those reading this issue, AWS SageMaker runs on EC2 based on a CentOS like distribution. The package manager for this OS is yum.
kudos to: https://computingforgeeks.com/how-to-install-github-cli-on-linux-and-windows/ for the first steps required to install gh with the CLI
Here is how you can update gh if the conda update fails (like in my case):
VERSION=`curl  "https://api.github.com/repos/cli/cli/releases/latest" | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\1/' | cut -c2-`
echo $VERSION
curl -sSL https://github.com/cli/cli/releases/download/v${VERSION}/gh_${VERSION}_linux_amd64.tar.gz -o gh_${VERSION}_linux_amd64.tar.gz
tar xvf gh_${VERSION}_linux_amd64.tar.gz
sudo cp gh_${VERSION}_linux_amd64/bin/gh /usr/local/bin/

However, since the conda gh is installed in /opt/conda/bin and that my $PATH starts like this /opt/conda/bin:/usr/local/sbin:/usr/local/bin we won't be accessing the latest gh but the one installed under this broken conda, so we have to create a .profile and update the path, here is how:
echo 'export PATH=$(echo $PATH | sed "s%/usr/local/bin:%%g" | sed "s%/%/usr/local/bin:/%")' > .profile
. .profile
echo $PATH

Now, you should read /usr/local/bin:/opt/conda/bin:/usr/local/sbin.
From there you should be able to use the latest version of gh:
gh version

Then you can try to use gh as proposed by @icoxfog417 (not tested by me). I can only confirm that my fix for the $PATH is resilient to killing and restarting any System Terminal. The .profile file is sourced properly by the Amazon Linux distro. Keep in mind that the .profile is for the current user and not for all users on the machine. In that case, you may want to have a look at /etc/profile.d.
Personally, I would stick to the ssh method ;)
I'll close the issue when someone will have tried this method successfully.

@ArnaudGlt I'm sorry for gh method does not work for you. I have confirmed gh method works in my Studio Lab environment already.  But there seems to be some difference between my environment and your environment.
The OS of Studio Lab is Ubuntu as I show the following image.

When you install gh by conda install, the libraries are installed in you environement. If you use default studio-lab environement, the gh command locates  /home/studio-lab-user/.conda/envs/studiolab/bin/.
And you can execute gh.

I'm not sure Studio Lab has different OS type (CentOS base and Ubuntu base).  I can not execute ssh-keygen and vi in my environment and can not install them in Studio Lab. From the https://github.com/aws/studio-lab-examples/issues/40, only support package installations via pip and conda. If you can use these, you ssh method is general way to setup git.

Thanks for the feedback @icoxfog417
Here is what I have on my side:

Have we missed a step where we could change the OS image ?

So I understood the problem, it is not related to Studio Lab, my bad. I was discovering the AWS universe, and it was confusing, they are 2 different services and 4 different features with almost the same names.
SageMaker Studio Lab: Free and Github community
SageMaker Studio: Paid service with 3 features:

Studio
Notebook - Jupyter (same as jupyter notebook)
Notebook - Jupyter Lab (same as jupyter lab)

For a Basic Support Plan, support on SageMaker AWS is inexistant.
So I am closing this issue, as I realize that it doesn't target the right service. Sorry for that. I just want to say that at this time, Studio Lab (the free version), looks much more user friendly than the paid version Studio.

FWIW, I wrote up a tutorial (with screenshots) about how to do this, here: https://austinlasseter.medium.com/cloning-your-first-repo-to-amazon-sagemaker-studio-lab-992dc7a8c72


Modifying rate limits "on the fly"

I noticed that if a key is getting constant Take requests, then the originally set rate limit for the key will never be overwritten, no matter a new Store was initialized with new limits. The original key should expire - not get traffic for 3 * original interval time - for the new limits to take effect. I'm wondering what's your take on this.
An example scenario:

Service is set to rate limit requests with a 100 req /sec rate limit.
There's a constant load on the service for key 'A'.
The team would like to increase it to 200 req /sec, related env vars are set, service is rebooted.
The change doesn't take effect for key 'A'.

I see there's a Set method that can be used to change the limits on the fly, but it feels like a bit of an overhead to call that for every request while we want to reset the limits only once.
I was wondering if we can make a rate limit check during Take and do a Set like action if they have been modified. This might have an unexpected side effect though if multiple versions of the service - having different rate limits  - are live and constantly overwriting the rate limits during a rolling deployment.
Another idea was to expire the rate limit config (separately from the other data), so the new limits will take affect in e.g. in 3 * original interval time even if there's constant load. (For a rolling deployment it probably means 3 * original interval time after there's no old version of the service running.)
What do you think? Any other approaches you would suggest? I'm happy to contribute if there's a solution emerging.

@sethvargo Gentle ping, if you have a suggestion on the above, I'm happy to contribute to whichever approach we choose.


Support multiple versions of the Proxy-Wasm ABI.

Signed-off-by: Piotr Sikora<EMAIL_ADDRESS>

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

/test all

@PiotrSikora: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

test-tsan_envoy_release-1.7
68efe3d7de8421af0261c63b53e08ae95936fb88
link
/test test-tsan_envoy_release-1.7

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test test-tsan_envoy_release-1.7

@PiotrSikora: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

test-tsan_envoy_release-1.7
b4117bb88080022195c33b0872b6adba3a4927c1
link
/test test-tsan_envoy_release-1.7

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test test-tsan_envoy_release-1.7

@PiotrSikora: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

test-tsan_envoy_release-1.7
b4117bb88080022195c33b0872b6adba3a4927c1
link
/test test-tsan_envoy_release-1.7

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test test-tsan_envoy_release-1.7

@PiotrSikora: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

test-tsan_envoy_release-1.7
b4117bb88080022195c33b0872b6adba3a4927c1
link
/test test-tsan_envoy_release-1.7

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test test-tsan_envoy_release-1.7

@PiotrSikora: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

test-tsan_envoy_release-1.7
45c46e3db7fb2de3586f53608fbde27d03c3b431
link
/test test-tsan_envoy_release-1.7

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test test-tsan_envoy_release-1.7


sudo must be owned by uid 0 and have the setuid bit set

Issue description
The sudo binary doesn't have an setuid bit that it needs to be useful.
Could be because of the pcap wrappers merge.
Steps to reproduce
Install sudo, try to run it.
Technical details

System: 17.03pre101267.a9584c9 (Gorilla)
Nix version: nix-env (Nix) 1.11.6
Nixpkgs version: 17.03pre101267.a9584c9

It was just a broken env. Sorry to bother you.

nix-user-chroot breaks sudo for instance. There might a fix for that, but I have not yet looked into it.

@pstn's occurence was due to the setuid sudo binary being moved from /run/setuid-wrappers to /run/wrappers/bin and his PATH not yet being updated. I'll add a temporary symlink before the release.

I was bit by this and was very confused for some time, but it turns out that since I was using zsh as my default shell, the PATH was being overwritten by ~/.zshenv. A line in that file was overwriting my PATH! With that line deleted and a reboot, everything works.
So if you're a zsh user bit by this bug, please check both your .zshrc and .zshenv for any lines setting PATH, and remove them.

Let's keep this issue open until the temporary symlink is added so this isn't forgotten.

What's the symlink fix? I'd like to get sudo working again without waiting.

The idea of the symlink fix is just to make /var/setuid-wrappers a symlink to /run/wrappers/bin

Ohhh, I tried /run/setuid-wrappers (from earlier in the thread), not /var/setuid-wrappers.

#23641

I upgraded from 17.03 to 18.03 and I have this problem.

The idea of the symlink fix is just to make /var/setuid-wrappers a symlink to /run/wrappers/bin

This did not help.


Improve Footer Design

I think it would look better if the footer design changed. The logo should be moved to the left, and the notice that's currently at the left would be put below it.
It should also be containered instead of full width. In addition, the icons and links on the right should have the text aligned to the left.

Hi @shahednasser, I would like to work on this enhancement.

Hi @shahednasser, I would like to work on this enhancement.

Sure @manish193 I will assign you

Sure @manish193 I will assign you

I made some changes, but the text item under the logo does not seem right. So instead I interchanged the position of logo and text.
I left aligned links.
Now it seems much cleaner than before

I made some changes, but the text item under the logo does not seem right. So instead I interchanged the position of logo and text.
I left aligned links.
Now it seems much cleaner than before

Unassigning @manish193 due to inactivity

Hi Shahednasser, is anyone working on this footer enhancement? if not, please could I give it a go?

Hello @Bc-coding no one is working on it, I'll assign you

Can you assign this issue to me?

Hello @navoditbharat someone else is working on this, please find an unassigned issue to work on


NV - ELR Resent (272 times) since 7/2/2022

Karen Felicietta<EMAIL_ADDRESS>Sent an email to ReportStream on 7/5/2022 at 11:13 AM.
Describe the bug
Please stop the sending of ELR to Trilith Main Tent facility in Nevada.
Impact
Since 7/2/2022 the ELR has been updated/resent 272 times.
Accession Number:  612c7ff1-26c1-449a-ab8e-fac0066a8aaa
Reporting Facility: Trilith Main Tent
CLIA#11D2243389
NV-LabID: OBS46149950NV01
Collection Date: 06/08/2022

Hey team! Please add your planning poker estimate with ZenHub @brick-green @jbiskie @MauriceReeves-usds @oslynn @sarahnw @TomNUSDS

Karen Felicietta<EMAIL_ADDRESS>Sent an email to ReportStream on 7/6/2022 at 11:20 AM.
We are having this duplication/update issue with multiple ELRs where the same result has been sent over 400 times. We really need this to stop now. Can you please provide an ETA as to when the support team will have completed their review?
All have been from:
Reporting Facility: Trilith Main Tent
CLIA#11D2243389
Additional duplication/updates:
422 updates between 7/2 & 7/6
Accession Number: 38024d1c-6d1a-47e7-a86e-23bf726e4f0c
NV-LabID: OBS46149956NV01
Collection Date: 06/29/2022
429 updates between 7/2 & 7/6
Accession Number: cce3e1c7-8cf8-4cbf-bb18-0922fadd8188
NV-LabID: OBS46149954NV01
Collection Date: 06/22/2022
427 updates between 7/2 & 7/6
Accession Number: 205a081c-88c2-42f7-9fe5-93a92d2d3382
NV-LabID: OBS46149952NV01
Collection Date: 06/15/2022
425 updates between 7/2 & 7/6
Accession Number: a1cdab1f-2603-4fb1-b135-c453ee970b03
NV-LabID: OBS46149946NV01
Collection Date: 06/08/2022
426 updates between 7/2 & 7/6
Accession Number: 859c1b93-f5b3-4419-b3c8-3678e86a61e1
NV-LabID: OBS46149948NV01
Collection Date: 06/01/2022

Karen Felicietta<EMAIL_ADDRESS>Sent an email to ReportStream on 7/6/2022 at 11:45 AM.
The sample below is of an ELR where earlier this morning there were 429 updates and now there are 462.
Accession Number: cce3e1c7-8cf8-4cbf-bb18-0922fadd8188
NV-LabID: OBS46149954NV01

Sharon, are these still coming in as of today? This problem sender, PMG, was removed from our program yesterday until this issue is resolved on their end.  They should not be receiving duplicates anymore. @sliu1000 @sarahnw

@Adrian-Brewster @sarahnw Karen says that duplicates continue to come today as well

I emailed NV last night. If they don't need anything else from us, I'll close this ticket.


Avoid unnecessary MSYS2 conversion of some arguments

Fixes #4740
The MSYS2 run-time convert arguments that look like paths when
executing a program unless that application is linked with the MSYS
run-time.  The exact conversion rules are listed here:
http://www.mingw.org/wiki/Posix_path_conversion

With the built-in configurations (all having names starting with
"mingw"), the openssl application is not linked with the MSYS2
run-time, and therefore, it will receive possibly converted arguments
from the process that executes it.  This conversion is fine for normal
path arguments, but it happens that some arguments to the openssl
application get converted when they shouldn't.  In one case, it's
arguments like '-passin file:something', and in another, it's a file:
URI (what typically happens is that URIs without an authority
component get converted, 'cause the conversion mechanism doesn't
recognise them as URIs).
To avoid conversion where we don't want it, we simply assign
MSYS2_ARG_CONV_EXCL a pattern to avoid specific conversions.  As a
precaution, we only do this where we obviously need it.

Checklist

[ ] documentation is added or updated
[ ] tests are added or updated

Note that this is master only.  1.1.0 will get its own PR

Might I bother you to look at #4766 as well?

Oh, you did...  never mind then ;-)

Merged.  f106f40694b6dd22a70c3c86fd7eb790b00cf4a6


segmentation fault occurered

environments:

macOS 10.14.5 Mojave
php 7.3.6 cli (via brew install php)
composer 1.8.5 (via brew install composer)

output of composer diagnose below:
Checking platform settings: OK
Checking git settings: OK
Checking http connectivity to packagist: OK
Checking https connectivity to packagist: OK
Checking github.com rate limit: OK
Checking disk free space: OK
Checking pubkeys:
Tags Public Key Fingerprint: 57815BA2 7E54DC31 7ECC7CC5 573090D0  87719BA6 8F3BB723 4E5D42D0 84A14642
Dev Public Key Fingerprint: 4AC45767 E5EC2265 2F0C1167 CBBB8A2B  0C708369 153E328C AD90147D AFE50952
OK
Checking composer version: OK
Composer version: 1.8.5
PHP version: 7.3.6
PHP binary path: /usr/local/Cellar/php/7.3.6/bin/php

First, flush my composer global packages and settings.
rm -rf ~/.composer/cache ~/.composer/vendor ~/.composer/composer.*

and try composer global require consolidation/cgr.
Changed current directory to /Users/hidekuro/.composer
Using version ^2.0 for consolidation/cgr
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
  - Installing consolidation/cgr (2.0.5): Downloading (100%)
Writing lock file
Generating autoload files

succeed.
but using hirak/prestissimo will failure with Segmentation fault.
rm -rf ~/.composer/cache ~/.composer/vendor ~/.composer/composer.*
composer global require hirak/prestissimo
composer global require consolidation/cgr

Changed current directory to /Users/hidekuro/.composer
    1/2:	https://packagist.jp/p/provider-latest$c4bd61274f7797a33d4f1efdd0bed5c496f7c212138a18f75ea21c9bb2f72245.json
    2/2:	https://packagist.jp/p/provider-2019-04$5897d9820bb6845de340427c738c2272c77072d89780f7d74b1d248c49bc0c75.json
    Finished: success: 2, skipped: 0, failure: 0, total: 2
Using version ^2.0 for consolidation/cgr
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Segmentation fault: 11

any solutions?

yes i have same problem. any fix about this ?

I've run into the same issue. Seems to be the same as already reported in #163 and closed without a fix

Seems like this is somehow caused by issues with CURL for me, see Homebrew/homebrew-core#40812 for example

I have this issue too

I have of this issue.

Currently this problem has been solved. After all, the cause was unknown.
$ php -v

PHP 7.3.7 (cli) (built: Jul  5 2019 12:44:05) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.7, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.7, Copyright (c) 1999-2018, by Zend Technologies

$ composer diagnose

composer diagnose
Checking platform settings: OK
Checking git settings: OK
Checking http connectivity to packagist: OK
Checking https connectivity to packagist: OK
Checking github.com rate limit: OK
Checking disk free space: OK
Checking pubkeys:
Tags Public Key Fingerprint: 57815BA2 7E54DC31 7ECC7CC5 573090D0  87719BA6 8F3BB723 4E5D42D0 84A14642
Dev Public Key Fingerprint: 4AC45767 E5EC2265 2F0C1167 CBBB8A2B  0C708369 153E328C AD90147D AFE50952
OK
Checking composer version: OK
Composer version: 1.8.6
PHP version: 7.3.7
PHP binary path: /usr/local/Cellar/php/7.3.7/bin/php

$ curl --version

curl 7.65.3 (x86_64-apple-darwin18.6.0) libcurl/7.65.3 SecureTransport zlib/1.2.11
Release-Date: 2019-07-19
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: AsynchDNS IPv6 Largefile libz NTLM NTLM_WB SSL UnixSockets