Boto3 Exception in ec2:DescribeTransitGatewayAttachments

Description:
Cartography crashes in a similar fashion to #375. However, rather than calling ec2:DescribeTransitGateways, this is calling ec2:DescribeTransitGatewayAttachments
To Reproduce:

Run with empty AWS account
Observe exception in EC2

Logs:
(note that account numbers and paths have been removed)
$ cartography --neo4j-uri bolt://localhost:7687
INFO:cartography.sync:Starting sync with update tag '1603410623'
INFO:cartography.sync:Starting sync stage 'create-indexes'
INFO:cartography.intel.create_indexes:Creating indexes for cartography node types.
INFO:cartography.sync:Finishing sync stage 'create-indexes'
INFO:cartography.sync:Starting sync stage 'aws'
INFO:cartography.intel.aws:Syncing AWS account with ID '123456789012' using configured profile 'default'.
INFO:cartography.intel.aws:Trying to autodiscover accounts.
INFO:cartography.intel.aws.iam:Syncing IAM for account '123456789012'.
INFO:cartography.intel.aws.s3:Syncing S3 for account '123456789012'.
INFO:cartography.intel.aws.dynamodb:Syncing DynamoDB for region in 'eu-north-1' in account '123456789012'.
INFO:cartography.intel.aws.dynamodb:Syncing DynamoDB for region in 'ap-south-1' in account '123456789012'.
INFO:cartography.intel.aws.dynamodb:Syncing DynamoDB for region in 'eu-west-3' in account '123456789012'.
INFO:cartography.intel.aws.dynamodb:Syncing DynamoDB for region in 'eu-west-2' in account '123456789012'.
INFO:cartography.intel.aws.dynamodb:Syncing DynamoDB for region in 'eu-west-1' in account '123456789012'.
INFO:cartography.intel.aws.dynamodb:Syncing DynamoDB for region in 'ap-northeast-3' in account '123456789012'.
INFO:cartography.intel.aws.dynamodb:Syncing DynamoDB for region in 'ap-northeast-2' in account '123456789012'.
INFO:cartography.intel.aws.dynamodb:Syncing DynamoDB for region in 'ap-northeast-1' in account '123456789012'.
INFO:cartography.intel.aws.dynamodb:Syncing DynamoDB for region in 'sa-east-1' in account '123456789012'.
INFO:cartography.intel.aws.dynamodb:Syncing DynamoDB for region in 'ca-central-1' in account '123456789012'.
INFO:cartography.intel.aws.dynamodb:Syncing DynamoDB for region in 'ap-east-1' in account '123456789012'.
INFO:cartography.intel.aws.dynamodb:Syncing DynamoDB for region in 'ap-southeast-1' in account '123456789012'.
INFO:cartography.intel.aws.dynamodb:Syncing DynamoDB for region in 'ap-southeast-2' in account '123456789012'.
INFO:cartography.intel.aws.dynamodb:Syncing DynamoDB for region in 'eu-central-1' in account '123456789012'.
INFO:cartography.intel.aws.dynamodb:Syncing DynamoDB for region in 'us-east-1' in account '123456789012'.
INFO:cartography.intel.aws.dynamodb:Syncing DynamoDB for region in 'us-east-2' in account '123456789012'.
INFO:cartography.intel.aws.dynamodb:Syncing DynamoDB for region in 'us-west-1' in account '123456789012'.
INFO:cartography.intel.aws.dynamodb:Syncing DynamoDB for region in 'us-west-2' in account '123456789012'.
INFO:cartography.intel.aws.ec2:Syncing EC2 for account '123456789012'.
WARNING:cartography.intel.aws.ec2.tgw:Could not retrieve Transit Gateways due to boto3 error InvalidAction: The action DescribeTransitGateways is not valid for this web service.. Skipping.
ERROR:cartography.sync:Unhandled exception during sync stage 'aws'
Traceback (most recent call last):
  File "/fakepath/.local/lib/python3.6/site-packages/cartography/sync.py", line 71, in run
    stage_func(neo4j_session, config)
  File "/fakepath/.local/lib/python3.6/site-packages/cartography/util.py", line 63, in timed
    return method(*args, **kwargs)
  File "/fakepath/.local/lib/python3.6/site-packages/cartography/intel/aws/__init__.py", line 148, in start_aws_ingestion
    _sync_multiple_accounts(neo4j_session, aws_accounts, config.update_tag, common_job_parameters)
  File "/fakepath/.local/lib/python3.6/site-packages/cartography/intel/aws/__init__.py", line 96, in _sync_multiple_accounts
    _sync_one_account(neo4j_session, boto3_session, account_id, sync_tag, common_job_parameters)
  File "/fakepath/.local/lib/python3.6/site-packages/cartography/intel/aws/__init__.py", line 44, in _sync_one_account
    ec2.sync(neo4j_session, boto3_session, regions, account_id, sync_tag, common_job_parameters)
  File "/fakepath/.local/lib/python3.6/site-packages/cartography/util.py", line 63, in timed
    return method(*args, **kwargs)
  File "/fakepath/.local/lib/python3.6/site-packages/cartography/intel/aws/ec2/__init__.py", line 37, in sync
    sync_transit_gateways(neo4j_session, boto3_session, regions, account_id, sync_tag, common_job_parameters)
  File "/fakepath/.local/lib/python3.6/site-packages/cartography/util.py", line 63, in timed
    return method(*args, **kwargs)
  File "/fakepath/.local/lib/python3.6/site-packages/cartography/intel/aws/ec2/tgw.py", line 228, in sync_transit_gateways
    tgw_attachments = get_tgw_attachments(boto3_session, region)
  File "/fakepath/.local/lib/python3.6/site-packages/cartography/util.py", line 63, in timed
    return method(*args, **kwargs)
  File "/fakepath/.local/lib/python3.6/site-packages/cartography/util.py", line 78, in inner_function
    return func(*args, **kwargs)
  File "/fakepath/.local/lib/python3.6/site-packages/cartography/intel/aws/ec2/tgw.py", line 36, in get_tgw_attachments
    for page in paginator.paginate():
  File "/fakepath/.local/lib/python3.6/site-packages/botocore/paginate.py", line 255, in __iter__
    response = self._make_request(current_kwargs)
  File "/fakepath/.local/lib/python3.6/site-packages/botocore/paginate.py", line 332, in _make_request
    return self._method(**current_kwargs)
  File "/fakepath/.local/lib/python3.6/site-packages/botocore/client.py", line 357, in _api_call
    return self._make_api_call(operation_name, kwargs)
  File "/fakepath/.local/lib/python3.6/site-packages/botocore/client.py", line 676, in _make_api_call
    raise error_class(parsed_response, operation_name)
botocore.exceptions.ClientError: An error occurred (InvalidAction) when calling the DescribeTransitGatewayAttachments operation: The action DescribeTransitGatewayAttachments is not valid for this web service.
Traceback (most recent call last):
  File "/fakepath/.local/bin/cartography", line 11, in <module>
    sys.exit(main())
  File "/fakepath/.local/lib/python3.6/site-packages/cartography/cli.py", line 348, in main
    return CLI(default_sync, prog='cartography').main(argv)
  File "/fakepath/.local/lib/python3.6/site-packages/cartography/cli.py", line 328, in main
    return cartography.sync.run_with_config(self.sync, config)
  File "/fakepath/.local/lib/python3.6/site-packages/cartography/sync.py", line 145, in run_with_config
    return sync.run(neo4j_driver, config)
  File "/fakepath/.local/lib/python3.6/site-packages/cartography/sync.py", line 71, in run
    stage_func(neo4j_session, config)
  File "/fakepath/.local/lib/python3.6/site-packages/cartography/util.py", line 63, in timed
    return method(*args, **kwargs)
  File "/fakepath/.local/lib/python3.6/site-packages/cartography/intel/aws/__init__.py", line 148, in start_aws_ingestion
    _sync_multiple_accounts(neo4j_session, aws_accounts, config.update_tag, common_job_parameters)
  File "/fakepath/.local/lib/python3.6/site-packages/cartography/intel/aws/__init__.py", line 96, in _sync_multiple_accounts
    _sync_one_account(neo4j_session, boto3_session, account_id, sync_tag, common_job_parameters)
  File "/fakepath/.local/lib/python3.6/site-packages/cartography/intel/aws/__init__.py", line 44, in _sync_one_account
    ec2.sync(neo4j_session, boto3_session, regions, account_id, sync_tag, common_job_parameters)
  File "/fakepath/.local/lib/python3.6/site-packages/cartography/util.py", line 63, in timed
    return method(*args, **kwargs)
  File "/fakepath/.local/lib/python3.6/site-packages/cartography/intel/aws/ec2/__init__.py", line 37, in sync
    sync_transit_gateways(neo4j_session, boto3_session, regions, account_id, sync_tag, common_job_parameters)
  File "/fakepath/.local/lib/python3.6/site-packages/cartography/util.py", line 63, in timed
    return method(*args, **kwargs)
  File "/fakepath/.local/lib/python3.6/site-packages/cartography/intel/aws/ec2/tgw.py", line 228, in sync_transit_gateways
    tgw_attachments = get_tgw_attachments(boto3_session, region)
  File "/fakepath/.local/lib/python3.6/site-packages/cartography/util.py", line 63, in timed
    return method(*args, **kwargs)
  File "/fakepath/.local/lib/python3.6/site-packages/cartography/util.py", line 78, in inner_function
    return func(*args, **kwargs)
  File "/fakepath/.local/lib/python3.6/site-packages/cartography/intel/aws/ec2/tgw.py", line 36, in get_tgw_attachments
    for page in paginator.paginate():
  File "/fakepath/.local/lib/python3.6/site-packages/botocore/paginate.py", line 255, in __iter__
    response = self._make_request(current_kwargs)
  File "/fakepath/.local/lib/python3.6/site-packages/botocore/paginate.py", line 332, in _make_request
    return self._method(**current_kwargs)
  File "/fakepath/.local/lib/python3.6/site-packages/botocore/client.py", line 357, in _api_call
    return self._make_api_call(operation_name, kwargs)
  File "/fakepath/.local/lib/python3.6/site-packages/botocore/client.py", line 676, in _make_api_call
    raise error_class(parsed_response, operation_name)
botocore.exceptions.ClientError: An error occurred (InvalidAction) when calling the DescribeTransitGatewayAttachments operation: The action DescribeTransitGatewayAttachments is not valid for this web service.

Screenshots:
N/A
Please complete the following information::

Cartography version 0.28.0
Python 3.6.9
Ubuntu 18.04.5 LTS

Thanks for the bug report!
Does anyone have cycles to patch this? It's a pretty easy fix: just copy https://github.com/lyft/cartography/commit/f57a9bdddb89244d392e09591fcc475b89419a46 but use it for the call to describe_transit_gateway_attachments: https://github.com/lyft/cartography/blob/16efbd87a6239be4a0e69d709e567dadfbb26d6f/cartography/intel/aws/ec2/tgw.py#L34.


unexpected status code: 404

client.GetVideo return 404 error

example video?

example video?

	videoID := "BaW_jenozKc"
	client := youtube.Client{}

	video, err := client.GetVideo(videoID)
	if err != nil {
		panic(err)
	}

