Stack Cloudformation Names are Nondeterministic

How did you install the Amplify CLI?
npm 8.19.3
If applicable, what version of Node.js are you using?
v16.19.1
Amplify CLI Version
11.1.1
What operating system are you using?
Mac
Did you make any manual changes to the cloud resources managed by Amplify? Please describe the changes made.
No manual changes made
Describe the bug
During the creation of a stack the stackname created is nondeterministic which makes it impossible to determine the stack name and pre-push activities which need stack name information.
The bug is in the cloudformation initializer.
Expected behavior
I should be able to determine what a stack name will be based on context within the build without relying on a random timestamp or UUID string.
Reproduction steps

Create an amplify application without any environments and hook up CI builds.
Push a change to a CI environment.
A random backend environment name is chosen and the stack created has a random id in it.

Project Identifier
No response
Log output

# Put your logs below this line

Additional information
No response
Before submitting, please confirm:

[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.
[X] I have removed any sensitive information from my code snippets and submission.

@josefaidt hello!
I will explain how the random environment name is created. Please understand that "the random environment name" is not the non-deterministic part of the problem. Although it is random in a sense, it is available to the build in a predicable way allow for a reproducible and predictable build. This random name is "deterministic" in my view because it's in the pre-hook and environment variables at push. With that preamble, below is how a random backend environment name is chosen.
Enable pattern based branch deployment. Create a new branch with a name that'll be deployed and push the branch. Use a branch name like feature/12640 to ensure the provision step will provide a random name. The last line of the provision step will mention the new environment name.
After the provision step is complete, the environment is named however a stack hasn't been deployed so the stackname will be {appName}-{envName}-{random uuid if circleci else hhmms timestamp}.
We use envName pre-push.js parameters input but have found that during the initial CI push, where the environment key doesn't exist, the parameter data structure is different than what is documented. I plan to file a separate bug regarding the difference in parameter value shapes. Regardless, we do stuff in this hook, even if nothing exists, and not being able to determine the stackname is breaking our ability to use the pattern based deployment integration.
Because the amplify-metadata.json hasn't been written and the stack doesn't exist the name at that point is non-deterministic due to the code I mentioned.

Hello, I said the provision step for the random name but it is the last step of the checkout step. Random environment name XYZ generated

Hey @joekiller thanks for posting those details! I started on a reproduction and immediately ran into a different error:

After re-reading your comment I'm curious, are you using the pre-push hook to setup the SSM Parameters required for the new env?

it is the last step of the checkout step. Random environment name XYZ generated

Ah I see this in the clone/checkout step:

For the random env naming I will need to transfer this to our Hosting repo, however I'd like to understand the intention with the hook as well as track the SSM Parameter issue separately (will link here soon)

@josefaidt I do not think this should be transferred because the random environment name is fine. The environment name is known and in the build environment as appropriate.
At amplify push the cli relies on the amplify-meta.json to resolve the env value. When an environment is already present the cli has access to the value. Our problem is that given that information we cannot predict the stackname when pushing the first time and the push also creates the environment at the same time.
We have a pre-push.js script which makes some resources available given the stackname in s3 that fails to deploy when pushing to an environment that doesn't exist because the stackname itself has a suffix that is non-deterministic. The environment name is known as that point but the stack name is unpredictable because it is resolved after the hook runs.
If the stack naming was deterministic then our script would be able to determine the stackname given the environment and application context even with the amplify-meta.json file not being present yet. The pre-push.js cannot predict the name due to the amplify cli making all new stack names include a suffix that it either a  uuid or date string generated at that moment.

I'll give you a commit on your test repo to provoke the issue tomorrow.

My colleague was implementing the following workaround when we noticed it wouldn't work for new environments due to the amplify.envirinment.envName values not being populated in the cli for the initial push while invoking the pre-push script.

Prepopulating ssm vars is kinda a cool idea too. If they were tied to the stackname the same problem would apply that while the project name and environment are known values, the parent stack will still have some random suffix generated at deploy time.

Seems this applies mainly during an init --forcePush

Finally, note on an initial forcePush that the args that the pre-push hook gets doesn't contain an environment key.
According to the code the DataParameter might not have environment keys. So the docs about the data parameter structure should be updated to reflect that there can be optionality/undefined in the keys.
First init forcePush:

{"data":{"amplify":{"argv":["/root/.amplify/bin/amplify","/snapshot/repo/build/node_modules/@aws-amplify/cli-internal/bin/amplify","init","--amplify","{"envName":"trixy","appId":"abc123"}","--providers","{"awscloudformation":{"configLevel":"project","useProfile":true,"profileName":"default"}}","--codegen","{"generateCode":false,"generateDocs":false}","--yes","--categories","{"auth":{"userPoolId":"us-east-abc123","webClientId":"abc123","nativeClientId":"abc123"}}","--forcePush"],"version":"10.5.2"}}}

Subsequent init forcePush:

{"data":{"amplify":{"environment":{"projectPath":"/codebuild/output/src878451092/src/dcon-next","envName":"trixy"},"argv":["/root/.amplify/bin/amplify","/snapshot/repo/build/node_modules/@aws-amplify/cli-internal/bin/amplify","init","--amplify","{"envName":"trixy","appId":"abc123"}","--providers","{"awscloudformation":{"configLevel":"project","useProfile":true,"profileName":"default"}}","--codegen","{"generateCode":false,"generateDocs":false}","--yes","--categories","{"auth":{"userPoolId":"us-east-abc123","webClientId":"abc123","nativeClientId":"abc123"}}","--forcePush"],"version":"10.5.2"}}}

Hey @joekiller thanks for diving into this and providing those details! I'm going to mark this as a feature request to assess the general ask of deterministic stack names, perhaps through some sort of naming convention project override.

Prepopulating ssm vars is kinda a cool idea too. If they were tied to the stackname the same problem would apply that while the project name and environment are known values, the parent stack will still have some random suffix generated at deploy time.

This will work, and the parameters are tied to the Amplify app ID and environment name. More information on the naming convention can be found here https://docs.amplify.aws/cli/reference/ssm-parameter-store/#manually-creating-parameters

Seems this applies mainly during an init --forcePush

I do see where the env parameters check is running, then the prepush hook invocation (I'll add this to the other issue as well, thanks for opening that separately!):
https://github.com/aws-amplify/amplify-cli/blob/dev/packages/amplify-cli/src/commands/init.ts#L37

Thanks @josefaidt a simple env option is likely enough.


Add gearbox latency to platform

For designs that want to be as platform-independent as possible, it would be nice to have access to the total latency from the design to the physical IO in IO buffer clocks. This way IOs of different XDR ratios can be synchronized.
Followup from #532.

Update: the undocumented nature of the latency is now clearly stated in the docs, but at least the relevant intervals are now clearly defined. In practice:

t1 is either 3 (on Lattice platforms; excluding SiliconBlue iCE40) or 1 (other platforms).
t2 is always 1.


Add option to disable the Pick window prompt

I use winbar for barbecue, and don't want to use it for window indicators. And I don't want to change cmdheight for seeing message Pick window:. It would be perfect to have option use_cmd set by default to true, that can override this behavior.

Note that the use_cmd was changed to show_prompt.


Broken references deserialization

Hi,
after updating to the latest version 3.2.0 I'm unable to deserialize correctly XML created with .EnableReferences() option.
Fragment of my XML file:
    <ns1:Lookuptable xmlns:ns32="clr-namespace:MA.App.Model.Dto.Lookuptables;assembly=MA" exs:arguments="ns32:PathogenDto">
        <Models>
            <Capacity>64</Capacity>
            <ns2:Pathogen>
                <ScientificName>Phellinus igniarius</ScientificName>
                <LocalizedName>Phellinus igniarius</LocalizedName>
                <PathogenType exs:member="" exs:identity="1">
                    f
                    <Description>Fungus</Description>
                </PathogenType>
            </ns2:Pathogen>
            <ns2:Pathogen>
                <ScientificName>Pholiota destruens</ScientificName>
                <LocalizedName>Pholiota destruens</LocalizedName>
                <PathogenType exs:member="" exs:reference="1" />
            </ns2:Pathogen>
    </ns1:Lookuptable>
    <ns1:Lookuptable xmlns:ns36="clr-namespace:MA.App.Model.Dto.Lookuptables;assembly=MA" exs:arguments="ns36:PathogenTypeDto">
        <Models>
            <ns2:PathogenType exs:reference="1" />
        </Models>
    </ns1:Lookuptable>

After deserialization I get PathogenType with Code and Description null, instead of "f" and "Fungus".  It works in 3.1.4. I've seen some changes regarding references in the last version, so am I missing something or is it a bug?
Thanks!

Boo... I was afraid of something like this.  Thank you for taking the time to report.
Yes, we did do some work with 3.2.0 around references to change how references work in the case of attributes.  Although, I am not sure why that would impact you as you do not seem to be using attributes and everything is an element.
Is the above a list?  I will attempt to create the object graph and see if I can reproduce this for you.  Apologies for breaking your code. 😞  Please use 3.1.4 until we figure this out.

Yes, it is a list of lookuptables and each has list of values in Models property. A value sometimes reference value from another lookup table - like in this case Pathogen reference PathogenType which is another lookuptable.
Thanks for looking into it.

OK cool thank you for the context, @ondrasvoboda.  To be sure, your referenced XML above does not have a closing </Models> tag so want to be sure that's due to removing additional data and not a malformed document.

Yes, that's due to removing additional data.

Alright @ondrasvoboda unfortunately I am not having any luck reproducing this.  I am eyeballing the model so there might be something fundamental that I am overlooking here.  This is what I have and seems to be passing OK:
https://github.com/ExtendedXmlSerializer/home/blob/3d0c314e395e73708444c65cd4b4bc99f0d35227/test/ExtendedXmlSerializer.Tests.ReportedIssues/Issue407Tests.cs#L12-L67
Is there anything that sticks out at you that I am not considering?

Boom... figured it out.  It's our good friend the member="" hack.  This does not look promising but I will look into this.  Hang tight with 3.1.4 in the meantime.

Alright @ondrasvoboda check out the instructions here:
https://github.com/ExtendedXmlSerializer/home/pull/408#issuecomment-647553497
And see if that treats you better.  If it does, I will release this to NuGet ASAP since this will no doubt break others.

Works great, thanks!

Awesome!  Good news is that as easier than I expected, but bad news is that it involved adding another boolean check to the code which makes it feel hackier.  I am very much hoping exs:member="" doesn't make any more appearances, in any case.
Anyways, v3.2.1 is here:
https://www.nuget.org/packages/ExtendedXmlSerializer/
Not complaining about that version number, either! 😆


URL error

Hello
This website open in external webbroser: https://www.i-moments.com/online/80050/?origen=app
This website not working: http://imagen.online-convert.com/es/convertir-a-jpg
Can  you response to<EMAIL_ADDRESS>Thx!

Your URLs redirect from one URL to another, not one, but both of them.
It goes like this, host to host:

https://www.i-moments.com

then,

http://www.i-moments.com

then again,

http://services.imaxel.com

and again,

http://galleries.iws.imaxel.com

and at last it shows a blank page, which is none of my concern or business. Same issue with the other URL, although it's working fine but your converted file requests to open another URL.
This project is made to provide best user experience through webview that's why external URLs are designed to open in default browser, but still, if you want to do all the redirection inside the app, remove:
... else if (!url.startsWith(ASWV_URL)) {
       Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
       startActivity(intent);
} ...

mentioned inside shouldOverrideUrlLoading() method.


Switch export to forward progress

This also includes a slight behavior change to prevent the export worker from sitting in a hot loop if the database is unavailable.
Release Note

Switch export to forward progress monitoring

@mikehelmick removed labels


Words being made plural that should not be

I've noticed an issue where words become plural that shouldnt be plural, and it makes the word unusable. I'm assuming part of the code randomly tacks an s onto a word, for more variety, but this doesnt always work. For instance the once i've seen quite  a bit of is "of" becoming "ofs".

this is actually an issue with another package being used called pluralize, disregard.


Customizeable json.loads() arguments

Allow customization of json.loads() arguments, for example: parse_float=decimal.Decimal

Looks like I didn't meet all the requirements. Please, consider including the idea, though.

Hi!
it certainly looks interesting, although I suggest we do it in a slightly different way. We could make a small (backward-incompatible) change to Server.__init__:
Instead of:
def __init__(self, url, session=None, **requests_kwargs)

It could be something like:
def __init__(self, url, session=None, requests_kwargs=None, json_loads_params=None):

We could then store json_loads_params in self and access it when we call response.json()
If you wish to make this happen please make sure to read the project's Readme to understand how to run tests.
Thanks!


frontend: xterm missing allowProposedApi option added

Thanks for this! When you are ready to mark this for review, please don't forget to sign off the commit (you can do this using git commit -s or for an existing commit, use git commit -s --amend)

Solid, if you're done making changes then an atomic commit would be preferred (instructions here), and like before, sign it off using git commit -s

Did you run into git-related issues? Let us know if you would like to continue working on this issue

Hey @skoeva, please bear with me as I feel a bit rusty on git and the evolved contributing process:) I reset the head of the branch to deliver an atomic commit that hides my scratches. Here is the recently created PR after my reset https://github.com/headlamp-k8s/headlamp/pull/2562


"col-xs-" aliases for "col-" classes for compatibility

How about to add aliases "col-xs-" for "col-" classes as far you've dropped -xs?
This will be extremely helpful for migrating from B3 to B4 and from B4alpha5 to B4.
Grid subsystem is the only component which is used by everyone Bootstrap users. In many cases migration from B3 to B4 was almost painless, till this moment (xs dropped).
I suggest:

Keep col-xs-* and col-* together in B4
Announce removing col-xs-* in B5... or never
Let ability to build B4 from SASS without -xs- support (for those who needs size optimization).

For better effect this will be fine to make changes to B4alpha6 immidiately (just suggestion and my vision). For example one of my website became broken (yes, i am dumb and use dinamyc alpha version from CDN, but... is seemed to be rather stable for a long time, I think I am not alone in this).

When there is a new major version I think it's reasonable that migration do not need to be painless. Having aliases too keep backward compatibility just clogges the project.

for a breaking change, this is about as painless as they come. find and replace -xs- with -.

@browner12 you forget about content saved into DB. Yes, we can have tons on responsible content on the website, Bootstrap is not only for templates.
Also there are Bootstrap-related tools which now need to be changed too.

I just want to remind everybody that bootstrap 4 is currently in alpha, meaning breaking changes are going to happen all the time. Until bootstrap 4 gets released, I don't think we should need to worry about backward compatibility.

We are using this much and more code currently for col-
and i dont think this is a good idea to duplicate that!

No plans to keep the -xs around in v4. No point in doing so given we explicitly make major versions all about breaking backward compatibility to advance the project.


Issue with V1.0 -  'test_selected' is undefined - incorrectly referenced in create_constraints.sql

The latest package (v1.0) is now throwing test_selected when running the '{{dbt_constraints.create_constraints()}}' on dbt v1.6 (cloud)

Hi @sfc-gh-dflippo, I think this PR might be the issue. The error says:
 'test_selected' is undefined
How and where does this need to be defined?

Macros have been incorrectly referenced in create_constraints.sql, namely the following :
{%- macro test_selected(test_model) -%}
{%- endmacro -%}

{%- macro lookup_should_rely(test_model) -%}
{%- endmacro -%}

{%- macro should_always_create_constraint(test_model) -%}
{%- endmacro -%}

For example
{%- set selected = test_selected(test_model) -%}
should be
{%- set selected = dbt_constraints.test_selected(test_model) -%}

Temporary Solution
Create Local .sql macro with the following :
{#- This macro checks if a test or its model is selected -#}
{%- macro test_selected(test_model) -%}
{% do dbt_constraints.test_selected(test_model) %}
{%- endmacro -%}
{%- macro lookup_should_rely(test_model) -%}
{% do dbt_constraints.lookup_should_rely(test_model) %}
{%- endmacro -%}
{%- macro should_always_create_constraint(test_model) -%}
{% do dbt_constraints.should_always_create_constraint(test_model) %}
{%- endmacro -%}
{%- macro lists_intersect(listA, listB) -%}
{% do dbt_constraints.lists_intersect(listA, listB) %}
{%- endmacro -%}

THANKS TO YOU BOTH for quickly reporting the issue. I reviewed @RonniePitts 's changes and made the same in the main branch.
I have released version 1.0.1 to fix the issue. I did my own tests but can you please confirm your issues are resolved with v1.0.1?
Thanks again!

@sfc-gh-dflippo Dan, it's fixed now with the latest version.


YouTube Live is not working in VRChat

Checklist

[] I'm reporting a broken site support issue
[x] I've verified that I'm running youtube-dl version 2019.04.30
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[x] I've searched the bugtracker for similar bug reports including closed ones
[x] I've read bugs section in FAQ

Verbose log

C:\Users\Xxxxx>"C:\Program Files (x86)\Steam\steamapps\common\VRChat\VRChat_Data\StreamingAssets\youtube-dl.exe" --verbose https://www.youtube.com/watch?v=PdE1y-MgKzU
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', 'https://www.youtube.com/watch?v=PdE1y-MgKzU']
[debug] Encodings: locale cp932, fs mbcs, out cp932, pref cp932
[debug] youtube-dl version 2019.04.30
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.17763
[debug] exe versions: none
[debug] Proxy map: {}
[youtube] PdE1y-MgKzU: Downloading webpage
[youtube] PdE1y-MgKzU: Downloading video info webpage
[debug] Default format spec: best/bestvideo+bestaudio
[debug] Invoking downloader on 'https://r4---sn-3pm7kn7l.googlevideo.com/videoplayback?id=o-APs7ZtVpoFr1ILmmDUHJiSiXkvZr3J8MEw-JIy760muZ&itag=18&source=youtube&requiressl=yes&mm=31%2C29&mn=sn-3pm7kn7l%2Csn-3pm7sn7s&ms=au%2Crdu&mv=m&pl=18&ei=n9nTXIu6GsGMgQOztbTgBA&gcr=jp&initcwndbps=1538750&mime=video%2Fmp4&gir=yes&clen=476641601&ratebypass=yes&dur=14466.542&lmt=1556978093169547&mt=1557387553&fvip=2&c=WEB&txp=5531432&ip=<IP_ADDRESS>&ipbits=0&expire=1557409279&sparams=ip%2Cipbits%2Cexpire%2Cid%2Citag%2Csource%2Crequiressl%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Cei%2Cgcr%2Cinitcwndbps%2Cmime%2Cgir%2Cclen%2Cratebypass%2Cdur%2Clmt&signature=C6C7314E9832553F2D77F3C3221A7AE5453593F3.4E4D7413676AEC54F6EEE346CFA0633470994267&key=yt8'
[download] Destination: Relaxing Cafe Music - Jazz & Bossa Nova Music - Instrumental Music For Work, Study-PdE1y-MgKzU.mp4
[download] 100% of 454.56MiB in 01:06

C:\Users\Xxxxx>
C:\Users\Xxxxx>
C:\Users\Xxxxx>"C:\Program Files (x86)\Steam\steamapps\common\VRChat\VRChat_Data\StreamingAssets\youtube-dl.exe" --verbose https://www.youtube.com/watch?v=fLovQ0j4WwY
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', 'https://www.youtube.com/watch?v=fLovQ0j4WwY']
[debug] Encodings: locale cp932, fs mbcs, out cp932, pref cp932
[debug] youtube-dl version 2019.04.30
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.17763
[debug] exe versions: none
[debug] Proxy map: {}
[youtube] fLovQ0j4WwY: Downloading webpage
[youtube] fLovQ0j4WwY: Downloading video info webpage
[youtube] fLovQ0j4WwY: Downloading m3u8 information
WARNING: unable to extract channel id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
[youtube] fLovQ0j4WwY: Downloading MPD manifest
[debug] Default format spec: best/bestvideo+bestaudio
[debug] Invoking downloader on 'https://manifest.googlevideo.com/api/manifest/hls_playlist/id/fLovQ0j4WwY.0/itag/300/source/yt_live_broadcast/requiressl/yes/ratebypass/yes/live/1/cmbypass/yes/goi/160/sgoap/gir%3Dyes%3Bitag%3D140/sgovp/gir%3Dyes%3Bitag%3D298/hls_chunk_host/r4---sn-3pm76n7r.googlevideo.com/playlist_type/CLEAN/ei/9NnTXJSxFoKi4QKS1oOYCg/force_finished/1/gcr/jp/initcwndbps/11580/mm/32/mn/sn-3pm76n7r/ms/lv/mv/m/pl/18/dover/11/keepalive/yes/mt/1557387691/disable_polymer/true/ip/<IP_ADDRESS>/ipbits/0/expire/1557409364/sparams/ip,ipbits,expire,id,itag,source,requiressl,ratebypass,live,cmbypass,goi,sgoap,sgovp,hls_chunk_host,playlist_type,ei,force_finished,gcr,initcwndbps,mm,mn,ms,mv,pl/signature/7E8BB7813DC86932861CFC73542A316F347B6EAE.3039D6DAA274321732C4D514325BF47F8589EAF3/key/dg_yt0/playlist/index.m3u8'
[download] Destination: safariLIVE - Sunrise Safari - May 09, 2019-fLovQ0j4WwY.mp4
ERROR: m3u8 download detected but ffmpeg or avconv could not be found. Please install one.
  File "__main__.py", line 19, in <module>
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpfeq7l785\build\youtube_dl\__init__.py", line 474, in main
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpfeq7l785\build\youtube_dl\__init__.py", line 464, in _real_main
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpfeq7l785\build\youtube_dl\YoutubeDL.py", line 2008, in download
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpfeq7l785\build\youtube_dl\YoutubeDL.py", line 807, in extract_info
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpfeq7l785\build\youtube_dl\YoutubeDL.py", line 861, in process_ie_result
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpfeq7l785\build\youtube_dl\YoutubeDL.py", line 1642, in process_video_result
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpfeq7l785\build\youtube_dl\YoutubeDL.py", line 1915, in process_info
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpfeq7l785\build\youtube_dl\YoutubeDL.py", line 1854, in dl
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpfeq7l785\build\youtube_dl\downloader\common.py", line 364, in download
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpfeq7l785\build\youtube_dl\downloader\external.py", line 35, in real_download
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpfeq7l785\build\youtube_dl\downloader\external.py", line 226, in _call_downloader
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpfeq7l785\build\youtube_dl\downloader\common.py", line 165, in report_error
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpfeq7l785\build\youtube_dl\YoutubeDL.py", line 624, in report_error
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpfeq7l785\build\youtube_dl\YoutubeDL.py", line 586, in trouble

Description

WRITE DESCRIPTION HERE
Videos can be played correctly in VRChat.
But LiveStream is not working.
Please, fix it.

already it fixed. wait for the next releases

Address this to VRChat.


simplify deps via remove ssh module to separate package

i like the design on this v2 api.. one suggestion that would make it suitable as a library for windows and others users without a compiler, is to remove the ssh module which brings in compiled dependencies for pandas and paramiko (per requirements.txt) that functionality is completely orthogonal to the actual api client, and has many analogues in other packages (fabric, ansible, etc).

this change was never released (0.3.2), current pypi version (also latest in setup.py) still requires paramiko/pycrypto which is causing complications for those who just want to install the rest client library
argparse==1.2.1
ecdsa==0.13
paramiko==1.15.2
poseidon==0.3.1
pycrypto==2.6.1
requests==2.7.0
wsgiref==0.1.2
which for a rest client library is


<EMAIL_ADDRESS>Cannot find module mobx

<EMAIL_ADDRESS>doesn't work with redoc-cli, cause mobx was moved to DevDependencies and it results in throwing an error "Cannot find module mobx"

should have been fixed already: @llirikkk Fixed in https://github.com/Rebilly/ReDoc/issues/576


Adds some content to accessing data section

To be honest, I'm not exactly sure what to add here. I intended to give instructions that are kind of walking the user through a site map, without being overbearing.

I think this is fine for now. We'll probably have more to say about bulk downloads once some of the backend stuff shakes out with R2.


The use of \entryFor is unnecessary and problematic

The spec defines \entryFor as follows:
\begin{gendef}[X, Y]
_  \entryFor _ :(X \inj Y) \cross Y \pfun X
\where
\forall f:X \inj Y; y:Y @  \
\t1	f \entryFor y = (\mu x:\dom f | f~x = y)
\end{gendef}
This definition is valid but unnecessary. The same result can be achieved using the built-in relational inverse postfix operator \inv:
f \entryFor x = f \inv x
It is better style to use the built-in objects.
There are a couple of other style problems.
First, \entryFor is defined to be rendered as \cdot which looks very similar to the built-in schema component selection operator (.). The first time I read the spec I was confused. I thought this was a formatting problem.
Second, \entryFor is not defined until the end of the document. When you introduce a key new operator, you should define it before you use it.
I recommend that the spec drops \entryFor and uses \inv.

Fixed.


agency::point's constructors should be safer to use

This program produces unexpected results:
#include <agency/agency.hpp>

#include <iostream>
#include <cstdlib>

int main(void)
{
   agency::size2 s0;
   std::cout << "s0 = " << s0 << "\n";

   agency::size2 s1 = {2};
   std::cout << "s1 = " << s1 << "\n";

   agency::size2 s2 = 2;
   std::cout << "s2 = " << s2 << "\n";

   agency::size2 s3{2};
   std::cout << "s3 = " << s3 << "\n";

   agency::size2 s4(2);
   std::cout << "s4 = " << s4 << "\n";

   return EXIT_SUCCESS;
}

The output:
s0 = {0, 0}
s1 = {2, 0}
s2 = {2, 2}
s3 = {2, 0}
s4 = {2, 2}

It's odd that these don't all produce the same value given that the constructor syntaxes are so similar.
The filling constructor should probably be explicit for consistency with std::vector & similar containers' filling constructors.
The initializer_list constructor out to check that the list's size is the same as the point's size.

Alternatively, because there is already a variadic constructor which validates the number of arguments, it may be possible simply to eliminate the constructor which takes an initializer_list.

Turns out it wasn't immediately possible to eliminate the initializer_list constructor because it makes this sort of curly-braced syntax possible:
// create a domain spanning (0,0) x (10,10)
bulk_invoke(par2d({0,0}, {10,10}), func);

To make that work, the curly-braced lists get turned into initializer_lists inside par2d::operator(), then they get passed along to what are eventually agency::point's constructor.


Add non in-place version of Batch.to_torch

Closes: https://github.com/aai-institute/tianshou/issues/1116
API Extensions

Batch received new method: to_torch_. #1117

Breaking Changes

The method to_torch in data.utils.batch.Batch is not in-place anymore. Instead, a new method to_torch_ does the conversion in-place. #1117

Look good, thank you, merging this!
For the future @dantp-ai: pls also modify the CHANGELOG.md as part of the PR. I'll be adjusting the readme on master anyway and will add the missing entry

Sounds good. I actually thought I do the changelog commit after the review has finished, but it doesn't hurt to have it also in there for the review phase and update it too if necessarily.


Stricter validation for slugs

I've noticed that one of the draft guides was added with a slug containing uppercase letters. We should avoid that. Also add validation to prevent weird characters in slugs.

From https://insidegovuk.blog.gov.uk/url-standards-for-gov-uk/

GOV.UK URLs are lower case by default. However if there is strong evidence of a user need for  an upper-case short URL (for example, it will be read aloud and refers to a commonly-capitalised phrase, like www.gov.uk/P800) this can be set up separately.

I guess we should not lowercase slugs then...?

I've removed the automated lowercasing. https://github.com/alphagov/service-manual-publisher/pull/122 should help with that. We can still merge the stricter validation though


ESLint plugin not recognising rules matching a folder

What happened?
I received different ESLint results locally and in Code PushUp report.
What would you expect to happen?
I expected the no-magic-numbers rule to be turned off for the perf folder in the utils package.
What steps did you take?

I added an exception for some ESLint rules in the perf folder and added it to the root .eslintrc.json.

 {
      "files": ["perf/**/*.ts"],
      "rules": {
        "no-magic-numbers": "off",
        "sonarjs/no-duplicate-string": "off"
      }
 }

I checked that ESLint no longer showed warnings e.g. for no-magic-numbers in these files.
I ran Code PushUp and displayed the results in portal.
There I saw these rules being treated as enabled.

What operation system are you on?
Windows
Node version
No response
Relevant log output
No response

I think the culprit is that you have to turn off the /* eslint-disable @typescript-eslint/no-magic-numbers */ not the /* eslint-disable no-magic-numbers */ as we migrated our preset to use the rule from typescript that supports much more clever assessments of what is and isn't magic number


"[file ...]" in the usage does not match the reality

AFAIK, "[]" means that the argument is optional. However, running just tslint outputs:

Usage: /usr/bin/node ./node_modules/.bin/tslint [options] [file ...]
Options:
-c, --config          configuration file
-h, --help            display detailed help
-o, --out             output file
-r, --rules-dir       rules directory
-s, --formatters-dir  formatters directory
-t, --format          output format (prose, json, verbose)  [default: "prose"]
-v, --version         current version
Missing files

and returns a non-zero exit status. I guess that it shouldn't at least return the non-zero code if the usage is valid.
The brackets are present both in the README and in the CLI output.

Good point @radek-holy, thanks for the heads-up. I think the best way to solve this is by just removing the brackets, as you really do have to have at least one file.


use klass to get association class

My application has multiple databases and I configure them under different namespaces.
Cba::Db1::Users
Cba::Db2::Users

These models share same methods and include modules like below
module Cba
  module Rates
    extend ActiveSupport::Concern
    included do
      self.table_name = 'Rates'
      has_many :Rate_Comparisons, :class_name => RateComparisons, :foreign_key => "RateID"
      define_eager_group :comparison_count, :Rate_Comparisons, :count, :*

    end
  end
end

When I run eager_group(:comparison_count) it will raise error underfined method where on Cba::Rate_Comparisons
After I debug, I find the class_name in association object is not correct.
preloader.rb

association.class_name # => Cba::RateComparisons, not the real class, cause issues

but the instance variables @klass is correct. so, change to use klass to get association class

@yakjuly please fix the conflicts.

@flyerhzm , conflicts have been resolved.


Records config docs redirect doesn't work

The generated default records.yaml file contains links which look like they should redirect somewhere, but currently just 404:
curl -v https://docs.trafficserver.apache.org/records.yaml
* processing: https://docs.trafficserver.apache.org/records.yaml
*   Trying <IP_ADDRESS>:443...
* Connected to docs.trafficserver.apache.org (<IP_ADDRESS>) port 443
* ALPN: offers h2,http/1.1
* 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_256_GCM_SHA384
* ALPN: server accepted h2
* Server certificate:
*  subject: CN=ci.trafficserver.apache.org
*  start date: Aug 10 16:49:06 2023 GMT
*  expire date: Nov  8 16:49:05 2023 GMT
*  subjectAltName: host "docs.trafficserver.apache.org" matched cert's "docs.trafficserver.apache.org"
*  issuer: C=US; O=Let's Encrypt; CN=R3
*  SSL certificate verify ok.
* using HTTP/2
* h2 [:method: GET]
* h2 [:scheme: https]
* h2 [:authority: docs.trafficserver.apache.org]
* h2 [:path: /records.yaml]
* h2 [user-agent: curl/8.2.1]
* h2 [accept: */*]
* Using Stream ID: 1
> GET /records.yaml HTTP/2
> Host: docs.trafficserver.apache.org
> User-Agent: curl/8.2.1
> Accept: */*
>
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* old SSL session ID is stale, removing
< HTTP/2 404
< date: Wed, 23 Aug 2023 22:53:34 GMT
< server: ATS/9.2.2
< content-length: 196
< content-type: text/html; charset=iso-8859-1
< age: 0
< strict-transport-security: max-age=17280000
< via: http/1.1 traffic_server (ApacheTrafficServer/9.2.2 [cMsSfW])
<
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">

<title>404 Not Found</title>

Not Found

The requested URL was not found on this server.

* Connection #0 to host docs.trafficserver.apache.org left intact

@jpeach try it now?

Looks good, what did you do?
$ curl 'https://docs.trafficserver.apache.org/records.yaml#client-related-configuration'
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">

<title>302 Found</title>

Found

The document has moved here.

@jpeach just had to modify the remap+docs-httpd instance we run to host them to have the proper redirect in there for the yaml. Some of this changed during the rewrite of the CI so it's not as straight forward as it used to be (and also hadnt been done since the new yaml files came around)


migrate read_typelist from AtomTyper from smarty into this repo

The method read_typelist from AtomTyper is used in smarty and smirky to read in *.smarts files. I propose we move this function to utils.py in this repo. I don't think we will need the whole AtomTyper class as that only works with SMARTS strings to match single atoms and we have clearly moved away from that.
@davidlmobley @jchodera
I can add this in my current pull request if you agree.

@bannanc - sounds fine to me.

(Renamed to reflect the fact that I like issues to reflect an action which should be taken.)

added in PR #40


Add SAF import via remote URL

References
Fixes #8536
Fixes https://github.com/DSpace/dspace-angular/issues/1913
Description
Added the import of a remote SAF via the --url option.
Instructions for Reviewers
List of changes in this PR:

new --url  option in import script to specify the URL of the remote SAF
changes in dspace-api/src/main/java/org/dspace/app/itemimport/ItemImport.java to retrieve the remote SAF

Checklist

[x] My PR is small in size (e.g. less than 1,000 lines of code, not including comments & integration tests). Exceptions may be made if previously agreed upon.
[x] My PR passes Checkstyle validation based on the Code Style Guide.
[x] My PR includes Javadoc for all new (or modified) public methods and classes. It also includes Javadoc for large or complex private methods.
[x] My PR passes all tests and includes new/updated Unit or Integration Tests based on the Code Testing Guide.
[x] If my PR includes new libraries/dependencies (in any pom.xml), I've made sure their licenses align with the DSpace BSD License based on the Licensing of Contributions documentation.
[x] If my PR modifies REST API endpoints, I've opened a separate REST Contract PR related to this change.
[x] If my PR includes new configurations, I've provided basic technical documentation in the PR itself.
[x] If my PR fixes an issue ticket, I've linked them together.

@francescopioscognamiglio : The IT errors here were on main and have been fixed in #8746.  If you rebase on main they should go away.

Hi @tdonohue, thanks for your feedback! I fixed both the import via UI and the import via CLI to use the --url param correctly.

Hi @tdonohue, I fixed the issue so now you can run the script from the command-line.
So, from the command-line, using the --url param the --source is no lorged needed.


Paletted transparent png to 32bit bmp is lossy

I have made a transparent png with 255 blue as its transparency color in Photoshop. It is a white square and my background is black, I transform it programmatically like so:
          var stream = new MemoryStream();
          Image img = Image.FromFile("./assets/" + filename);
          img.Save(stream, System.Drawing.Imaging.ImageFormat.Bmp);
          var bitmapData = stream.ToArray();

Then I take the raw data, send it through server, turn every pixel to a uint32 then decode that again into bytes (I have to because I'm using a peculiar extension).
I never ran into any problem following that procedure but now that I am using these pngs transformed into bitmaps, I'm getting things like this:
(magnified, this is mirrored, I am not yet parsing the bmp in the right order)

Notice the magenta line where it should be transparent. I am kind of surprised as bmps shouldn't be lossy. Is there any way I could avoid that? Is this a bug?
Thanks.

Never mind, I ran other tests and it doesn't seem to be an issue on .NET's side.
Terribly sorry.


Limit modifier

Is your feature request related to a problem? Please describe.
One of the default and primary features with Riverpod is the ability to "cache" state for the lifetime of the application (or when dependencies change). The autoDispose is there for cases in which you don't want to cache indefinitely, like when using family with a constantly changing parameter that isn't ever reused (to avoid a memory leak). But what if you have a constantly changing parameter, have values that may be reused, and want to avoid a possible massive memory footprint?
Describe the solution you'd like
A limit modifier on family providers that would limit how many providers under that family can exist at once. This would allow developers to tweak the memory footprint of family providers to their liking. The use could be really simple and would only require an integer to define the instance limit final exampleProvider = Provider.family.limit(4, (ref, param) => param));.
Describe alternatives you've considered
This could definitely be done by the developer themselves but would most likely meaning giving up the use of a family provider and creating a specialized state notifier to do the work of destroying data when hitting a given limit. The syntax above is obviously much simpler and easier for the developer.
Additional context
One problem I do see with this is the possibility of family providers in use that exceed the given limit. But I think the limit would only apply to "detached" providers. I can provide some concrete examples that would benefit from this if needed. Thanks! 🙌

Maybe this can be related with #142 enhancement request. I think in essence we want something similar.

Limiting how many instances of a family are in memory doesn't make sense because of the reactive nature of the framework.
I'd suggest using autoDispose and keep watching the nodes that you want to keep alive in a widget
The API could likely be improve by having a getter instead of a boolean for maintainState. But I need to gather use-cases on what those edge-cases are. Do you mind sharing yours?

@rrousselGit I'm not sure about that actually. It is not limiting all instances of a family but would be limiting the unused instances. For example if the limit is 5, you could have any number of family instances in use but only up to 5 that are unused, thus "cached" or "kept alive". I don't see how that would conflict with the reactive nature of the framework, but maybe I am not catching what you are catching?
I can't provide too many screenshots for privacy reasons but imagine a page that displays data based off of a selected date. You would have a date picker like below

Users can scroll forward and backward in time without limit. The data is asynchronously loaded so I am using a FutureProvider family. The parameter for the family is a string that represents a year, month, and day (ex: '2020-04-04') which the associated data would be loaded from. Now a user could definitely load a lot of info while navigating days and the info provided from the FutureProvider isn't a small amount of data. I would use autoDispose but I want the most recently viewed days to instantly show up instead of reload the data. The user would most likely look at 4-5 days in the week so in this case I would set the limit to 4-5 days. Though as I am typing this out I think @ldasilva-net may be right in that his enhancement request would help with this. If I was able to clear all family providers then I wouldn't need the limit modifier at least in this case.

It is not limiting all instances of a family but would be limiting the unused instances.

yes but the problem is, how do we know which unused instance should be kept and which one should be GCed?
I could see people asking for a priority logic, which starts to get painfully complex.

the "limit" implies a magic number. Why limit to 5, why not 10 or 2?

I would use autoDispose but I want the most recently viewed days to instantly show up instead of reload the data.

Your scrollview could keep watching the recently visible items.
With a ListView, that could be done easily by increasing the cacheExtent property.
As for a feature request, for such use-case, it most likely makes more sense to use a timer instead
Like "dispose of the state only if it hasn't been used for x seconds".

I think that all approaches end in the need to have a manual way of disposing providers and family providers. Something similar to this but I think maybe is better with the ProviderReference instead of the context.
At what point in the application to do this is simply a decision of the developer.

yes but the problem is, how do we know which unused instance should be kept and which one should be GCed?
I could see people asking for a priority logic, which starts to get painfully complex.

I was thinking it would be FIFO by default but sure I could see it become complex as well. But I also think there would be ways to handle the complexity.

the "limit" implies a magic number. Why limit to 5, why not 10 or 2?

This is true but it wouldn't always a magic number. In the use case I gave, it is driven by the what the user is likely to do. I will admit though that it is a bit arbitrary so I think I mostly agree with you here.

Your scrollview could keep watching the recently visible items.
With a ListView, that could be done easily by increasing the cacheExtent property.

The "day scroller" is a PageView where each page is represents a week. Either way I think depending on specific widget behavior because the state management library can't handle specific state needs is a crutch and not a long term solution. It also limits the cases to where you use ListView or ScrollView.

As for a feature request, for such use-case, it most likely makes more sense to use a timer instead
Like "dispose of the state only if it hasn't been used for x seconds".

Personally I would find that behavior strange as a user and would expect data to be cached regardless of elapsed time. In fact I would expect data to be cached as long as I am using the feature which is another reason why I like the idea of disposing the family providers when needed.
In my opinion having the ability to dispose family providers is the best solution in terms of how many use cases it can apply to and the simplicity of it.

I'll close this in favour of https://github.com/rrousselGit/river_pod/issues/779 which should give more control over how providers are disposed.


Second try go to gapi

@dmatveev , review please

@mpashchenkov

@dmatveev , Please review

I believe we're clear with this now?
let's close this one and switch to #6 ?

@aDanPin can you please close this PR?


DIATRUS I WONT STOP!!!

GO TO PANGU8.COM!!! AND DOWNLOAD APRICOT WEBOS!!!!!!!!

This is the real Diatrus


Synchronization with empty values

facts

files with no special phs on generation throwing no source rep key
files with no ignorings stamps are being acc on deprecated

prob causes

new targets now always have special phs, sources may be not, so make sure that the target represents the source status for get + set meta

de68f97403341cc21559501b03288d66c68bdd29


fix splitting of typechecks in selectors

Fixes SD-1508
Essentially, we now detect when typechecks and cond tests need to be performed before evaluating expressions and do those tests in $project/$simpleMap, rather than putting them off until $match.
A number of planner tests actually were expecting "bad" plans, which showed these delayed typechecks.
The planner's InputFinder is now a simple ADT which makes it possible to inspect its structure. This is a big help for debugging as well.
JavaScript type checks are now all factored out into a utility object in the mongodb package (one was somewhat bogusly in jscore, and the rest were partially duplicated in a couple of places).

Current coverage is 79.42%

Merging #1139 into master will increase coverage by +0.09% as of e78758e

@@            master   #1139   diff @@
======================================
  Files          162     162
  Stmts         8967    8988    +21
  Branches       281     285     +4
  Methods          0       0
======================================
+ Hit           7114    7139    +25
  Partial          0       0
+ Missed        1853    1849     -4

Review entire Coverage Diff as of e78758e

Powered by Codecov. Updated on successful CI builds.

Minor comments. Overall, I really like both the fix and the other restructuring you did.

Ready for another look.

👍🏾

Merged via the script.


Reduce stack frame size for double stack slots on ia32/x64

This issue was originally filed by<EMAIL_ADDRESS>
All variables using a FPU register use 16 bytes of stack space, even if the variable only needs 8 bytes (all doubles). This may become an issue in the future. Filing this bug to serve as a reminder.

Stale


Ruby parser

I'm interested in writing a Ruby parser, and was wondering if it would be acceptable if it were written in Ruby. I would use Opal to compile the parser to Javascript so it would work in the browser. It would essentially work out the same as writing it in CoffeeScript, but maintaining the parser would be done in Ruby... thoughts?

Hi @lexun! We'd love to have a Ruby parser! I think that much easier than writing a new parser in Ruby, though, would be to just adapt Opal to do what we want to do, since it already has 1) a JS-based Ruby-to-JS transpiler and 2) a JS-based Ruby runtime library to go with it.
Last I remembered, we thought that if you could have Opal generate a source map alongside the generated JS code, then we could modify Aether to take these steps:

Give Ruby code to Opal to get JS code and source map.
Parse JS code with Esprima to get an Aether-compatible Mozilla AST.
Mash that together with the source map to get correct original node ranges.
Aether does the rest of its stuff as needed to produce the final JS.
We include Opal's runtime library so that it all works.

What do you think about something like that?
I don't know if Opal uses a Mozilla-compatible AST internally, but if it does, then just giving that to Aether instead of continuing on to do and undo the code generation step would work even better.

Excellent, I had a similar thought process but wanted to make sure involving Opal was acceptable at all before exploring too much. I'll spend some time checking into the steps you outlined and report back if it leads to something. Thanks for the timely response!

@lexun Have you worked on this at all? I haven't looked much into this, but I'd like to contribute and this seems like an interesting effort.

@spkane I didn't spend much time on it since I discovered that there were some significant issues with Opal source maps at the time. I decided to wait until that whole situation stabilized, which it looks like it may have? https://github.com/opal/opal/issues/774


Error when starting VIM with airline, minimal vimrc.

environment

vim: 8.2.1150
vim-airline: Version: 0.11
OS: Mac OS 10.15.6
Have you reproduced with a minimal vimrc: Yes
What is your airline configuration: no config
if you are using terminal:
terminal:Mac Terminal, iTerm2 Build 3.3.12
$TERM variable: xterm-256color
color configuration (:set t_Co?):t_Co=256
if you are using Neovim:No
does it happen in Vim: ???

actual behavior
.vimrc file:
call plug#begin('~/.vim/plugged')

Plug 'vim-airline/vim-airline'

call plug#end()

Run 'vim' from command line
Error:
Error detected while processing function <SNR>36_update_searchcount:
line    2:
E65: Illegal back reference
Press ENTER or type command to continue

I also get errors and using vim
expected behavior
no errors
screen shot (if possible)

Try updating vim please

Am 20.07.2020 um 05:51 schrieb Karl Johnson<EMAIL_ADDRESS>
environment
vim: 8.2.1150
vim-airline: Version: 0.11
OS: Mac OS 10.15.6
Have you reproduced with a minimal vimrc: Yes
What is your airline configuration: no config
if you are using terminal:
terminal:Mac Terminal, iTerm2 Build 3.3.12
$TERM variable: xterm-256color
color configuration (:set t_Co?):t_Co=256
if you are using Neovim:No
does it happen in Vim: ???
actual behavior
.vimrc file:
call plug#begin('~/.vim/plugged')
Plug 'vim-airline/vim-airline'
call plug#end()
Run 'vim' from command line
Error:
Error detected while processing function 36_update_searchcount:
line    2:
E65: Illegal back reference
Press ENTER or type command to continue
I also get errors and using vim
expected behavior
no errors
screen shot (if possible)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

I upgraded vim to version 8.2.1250, but I am still getting error.
Error detected while processing function <SNR>36_update_searchcount:
line    2:
E65: Illegal back reference
Press ENTER or type command to continue

I am not getting an error when using neovim. What else can I try?
Thanks.

@karlsjohnson
I dropped the vim version and tried the minimum configuration you provided, but this problem did not reproduce.
What happens if I add this configuration?
let g:airline#extensions#searchcount#enabled = 0

Thanks for the help. That fixes the error. Do you know why this would be happening? What am I losing by turning off this extension?


Invalid ABNF rule names

Message encoding of this library is specified using ABNF.
According to RFC 5234 section 2.1:

The name of a rule is simply the name itself, that is, a sequence of characters, beginning with an alphabetic character, and followed by a combination of alphabetics, digits, and hyphens (dashes).

However, many rule names in this library contain the _ character, which is not permitted.
To solve this issue, replace _ character with hyphen -.

Fixed with https://github.com/JonnyKong/ndn-python-repo/commit/4c4ed2f99cf9d24677bb9362eae91b84601d8c3e.


Remove A Line

Hey just noticed the line in the configuration yaml does not work (update_interval: 30). In your instructions the configuration is right on the Update Configuration Yaml but the next one down has that line in it. If you take it out the config will work fine. Just giving you heads up.  Not sure why it stopped working but it did it over the last day or so.

Yes itès the breaking change of the v0.1.0: https://github.com/dylandoamaral/trakt-integration/releases/tag/v0.1.0.
You have to remove this attribute.

Yeah I got that but I was saying on the instruction page you still have it.

Whoops @gdreelin fixed thanks !


Support convert Should -Invoke to v6 syntax

Dependent on issue being tracked in https://github.com/pester/Pester/issues/2465.


condo update missing channel

For the upgrade of snake-minimal to work must the command be
conda update -c bioconda snakemake-minimal

conda update was removed in c7d3a96813cb55518c4c6cb99eeb05b3fae71118
closing issue


Haven't been able to make use of PubSub past v0.14.2

Environment details

OS: Linux / Windows
Node.js version: 8.9.0
npm version: yarn
google-cloud-node version: pubsub 0.14.8

Steps to reproduce

Try use @google-cloud/pubsub versions above 0.14.2 with other @google-cloud/* libraries.
Get error messages like so:

TypeError: Channel's second argument must be a ChannelCredentials

Which I assume has something to do with GRPC or the like.
I'm not sure what's causing it exactly, but it seems like there is a mismatch between the versions of grpc between packages which could be it.
I'm seeing<EMAIL_ADDRESS>installed because of @google-cloud/datastore#@google-cloud/common-grpc and @google-cloud/datastore#google-gax. But it seems that the newer versions of PubSub are making use of<EMAIL_ADDRESS>I feel like dependency management in JavaScript is never really a good time, so I can understand.

Duplicate #2699


codeowners: add codeowners as myself and nghiant2710

Change-type: minor
Signed-off-by: Matthew McGinn<EMAIL_ADDRESS>

added myself as a second in order to not have just one person, but that was me volunteering more than anything.

@xginn8 Thanks Matt, it's much appreciated!

@xginn8 Thanks Matt, it's much appreciated! One quick question, did you mean to sign off using your personal email addy instead of @balena.io? We generally use our balena ones.

Fixed up, thanks for the note!


pull request for e2e test at 02/01/2017 13:26:13

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


[Bug] Topbar left - not rendered as it should

Bug report
What I did
I copied  topbar_left_content.blade.php and uncommented li elements.
What I expected to happen
I expect it to be rendered as on basic demo coreui4 template. But its not.

What happened

What I've already tried to fix it
I disabled all of my custom CSS/JS assets. I have not changed/override any default theme structure.
Is it a bug in the latest version of Backpack?
Yes.
Backpack, Laravel, PHP, DB version
PHP VERSION:
8.3.7
PHP EXTENSIONS:
Core, date, libxml, openssl, pcre, sqlite3, zlib, bcmath, bz2, calendar, ctype, curl, dba, dom, hash, FFI, fileinfo, filter, ftp, gd, gettext, gmp, json, iconv, intl, SPL, ldap, mbstring, session, standard, odbc, pcntl, exif, mysqlnd, PDO, pdo_dblib, pdo_mysql, PDO_ODBC, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, random, readline, Reflection, mysqli, shmop, SimpleXML, soap, sockets, sodium, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, xml, xmlreader, xmlwriter, xsl, zip, Zend OPcache
LARAVEL VERSION:
<IP_ADDRESS>
BACKPACK PACKAGE VERSIONS:
backpack/basset: 1.3.5
backpack/crud: 6.7.30
backpack/generators: v4.0.5
backpack/logmanager: v5.0.2
backpack/permissionmanager: 7.2.1
backpack/pro: 2.1.7
backpack/revise-operation: 2.0.0
backpack/theme-coreuiv2: 1.2.5
backpack/theme-coreuiv4: 1.1.2
backpack/theme-tabler: 1.2.11

Hey @GregaUNK
I've escalated the issue to my colleague for the Fix. Thanks for reporting the issue.

Hey @GregaUNK , did you fix the issue? any workaround?

Hi @ahmadmobaraki ,
no, Iam @pxpm to fix that. In the meantime, I’m using the standard sidebar.


fix(compiler-core): allow capitalized resolve dynamic component

fix #3507
I see #3508 by @HcySunYang, but their fix allows for any capitalization, i.e 'CoMpOnEnT'.
This ensures either 'Component' or 'component', to keep it inline with other built-in components like Transition, KeepAlive, etc.

See the latest commit

Let's keep #3508 and add a code review there next time, it's easier to handle.
It's also not a good idea from a perf perspective to create an array everytime


[cleanup][proxy] Remove unused AuthenticationDataSource variable

Motivation
The AuthenticationDataSource variable was added to the ProxyConnection class in https://github.com/apache/pulsar/pull/1200. It is no longer needed.
Note that we store this variable in the ServerCnx because it is used for authorization. Because we do not do authorization in the proxy, we don't need it.
Modifications

Remove unused variable

Verifying this change
This is a trivial change.
Does this pull request potentially affect one of the following parts:
The only conceivable way this is a breaking change is if a third party implementation implemented their library so that authState.getAuthDataSource() has a side effect.
Documentation

[x] doc-not-needed

No docs needed.

Codecov Report

Merging #19278 (2ae7fdc) into master (334c3a5) will decrease coverage by 15.97%.
The diff coverage is 23.65%.

@@              Coverage Diff              @@
##             master   #19278       +/-   ##
=============================================
- Coverage     47.04%   31.07%   -15.97%
- Complexity     9190    12372     +3182
=============================================
  Files           607     1575      +968
  Lines         57677   123863    +66186
  Branches       6007    13486     +7479
=============================================
+ Hits          27132    38493    +11361
- Misses        27598    80761    +53163
- Partials       2947     4609     +1662

Flag
Coverage Δ

inttests
20.22% <6.63%> (?)

unittests
51.26% <21.46%> (+4.22%)
:arrow_up:

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


Floating artifacts with custom dataset

Hi, first of all, thank you for the implementation.
I have trained and rendered the model with some existing scenes from the 360 dataset such as bicycle, kitchen, room. The rendering is almost-perfect for each case. However, when it comes to custom datasets, I'm having a lot of ghostly artifacts.
Some of the outputs are available here.
Could you please take a look and provide any possible reasons or suggestions? Thank you!
I'm using the following commands for training and rendering:
python train.py \
    --gin_configs=configs/360.gin \
    --gin_bindings="Config.data_dir = '${DATA_DIR}'" \
    --gin_bindings="Config.exp_name = '${EXP_NAME}'" \
    --gin_bindings="Config.factor = 4" \
    --gin_bindings="Config.batch_size = 8192"

python render.py \
    --gin_configs=configs/360.gin \
    --gin_bindings="Config.data_dir = '${DATA_DIR}'" \
    --gin_bindings="Config.exp_name = '${EXP_NAME}'" \
    --gin_bindings="Config.render_path = True" \
    --gin_bindings="Config.render_path_frames = 480" \
    --gin_bindings="Config.render_video_fps = 120” \
    --gin_bindings="Config.factor = 4"

Maybe your dataset is taken in a varying light condition? Try using 360_glo.gin to train it again.

Hi! Thanks for implementation!
The same fog. and when the use using 360_glo.gin too.

@alex89607  was wondering, did you find a solution to the "fog"? I am geeing the same especially when the camera get's too close to the object


Pullrequests/tijszwinkels/stable horde support

@tijszwinkels Is there a place I can see news/status for Stable Horde? It's been down since last night as far as I can tell, and I'm a little worried about releasing this update.

@tijszwinkels I'd love to add negative prompt support and the ability to choose models (1.5 vs 2.0) to the Stable Horde backend whenever it becomes available in the API. If you see/hear that this happens, let me know!


Kafka 0.10

Upgrade Kafka to <IP_ADDRESS>. To support this, the following changes were made:

Instead of subclassing org.apache.kafka.connect.connector.Connector, subclass org.apache.kafka.connect.sink.SinkConnector`.
Parse configuration options using org.apache.kafka.common.config.ConfigDef and add a config method that returns this structure.
The ConfigDef option defines any default values and documents the options.

We no longer validate configuration directly, we instead rely on ConfigDef.parse, which will throw an exception if items are missing or invalid.
I also added validation of the local.buffer.dir to ensure that it exists and is a directory. Previously, if it turned out to be invalid, it would throw an exception the first time it tried to write a file in that directory.

Also, I just updated the readme to document the config option I mentioned in #16 and updated the Kafka version.

Cool looks good, thanks for the PR :)


[BUG] [Decision Tree] Small issues of splitting & feature generating functions

Describe the bug
There are several small todos in makeSplit, makeBestSplitsForFeatures, generateFeatures, findBestSplitByFeaturesWithParams
To Reproduce
Run & check behavior of makeSplit, makeBestSplitsForFeatures, generateFeatures, findBestSplitByFeaturesWithParams
Additional context
Test cases on the issues should probably be added #5

Explanation:
There are several functions that need to be tested more
They are called in the following sequence (I tried to display dependencies with indents)
-- `makeSplit`
--   `makeBestSplitsForFeatures`
--     `generateFeatures`
--     `findBestSplitByFeatureWithParams`


Correct AD branch reference for 2.x

Signed-off-by: Jackie Han<EMAIL_ADDRESS>Description
Correct AD branch reference for 2.x to avoid the breaking change on main branch
Issues Resolved
Getting integration tests running and passing
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.
[ ] 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.

Codecov Report

Merging #336 (1410ad6) into 2.x (64dd9b6) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##              2.x     #336   +/-   ##
=======================================
  Coverage   52.04%   52.04%
=======================================
  Files         147      147
  Lines        5015     5015
  Branches      965      965
=======================================
  Hits         2610     2610
  Misses       2148     2148
  Partials      257      257

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Date field with current date as default

Hey.
Is it possible to create a date field with the current date as the default value, but still able to change in the calendar?
Best regards,
João Gomes

Should be possible with a token.
Gesendet von meinem Windows 10 Phone
Von: eXistenZe
Gesendet: Donnerstag, 3. August 2017 18:12
An: SCullman/DNN.FormAndList
Cc: Subscribed
Betreff: [SCullman/DNN.FormAndList] Date field with current date as default(#3)
Hey.
Is it possible to create a date field with the current date as the default value, but still able to change in the calendar?
Best regards,
João Gomes
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Correct... DNN tokens work fine. Thanks a lot.


Upgrade dependencies and pre-commit hooks

NS-11 NS-31 NS-32 NS-33 NS-34.
NOTE: The required pipeline changes are in https://dev.azure.com/City-of-Helsinki/kuva-notification-service-api/_git/kuva-notification-service-api-pipelines/pullrequest/9859. If these are not applied, the static tests might fail.
Install the new pre-commit hooks with pre-commit install.

Replace Black, Flake8 and Isort with Ruff.
Update the pre-commit -hook to use Ruff for code formatting and Conventional-pre-commit and Gitlint to check the commit message.
Upgrade the dependencies.
Improve the .env.example file to contain all the necessary variables
Improve the docker-compose configuration to use DOCKER_TARGET variable to define the target (development/production).
IMPORTANT for SECURITY: Remove the CREATE_SUPERUSER environment variable
Removed the deprecated and unused file storage configurations.
Removed the deprecated USE_L10N setting.

Notification service branch is deployed to platta: https://kuva-notification-service-pr40.api.dev.hel.ninja :rocket::rocket::rocket:

NOTE: the static tests are now failing because https://dev.azure.com/City-of-Helsinki/kuva-notification-service-api/_git/kuva-notification-service-api-pipelines/pullrequest/9859 needs to be applied first.

Notification service branch is deployed to platta: https://kuva-notification-service-pr40.api.dev.hel.ninja :rocket::rocket::rocket:

Notification service branch is deployed to platta: https://kuva-notification-service-pr40.api.dev.hel.ninja :rocket::rocket::rocket:

Notification service branch is deployed to platta: https://kuva-notification-service-pr40.api.dev.hel.ninja :rocket::rocket::rocket:

Notification service branch is deployed to platta: https://kuva-notification-service-pr40.api.dev.hel.ninja :rocket::rocket::rocket:

Notification service branch is deployed to platta: https://kuva-notification-service-pr40.api.dev.hel.ninja :rocket::rocket::rocket:

Seems fine to me, but there are a couple of deprecation warnings and test file permission errors when run in the container, and IIRC, these aren't newly introduced:
../opt/app-root/lib64/python3.11/site-packages/django/conf/__init__.py:267
  /opt/app-root/lib64/python3.11/site-packages/django/conf/__init__.py:267: RemovedInDjango50Warning: The USE_L10N setting is deprecated. Starting with Django 5.0, localized formatting of data will always be enabled. For example Django will display numbers and dates using the format of the current locale.
    warnings.warn(USE_L10N_DEPRECATED_MSG, RemovedInDjango50Warning)

../opt/app-root/lib64/python3.11/site-packages/django/conf/__init__.py:278
  /opt/app-root/lib64/python3.11/site-packages/django/conf/__init__.py:278: RemovedInDjango51Warning: The DEFAULT_FILE_STORAGE setting is deprecated. Use STORAGES instead.
    warnings.warn(DEFAULT_FILE_STORAGE_DEPRECATED_MSG, RemovedInDjango51Warning)

../opt/app-root/lib64/python3.11/site-packages/_pytest/cacheprovider.py:451
  /opt/app-root/lib64/python3.11/site-packages/_pytest/cacheprovider.py:451: PytestCacheWarning: could not create cache path /app/.pytest_cache/v/cache/nodeids: [Errno 13] Permission denied: '/app/.pytest_cache'
    config.cache.set("cache/nodeids", sorted(self.cached_nodeids))

../opt/app-root/lib64/python3.11/site-packages/_pytest/stepwise.py:56
  /opt/app-root/lib64/python3.11/site-packages/_pytest/stepwise.py:56: PytestCacheWarning: could not create cache path /app/.pytest_cache/v/cache/stepwise: [Errno 13] Permission denied: '/app/.pytest_cache'
    session.config.cache.set(STEPWISE_CACHE_DIR, [])

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html

Seems fine to me, but there are a couple of deprecation warnings and test file permission errors when run in the container, and IIRC, these aren't newly introduced:
../opt/app-root/lib64/python3.11/site-packages/django/conf/__init__.py:267
  /opt/app-root/lib64/python3.11/site-packages/django/conf/__init__.py:267: RemovedInDjango50Warning: The USE_L10N setting is deprecated. Starting with Django 5.0, localized formatting of data will always be enabled. For example Django will display numbers and dates using the format of the current locale.
    warnings.warn(USE_L10N_DEPRECATED_MSG, RemovedInDjango50Warning)

../opt/app-root/lib64/python3.11/site-packages/django/conf/__init__.py:278
  /opt/app-root/lib64/python3.11/site-packages/django/conf/__init__.py:278: RemovedInDjango51Warning: The DEFAULT_FILE_STORAGE setting is deprecated. Use STORAGES instead.
    warnings.warn(DEFAULT_FILE_STORAGE_DEPRECATED_MSG, RemovedInDjango51Warning)

../opt/app-root/lib64/python3.11/site-packages/_pytest/cacheprovider.py:451
  /opt/app-root/lib64/python3.11/site-packages/_pytest/cacheprovider.py:451: PytestCacheWarning: could not create cache path /app/.pytest_cache/v/cache/nodeids: [Errno 13] Permission denied: '/app/.pytest_cache'
    config.cache.set("cache/nodeids", sorted(self.cached_nodeids))

../opt/app-root/lib64/python3.11/site-packages/_pytest/stepwise.py:56
  /opt/app-root/lib64/python3.11/site-packages/_pytest/stepwise.py:56: PytestCacheWarning: could not create cache path /app/.pytest_cache/v/cache/stepwise: [Errno 13] Permission denied: '/app/.pytest_cache'
    session.config.cache.set(STEPWISE_CACHE_DIR, [])

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html

Those deprecations should have been tackled with 2 commits in this PR already. So, I guess you just didn't have the freshest container image?
But, those permission issues I haven't fixed yet, so I could fix those in this PR still.

[ ] Fix the Ruff writing permission issue in dockerized env.

Seems fine to me, but there are a couple of deprecation warnings and test file permission errors when run in the container, and IIRC, these aren't newly introduced:

Okay, I think I now understand why this happened. I got the old content in my docker VOLUME also! So, the thing is that the volume that stores the files does not get refreshed during the build. Because of that, you migth have a brand new shining Django container, but the files inside it are still the old ones! 😞 After I removed my old volume (created 3 days ago), the deprecation messages are now gone.
The docker-compose is having these for the django data, which we usually haven't had:

services:
  django:
    volumes:
      - djangodata:/app

volumes:
  djangodata:
    driver: local

If you do not want to preserve data from previous runs, run docker compose down -v -f before bringing the containers up again.


visdiff: Try using ready-to-show event

https://github.com/electron/electron/blob/master/docs/api/browser-window.md#using-ready-to-show-event
:eyeglasses: @keybase/react-hackers

Closing since obsolete due to nojima's loading changes.


Fancy Console glyphs persistent across renders?

This is possibly me not understanding or doing something wrong.
I am using the fancy console.
In my code I have a condition that determines if a glyph is rendered.
if condition {
   draw_batch.set(offset_pos, render.color, render.glyph);
} else {
   println!("false");
}

The issue I have is that the glyph is being rendered even when the condition is false.
I added an else condition and println! and can see that output in my terminal, but the glyph will appear in the last location it was rendered.
Is this expected behaviour for the fancy console?
My current workaround has been to render an empty glyph at 0,0 - that is the only way I've been able to get the original glyph to disappear.

I believe it is expected that you call .cls () every loop. The sparse console, for example, continues adding to its list of tiles even if one already exists at the same location.

Thanks @jasonjmcghee ... I was calling ctx.cls() in my tick function.
I think I isolated the issue ... I was using set to draw rather than set_fancy. It works correctly with the .cls() call and set_fancy.
Will do some digging to see what the difference might be.

Turns out no, not fixed. Still happening with cls and set_fancy.

I have the same issue here. I am working still pretty closely to the code from the HandsOn book, but switched everything to using fancy consoles and set_fancy. I clear all consoles using cls() in the tick function. However, when switching TurnState all glyphs rendered in the previous TurnState persist on the screen.
I am trying myself at displaying a minimap, which looks cool, but I cant get rid of it once its activated :)

Make sure to set the active console to be the fancy console before clearing the screen.

like I mentioned, I am operating VERY close to the code from https://github.com/thebracket/HandsOnRust/blob/main/Loot/better_combat/src/main.rs
The core difference is that I switched all consoles to fancy. For the main part of the game this works a charm, there are no render artifacts and no flickering. All consoles are cleared just fine.
The problem only occurs when I switch the TurnState. For example on the Victory and Defeat screens also present in the example mentioned above, all content rendered in the previous TurnState remains on the screen in addition to the stuff rendered for the Victory/Defeat screens.
All consoles are switched to and cls()'d in the tick function just as in the example above.
I have tried various methods of clearing the consoles, e.g. adding more activating and clearing them from within the Victory and Defeat functions and alspo implementing a system to clear them. The former with NO effect, the latter with very unpredictable effects and lots of artifacts and flickering.
It seems to me that cclearing from the tick function should really just work :/

If you provide a gist or repo with your code, I can take a look and see if anything jumps out!

Thanks, man, appreciate it.
https://gitlab.com/sybr/crawler/-/tree/17-add-minimap-to-hud
If you want to reproduce the problem: At the player's starting location there is an item on the ground. Pick it up with 'G' and activate it with '1'. It'll display the minimap. By hitting '1' again you can go back to moving around, but the minimap won't disappear unfortunately.

That link is not publicly visible

Sorry, should work now. Messed up the permissions a bit.

Alright, I was able to fix it now. Purely by trial and error. I decided to not draw the minimap on its own console and instead used the same console that the player and NPCs are drawn on. It works well now.
I still have retention of in-game graphics on teh Victory/Defeat screens, which should not be the case, but its also not a problem, really.
Thanks anyway!

The link you provided never resolved for me- happy to take a look, but it will need to be posted somewhere publicly available, like a gist.

It did resolve after my post 7 hours ago, now it doesn't because the branch is merged. I fixed the link above now to go to the project main page.

Just tried it.
I added this in your player_input.rs as no maps spawn on the player anymore:
VirtualKeyCode::M => {
                commands.push(
                    (
                        WantsOpenMap,
                    )
                );
                Point::new(0, 0)
            },

and I couldn't reproduce the issue you are seeing.
Have you tried putting a breakpoint (or print statement) here: https://gitlab.com/sybr/crawler/-/blob/main/src/systems/display_minimap.rs#L27 to see if the map is being re-drawn?

Thanks for having a look. Like I said above though, the problem is fixed on 'main' now. The minimap behaves as intended. I removed the item spawn, as the intention is for the player to only get access to the map once they find a map item during play.
It's just the game graphics on the defeat/victory screens that I can't really explain. There should only be a black screen with text there.

I've encountered the same problem, here is a minimal reproducible example - https://github.com/artem-karpenko/bracket-reproduce-fancy-issue. The code also includes a few commented-out lines which provide some insight into fancy console's behaviour - rather tricky, I must say :|

Originally, not force-performing a CLS at the beginning of the frame was deliberate behavior. My thought process was that you might want to treat it like an old-school terminal, add/change as needed. With hindsight, I'm thinking that was a mistake. (There's a no_cls example showing the former intended behavior).
My thoughts now are: everyone clears and redraws anyway, GL and the graphical back-ends redraw anyway, and the console-based backends have dirty-updating built in. So auto-clearing should be the behavior.
I also need to double-check the fancy renderer, I think there's a bug with it not clearing if you then don't write something to it.
Sorry about the really slow replies. I just got my 2nd book off to layout (Rust Brain Teasers), and then a newborn arrived in the household (via foster/adopt, so we didn't have the usual several months of warning). I'll be doing my best to get caught up on issues as soon as I can - for now I get to steal some PC time in between feeding/changing!

Possibly a related bug, if I use set_fancy to draw my glyph is rendered at y-1. As if the y axis is starting at index 1 instead of 0.
Will try and create a minimal example as a reference.

With patchfx's help, the last commit should fix part of this: consoles do persist across renders unless you clear them (this was a deliberate design decision, since "real" consoles work that way - you can do additive rendering if you wish). cls wasn't working properly for fancy consoles - so that should be taken care of.
I'll look at the y position in a moment. I remember having some issues with exact glyph location when I created the code, so it may be off by one.


Update webtorrent to 0.19.0

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[x] The commit message includes the cask’s name and version.

The comment above the url stanza needs to be updated to reflect the new URL.


NotImplementedError: The validate_template action has not been implemented

moto 0.4.31
ERROR: test_create_on_update (tests.test_cf.TestStackActions)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/lauris/git/<...>/env/lib/python3.5/site-packages/moto/core/models.py", line 71, in wrapper
    result = func(*args, **kwargs)
  File "/home/lauris/git/<...>/tests/test_cf.py", line 69, in test_create_on_update
    self.config, update=True, create_on_update=True)
  File "/home/lauris/git/<...>/<...>/cf.py", line 197, in create_stack
    valid_template, err = validate_template(conn, tpl_body, tpl_url)
  File "/home/lauris/git/<...>/<...>/cf.py", line 248, in validate_template
    conn.validate_template(template_body=template_body, template_url=template_url)
  File "/home/lauris/git/<...>/env/lib/python3.5/site-packages/boto/cloudformation/connection.py", line 808, in validate_template
    verb="POST")
  File "/home/lauris/git/<...>/env/lib/python3.5/site-packages/boto/connection.py", line 1192, in get_object
    response = self.make_request(action, params, path, verb)
  File "/home/lauris/git/<...>/env/lib/python3.5/site-packages/boto/connection.py", line 1116, in make_request
    return self._mexe(http_request)
  File "/home/lauris/git/<...>/env/lib/python3.5/site-packages/boto/connection.py", line 944, in _mexe
    response = connection.getresponse()
  File "/usr/lib64/python3.5/http/client.py", line 1194, in getresponse
    response = self.response_class(self.sock, method=self._method)
  File "/home/lauris/git/<...>/env/lib/python3.5/site-packages/boto/connection.py", line 390, in __init__
    http_client.HTTPResponse.__init__(self, *args, **kwargs)
  File "/usr/lib64/python3.5/http/client.py", line 235, in __init__
    self.fp = sock.makefile("rb")
  File "/home/lauris/git/<...>/env/lib/python3.5/site-packages/httpretty/core.py", line 332, in makefile
    self._entry.fill_filekind(self.fd)
  File "/home/lauris/git/<...>/env/lib/python3.5/site-packages/httpretty/core.py", line 591, in fill_filekind
    status, headers, self.body = self.callable_body(self.request, self.info.full_url(), headers)
  File "/home/lauris/git/<...>/env/lib/python3.5/site-packages/moto/core/responses.py", line 107, in dispatch
    return cls()._dispatch(*args, **kwargs)
  File "/home/lauris/git/<...>/env/lib/python3.5/site-packages/moto/core/responses.py", line 167, in _dispatch
    return self.call_action()
  File "/home/lauris/git/<...>/env/lib/python3.5/site-packages/moto/core/responses.py", line 193, in call_action
    raise NotImplementedError("The {0} action has not been implemented".format(action))
NotImplementedError: The validate_template action has not been implemented```

Thanks for opening this. It will be easy enough to add a function that does a basic pass, but I'm imagining it will be tough to implement the real thing.
Will keep this open as a feature request. Thanks

Please let me know when you add a basic pass.

@alekna would you be interested in trying to implement this? Even if you only get a little way it's a great way to learn more about the (simple!) internals of Moto. I'd be happy to join you and help writing the tests and completing this feature.

Will do,

Was any progress made on this?

AFAIK, no.

@spulec super old thread. What are your thoughts for mocking this?
An easy pass would be "is it valid json/yaml, does it at least meet some of the basic requirements of cloudformation (must include one resource, etc)"
Setting out with a goal of "perfect offline cloudformation validation tool", while i'm sure the community would want it, would be pretty insane to implement + to keep up to date with how often cloudformation changes.

Works for me

Closing - this was implemented in #1921


Why is refresh_token method unavailable on FASTAPI/Starlette client? How to enable it?

Describe the bug
Unable to access refresh_token method from FAST API starlette client
    from authlib.integrations.starlette_client import OAuth

    oauth = OAuth()
    provider = oauth.register(
        "cognito",
        client_id=cognito_config.client_id,
        client_secret=cognito_config.client_secret,
        server_metadata_url=cognito_config.auth_urls.discovery_url,
        client_kwargs={"scope": "openid email"},
    )

    # method unrecognised
    provider.refresh_token('url', 'refresh_token', 'body', None, None)

Error Stacks
StarletteOAuth2App object has no attribute 'refresh_token'

To Reproduce
    from authlib.integrations.starlette_client import OAuth

    oauth = OAuth()
    provider = oauth.register(
        "cognito",
        client_id=cognito_config.client_id,
        client_secret=cognito_config.client_secret,
        server_metadata_url=cognito_config.auth_urls.discovery_url,
        client_kwargs={"scope": "openid email"},
    )

    provider.refresh_token('url', 'refresh_token', 'body', None, None)

From the documentation struggling to understand why the refresh_token method is unavailable on starlette/fastapi OAuth, yet it is offered on requests_client.OAuth2Session or httpx_client.AsyncOAuth2Client.
Confused with respect to what I should be using httpx_client.AsyncOAuth2Client / requests_client.OAuth2Session for. For example:

What is the difference between this and OAuth classes?
Why is refresh_token not available on OAuth? This means that I will have to initialise  httpx_client.AsyncOAuth2Client / requests_client.OAuth2Session just to use refresh_token functionality?

Expected behaviour
Should be able to access refresh_token method for FASTAPI/ Starlette client. How do I get the refresh_token method so that I can make the request to the cognito IDP?
Environment:

OS: macos Catalina 10.15.7 (19H2)
Python Version: 3.8.9
Authlib Version: 1.0.0a1

There is no refresh_token method in framework integrations. Which means Flask, Django, and Starlette have no refresh_token method. These framework integrations will refresh the token automatically if the token is expired.
To use refresh_token method manually, you can use httpx or requests client.

Thanks @lepture, is this referenced in the docs anywhere?