panic with unexpected status code: 404

youtubedr.exe download sT8xRQag07U

Request like this works as expected:
POST /youtubei/v1/player HTTP/1.1
Host: www.youtube.com
X-Goog-Api-Key: AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8

{"context":{"client":{"clientName":"ANDROID","clientVersion":"16.05"}},"videoId":"sT8xRQag07U"}

Request like this works as expected:
POST /youtubei/v1/player HTTP/1.1
Host: www.youtube.com
X-Goog-Api-Key: AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8

{"context":{"client":{"clientName":"ANDROID","clientVersion":"16.05"}},"videoId":"sT8xRQag07U"}

so it worked in your environment? but I had try many different environment it is still the same as above

hi @esrrhs  , thanks for opening issue.
please try  youtubedr.exe download sT8xRQag07U -q small to download 240p video
I think it's a bug,  the video has 360p, but I can't download.  need to check.

I dont have any problem with 360p, with my package
https://github.com/89z/mech

I found the problem, the master branch will panic with 404. and tags v2.7.3 is ok


Implementation Question

Hi @Kai-46,
In your actual implementation of the lobe sharpness in Eq. (8) in the figure below, why do you treat the half angle vector $\mathbf{h}$ the same as lobe axis in L185?

I  read the paper and compared it to the implementation, leading to the exact the same question as asked by @Crane-YU. What I could already find out by checking the code is that the halfway vector stored in new_half is just the surface normal, since warpBrdfSGLobes is the reflexion of the view vector w.r.t. the normal, so taking warpBrdfSGLobes + viewdirs is again the normal. I really do not understand why this is done like that, is it possible to get more information on that?


type with Maybe props doesn't allow type with Non-Maybe props

Why does flow throw errors here?
    type MaybeProp = {
      prop: ?number,
    }

    type DefinetlyProp = {
      prop: number,
    }

    const requireMaybe = (u: MaybeProp) => console.log(u)
    const requireDefinetly = (u: DefinetlyProp) => requireMaybe(u)

https://flow.org/try/#0FDAuE8AcFMAIFkCG4BG0AKAnA9pWBeWAb2Flkh0gC5YB+AOwFcBbNTAGmAF8QIZYAItABmAS3rRQAG3BZcBYqXKUaTVtA7cQwAMbZ6AZ1CxM0AI6NRppKjiEAFIxo20cyAEoCAPlh7D2KWgAOilsAHNHd119IxNzS1MhMQlpcAVHGiTxSRk3T3wfUwsraBdoSKA
It seems like that a function, that can handle maybe properties, should also be able to handle the same properties when they are definetly defined.
Any way to work around this?

define prop in MaybeProp as read-only, ie:
type MaybeProp = {
  +prop: ?number,
}

If prop is not read-only, requireMaybe would be able to assign null or undefined to prop, which would violate the DefinetlyProp constraint in requireDefinetly. read about variance more here.

@madbence makes sense, thanks!


Fix for server-connect-attribute

Signed-off-by: Kapil Chouhan<EMAIL_ADDRESS>
Description

Fix for server-connect-attribute
Added test cases
Ensured chef-style on the code changes made

Related Issue
Fixes: #652
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Chore (non-breaking change that does not add functionality or fix an issue)

Checklist:

[ ] I have read the CONTRIBUTING document.
[ ] I have run the pre-merge tests locally and they pass.
[ ] I have updated the documentation accordingly.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.
[x] All commits have been signed-off for the Developer Certificate of Origin.

This looks like it breaks some existing functionality. The method should return nil, the private IP, or the public DNS name. We need to ensure that all 3 of those scenarios continue to function and it looks like they don't with this change. If you check the git blame on this method you should be able to track down the PRs that made this change and why they did so.

This looks like it breaks some existing functionality. The method should return nil, the private IP, or the public DNS name. We need to ensure that all 3 of those scenarios continue to function and it looks like they don't with this change. If you check the git blame on this method you should be able to track down the PRs that made this change and why they did so.

Hi @tas50
Earlier this server_name method returns nil, private IP, or the public DNS name, so at that time we are setting the ssh target address according to this https://github.com/chef/knife-ec2/blob/master/lib/chef/knife/ec2_server_create.rb#L1135-L1145
so in this condition, if we set server-connect-attribute private_ip_address or vpc_mode?, then the connection_host method sets SSH target as a private IP address, and the server_name method return the Public DNS name.
So I think, this will fix all 3 of those scenarios. In this fix, we will Connect the same address as SSH Target sets.
Please give me your thoughts on this.


Quarto Doc Not Rendering

Get compilation error when trying to render main_manuscript.qmd

Quarto document renders now but unsure on how to remove weights from showing up when rendering the table models


fix(PrismicImage): allow removing Imgix params in React Server Components using null

Types of changes

[ ] Chore (a non-breaking change which is related to package maintenance)
[x] Bug fix (a non-breaking change which fixes an issue)
[ ] New feature (a non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Description
This PR fixes a case where <PrismicImage> would not remove Imgix parameters when used in React Server Components (RSC).
RSCs serialize prop values before sending to Client Compomnents like <PrismicImage>. During this serialization, undefined values are removed from objects, which <PrismicImage>'s underlying Imgix param library, imgix-url-builder, relies on to remove parameters.
To fix this, imgixParams now accepts null in place of undefined.
null should be used to remove parameters when <PrismicImage> is used in Server Components.
// In a Server Component
<PrismicImage
  field={myImageField}
  imgixParams={{
    auto: null, // undefined will not work
  }}
/>

// In a Client Component
<PrismicImage
  field={myImageField}
  imgixParams={{
    auto: undefined, // null can also be used
  }}
/>

Checklist:

[ ] My change requires an update to the official documentation.
[x] All TSDoc comments are up-to-date and new ones have been added where necessary.
[x] All new and existing tests are passing.

Codecov Report

Merging #188 (e7bcada) into master (323d6fc) will increase coverage by 0.00%.
The diff coverage is 100.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@           Coverage Diff           @@
##           master     #188   +/-   ##
=======================================
  Coverage   99.68%   99.68%
=======================================
  Files          20       20
  Lines        2555     2561    +6
  Branches       93       95    +2
=======================================
+ Hits         2547     2553    +6
  Misses          8        8

Impacted Files
Coverage Δ

src/PrismicImage.tsx
100.00% <100.00%> (ø)


Are there any console errors? I can't reproduce this and it seems like something else is probably causing this.

I've found problems with the way chrome handles the cache of images (e.g., http://stackoverflow.com/questions/5624733/jquery-load-not-firing-on-images-probably-caching)
You can solve replacing line 42 here  with :
           $( window ).on('load', function(){               view.css('height', $(firstImage).height());             });

another may works which work for me is
.carousel.carousel-slider {
top: 0;
left: 0;
height: calc(100vh);
}

calc and vh support are far from  ideal
http://caniuse.com/#search=calc
http://caniuse.com/#search=vh

@kuzeko You made my day with this solution ! I was stuck in my project but I can continu right now, thank you so much ! You did great !


Refresh reflections of one dataset through disable and enable flag

added a feature to refresh reflection through reflection api by disabling and enabling of reflection
set some methods from public to private in .util.refrsh.py


New "translate-attr" directive describing which attribute(s) value(s) must be translated

Hi,
I encountered a problem translating attribute values like title and placeholder. Currently we could convert
this:
<input type="password" placeholder="Password" .../>
to this:
<input type="password" placeholder="{{'Password' | translate}}" .../>
But this adds unnecessary obfuscation of the html attribute itself. My proposal is to create new directive say translate-attr which will be used to point to the name of an attribute which should be translated so the above could look like this:
<input type="text" placeholder="Password" translate-attr="placeholder" ...>
It could greatly simplify elements which have more than one attribute for translation like this:

to this:

or even combine all attribute names:

It looks easier to read by a human, it removes "logic" from attribute values so non-programmer could easily find the text that will be translated reducing the number of possible errors, looks more "HTML-ish". And also I suppose it is easier for parser to extract text compared to filter approach.

:+1:

I found the following "custom annotations" ability of angular-gettext at https://angular-gettext.rocketeer.be/dev-guide/custom-annotations/ which could be used in this situation. But I also found that it only works for elements without content (so the sample with placeholder attribute of an input element is not good enough). If you for example try to do the same for title attribute of an label element that have some text content, grunt-angular-gettext will extract the label text, not the title attribute value. So if you have:
Label text content

Extraction will extract only "Label text content".
So I have modified the node_modules\grunt-angular-gettext\node_modules\angular-gettext-tools\lib\extract.js file in order to support extracting attribute values, not element content.
I have changed the following block in Extractor.prototype.extractHtml method:
                for (var attr in node.attr()) {
                    attr = attr.replace(/^data-/, '');

                    if (possibleAttributes.indexOf(attr) > -1) {
                        var attrValue = extracted[attr];
                        str = node.html(); // this shouldn't be necessary, but it is
                        self.addString(reference(n.startIndex), str || getAttr(attr) || '', attrValue.plural, attrValue.extractedComment, attrValue.context);
                    } else if (matches = noDelimRegex.exec(node.attr(attr))) {
                        str = matches[2].replace(/\\\'/g, '\'');
                        self.addString(reference(n.startIndex), str);
                        noDelimRegex.lastIndex = 0;
                    }
                }

To:
                var selfContentOnlyAttrs = self.options.selfContentOnlyAttributes;
                for (var attr in node.attr()) {
                    attr = attr.replace(/^data-/, '');

                    if (possibleAttributes.indexOf(attr) > -1) {
                        var attrValue = extracted[attr];
                        if (selfContentOnlyAttrs && selfContentOnlyAttrs.indexOf(attr) > -1) {
                            // This attribute is found in selfContentOnlyAttrs array - so we should get only attribute's value, not its element html()
                            str = node.attr(attr);
                        } else {
                            // Not found in selfContentOnlyAttrs - get its element html
                            str = node.html(); // this shouldn't be necessary, but it is
                        }
                        //str = node.html(); // this shouldn't be necessary, but it is
                        self.addString(reference(n.startIndex), str || getAttr(attr) || '', attrValue.plural, attrValue.extractedComment, attrValue.context);
                    } else if (matches = noDelimRegex.exec(node.attr(attr))) {
                        str = matches[2].replace(/\\\'/g, '\'');
                        self.addString(reference(n.startIndex), str);
                        noDelimRegex.lastIndex = 0;
                    }
                }

After that the usage in Gruntfile.js (for attributes title and placeolder) would be:
        nggettext_extract: {
            pot: {
                options: {
                    attributes: ["placeholder", "title"],
                    selfContentOnlyAttributes: ["placeholder", "title"]
                },
                files: {
                    'po/template.pot': ['src/views/*.html']
                }
            },
        },

It is obvious that including these specific attributes both in attributes and selfContentOnlyAttributes arrays is not good solution, so I could create pull request for review by the author and eventually change it to something more robust.
Note: I didn't started any tests after the change of extract.js

I must confirm issue posted by @varadero.
If you have
<foo bar="abc">

nggettext_extract output is:
msgid "abc"

same for:
<foo bar="abc"></foo>

but:
<foo bar="abc">xyz</foo>

produces:
msgid "xyz"

The only way here is to use translate filter like:
<foo bar="{{'abc'|translate}}">xyz</foo>


Widget Development API Document update

Is there an existing issue for this?

[X] I have searched the existing issues

SubTasks

Add descriptions for the new getPropertyPaneContentConfig and getPropertyPaneStyleConfig APIs. ( We only have documentation for the getPropertyPaneConfig )

Add descriptions for the isDeprecated property.

Hi anyone working on this issue ?

Could you also describe the following properties? I'm not sure how to rely on those when writing blueprints with Canvas and Containers.

responsiveBehavior
positioning
useAutoLayout

@riodeuno is there some one working on this problem?

if the issue is not resolve yet can you please assign me

@CodeSinghh Thanks for volunteering to update the doc. I've assigned this to you.
@iamenrique These new configurations are subject to change, as we've used these for an upcoming feature, and we're not certain if the API will remain the same. So, I would refrain from using these configurations for the time being, until we update the docs with references and descriptions to these configurations.

@riodeuno FIFO?

No worries

HI @riodeuno, I have raised the PR by updating the widget development doc as you required. Please check it once.
PR link : https://github.com/appsmithorg/appsmith/pull/33612


installerpod: remove namespace from the installer event

The namespace is already included in the Event, this removes duplicated information.
Also fixes an unit test that should check for the node string but instead it just prints it.

/lgtm
/approve

/lgtm


How to run precondition dungeon alone?

During trying to generate my frist complex dungeon, I found myself having the need to use few precondition generation steps to create a guide map which consist different kinds of guide tiles, in order to prepare for subsequnental WFC generation on corresponding zone (erase and only earse one group of them first then use the WFC generation to fill the area, then move on to the next one) .
However, there is no WFCrule2DNull like what precondition settings have.
I tried disable runners/solver alone or create one to stop WFC generation, but failed.
Is there any chance we could have a precondition-only nodes or a bool attribute that controls whether WFC should work?

Hi.
I'd like to help you but I couldn't get what you are trying to do. Can you explain in more details, maybe with some illustrations?

I'm not sure, but it seems like you may have a bit of misunderstanding of how do preconditions work (sorry if I'm wrong).
The preconditions do not modify the map.
Instead, they decide what tiles can be placed in each cell of the map - one, multiple or all tiles may be allowed in each cell.
read_domain method of WFC2DPrecondition returns a set of tiles allowed in specific cell.
If all you want is to fix tiles in some cells, you may write them to the map before starting WFC generator and use a WFC2DPreconditionReadExistingSettings precondition (which is default) - it will force the generator to keep the existing tiles unchanged and only place some tiles in empty cells.
But if you want WFC to choose from multiple (but not all) options for some cells, then the beheavior you need can be achieved by creating a custom procondition that will run steps 1 to 4, without any interactions with the map.
It, most likely, should use some sort of internal representation for tile types (e.g. "a road in forest biome", "a wall in desert biome" e.t.c.) and then map it to WFC representation.
That's how dungeon generator works - it uses 3 internal tile types (passable, wall, free) stored in an array and returns one of tile sets - set of passable tiles, set of wall tiles, set of all tiles (null means any tile is allowed) - in read_domain.
That's how preconditions are intended to be used.
However, it may not work if you want to generate separate parts of the map incrementally - the WFC2DGenerator will create new instance of precondition every time.
And that's why you may actually want to run the procondition differently from how it's done by default.
This can be worked around by either caching WFC2DPrecondition instance in precondition settings instance or by creating a WFC2DGenerator subclass and overriding _create_precondition method.
It also may be a cleaner approach to create a custom node type instead of WFC2DGenerator to support your workflow.
WFC2DGenerator is a very generic high-level facade for underlying components that fits multiple most possible use-cases, a very specific script may be much more simple.


Period Bug (Closes #139)

so fireevent has a bug? :O

still haven't figured it out. and still have no idea whether it's an us bug, a them bug, or a roam bug 🤕

Not solving this, closing for the backend API


Pull request for Smart Search Capabilities

This is a pull request for the integration of the smart search into the search bar. What this does is that it incorporates Roubings code to come up with 5 different CAMEO codes that then the user can check off. To make sure the code works, I inputted multiple sentences to see if the options changed. they did.

Run OK. merged


lib/ioc-globals: add zfs property "copies" to supported properties

Great, just needs to be added to the documentation and I'll pull it in.


Change policy on root removal

Currently, if RootRelease is called on a pinned object, we indicate that we have a candidate for an exhaustive GC. However, we don't do this for other sources of root removal- this change expands the RootRelease behavior to
all cases of explicit root unpinning, since any such unpinning indicates a candidate for an exhaustive GC.

@curtisman can you review please?


Display images from Gravatar

Hi,
I put  images from gravatar  to your nice project - make a merge if you like it.
Cheers

Hi! Did you merge this code with master branch?

@fguillot Did you close this by accident? Or are you rejecting this?

This code is not merged.
I'm sorry for the contributor, I don't even remember why I closed this pull-request. Probably, a mistake. I have nothing against that.
The code need to be improved to be included with the current master. I will try to update the code and see if that work well.

Hi,
sorry for the code quality - that wasn't my brightest day. Will create a further pull request for you at the weekend.

Merged manually in master.

Thanks!


404 - Page not found for "Windows Defender System Guard link"

"Windows Defender System Guard" link is broken. Not sure where it should lead.

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

ID: 1f9f33e1-4a3d-0754-f8f7-ba9c9ef06170
Version Independent ID: 9151513b-d9fa-6e1e-3a8c-7a02775ddb83
Content: Hardware-based isolation (Windows 10)
Content Source: windows/security/threat-protection/windows-defender-atp/overview-hardware-based-isolation.md
Product: w10
GitHub Login: @Justinha
Microsoft Alias: justinha

Actually, i think i found a correct link: https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-defender-system-guard/how-hardware-based-root-of-trust-helps-protect-windows

Good job finding it. I tried searching for "Windows Defender System Guard", but I almost exclusively got search results for "Windows Defender Application Guard" and "Windows Defender Credential Guard".

BTW, I am planning a Pull Request to add this link correction later, something like 10-12 hours from now.

By the way, just to point out how the link does not work: the file named in the link
https://github.com/MicrosoftDocs/windows-itpro-docs/blob/master/windows/security/threat-protection/windows-defender-atp/how-hardware-based-containers-help-protect-windows.md
does not exist (so the 404 page is entirely correct).
The link indicates that the file how-hardware-based-containers-help-protect-windows.md is supposed to exist in the directory
https://github.com/MicrosoftDocs/windows-itpro-docs/blob/master/windows/security/threat-protection/windows-defender-atp/ (but it does not).

Just a final comparison before pushing the PR changes to Github:

Path to the page containing the broken link:

../threat-protection/windows-defender-atp/overview-hardware-based-isolation.md

Path to the non-existing page:

../threat-protection/windows-defender-atp/how-hardware-based-containers-help-protect-windows.md

Path to the suggested (and most likely) existing page to be used as the link target:

../threat-protection/windows-defender-system-guard/how-hardware-based-root-of-trust-helps-protect-windows.md

@illfated Thanks Trond. I want to improve the discoverability of this topic too, so it comes up better in search results. To that end, I've added keywords "system guard" to the topic description and I changed the file name to system-guard-how-hardware-based-root-of-trust-helps-protect-windows.md in the path you suggested:
../threat-protection/windows-defender-system-guard/system-guard-how-hardware-based-root-of-trust-helps-protect-windows.md
I submitted the pull request today and it should appear for you in a few hours.
and thanks @Sherd21 for reporting this.

@illfated I meant to add, my pull request was internal, I can't link to it from here.

Oh, OK, I see. I was preparing to amend my PR with your new information.

You can, and we will merge it. There should be no conflict now that you know what I changed on my side. And you will be added as a contributor, which we want.

Very well. I notice that the page has not yet changed its name here on Github, but I presume it will do so, soon enough.
So the new file name is going to be system-guard-how-hardware-based-root-of-trust-helps-protect-windows.md in the same folder.

you got it. ETA is about 2 hours,


[Removal]: Fierce Honeysuckle Python

Hotspot Name
Fierce Honeysuckle Python
Hotspot b58 Address
112DXPjpUvxqmKswWDweHSkDU67fF9LRbjAFD9QyRezZFHMLzm5p
Discord Handle
Marco-polo#0495
Hotspot Manufacturer
Heltec
Removal Reason
Some-one just banned my wallet without any proof, we are telecom provider
Modifications
No
Extra forwarders
No
Extra antennas
Yes
Additional Information
External 6 dbi omni, 60m building
Great site, but all telecom towers with good earning did end up the denylist.
So i have todo this 50+ times ?
More info via PM, discord.
Regards
A 500+ telecom tower owner.

We have taken into account this removal request in the next iteration of the denylist. It may take some time before it's processed. This is an automated comment due to the volume of addition and removal requests. A future tool is in the works to provide more insight into the analysis approach made by the Helium team and community members that maintain this list.


Estimate file size with "Approx." rather than ~

~ can be misread in some fonts and situations as a negative number, so suggesting "Approx." instead.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 26.037%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
231

Relevant Lines:
773

💛  - Coveralls


how to get Navigation View in main activity

I am trying To set setNavigationItemSelectedListener on vNavigation in main activity.
but it is giving me nullexception.
please tell me how to do so

try to setNavigationItemSelectedListener in MyMenuFragment$onCreateView.
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_menu, container,
false);
ivMenuUserProfilePhoto = (ImageView) view.findViewById(R.id.ivMenuUserProfilePhoto);
NavigationView vNavigation = (NavigationView) view.findViewById(R.id.vNavigation);
vNavigation.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(MenuItem menuItem) {
return false;
}
}) ;
setupHeader();
return  setupReveal(view) ;
}

that worrks Thank You


Add incremental rollout validation test

We pulled out the test from integration because it was flakey: https://github.com/rancher/rio/pull/695/files#diff-50cacc49c101777a487b479a60307c25R34
Getting errors around the object already being modified, since rollout modifies it consistently. We should add this back into validation testing.

This is already available in validation tests, but it needs to be fixed to address the cli's changed weight command

If the effort is very, very low we can fix in v0.6.0 milestone if you wish; I'll leave that up to you.

#653 Closes this


User-agent: HypeStat Disallow: / master Bitcoin

Jerrad ALEN mathews mathews jerrad Allen 558-35-5337User-agent: HypeStat
Disallow: /
Bitcoin.master.shortform

Jerrad ALEN mathews mathews jerrad Allen 558-35-5337User-agent: HypeStat
Disallow: /
Bitcoin.master.shortform,blockchin,lopechine,facebook,Googl,apple,virzon,at&t
Write
Preview

Yeah please refrain from using Blockchain steel stock markets for your bitcoin and stay off my platform I'm Apollo climate control chip system human implant 1976 December 16

I don't know what this content is, but it does not belong here.  Please refrain from posting content unrelated to Ramda in this forum.

Sorry For disturbing my entitlement to do whatever I want on this form matter fact let's block you from bitcoin and who do you work for the CIA the FBI or Homeland security I need your answer immediately make it public


Update to accept access token param

Can the following line in firebase_app_distribution_action.rb be updated in the next version of this plugin.
I have this working locally and in our CI/CD, as we obtain an access token through WLIF (workload identity federation) and service account impersonation and pass in the access token as a param directly
auth_token = params[:access_token] || fetch_auth_token(
          params[:service_credentials_file], params[:firebase_cli_token], params[:debug]
        )

Hello @enchorb Thanks for reaching out about this. Could you tell me more about your use case? Is there some reason that the params[:service_credentials_file] doesn't work for you?

Hey, that works just fine but the reason for this is so we don't need to store any long-lived credentials like service accounts.
In CI/CD we use WLIF (workload identity federation) which is then able to impersonate a service account to get an access token which is then added to the .env that Fastlane and by extension this plugin would read the access token from

Hey, are you able to use the GOOGLE_APPLICATION_CREDENTIALS environmental variable to authenticate? We already support Application Default Credentials which is used in WIF. Does that work for your use case?

Hey @lfkellogg GOOGLE_APPLICATION_CREDENTIALS does not carry over jobs/workflows in CI/CD, a more common use case is to pass an impersonated access token through the app as a variable as so:
     - name: Authenticate To Google Cloud
        if: github.event_name == 'push'
        uses: google-github-actions/auth@v0
        with:
          token_format: access_token
          access_token_lifetime: 300s
          access_token_scopes: https://www.googleapis.com/auth/cloud-platform
          workload_identity_provider: projects/${{ steps.environment.outputs.gcp_num }}/locations/global/workloadIdentityPools/gh-${{ github.event.repository.name }}-pool/providers/gh-${{ github.event.repository.name }}-provider
          service_account: gh-${{ github.event.repository.name }}-runner@${{ steps.environment.outputs.gcp_id }}.iam.gserviceaccount.com

      - name: Impersonate Deployment Account
        if: github.event_name == 'push'
        id: auth
        run: |-
          echo "::set-output name=access_token::$(gcloud auth print-access-token --impersonate-service-account='${{ env.SERVICE_ACCOUNT }}@${{ steps.environment.outputs.gcp_id }}.iam.gserviceaccount.com')"

Hi @enchorb, thanks for those details. I'm not very familiar with Github actions so just to recap: you'd like to authenticate in one workflow/job, and then use the fastlane plugin in a different one. You'd like to include the access token in a job output so that you can easily use it in a downstream job. It would be harder to pass the contents of the JSON configuration file around.
And I think you know this already but to be clear, if you were willing to authenticate and use the plugin in the same job, it looks like you could do so using google-github-actions/auth with the create_credentials_file and export_environment_variables options (docs).
Assuming that's all correct, the current recommendation for tools like this one is still to generate the JSON file and export GOOGLE_APPLICATION_CREDENTIALS: https://cloud.google.com/iam/docs/using-workload-identity-federation#generate-automatic. The tool will then request its own access token. I understand this makes your setup more difficult, though, and we definitely appreciate that feedback.

Assuming that's all correct, the current recommendation for tools like this one is still to generate the JSON file and export GOOGLE_APPLICATION_CREDENTIALS: https://cloud.google.com/iam/docs/using-workload-identity-federation#generate-automatic. The tool will then request its own access token. I understand this makes your setup more difficult, though, and we definitely appreciate that feedback.

Hi @lfkellogg ,
We have the same scenario with Workload Identity Federation. We tried exactly this, but the generated credentials file is not accepted, as it is no "real" private key JSON, but only a JSON wrapper around the access token. We get the error, missing client_email.
So we would also appreciate a way to just directly pass our already received access token.


Inconsistent file sort order in editor

Godot version:
3.2.1.stable.official
OS/device including version:
Linux
Issue description:
Files with the prefixes _, ! etc. are sorted differently in different windows and editor panels. This is a bit confusing.

Steps to reproduce:
—
Minimal reproduction project:
—

This is probably because EditorFileDialog uses a regular DirAccess, while FileSystemDock uses EditorFileSystem.

So I checked it out and here's what I found:

FileSystemDock uses EditorFileSystem and sorts only the files with a NaturalNoCaseComparator. The directories are left in the order of the EditorFileSystem, which seems to be sorted by ASCII.
https://github.com/godotengine/godot/blob/feeef52feb0eb968b227b239f19ebb9d000ab2f8/editor/filesystem_dock.cpp#L752
https://github.com/godotengine/godot/blob/f33bba15b16e85c1400cff8a755836690676f8d6/editor/filesystem_dock.h#L257-L259
EditorFileDialog uses DirAccess and sorts both the directories and the files using NaturalNoCaseComparator
https://github.com/godotengine/godot/blob/feeef52feb0eb968b227b239f19ebb9d000ab2f8/editor/editor_file_dialog.cpp#L774-L775
ScriptEditor sorts the script names by operator< in _ScriptEditorItemData which seems to also (eventually) do ASCII sorting (though ScriptEditor allows for rearranging the scripts)
https://github.com/godotengine/godot/blob/f33bba15b16e85c1400cff8a755836690676f8d6/editor/plugins/script_editor_plugin.cpp#L1852
https://github.com/godotengine/godot/blob/f33bba15b16e85c1400cff8a755836690676f8d6/editor/plugins/script_editor_plugin.cpp#L1595-L1606

I believe the intended sorting order for all of these is NaturalNoCaseComparator, so I can try to fix these.

Another thing is (or should I open another bug for this):
When you add a new resource or script using right click/new ressource in a folder using the Filesystem browser, the contents of the folder aren't sorted.They're only sorted once you restart Godot again.

Another thing is (or should I open another bug for this):
When you add a new resource or script using right click/new ressource in a folder using the Filesystem browser, the contents of the folder aren't sorted.They're only sorted once you restart Godot again.

@dploeger Open a new issue (if there isn't one already).

@dploeger Open a new issue (if there isn't one already).


Look into SRGB vs. UNORM in color descriptions.

Ryan writes in a pull request: So here, unlike in other code I've recently looked at, we're using the description to determine the format of the view, which seems reasonable - should we be doing that elsewhere?
Also, do we know that UNORM is the way to go here, or is SRGB sometimes the answer? Do we need to establish a convention? (For instance I'm pretty sure Oculus assumes you're handing over SRGB textures) I'm not fully versed in d3d11 and color space interactions, or how mapping occurs (what happens when you have a wide-gamut HMD, beyond just SRGB, at some point? Adobe RGB isn't that unusual, though full coverage of Adobe RGB is.)
Would be curious to find out what a renderTextureResourceView->GetDesc() call when passing nullptr would return - that would presumably tell us the difference. https://msdn.microsoft.com/en-us/library/windows/desktop/ff476629(v=vs.85).aspx

It also appears that UNORM vs SRGB is a matter of linear vs gamma space...


Buzzer

BuzzerComponent
Maybe we need a buzzer like this one
https://tinyurl.com/5d799e3f
Done

[ ] can play a tone
[ ] can change the volume
[ ] can play a single note
[ ] can play a melody

@DieterHolz
Don't we need a passive buzzer? as the active one will make a sound, as soon as it's powered?
This one would be recommended: https://tinyurl.com/35v9cdj6

We need a buzzer that can change the volume (and still produce a "nice" sound).
Actually, I don't know if we have to use a passive or an active buzzer for that.

Yeah, i've read into it.
We can use one of them:
Buzzer1
https://www.berrybase.de/sensoren-module/audio-schall/ky-006-passives-buzzer-modul?c=89
Buzzer2
https://www.berrybase.de/sensoren-module/audio-schall/ky-012-aktives-buzzer-modul
While we vary with the input-Voltage, we can control the sound-volume


Is this still maintained?

Activity has seemed to slow down-- seems worth asking the question!
<3

Fair question. The short answer is that the current implementation does what I wanted it to, and I don't plan to invest more in it.
I built RDFTab to let me load RDF and OWL into a SQL database and then read parts out. It works as intended for reading and editing simple graphs, and even for reading more complex graphs with nested blank nodes, but it's not convenient for editing complex graphs (including OWL).
To support that use case my team has been working on LDTab, which "folds" blank node structures into nested JSON objects so that a single SQL row can encode an annotated OWL axiom or RDF list, without having to juggle blank nodes. It's not "done" and it's not well documented yet, but we have implementations in Clojure https://github.com/ontodev/ldtab.clj and Rust https://github.com/ontodev/ldtab.rs. Building an LDTab table is a lot more work than building an RDFTab table, so it's slower.
Regarding RDFTab, the upstream https://github.com/oxigraph/rio library has come a long way, and it might be a bunch of work to catch up with it. https://github.com/INCATools/ontology-access-kit was using RDFTab but I think they switched to a pure Python implementation. RDFTab is such a simple idea that it's easy to reimplement. If you're interested in OWL, consider https://github.com/phillord/horned-owl or the https://github.com/jannahastings/py-horned-owl prototype Python wrapper.
Do you have a specific bug or feature in mind for RDFTab?


Copy of PR #45 from previous repo

https://github.com/opensearch-project/opensearch-devops/pull/45
Signed-off-by: Harrison Goscenski<EMAIL_ADDRESS>Description
[Describe what this change achieves]
Issues Resolved
[List any issues this PR will resolve]
Check List

[ ] Commits are signed per the DCO using --signoff

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

@DandyDeveloper @TheAlgo @smlx please take a look at this. Thanks.

Hi @hgoscenski-imanage could you address the issues commented by @DandyDeveloper ? Thanks

Hi @smlx let me know if you can also take a look, as @TheAlgo is busy recently. Thanks.

@smlx I already made these points as well, I was overruled.

Closing this PR for now, as there is no traction. Feel free to re-open


Passing strings starting with "/" to directives (v-sref="/route") breaks expression parser

fiddle:  http://jsfiddle.net/gprhmm90/
Only seems to happen with "/" (also tried +-\ and those were fine)

The expressions are expected to be valid JavaScript, unless you set the isLiteral flag to true: http://jsfiddle.net/gprhmm90/1/

Thank you! Sorry I missed that in the docs


About the function transform_smpl

Hello, I have another question about the function "transform_smpl" in this Line.
Since we are using ROMP to estimate SMPL parameters, I understand that curr_extrinsic is the identity matrix.
However, in some cases, I have a precomputed extrinsic matrix corresponding to SMPL parameter. (For example, rendering synthetic image by projecting a given 3D Human asset)
My questions are

Can we apply the function of Line with any generalized extrinsic matrix (not Identity) and SMPLs? How can I do this?
If yes, can we transform the given SMPL to have an identity extrinsic matrix by using the above function?

Thanks!

I think I resolved this issue. Thanks for your code!


Customized icons for disciplines, training sets and documents

Currently, the icons employed for disciplines, training sets and documents within the django admin interface are simple circles. It would be nice to have unique icons for each model.
Tasks:

Find suitable icons that we are allowed to use
Adapt jazzmin settings: Link

fixed by #184


metrics: Add remote cpu consumption test.

Add remote cpu consumption test while running an iperf3 bandwidth test.
Fixes #763
Signed-off-by: Gabriela Cervantes<EMAIL_ADDRESS>

@iphutch could you please review it thanks

@grahamwhaley and @devimc let me work on the changes :)

@devimc and @grahamwhaley changes applied

lgtm

@rcaballeromx could you please take a look? thanks

@grahamwhaley I added the function thanks

Thanks @GabyCT ! :-)
We had what looked like a swarm bats fail on the 17.04 CI, so I've kicked a re-run on that.

lgtm

@rcaballeromx changes applied thanks


Add User Option On Paste To GS-Table

When Nunzio is finished creating the COPY INSERT API, add a popup asking the user if they would prefer a COPY-based paste or an INSERT-based paste. This is a developer option, so an automatic popup should be turned on by an attribute.
Make sure to say that COPY-based paste is faster, but does not allow triggers to fire.

Postage already handles COPY statements. Closing.


create mock reponses for tests instead of hitting testnet

added mock responses and skipped the tests that are hitting the testnet


SDK-238: remove examples folder since it's not used and not working; …

…updating it is not worth it

Let's discuss the context of this task again. I need some recap.

Closing this one because we're not going to remove the entire example, but just a part of it. Opening a new PR


Prevent the user from leaving the cluster creation page during launch

might be an issue that @donnalux needs implemented, i'm not clear on the requirement


[e2e]: generic schedule main multi-uses slsa3

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/2909044360
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.generic.schedule.main.multi-uses.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.generic.schedule.main.multi-uses.slsa3.yml
Trigger: schedule
Branch: main
Date: Tue Aug 23 05:24:58 UTC 2022

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/2909044360
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.generic.schedule.main.multi-uses.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.generic.schedule.main.multi-uses.slsa3.yml
Trigger: schedule
Branch: main
Date: Tue Aug 23 05:25:07 UTC 2022

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/2916614493
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.generic.schedule.main.multi-uses.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.generic.schedule.main.multi-uses.slsa3.yml
Trigger: schedule
Branch: main
Date: Wed Aug 24 05:20:40 UTC 2022
Tests are passing now. Closing this issue.


500 Error on webpagetest link

When clicking on the WebPageTest URL links on the home page you get a 500 error.
500 ShowSlow Error

Something went wrong. If it persists, please report it to issue tracker.

API call (http://www.webpagetest.org/getLocations.php?f=xml&k=<your_wpt_key>) failed:

<< go back to Show Slow

Do you see any messages in error logs?

Hi - It is on the main site http://www.showslow.com/

OK, that explains it, let me check it out ;)

Well, I fixed the 500 error (WPT API is served over HTTPS so I had to change the URL), but locations dropdown is broken, I have to dig a bit ddeper

Fixed in 51eb2de0c066459a37617884e856914ef0251789 and b48f22ae80f943ba6e2c418e3a4f7514c98f8987


Instagram Embed Finder missing support for new Instagram Reels

Found a bug? Please fill out the sections below. 👍
Issue Summary
When wanting to embed an Instagram Reel (like this one), it doesn't allow for that.
Steps to Reproduce

Enable Facebook/Instagram Embeds as shown in the docs
Create a new page with a StreamField. Use the embed block in that StreamField and insert "https://www.instagram.com/reel/CZMs3O_I22w/" into the url field
Try to publish the page. It will say it can not embed the given URL.

Technical details
This happens because the wagtail/embeds/finders/instagram.py is missing a matching regex in INSTAGRAM_URL_PATTERNS
Fix
The fix can be found in #8075

Marking as enhancement as embed URLs can easily be customised.

I see that the pull request for this bug has already been merged - maybe we can close this issue.

Resolved via https://github.com/wagtail/wagtail/pull/8075
https://github.com/wagtail/wagtail/commit/23895120b056179edb44c25a42e0ba0a7ef8bff5


Outlook Mail Tool -Listing/getting/replying to an email leaves the email in unread state.

Electron build -2fa0a180691b6d
Steps to reproduce the problem:

Start a chat with Tildy.
2 Add Outlook Mail tool.
List an unread email
Get contents of an unread email
Reply to an unread email.

Any of the above action , results in email continuing to be in unread state.
Should the emails be marked as being read in this case?

I am not sure that it should mark them as read. Going to put this lower priority


Missing  prometheus-rds-exporter.yaml location flag on the /etc/systemd/system/prometheus-rds-exporter.service file

Describe the bug
Missing  prometheus-rds-exporter.yaml location flag on the /etc/systemd/system/prometheus-rds-exporter.service file
A clear and concise description of what the bug is.
Hi team, When installing the exporter on the Linux server I can see that you are missing a parameter that will point the service to the config file. I can't find the flag for the  prometheus-rds-exporter.yaml location
[Unit]
Description=Prometheus RDS exporter
After=network-online.target
Documentation=https://github.com/qonto/prometheus-rds-exporter
[Service]
Restart=on-failure
User=prometheus-rds-exporter
Group=prometheus-rds-exporter
Type=simple
ExecStart=/usr/bin/prometheus-rds-exporter
TimeoutStopSec=20s
[Install]
WantedBy=multi-user.target
~
Desktop (please complete the following information):

OS: [e.g. Linux]
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.3 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian

Prometheus RDS exporter's version [e.g. 1.1]

RDS engine: [e.g. PostgreSQL]

To Reproduce
I stall the dpkg -i prometheus-rds-exporter_0.3.0_amd64.deb PKG and follow your instructions the readme file to configure the  prometheus-rds-exporter.yaml  file
Steps to reproduce the behavior
Expected behavior
A clear and concise description of what you expected to happen.
Additional context
Add any other context about the problem here.

Hello,
Thanks for reaching us.
The exporter is designed to work out of the box with its default parameters. The configuration file is optional and allows feature configurations.
The exporter uses the following configuration parameters priorities:

$HOME/prometheus-rds-exporter.yaml file
prometheus-rds-exporter.yaml file
Environment variables
Command line flags

In Installation instructions, we mentioned that you can optionally copy configuration template from /usr/share/prometheus-rds-exporter/prometheus-rds-exporter.yaml.sample to customize it.
You may change the ExecStart command in /etc/systemd/system/prometheus-rds-exporter.service like
ExecStart=prometheus-rds-exporter --config <your_custom_configuration_file>.yaml

But it could be replaced during package upgrades.
Only /usr/share/prometheus-rds-exporter/prometheus-rds-exporter.yaml.sample is part of the Debian package. So It allows you to manage the configuration file with an automated system like Ansible.
# dpkg -S prometheus-rds-exporter
prometheus-rds-exporter: /usr/bin/prometheus-rds-exporter
prometheus-rds-exporter: /usr/share/prometheus-rds-exporter
prometheus-rds-exporter: /etc/systemd/system/prometheus-rds-exporter.service
prometheus-rds-exporter: /usr/share/prometheus-rds-exporter/prometheus-rds-exporter.yaml.sample

Is there a specific reason to specify the configuration file in /etc/systemd/system/prometheus-rds-exporter.service?

Hi @vmercierfr , Thank you very much for your detailed answer.
I didn't use the Debian package installation. I created an Ansible role to install the exporter with Binary.
The issue resolved so I am closing the issue. Thanks again :-)


[WIP] language_iana_s accepts only valid ISO_639 elements

@tampakis regarding this record https://bibdata.princeton.edu/bibliographic/8543052
the test will fail with a nil value. In development the accumulator will return ["it"].

Coverage remained the same at 80.795% when pulling 8aee1b30e4452d6c30cf8b0595651caa3f5e0cd8 on trap-nil-language_iana_s into 07b6a52cf00381251053a2ec541e216914ac564c on master.

@tampakis can you check if the value for the language_iana_s makes sense, considering the html lang label? Please check the record
<controlfield tag="001">8543052</controlfield>

Thanks

closing because @tampakis submitted some hours ago a PR for this issue.


Bump to jpeg-js 0.4.4, and don't hard-lock on a specific version.

What's Changing and Why
Fixes #1088
What else might be affected
Tasks

[ ] Add tests
[ ] Update Documentation
[ ] Update jimp.d.ts
[ ] Add SemVer Label

Can this PR please get merged?

@jimp/types should be defined as a dev dependency inside the Jimp's package.json file

@jimp/types should be defined as a dev dependency inside the Jimp's package.json file

Thats correct, but it shouldn't be part of this PR.
Can someone please merge this PR?

So many approvals, but I guess no one has permission to merge it?


Load model from drive, note hf cache

Hi,
is it possible to load a model from drive (e.g. /name/models/FLUX.1-schnell) instead of hugginf face cache?
And by the way: thanks für mflux! really great software!

@stefanvarunix Hi and great that you are enjoying the project! This was actually the way I had it when I first started to develop the project as can be seen here. But after that I got some feedback to implement roughly how it was done in diffusers and load it from the cache, which is more standard and similar to how the Diffusers implementation work.
As it is right now, if you set the HF_HOME variable, you can point this to any other location. For example, if I set
export HF_HOME="/Users/filipstrand/Desktop/

and I move the model to
/Users/filipstrand/Desktop/hub/models--black-forest-labs--FLUX.1-schnell

then everything works. From what I understand, the model directory (for schnell in this case) needs to be named models--black-forest-labs--FLUX.1-schnell for this to work (naming it simply FLUX.1-schnell for example, does not work and the logic will start to download the model again).
I'll think about this some more, but we could for sure add something like:
Flux1.from_disk("/name/models/FLUX.1-schnell")

option, that would bypass the snapshot_download logic,  and have it work essentially as before if the user chooses that option, but it would be a bit more "raw" since you would have to know what model parts are needed, in contrast to the  snapshot_download logic which helps you with any missing models.

Thanks a lot! That works very well if I copy the previously downloaded model from the local huggingface cache (i.e. ~/.cache/huggingface/hub) to the new HF_HOME.
If I download directly (without the hf download during inferencing) and want to inference later, it does not work.
Example: I download:
from huggingface_hub import login
from huggingface_hub import snapshot_download
login(token = 'my_secret_token')
snapshot_download(repo_id="black-forest-labs/FLUX.1-dev", local_dir="/Users/stefan/Desktop/hub/models--black-forest-labs--FLUX.1-dev")

/Users/stefan/Desktop/hub/models--black-forest-labs--FLUX.1-dev contains
...
LICENSE.md
README.md
ae.safetensors
dev_grid.jpg
flux1-dev.safetensors
model_index.json
scheduler
text_encoder
text_encoder_2
tokenizer
tokenizer_2
transformer
vae

This does not work. Even if I move all the files to another subfolder /blobs.
My visionary idea is: image to scale horizontally, i.e. have x Macs that run inferencing. Setting up these Macs by simply copying the original model puts less strain on the internet connection than downloading via huggingface on each device. And is easier to maintain, where one central machine has all the models in its original format to then distribute them to the other Macs. Without the need to initially download via the huggingface caching thing.
But that’s complaining at a high level. It works anyhow with the way you describe.
The more I play around with your software, the more I love it. A perfect mix of functionality and simplicity!

@stefanvarunix Hi. Again, thanks for your complements about the project :). I think your idea of running the model from disk without involving the Huggingface cache functionality is a good one. Recently I have added quantization support and with this I decided to rewrite the weight handling a bit and included this feature of loading from disk (for both quantized and non-quantized versions) to the project again. You can read about it here. Let me know if this works for you or if there is any problem.


Godot 4 editor running in Linux-on-Android is very slow compared with Godot 3.5

Godot version
4.0.3
System information
Android 13 -> Arm64 Linux -> Box64 -> Godot4.0.3 (LinuxX64) Any of the available render
Issue description
Godot4 code editor lags a lot, and any version of Godot 3 does not.
Steps to reproduce
Godot is running inside Android 13 -> Arm64 Linux -> Box64 -> Godot4.0.3 (LinuxX64) All renders
(Also tested in Android 13 -> Arm64 Linux -> Box64 -> WineProton -> Godot4.0.3 (WindowsX64)) All renders
I decided to upgrade my projects since Godot 4 is theoreticaly faster, but in reality it is running slower =(
So running any version of Godot 3.X I get really decent fps,  the editor is smoth and an empty scene runs at 70+fps.
Running Godot 4.0.3 latest stable I get a massive lag and slow down even inside the code editor (typing is really laggy), running an empty scene runs at only 4X fps compared to the 70+ of Godot 3.X, so almost less 40% speed for an empty scene.
Started migrating my project to 4.0.3 and everything is slower =(
If anyone is interested in reproducing this issue, first you need a rooted phone or tablet(there is also a proot version for non rooted devices), then you can follow the installation script from https://github.com/Ilya114/Box64Droid, in my case I also installed xfce4 (you need to fix permission for _apt inside /etc/passwd in order to do a apt update.
Note that you can also try this in proot version (no root needed).
Why am I using a Arm Linux to dev on Android phone/tablet? Godot 3 and 4 Editor crashes randomly on android, plus inside the linux I am able to debug the code and its way more stable and supports vulcan 1.3 while the android side only supports 1.1.
It is very strange that typing in the code editor is super laggy and slow, almost to the point that it's painfull to use.
Video anex showing the problem with lag when typing the in the editor as well as the brutal FPS dif. video here
Minimal reproduction project
Just create an empty project and compare   the code editor lag and the FPS of a empty scene.

Related to https://github.com/godotengine/godot/issues/71084.

What are the specs of your device? Godot 4 is expected to be more demanding overall, especially for the editor itself.

My device is a Xiaomi Pad 5 pro (snapdragon 870 with 8gb ram) running ArrowOS_13.

Godot now has an Android native version of the editor. Can you test that one to check if the issue is Vulkan vs OpenGL or is it the Linux introducing some lags?

Ok so running Godot3 and Godot4 nativelly always reaches 120 fps and so I can't see any slowdown on the editor.
I decided to test GDScrip running 10 million add operations on a for loop to see if there is any difrence, and Godot4 is on average 1.5X faster (Native and on Android -> Linux and on Android->Linux->Windows)
So I'm thinking it maybe has something to do with the way the Code Editor renders it's view. (On XFCE4 to get hardware accel on all windows I had to change "use_compositing to false" located on /root/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml
Is there a simmilar option that I can change on the Godot4 editor?

Single Window Mode sadly gave it no improvement =(

Err you changed the issue name, but I also tested compiling as native arm64 and running it on chroot and it still has the same problem, so its not related to box64....

The issue is still scoped to running on Linux-on-Android, which is something we may not be able to fix. In general, running other operating systems on Android is best suited for command-line applications or playing old games.

@Dr4kzor I meant running a native version on Android itself, not compiling to Arm  to run it in Linux on android

@Zireael07 The native version crashes randomly while typing code and its impossible to use the debugger, also I can code in c# or c++ using a linux version, and this is not possible on native android app (that I know of)

@Calinou Actually it can run The Binding of Isaac at more than 60 FPS, HADES works at around 30 FPS as well, Heroes of HammerWatch at 120 FPS+, and these are fairly recent games, so it should be possible to type on the Godot Editor without any display/input lag as these modern games work really well.  Using other apps like Visual Studio Code also works really well.
I'm thinking that people are underestimating the power in our phones/tablets, I compiled Godot4 with all optimizations and stripping debug symbols on a snapdragon 870 in under 22 minutes!
I will test a couple of Godot 4 Alpha and Betas like you sugested to see if It runs faster and will let you know how it went =)

@Zireael07 The native version crashes randomly while typing code and its impossible to use the debugger, also I can code in c# or c++ using a linux version, and this is not possible on native android app (that I know of)

@Dr4kzor The issue with the code editor in the Android editor is known and targeted to be fixed in Godot 4.2 (see https://github.com/godotengine/godot/issues/70751).
The debugger also is a known issue (see https://github.com/godotengine/godot/issues/76583), but one I am having trouble reproducing. If you're running into the same issue, can you provide some additional context to the linked issue.

I can code in c# or c++ using a linux version

The Android editor will add support for GDExtension in Godot 4.2, so c++ coding will be doable via GDExtension.

Ok so running Godot3 and Godot4 nativelly always reaches 120 fps and so I can't see any slowdown on the editor.

I decided to test GDScrip running 10 million add operations on a for loop to see if there is any difrence, and Godot4 is on average 1.5X faster (Native, and on Android -> Linux and on Android->Linux->Windows)

For these comments, were you referring to the Android editor running natively on Android?

To be frank, as Calinou mentioned, this is not a supported set up which means we're unlikely to make much progress identifying the issue and addressing it, so I would rather focus on your goals and see if we can identify and improve on our supported workflows in order to address them.
That said, if for your own interest you want to get to the bottom of the issue on Linux-on-Android, I would suggest reaching for tracing tools (for both code and graphics), and comparing the difference in traces between Godot 3 & 4.

About what you said, will we be able to code c++ directly on the android app as well?

I don't think the editor on desktop platforms support editing and compiling c++ code directly in the editor, so the Android version will have the same limitation. (that's a functionality that would be interesting to support with a GDExtension plugin, though I doubt it'd be simple)


Command to create the md note

With this plugin, there's now a frictionless connection between a zotero item to a corresponding note created by the obsidian zotero integration plugin.  That's a big improvement.  But after creating a new zotero item, a few steps are still required to  move over to obsidian and to create the new zotero item's obsidian note.
I'd love it if zotero-markdown-connect had it's own command to create the obsidian note, so that creating a linked obsidian note is as simple as creating a zotero internal note.
Ideally, this new zotero-markdown-connect would have the templating ability needed to export the zotero item's metadata to obsidian (even more ideal would be the same nunjucks templating as the zotero integration plugin.  But I'd be pretty happy with a new obsidian note with:

a filename matching the betterbibtex citekey,
a link back to the source zotero item.
links for any zotero item attachments

Hi @notuntoward — Thanks for the suggestion. The original design philosophy of this plugin was to be a lightweight helper for existing lit-note workflows. Conceivably I could look at making it possible to trigger note creation by something like obsidian-zotero-integration from within Zotero, but it's unlikely to make sense for this plugin to try to cover note creation.


Include XML Documentation on NuGet Packages

This should be a quickie...
When downloading the AWS SDK from http://aws.amazon.com/sdkfornet/ the package contains a XML file with the documentation for the whole DLL.
However the NuGet package doesn't contains such file, causing the whole documentation to be missing.
It would be great to have it attached to the NuGet package.
Thanks.

In the new modularized NuGet packages the XML file is included. Check this blog post for further information.


[Work in Progress] - Support multiple groups in a single specification

This PR introduces some new types that will be used throughout (e.g. plugin.Spec) as well as a new CLI for infrakit manager commit $url, where $url is the location of a template that will be evaluated to generate a fully interpolated JSON config consisting of multiple plugin specifications.
The goal of this is to introduce multi-group functionality, as handled by the manager.  The manager currently functions as a proxy for the stateless version, providing functionalities like leader detection, state persistence.  It conforms to the group SPI and this PR leverages the group RPC interface to implement multi-group functionality:

Given a URL on the command line, load the template.  It can be http:// or file://.
Evaluate the template to produce a valid JSON representation of []plugin.Spec.
For each element, plugin.Spec, parse for group's spec (pkg/spi/group.Spec)
Locate the plugin by name and invoke plugin.CommitGroup(spec, pretend).

This is pretty simplistic in that the template evaluation does not take into account of dependency and assumes that the ordering in the JSON is the proper ordering.  This is probably ok at the moment since we don't have anything in the schema that supports referencing attributes of one group from another.  This will change; however, because there are implicit dependencies between groups (e.g. swarm managers need to provision first then swarm workers).

Current coverage is 65.42% (diff: 68.18%)

Merging #368 into master will decrease coverage by 0.33%

@@             master       #368   diff @@
==========================================
  Files            47         47
  Lines          2275       2273     -2
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits           1496       1487     -9
- Misses          617        620     +3
- Partials        162        166     +4

Powered by Codecov. Last update f432fa4...cf9402f

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "multi-group-manager" git@github.com:chungers/infrakit.git somewhere
$ cd somewhere
$ git rebase -i HEAD~842354124152
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Amending updates the existing PR. You DO NOT need to open a new one.


Service call to Input_datetime not working

I have a time helper entity set up. I want to change the time in the pyscript code. I've tried calling the service as below;
input.datetime.battery_charge_start.set_datetime(time="08:01:00")
service.call("input_datetime", "set_datetime", entity_id="input.datetime.battery_charge_start", time="08:01:00")
input_datetime.set_datetime(entity_id="input.datetime.battery_charge_start", time="08:01:00")
Neither work. However for another helper, this works;
input_number.set_value(entity_id="input_number.battery_monitor_start_secs", value=34)
I need a little help please.

Had the same problem. After quite a few tries, found out how it works (no info in the docs).

First, you have a typo. Change entity_id="input.datetime.battery_charge_start" into entity_id="input_datetime.battery_charge_start"

Second, for those looking to set a date or a datetime, use set_datetime(entity_id=xx, date=xx) or set_datetime(entity_id=xx, datetime=xx) accordingly

Here's the cure for you: https://github.com/dmamelin/pyscript_autocomplete


Google Play Store Violation - fix by Jul 20

The Play Store is letting us know our policy is in violation and we have until July 1st to update it.
Violation
Data safety: Invalid Data safety section
Details
We reviewed your app’s Data safety section in Play Console and found discrepancies between it and how the app collects and shares user data. All apps are required to complete an accurate Data safety section that discloses their data collection and sharing practices - this is a requirement even if your app does not collect any user data.
https://play.google.com/console/u/0/developers/7459548275266608645/app/4976189706172329622/policy-center/issues/4989899026076415010/details

Possible plan:

[ ] When users delete all data off the app, also delete their push notification token
[ ] Click YES to Google Store question: Can users delete the info from the app
[ ] While we're at it, move push notification token store from Django to AirTable.


Feedback: Add "Microsoft Entra Authentication" support for all RDC's

Hey Team -- now that Entra Auth is GA, I think this article may need to be updated to reflect all the Remote Desktop Clients (RDCs) support "Microsoft Entra Authentication".
This section: Session host authentication
Hope this helps!

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

ID: 90acbdcf-5146-cfe1-95d7-854e3e4441e3
Version Independent ID: ebdac478-8aa1-f00a-0e02-48a3ef67fa68
Content: Azure Virtual Desktop identities and authentication - Azure
Content Source: articles/virtual-desktop/authentication.md
Service: virtual-desktop
GitHub Login: @Heidilohr
Microsoft Alias: helohr

@brmcmill
Thanks for bringing this to our attention.
I'm going to assign this to the document author so they can take a look at it accordingly.

Hi @brmcmill - thanks for catching that. I've made the change and it should be visible later today.
#please-close


New data

MT 2010 updates:

We should gut-check the totals w/ WU (or the compilation reports) to make sure it makes sense that 2010 is such a dip in WU compared to 2005 and 2015.
👍

Can we merge and get this out on dev, then send to verify?

It's up on dev. One somewhat good sign is the dip in 2010  is also a dip on our original vizzy


TLS termination hangs in latest commit

I am not sure why, but the latest commit of this plugin hangs when terminating TLS connections. When using the below config, this build will hang indefinitely:
xcaddy build --with github.com/mholt/caddy-l4
This build however, will not:
xcaddy build --with github.com/mholt/caddy-l4@6587f40d4eb632d15f295cf9791d7d145434d0da
No errors are reported in logs. For what it's worth I'm running this on Windows/
{
	"logging": {
		"logs": {
			"default": {
				"level": "DEBUG"
			}
		}
	},
	"apps": {
		"tls": {
			"certificates": {
				"automate": ["mongodb.<IP_ADDRESS>.nip.io", "tendis.<IP_ADDRESS>.nip.io", "webserver.<IP_ADDRESS>.nip.io"]
			},
			"automation": {
				"policies": [{
						"issuer": {
							"module": "internal"
						},
						"key_type": "rsa4096"
					}
				]
			}
		},
		"layer4": {
			"servers": {
				"server_0": {
					"listen": ["<IP_ADDRESS>:443"],
					"routes": [{
							"match": [{
									"tls": {
										"sni": ["mongodb.<IP_ADDRESS>.nip.io"]
									}
								}
							],
							"handle": [{
									"handler": "tls",
									"connection_policies": []
								}, {
									"handler": "proxy",
									"upstreams": [{
											"dial": ["localhost:27017"]
										}
									]
								}
							]
						}, {
							"match": [{
									"tls": {
										"sni": ["tendis.<IP_ADDRESS>.nip.io"]
									}
								}
							],
							"handle": [{
									"handler": "tls",
									"connection_policies": []
								}, {
									"handler": "proxy",
									"upstreams": [{
											"dial": ["localhost:51002"]
										}
									]
								}
							]
						}, {
							"match": [{
									"tls": {
										"sni": ["webserver.<IP_ADDRESS>.nip.io"]
									}
								}
							],
							"handle": [{
									"handler": "tls",
									"connection_policies": [{
											"alpn": ["http/1.1"]
										}
									]
								}, {
									"handler": "proxy",
									"upstreams": [{
											"dial": ["localhost:8282"]
										}
									]
								}
							]
						}
					]
				}
			}
		}
	}
}

What is a command (preferably curl -v) or some code that replicates the hang?

We've come across this issue too on Ubuntu. Don't have a reproducer available (yet).

I've been able to reproduce this issue by using Caddy as a reverse proxy for a DNS over TLS server with the following setup:
https://github.com/hectorm/hblock-resolver/blob/master/examples/caddy/config/caddy/Caddyfile.cue#L74-L95
After d1d54b015e34010da10b2f919e8db710c57f7731 when making a request with kdig the connection hangs.
kdig command:
$ kdig -d @dns.example.localdomain +tls example.com
;; DEBUG: Querying for owner(example.com.), class(1), type(1), server(dns.example.localdomain), port(853), protocol(TCP)
;; WARNING: TLS, peer took too long to respond
;; ERROR: failed to query server dns.example.localdomain@853(TCP)

Caddy log:
{"level":"debug","ts":1616522624.473254,"logger":"layer4.matchers.tls","msg":"matched","server_name":""}
{"level":"error","ts":1616522629.478918,"logger":"layer4","msg":"handling connection","error":"EOF"}
{"level":"debug","ts":1616522629.4790008,"logger":"layer4","msg":"connection stats","read":373,"written":0,"duration":5.005750393}

I think I've got the culprit. Trying a working setup now and will open a PR if it seems OK.

FYI Matt is away on vacation this week :national_park:
Thanks for taking the initiative on this!

Unfortunately, I haven't fixed it fully yet. When trying it on a project, it again resulted in a non-functional proxy.
The important part of my configuration is as follows:
"listen": ["<IP_ADDRESS>:8443"],
"routes": [
    {
        "match": [
            {
                "tls": {}
            }
        ],
        "handle": [
            {
                "handler": "tls"
            },
            {
                "handler": "proxy",
                "upstreams": [
                    {
                        "dial": ["localhost:8000"]
                    }
                ]
            }
        ]
    }
]

Before my change, an error would be returned from the tlsConn.Handshake() call in l4tls/handler.go on timeout. I made the following change:
-       tlsConn := tls.Server(cx.Conn, tlsCfg)
+       tlsConn := tls.Server(cx, tlsCfg)

This change is very similar to the changes in the last commit. It results in a successful handshake and the log terminated TLS, but no data being sent to the upstream.
When diving deeper I ended up in the proxy function of thel4proxy handler. The code seems to behave as I would expect, keeping the connection open until all bytes are written (till EOF) from the downstream to all upstreams. The thing is that reading does not seem to result in writing to the upstream in this case. I also tried it with a much simpler bidirectional pipe implementation, which resulted in the same behavior.
I also tried rewinding the connection after the TLS connection was terminated (temporarily making that function public). This resulted in garbage output logged in the upstream server, but at least some bytes were sent.
Proxying plain HTTP without the TLS matcher and handler shows similar behavior w.r.t. reading from the connection buffer and connection itself, but does proxy requests correctly to the upstream, so the proxy itself seems to work correct.
I then thought of a hacky solution involving creation of a new *layer4.Connection, passing it the Context of the existing and the tlsConn as the Conn after the TLS handshake, and passing that on to the next handler:
+       cx1 := &layer4.Connection{
+               Context: cx.Context,
+               Conn:    tlsConn,
+       }

-       return next.Handle(cx)
+       return next.Handle(cx1)

This does work, but doesn't look good. I think the issue has something to do with the internal state of the Connection, which in turn affects (not) reading the right bytes when proxying them, but I might be wrong about that.

What is a command (preferably curl -v) or some code that replicates the hang?

Here's the two outputs using the above config.json. I used ubuntu for these tests, but can confirm the same outcome on windows.
Xcaddy build:
xcaddy build --with github.com/mholt/caddy-l4

Curl output (hangs indefinitely):
curl -v https://webserver.<IP_ADDRESS>.nip.io/404
*   Trying <IP_ADDRESS>:443...
* TCP_NODELAY set
* Connected to webserver.<IP_ADDRESS>.nip.io (<IP_ADDRESS>) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):

Caddy logs:
./caddy run --config config.json
2021/03/25 14:54:02.893 INFO    using provided configuration    {"config_file": "config.json", "config_adapter": ""}
2021/03/25 14:54:02.895 INFO    admin   admin endpoint started  {"address": "tcp/localhost:2019", "enforce_origin": false, "origins": ["localhost:2019", "[::1]:2019", "<IP_ADDRESS>:2019"]}
2021/03/25 14:54:02.896 WARN    tls     the 'issuer' field is deprecated and will be removed in the future; use 'issuers' instead; your issuer has been appended automatically for now
2021/03/25 14:54:02.897 INFO    tls.cache.maintenance   started background certificate maintenance      {"cache": "0xc000351d50"}
2021/03/25 14:54:02.914 DEBUG   layer4  listening       {"address": "tcp/[::]:443"}
2021/03/25 14:54:03.020 INFO    pki.ca.local    root certificate is already trusted by system   {"path": "storage:pki/authorities/local/root.crt"}
2021/03/25 14:54:03.022 WARN    tls     stapling OCSP   {"error": "no OCSP stapling for [mongodb.<IP_ADDRESS>.nip.io]: no OCSP server specified in certificate"}
2021/03/25 14:54:03.024 WARN    tls     stapling OCSP   {"error": "no OCSP stapling for [tendis.<IP_ADDRESS>.nip.io]: no OCSP server specified in certificate"}
2021/03/25 14:54:03.025 WARN    tls     stapling OCSP   {"error": "no OCSP stapling for [webserver.<IP_ADDRESS>.nip.io]: no OCSP server specified in certificate"}
2021/03/25 14:54:03.027 INFO    autosaved config        {"file": "/root/.config/caddy/autosave.json"}
2021/03/25 14:54:03.027 INFO    serving initial configuration
2021/03/25 14:54:03.029 INFO    tls     cleaned up storage units
2021/03/25 14:54:24.698 DEBUG   layer4.matchers.tls     matched {"server_name": "webserver.<IP_ADDRESS>.nip.io"}

Xcaddy build:
xcaddy build --with github.com/mholt/caddy-l4@6587f40d4eb632d15f295cf9791d7d145434d0da

Curl output:
curl -v https://webserver.<IP_ADDRESS>.nip.io/404
*   Trying <IP_ADDRESS>:443...
* TCP_NODELAY set
* Connected to webserver.<IP_ADDRESS>.nip.io (<IP_ADDRESS>) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_128_GCM_SHA256
* ALPN, server accepted to use http/1.1
* Server certificate:
*  subject: [NONE]
*  start date: Mar 25 14:51:35 2021 GMT
*  expire date: Mar 26 02:51:35 2021 GMT
*  subjectAltName: host "webserver.<IP_ADDRESS>.nip.io" matched cert's "webserver.<IP_ADDRESS>.nip.io"
*  issuer: CN=Caddy Local Authority - ECC Intermediate
*  SSL certificate verify ok.
> GET /404 HTTP/1.1
> Host: webserver.<IP_ADDRESS>.nip.io
> User-Agent: curl/7.68.0
> Accept: */*
>
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* Mark bundle as not supporting multiuse
< HTTP/1.1 404 Not Found
< X-Powered-By: Express
< Access-Control-Allow-Origin: *
< Content-Type: text/html; charset=utf-8
< Content-Length: 39
< ETag: W/"27-Cu2bmZwys6284f+4f6r8w8/Gf44"
< Date: Thu, 25 Mar 2021 14:55:22 GMT
< Connection: keep-alive
<
* Connection #0 to host webserver.<IP_ADDRESS>.nip.io left intact

ERROR 404: No such path /404

Caddy logs:
./caddy run --config config.json
2021/03/25 14:55:13.809 INFO    using provided configuration    {"config_file": "config.json", "config_adapter": ""}
2021/03/25 14:55:13.811 INFO    admin   admin endpoint started  {"address": "tcp/localhost:2019", "enforce_origin": false, "origins": ["[::1]:2019", "<IP_ADDRESS>:2019", "localhost:2019"]}
2021/03/25 14:55:13.811 WARN    tls     the 'issuer' field is deprecated and will be removed in the future; use 'issuers' instead; your issuer has been appended automatically for now
2021/03/25 14:55:13.812 INFO    tls.cache.maintenance   started background certificate maintenance      {"cache": "0xc0000f8770"}
2021/03/25 14:55:13.863 INFO    pki.ca.local    root certificate is already trusted by system   {"path": "storage:pki/authorities/local/root.crt"}
2021/03/25 14:55:13.864 WARN    tls     stapling OCSP   {"error": "no OCSP stapling for [mongodb.<IP_ADDRESS>.nip.io]: no OCSP server specified in certificate"}
2021/03/25 14:55:13.865 WARN    tls     stapling OCSP   {"error": "no OCSP stapling for [tendis.<IP_ADDRESS>.nip.io]: no OCSP server specified in certificate"}
2021/03/25 14:55:13.866 WARN    tls     stapling OCSP   {"error": "no OCSP stapling for [webserver.<IP_ADDRESS>.nip.io]: no OCSP server specified in certificate"}
2021/03/25 14:55:13.866 DEBUG   layer4  listening tcp   {"address": "tcp/[::]:443"}
2021/03/25 14:55:13.867 INFO    autosaved config        {"file": "/root/.config/caddy/autosave.json"}
2021/03/25 14:55:13.868 INFO    serving initial configuration
2021/03/25 14:55:13.870 INFO    tls     cleaned up storage units
2021/03/25 14:55:22.683 DEBUG   layer4  connection stats        {"read": 720, "written": 2656, "duration": 0.0333884}

Thanks so much for diving into this. I was working on some other stuff for a couple weeks, I'll try to look at this soon.

@hslatman Okay, so this change you did:
-       tlsConn := tls.Server(cx.Conn, tlsCfg)
+       tlsConn := tls.Server(cx, tlsCfg)

Makes sense, because the cx records the bytes that are peeked by the TLS matcher, so only by passing it into the tls.Server() can the TLS server successfully read those bytes and complete the TLS handshake. cx.Conn is the underlying connection and doesn't have that data.
The weird thing is, then, that cx is being wrapped by tls, which is then wrapped by cx again, so now there's a circular reference to cx, and maybe that's the bug. It's still not 100% clear to me why proxying hangs unless you wrap the conn in a totally new/different cx, but I'm trying to avoid that just like you are. Will keep investigating when I have a chance. Let me know if you have any more leads!

I think I know what is going on, and have a possible fix in the works.

Ok, this should be working now (I verified I was able to get basic TLS termination + HTTP requests working, without breaking the Signal proxy config I had originally made the regression for).
Ultimately I could not find a way to do it without creating a new Connection, just like you figured out, but I put it in a nice little API with a Wrap() method to help.

Thank you, @mholt! Your fix looks clean 😄
I've tested your fix and it works again on my reproducer.

I confirm that the problem I commented on https://github.com/mholt/caddy-l4/issues/18#issuecomment-805123912 has also been fixed. Thanks @mholt!


Missing library version

Hi!
When I have installed ParseTwitterUtils-iOS using Carthage, I have receiving next error while starting the app:
dyld: Library not loaded: @rpath/Parse.framework/Parse
Referenced from:/Users/.../My.app/Frameworks/ParseTwitterUtils.framework/ParseTwitterUtils
Reason: Incompatible library version: ParseTwitterUtils requires version 1.0.0 or later, but Parse provides version 0.0.0
Seems, DYLIB_CURRENT_VERSION and DYLIB_COMPATIBILITY_VERSION is missed.
Point me please, how to better fix this issue. Should I change some specific config or just fix it in Xcode build settings?

Hi @andrey-krukovskiy  I'm also getting this. Did you find a resolution? Thanks so much!

@sherwinzadeh Yes, i have forked both ParseTwitterUtils-iOS and Parse-SDK-iOS-OSX.
In Parse-SDK-iOS-OSX I have changed Compatibility version and Current library version build settings of Linking section to 1.
Then in my project's Cartfile I have changed path of these repos to my forks.
Now it works but I'm not sure that this is a best way to fix it. Probably we should make these changes in configuration files which I see in Configurations folder.
@sherwinzadeh You can use my forks for now if you wish.

Thank you so much Andrey. Unfortunately I'm still getting the error with your fork. Not sure what I may be doing wrong.
Here is my cartfile
github "BoltsFramework/Bolts-ObjC" ~> 1.6
github "andrey-krukovskiy/Parse-SDK-iOS-OSX"
github "andrey-krukovskiy/ParseTwitterUtils-iOS"

Any ideas? Would it be possible for you to just send me your framework binaries?

@sherwinzadeh Seems, you do not specify specific commit or branch of your dependencies. So, I assume, carthage build last tagged version of framework.
Try to specify master branch of my fork to tell carthage to build last commit from this branch. Like this:
github "andrey-krukovskiy/Parse-SDK-iOS-OSX" "master"

Thank you so much -- yes that did it!


chore: release main

:rock: I've created a release for you
app-info: 3.3.0
3.3.0 (2024-07-02)
Features

allow setting the deployment environment (3933189), closes #1111

crash-handler: 4.1.5
4.1.5 (2024-07-02)
Dependencies

The following workspace dependencies were updated

dependencies

@dotcom-reliability-kit/log-error bumped from ^4.1.4 to ^4.1.5

log-error: 4.1.5
4.1.5 (2024-07-02)
Dependencies

The following workspace dependencies were updated

dependencies

@dotcom-reliability-kit/app-info bumped from ^3.2.0 to ^3.3.0
@dotcom-reliability-kit/logger bumped from ^3.1.3 to ^3.1.4

logger: 3.1.4
3.1.4 (2024-07-02)
Dependencies

The following workspace dependencies were updated

dependencies

@dotcom-reliability-kit/app-info bumped from ^3.2.0 to ^3.3.0

middleware-log-errors: 4.1.5
4.1.5 (2024-07-02)
Dependencies

The following workspace dependencies were updated

dependencies

@dotcom-reliability-kit/log-error bumped from ^4.1.4 to ^4.1.5

middleware-render-error-info: 5.1.5
5.1.5 (2024-07-02)
Dependencies

The following workspace dependencies were updated

dependencies

@dotcom-reliability-kit/app-info bumped from ^3.2.0 to ^3.3.0
@dotcom-reliability-kit/log-error bumped from ^4.1.4 to ^4.1.5

opentelemetry: 2.0.3
2.0.3 (2024-07-02)
Dependencies

The following workspace dependencies were updated

dependencies

@dotcom-reliability-kit/app-info bumped from ^3.2.0 to ^3.3.0
@dotcom-reliability-kit/log-error bumped from ^4.1.4 to ^4.1.5
@dotcom-reliability-kit/logger bumped from ^3.1.3 to ^3.1.4

This PR was generated with Release Please. See documentation.

:robot: Created releases:

app-info-v3.3.0
crash-handler-v4.1.5
log-error-v4.1.5
logger-v3.1.4
middleware-log-errors-v4.1.5
middleware-render-error-info-v5.1.5
opentelemetry-v2.0.3
:sunflower:


Fix build and bugs around VPCID handling

This fixes several things.

Fixes the build which broke in #20
Correctly sets the vpcID such that it's used when getting listing Internet Gateways
Adds a check to prevent crashing in case no Internet Gateways are found
Prevent caching during bootstrap which would prevent the controller from doing anything if started after a configmap with egress config is already in the cluster before the controller is started.
Updates to use Go modules

:+1:

:+1:


[doc] seq_scheduler_document

Description
Brief description of what this PR is about

If this change is a backward incompatible change, why must this change be made?
Interesting edge cases to note here

We should add some changes like, include a djl-demo on sagemaker with scheduler and replace awscurl command with curl command.  Approving it for now.


I met this error

GLib-GIO-WARNING **: 23:30:36.872: Unexpectedly, UWP app Clipchamp.Clipchamp_<IP_ADDRESS>_neutral__yxz26nhyzhsrt' (AUMId Clipchamp.Clipchamp_yxz26nhyzhsrt!App') supports 41 extensions but has no verbs
python3.9

Just unistall this app: Clipchamp

I had the same error, and like @ospqul said, uninstalling it solved the issue.


This required tooling updates, and some tooling is still not working. Will update this draft PR as I go. (do not merge yet)

This is related to issue #149

Closing in favor of https://github.com/IBM/cloud-operators/pull/158


[bugfix]: Fix Playwright

Title: Fix Playwright
Description:
Right now Playwright is not running properly since it tries to run Jest tests and finds that
describe is not defined.
We need to add a specific path for e2e tests and fix the Playwright runner
Type of change:

[ ] Client 💅
[ ] Server ⚡
[ ] Unit Testing 🧪
[X] E2E Testing 🤖

Images (If required):

replace with cypress ✅


Instances not showing in Chromium Edge

Bug Report
System Information

Server(AMP): Ubuntu 20.04.2 / Client: Windows 10
AMP Release "Callisto" v2.2, built 09/07/2021 18:44 - Mainline

I confirm:

[x] that I have searched for an existing bug report for this issue.
[x] that I am using the latest available version of AMP.
[x] that my operating system is up-to-date.

Symptoms
While Chrome can list instances, Chromium Edge cannot:

This is what Chrome displays

And this is what Chromium Edge displays.
Strange thing is, If I directly access Instances like https://my.domain/?instance=blahblah, It shows up instance's information like players count, TPS, RAM usage etc. Only thing I found was Instance List thing.
Reproduction

Install both Chromium Edge and Chrome. Update both to Latest.
Setup AMP with HTTPS.
Access AMP with address.
(Optional) Access each instances with the address like https://my.domain/?instance=blahblah

Did you click on Instances when you login? It happen on Chrome too, until clock on instances again, it didnt appear

Did you click on Instances when you login? It happen on Chrome too, until clock on instances again, it didnt appear
Clicking 'Instances' button don't work neither. I even clicked 'Instances' button right after clicking 'Console' button. Only way to get inside of my instance is, launching Chrome, copy instance link, open it in Chromium Edge. This is so inconvenient.

Have you tried clearing the browser cache on Edge?

Have you tried clearing the browser cache on Edge?

I did common workaround. Like, Ctrl F5, Launching right after running CCleaner, Open in Incognito Window(InPrivate Window). Still no difference.
I don't get why this kind of things happen only to me.
Until now, I've found AMP not showing its components(parts) correctly in these environment:

(Android) Any web browsers: 'Instances' section is not shown.
(Windows) Firefox, Chromium Edge: 'Instances' section is not shown.
I've done things like Ctrl F5, Launching right after running CCleaner etc. but the problem still existed.
Only web browser I've found AMP fully functional is Chrome in Windows. Even Chrome in Android could not show 'Instances' section to me.

What's worse is, it seems that I am the only one who experience this problem. When I reported this problem above few months ago, everyone in Discord said that at their side, there was no 'No Instances' problem existed.
I wiped off whole disk and re-installed Windows few times after the first time of founding this kind of issue, so OS thing would not affect this. (Maybe OS language can affect this? I don't know)
I even re-installed whole Ubuntu and AMP at my server machine yesterday. Instances still not shown in Chromium Edge.

You've had browser issues before with Korean (?) language set, right? Have you asked someone else using Edge with English set to test your domain? I can do so if you want to share the address. Bit of a process of trying to eliminate as many variables as possible.

You've had browser issues before with Korean (?) language set, right? Have you asked someone else using Edge with English set to test your domain? I can do so if you want to share the address. Bit of a process of trying to eliminate as many variables as possible.

I think posting my server information on GitHub is dangerous, so I will try that in Discord because I can delete some of my chat for security. (I will do it in #general)

Had the same problem on chrome/edge on both windows/osx.  Turned out to be my chrome language (and os language).  Switching my chrome to english allowed the ceate instances button to appear.

This has been fixed as of a recent AMP update.