Browser-perf in a for loop returning a promise.

Hi there,
I keep on getting the following error:
[ {"message":"[log(\"performance\")] Error response status: 13, , UnknownError - An unknown server-side error occurred while processing the command. Selenium error: Java heap space","status":13,"cause":{"state":"unhandled error","sessionId":"e5efe3a0-400e-4a61-b087-ae6c47001b89","hCode":1021500105,"value":{"localizedMessage":"Java heap space","cause":null,"stackTrace":[{"fileName":"Arrays.java","nativeMethod":false,"methodName":"copyOf","className":"java.util.Arrays","hCode":158340480,"lineNumber"... ]

The issue here is that the browser-perf code as below:
browserPerf(url, function(error, data) {
                if (!error) {
                    var req = https.get(url, function(res) {
                        console.log(res.statusCode);
                        if(res.statusCode == 200) {
                            resolve(data);
                        } else {
                            console.log(error[0].status);
                            reject(error);
                        }
                    });
                    req.end();
                } else {
                    if(error) {
                        console.log("Please check the page: ", url);
                        console.log(error);
                        reject(error);
                        process.exit(1);
                    }
                }
            }, {
                selenium: 'http://localhost:4444/wd/hub',
                browsers: ['chrome']
            });

is in a for loop that is returning a promise, so if that error shows up the entire process halts and exits inspite of that page being totally fine.
Any idea how to prevent this?

I don't this this is an issue with browser-perf. Can you elaborate on the loop that you mention? This looks like an error caused when browser-perf is trying to get the Chrome timeline. Apparently the timeline is huge, and I have seen Java run out of heap space when trying to read the logs and send over the wire to browser-perf. Increasing the Java heap space, or running chromedriver directly has solve this issue for me in the past.

Let me try passing in the chrome driver directly and see if that resolves the issue.

 recordPerfMetrics: function() {

        var perfData, self = this;
        return readFile('urls.txt', 'UTF-8').then(function (urls) {
            var urls = urls.split("\n");
            urls.shift();

            return Promise.mapSeries(urls, function(url) {
                console.log(url);

                self.startTime = Date.now();
                return self.getStats(url).then(function(data) {
                    data = data[0];

                    perfData = {
                        'URL' : url,
                        'firstPaint' : firstPaint,
                        'loadTime' : loadTime,
                        'domInteractive' : domInteractive
                    };
                   console.log(perfData);
                }).catch(function(error) {
                    console.log("shit happened");
                    console.log(error);
                    throw error;    // keep the promise rejected
                });
            });
        });
    },

    getStats: function(url) {
        return new Promise(function(resolve, reject){
            browserPerf(url, function(error, data) {
                if (!error) {
                    resolve(data);
                  } else {
                    reject(error);
                }
            }, {
                selenium: 'http://localhost:4444/wd/hub',
                browsers: ['chrome']
            });
        });
    },

the above is the for loop, but for certain urls it keeps on running out of heap space. also i cannot run the chromedriver directly because this runs on a selenium gris. Any ideas?

Closing this issue. Pleaes re-open if this is still a problem.


SSL certificate problem: certificate has expired

Hi,
Thank you for the great package.
I am using the latest version of ReactomeContentService4R installed from Bioconductor. It was working as recently as 1-2 weeks ago. However, when I try to load it today, I receive the following error:
Connecting...Error: package or namespace load failed for ‘ReactomeContentService4R’:
.onAttach failed in attachNamespace() for 'ReactomeContentService4R', details:
call: curl::curl_fetch_memory(url, handle = handle)
error: SSL certificate problem: certificate has expired
My R and RStudio versions are up to date. I am on macOS. Session info below.
Any help greatly appreciated. Thank you.
R version 4.1.1 (2021-08-10)
Platform: x86_64-apple-darwin17.0 (64-bit)
Running under: macOS High Sierra 10.13.6
Matrix products: default
BLAS:   /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/4.1/Resources/lib/libRlapack.dylib
locale:
[1] en_IE.UTF-8/en_IE.UTF-8/en_IE.UTF-8/C/en_IE.UTF-8/en_IE.UTF-8
attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

I was able to fix this by specifying the following before loading the package:
options(base.address = "http://reactome.org/ContentService")

hi @billy-s-lab thanks for reporting this issue. I've just updated all dependencies and tried to load ReactomeContentService4R on my mac and it worked well. I guess it's a temporary issue from the reactome server side. Happy you solved the problem!


Docs: Phaser.Scene and PluginObjectItem missing plugin-related properties?

Version

Phaser Version: 3.15.1
Operating system: Mac OS

Description
While trying to work through the official plugin examples with TypeScript I'm running into what appears to be missing properties.
Specifically, it appears that Phaser.Scene has a plugins, and PluginObject and PluginObjectItem should perhaps have a mapping.
Example Test Code
RandomNamePlugin.ts:
export default class RandomNamePlugin extends Phaser.Plugins.ScenePlugin {
	private syllables1;
	private syllables2;
	private current;

	constructor(scene, pluginManager) {
		super(scene, pluginManager);

		this.syllables1 = [ "fro", "tir", "nag", "bli", "mon", "zip" ];
		this.syllables2 = [ "fay", "shi", "zag", "blarg", "rash", "izen" ];

		this.current = this.syllables1;
	}

	public changeSet() {
		this.current = this.syllables2;
	}

	public getNames(qty = 10) {
		const names = [];

		for (let i = 0; i < qty; i++) {
			let name = "";

			for (let j = 0; j < Phaser.Math.Between(2, 4); j++) {
				name = name.concat(Phaser.Utils.Array.GetRandom(this.current));
			}

			names.push(Phaser.Utils.String.UppercaseFirst(name));
		}

		return names;
	}
}

I'm now trying to add this to my game based upon scene plugin test1:
const gameConfig: GameConfig = {
	width: 800,
	height: 600,
	type: Phaser.AUTO,
	parent: "content",
	title: "Starter Project for Phaser 3 with Visual Studio Code, TypeScript, and NodeJS",
	plugins: {
		scene: [
			{ key: "randomNamePlugin", plugin: RandomNamePlugin, mapping: "randomPlugin" }
		]
	}
};

However, mapping is not valid for either PluginObject or PluginObjectItem, per the current defs. Changing a line to { key: "randomNamePlugin", plugin: RandomNamePlugin, mapping: "randomPlugin" } as any allows it to continue, with this code:
MainMenu.ts
export default class MainMenu extends Phaser.Scene {
	/**
	 * Unique name of the scene.
	 */
	public static Name: string = "MainMenu";

	public create(): void {
		try {
			console.log(this);
			const sceneOverride = this as any;

			const names = sceneOverride.randomPlugin.getNames(10);
			this.add.text(10, 10, names, { font: "16px Courier", fill: "#00ff00" });

			sceneOverride.randomPlugin.changeSet();

			const moreNames = sceneOverride.randomPlugin.getNames(10);
			this.add.text(200, 10, moreNames, { font: "16px Courier", fill: "#ffff00" });
		} catch (e) {
			console.log(e);
		}
	}
}

However, based upon the install global plugin at runtime example I should also be able to do something like let plugin1 = this.plugins.install("myPluginRef1", RandomNamePlugin, true); in the create of my scene (keeping in mind that I would need to change my plugin's constructor).
However, this in the code above (which is a MainMenu class that extends Phaser.Scene) doesn't have a plugins property (although console.log(this); shows that it does).
Am I missing something, or are these missing?
Additional Information
Thanks!

Sorry it took so long to respond to this (insert guilty face here!) but this has been done, probably a while ago now, I just forgot to close the issue :(


Tutorial and website fixes

Minor fixes to the Tutorials before 1.4.2 release:

Addresses issue #407 by removing Paths slicing examples.

Looks good to me. It will need a test data update but once that is done and the tests are passing, I am happy to merge.

Will keep this open until everything else has been merged. Can review a website build just before release and make any final fixes here.

Good plan.

I'm running a link checker right now but I've already found one broken link - the link to the scipy paper. I'll note any others it finds...

Here are the broken links the checker found:
http://nipy.bic.berkeley.edu:5000/download/27 # SciPy paper
http://goo.gl/NH9FTB  # Also the SciPy paper
http://assets.holoviews.org/Tutorials/notebooks-1.4.1.zip
http://ipython.org/notebook/  # No trailing slash

It also says Status: 400 BAD REQUEST for this link although it works for me:
https://anaconda.org/anaconda/holoviews

That is the full list of problems with our links.

Ah the notebooks link is meant to be:
http://assets.holoviews.org/notebooks-1.4.1.zip

I've been told this is ready to merge and the changes look good.


Fix restart loop issue with manual config changes detection.

Fixes #1042
Changes proposed:

[ ] Add
[ ] Prepare
[ ] Delete
[x] Fix

Things I've done:

[x] My pull request fixes an issue, I referenced the issue

The issue was caused because the manual config changes detection doesn't take into account the merged config settings. My original intention was to include that (after it was merged) but forgot to do so with all the fuzz going around.


History Update not working when buying 2 drinks.

When buying 2 drinks directly after each other without pressing Done, the history does not update.

Fixed by: https://github.com/spethso/Drinklist/commit/43e26d5148f53694afd8a3aa4ff3d46ebf10bbd7


Add readonly to TypeScript interfaces

A new option for making all properties readonly would be very useful in TypeScript

Option
Result

Resolved as of 23.0.158


Add pii analyzer

Add a recap/analyzers/tokern/pii.py analyzer that looks for PII in supported databases.
A separate Google DLP detector might be useful at some point, but it's a bit much right now since it requires GCP. The Tokern library is easier for me to implement at the moment.

This looks promising: https://github.com/tokern/piicatcher/blob/4e44275f33e1f969f3300e3899e199933c9fa5f6/piicatcher/api.py#L29


Spelling error in README and possibly in the CLI app

The word 'whether' has been spelled wrong as "weather" in the README. I haven't looked into the source code yet but it may be present there too. Small thing to fix

Thank you @arijit79 for the correction!


Add requireOpForTPSCommand in config

Just add option if the tps is for op only

Great, thanks.
I changed the default to false so it matches the current behaviour.
1.11.2: d2c2b4abd7b6d3ea67
1.10.2: b0be0ec2cbcbf6b


update node-server yaml

The env variable "VOLUME_ATTACHMENT_LIMIT" is used in "iks-vpc-block-node-driver" instead of "csi-node-registar" container

coverage: 83.117%. remained the same when pulling 1f259aa4a9b6d2d340ad0962ca970dd26b2c56a1 on prankulmahajan:fix-volumeAttachmentLimit-conf into 2ed8f36bda8e3c065502c6edfe03bdd7487afea9 on kubernetes-sigs:master.


[DEVX-1765] Add latest framework version in json schema

Proposed changes

Types of changes

[ ] Bugfix (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 not work as expected)
[x] Documentation Update (if none of the other choices apply)

Checklist

[ ] Lint and unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)
[ ] I have updated the json schema (if appropriate)

Further comments

@tianfeng92 this hasn't been deployed yet so should not have been merged.


Column not visible

When researching the difference between RequestArgKeys, RequestArgNames and RequestArgValues, the given examples did not make any sense... until I noticed that the last column "What gets excluded" - the most important part of the information - is not showing.
Using a (up-to-date) Chrome browser or Edge does not make a difference.
Please make this column visible!

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

ID: b4cf0428-ac89-d265-d2c2-0a0d932c99c9
Version Independent ID: 8200ffa3-22ec-39a8-6227-ed1cbe9043a4
Content: Web application firewall exclusion lists in Azure Application Gateway - Azure portal
Content Source: articles/web-application-firewall/ag/application-gateway-waf-configuration.md
Service: web-application-firewall
GitHub Login: @vhorne
Microsoft Alias: victorh

@gve007 Thanks for your feedback.
I am able to see the column just fine (after horizontally scrolling the table)

This worked in Chrome, Edge and even in Firefox.
Are you suggesting that the column did not show up even after horizontally scrolling?
or
Are you suggesting that we make the column visible without the user having to scroll horizontally? (by making the table small or making this the first column)

As there is no visible scroll bar it is not obvious that there is another column.
I only found out because I selected the whole table and copied it to Excel.
Making the column visible without the user having to scroll horizontally would solve the problem indeed.

@gve007
This appears to be something specific to the browser you are using:
Here's how is looks using  Edge:

and Chrome:

#please-close

FYI @vhorne  I can reproduce the original report today with edge, only after seeing this thread while looking for additional info I noticed that there is an expand button


Support $EDITOR

Open the editor specified by the user's environment variable $EDITOR rather than only allowing vim.

I am actively working on this and will have a new version released within the next 24 hours.
The intended implementation will open notes in whatever editor is specified by $EDITOR.  It will support vi/vim, emacs, neovim, and nano for using the open-on-line configuration, all other editors will open on the default (first) line.  Please feel free to comment here on any of this implementation.

@jroessel With this coming support for $EDITOR as described above, hopefully this will render textnote more useful on Windows.  Please feel free to leave any feedback!


Don't expose k8s scheduling details to end-users

Description
Hide k8s scheduling details from end-users by dropping the scheduling status field from the user-facing App resource.
Motivation
One of Acorn's primary goals is to "abstract Kubernetes". The existence of k8s-specific details in the status of an App is incongruent with this goal.
Requirements
The scheduling field:

Is not surfaced in the status of Apps
Is not present in the API schema of Apps (i.e. it's not surfaced in API discovery)
Is still surfaced in the status and schema of AppInstances and the features it drive continue to work

Tested with acorn version v0.10.1-rc1-18-g523ede04+523ede04
scheduling status field is not available in app  anymore . It continues to present in appinstance
% kubectl explain  --recursive appinstance | grep -i scheduling
      scheduling	<>
% kubectl explain  --recursive app | grep -i scheduling

Deploy apps.
When inspecting apps using acorn apps -o json , scheduling field is not present.
When viewing apps using  kubectl app  -o json , scheduling field is not present.
When viewing appInstances using  kubectl appinstance  -o json , scheduling field is present.
Deployed app's pod configuraition has affinity and resources set as expected.


Refactor renderRoutes to use matchRoutes

Hi again,
In relation to #6575 and as suggested in #5939, I would like to update renderRoutes to use matchRoutes instead of the Switch component.
This pull request contains an implementation of such an approach and also updates renderRoutes to render the whole tree (instead of only the first level), which removes the need for renderRoutes calls in child routes.
I have left the tests as it is for now, until it clear what the behavior of renderRoutes should be.

[ ] Tests
[ ] Documentation

I don't think this solves #5429. Later paths are still not being checked because matchRoutes will not match them.
For #5429, I have a problem with different layouts on multiple routes, so my route config looks something like this:
    {
        path: '/',
        component: MainAppLayout,
        routes: [
            {
                path: '/route-2',
                isExact: true,
                component: ComponentOne,
            },
        ],
    },
    {
        path: '/',
        component: FullScreenAppLayout,
        routes: [
            {
                path: '/route-2',
                isExact: true,
                component: ComponentTwo,
            },
        ],
    },

If you go to /route-2, matchRoutes will match first / and render MainAppLayout without going to the next /, so it will never check if next / is a match and check it's child routes to see if there's a match.
I think we need something like this in order for this to work:
const matchRoutes = (routes, pathname, branches = []) => {
    routes
        .filter(route => !!route.path)
        .forEach(route => {
            // Check if the route is a match
            const match = matchPath(pathname, route);

            // If it is, check if it has child routes
            if (match) {
                if (route.routes) {
                    // If it has child routes, recursion
                    matchRoutes(route.routes, pathname, branches);
                }

                // Add the matched route to the branches
                branches.push({route: route, match: match});
            }
        });

    return branches;
};

Now, it will check the first route, if it's a match (and it is because it's /), then it will check it's child routes. After checking child routes and not finding the match, it will add / into branches and go to the next route, which is also /.
Then, it will check it's child routes, it will find /route-2, add it to the branches and also add another / to the branches.
The code is not perfect, we have a problem with duplicate routes added to the branches, but that's easy to solve.
Also, the problem is that we don't know which route is more specific and I solved it by checking location.pathname first, trying to get an exact match (always), by sorting routes.
Something like:
const matchedRoutes = matchRoutes(routes, pathname);

if (!matchedRoutes.length) {
    return null;
}

// Sort array so the most specific (exact) route is first
matchedRoutes.sort((a, b) => {
    if (b.route.path === pathname) {
        return 1;
    }

    return -1;
});

I could add this logic, but I would like to get some feedback on this, I'm not sure I'm going in the right direction.
Thanks!

@burnmaniac  #6575 should solve the issue of of different layouts on multiple routes, by only matching the first exact route. If it is merged, this option can be easily carried over to renderRoutes(), now that is uses matchRoutes().

Yes, thank you for explanation. Got kinda confused with all these pull requests. :smile:
If this one is merged and #6575 is merged, then we need another one to add this option to renderRoutes.
Are there any drawbacks of this? We're not going to break something else in the router because of this? It will still work for use-cases we have right now?

If #6575 is not merged before this pull request, then we need to make another pull request to include this functionality. Otherwise, I will update it with the pull request to include it.
With regard to breaking changes, the behavior of renderRoutes is slightly changed as it doesn’t use Switch under the hood anymore and will render all levels of the matched route instead of needing to do this manually for each route. This is however also something we could put behind a flag.

Okay, ping me if I can help somehow.


Generated typings do not include metadata field

It would be very useful to be able to include things like _content_type_uid and _version, etc. in the generated typings, but this is not possible currently.

Hi @hellocontrol-bng  We have handled this now. Install the latest TSGEN v2.1.8 plugin to get the fix.


Add more information to osversion build numbers

This adds some additional comments to the build-numbers, to help correlate versions to specific Windows Server and Windows Client releases.

ping @jhowardmsft @stefanscherer PTAL - I kept being confused with the various version numbers, so thought that adding a bit of extra information could be useful

LGTM, but I'm a bit confused - what direction are you heading - I saw an HCSShim PR to make the build numbers available on Linux too. Is your intention to remove this anyway from the moby source and use vendored code?

Yes, I'd like to treat this package as the source of truth; it's already a dependency, and I thought it would be good to have a central point where it's maintained (if that makes sense 🤗)


Login with mobile and notification service.

User can signup and login with both email or phone number
New notification service for sending notification (email or sms)

call for review @janx @lgn21st @tomlion @hpyhacking


Break Forestry machine recipes

See: https://github.com/ForestryMC/ForestryMC/issues/1592

Please provide your client's configuration details (mod versions, AODC conversions config, etc).

Modlist.md
autooredictconv.cfg
conversions-cfg
mdecore-cfg

A cursory investigation prompts that AODC shouldn't be at fault. I don't touch any recipes or change any internal things related to items. I keep a list of what oredict names are assigned to what items and run a check for anything with that name in your inventory and switch them.
I'll keep this open for now, let me know what you find or if it indeed is AODC at fault.

I have disabled keypress triggered conversion, so AODC process items on-the-fly.
I think it break because it tries to do an oredictionary conversion/substitution from the ghost item slots into the Forestry Carpenter that are used by the Carpenter to record the recipe to process.
Here is how Forestry registers recipes with oredict Ingredients https://github.com/ForestryMC/ForestryMC/blob/mc-1.11/src/main/java/forestry/core/PluginCore.java#L304-L309
Then each oredict ingredient is used to build a collection of itemstacks allowed for input: https://github.com/ForestryMC/ForestryMC/blob/0b491f26fc068fb3ede6953717108c9221bd38e5/src/main/java/forestry/factory/recipes/jei/carpenter/CarpenterRecipeWrapper.java#L33-L54
For me, it looks quite straightforward, that, if AODC make substitution on the Carpenter recipe grid while Forestry builds its ingredients collections or if it modify it afterward it can cause such undesirable interaction.
I think what you could try to do is check for the slot type or find a mean to skip conversion on ghost item slots.

I only convert on the items in the player's inventory. If forestry's tile contents are being retrieved by the call for the player's inventory, that is not my fault I'm afraid.

I hope @mezz or someone from the Forestry Maintainers, can help here find how to to make AODC and Forestry compatible. https://github.com/ForestryMC/ForestryMC/issues/1592#issuecomment-279102808


Not able to save logs after launchpad.launch

I'm not able to save the logs after the termination of the launchpad in .py file.
Could you please suggest a solution?
and is there any better way to save the logs?
Code:
lp_return = lp.launch(program, launch_type=lp.LaunchType.LOCAL_MULTI_PROCESSING, terminal="current_terminal")
lp_return.wait()
print('-- acme saved')
shutil.make_archive('/content/logs', 'zip', '/root/acme')
log from terminal:
[counter/0] I0503 16:58:32.552900<PHONE_NUMBER>87520 savers.py:207] Caught SIGTERM: forcing a checkpoint save.
[counter/0] I0503 16:58:32.553121<PHONE_NUMBER>87520 savers.py:156] Saving checkpoint: /root/acme/2c71038a-cb02-11ec-9553-0242ac1c0002/checkpoints/counter
[reverb/cc/platform/default/server.cc:84] Shutting down replay server
Killing entire runtime.
Killed
/content/gdrive/MyDrive/code/

Killing entire runtime suggests that Program didn't terminate cleanly by itself and Launchpad had to kill it. That results in the code after lp_return.wait() to not be executed. I would suggest investigating why the program doesn't terminate by itself within a timeout


[Bug]: download url error for firewallappblocker

Prerequisites

[X] I have written a descriptive issue title.
[X] I have searched all issues/PRs to ensure it has not already been reported or fixed.
[X] I have verified that I am using the latest version of Scoop and corresponding bucket.

Package Name
firewallappblocker
Expected/Current Behaviour
Download link error leads to hash verification failure
Steps to Reproduce
➜ scoop install firewallappblocker
WARN  Scoop uses 'aria2c' for multi-connection downloads.
WARN  Should it cause issues, run 'scoop config aria2-enabled false' to disable it.
WARN  To disable this warning, run 'scoop config aria2-warning-enabled false'.
Installing 'firewallappblocker' (1.9) [64bit] from 'extras' bucket
Starting download with aria2 ...
Download: Download Results:
Download: gid   |stat|avg speed  |path/URI
Download: ======+====+===========+=======================================================
Download: 23cc22|OK  |    35KiB/s|D:/Personal/scoop/cache/firewallappblocker#1.9#13dfabc.zip
Download: Status Legend:
Download: (OK):download completed.
Checking hash of fab.zip ... ERROR Hash check failed!
App:         extras/firewallappblocker
URL:         https://www.sordum.org/files/firewall-app-blocker/fab.zip
First bytes: 3C 21 44 4F 43 54 59 50
Expected:    34d6f4486b70a21203361d9491c64b412368cf645c08c9a2586aef8dd91eecac
Actual:      2d934536e2c42a6107ad438fbebcd12707ce3f09366f8dd3939f066c8bb66dcc

Please try again or create a new issue by using the following link and paste your console output:
https://github.com/ScoopInstaller/Extras/issues/new?title=firewallappblocker%401.9%3a+hash+check+failed

Possible Solution
fix url with https://www.sordum.org/files/download/firewall-app-blocker/fab.zip
Scoop and Buckets Version
➜ scoop --version
Current Scoop version:
859d1db5 (HEAD -> master, tag: v0.5.2, origin/master, origin/HEAD) chore(release): Bump to version 0.5.2 (#6080)

'main' bucket:
c95c68397 (HEAD -> master, origin/master, origin/HEAD) uv: Update to version 0.4.29

'extras' bucket:
96d6888ad (HEAD -> master, origin/master, origin/HEAD<EMAIL_ADDRESS>Fix hash (Closes #14326)

'nerd-fonts' bucket:

Scoop Config
➜ scoop config

root_path         last_update        scoop_repo                              scoop_branch
---------         -----------        ----------                              ------------
D:\Personal\scoop 2024/10/31 8:53:38 https://github.com/ScoopInstaller/Scoop master

PowerShell Version
➜ $PSVersionTable

Name                           Value
----                           -----
PSVersion                      7.4.6
PSEdition                      Core
GitCommitId                    7.4.6
OS                             Microsoft Windows 10.0.26100
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Additional Softwares
No response

I'm working on this issue, soonly i will submit a pull request to fix it


Devnet Upgrade

Merging after comment from Dave Cote:

Hey Alex, Zach is telling for the devnet specfile change PR, we could merge it and address later the integration test failing,Can you please approve and merge it?
For context, it's blocking blockscout to re-index devnet


Scroll bar bouncing

material-react-table version
1.1.1
Describe the bug and the steps to reproduce it
I am not sure.
I have attached a sample. It seems there is some bug in scrolling the rows. See from my video, after scrolling a bit suddenly the scroll bar starts to bounce up and down.
It seems from the console log that this is caused by an infinite update loop.
I have tested on chrome and firefox on mac.
Your Minimal, Reproducible Example - Sandbox (Recommended) or code snippets
Code sandbox
https://codesandbox.io/p/github/ziggy6792/material-react-table-issue/draft/recursing-moser?file=%2FREADME.md
Github
https://github.com/ziggy6792/material-react-table-issue
Screenshots or Videos (Optional)
Dropbox screen recording of issue
(goto end to see issue)
https://www.dropbox.com/s/lp7dl6io2qync6o/material-react-table-issue.mov?dl=0
Do you intend to try to help solve this bug with your own PR?
No, because I don't have time to dig into it
Terms

[X] I understand that if my bug cannot be reliably reproduced in a debuggable environment, it will probably not be fixed and this issue may even be closed.

Thanks for reporting, but this looks to be a duplicate of #37 . It is caused by a bug in react-virtual. The solution is to either ensure all rows have the same height, or to disable row virtualization

Hi
Yes I thought it might be related.
Disabled virtualization for now.
Thanks

One issue I have now though.
When I set enableRowVirtualization={false} then the row headers no longer float at the top as I scroll.
Is there a way to make that happen when enableRowVirtualization is off

One issue I have now though.
When I set enableRowVirtualization={false} then the row headers no longer float at the top as I scroll. Is there a way to make that happen when enableRowVirtualization is off

That's what the enableStickyHeader prop is for. It just also gets enabled automatically during virtualization


Upgrade typed-rest-client

This fixes infinite loops when some network requests fail
See: #119, #122

Codecov Report

Merging #126 (30d2cde) into master (6c897d1) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #126   +/-   ##
=======================================
  Coverage   76.35%   76.35%
=======================================
  Files          23       23
  Lines         685      685
  Branches      111      111
=======================================
  Hits          523      523
  Misses        162      162

Continue to review full report at Codecov.

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


serverless: appsec: always tag http.route when available

What does this PR do?
Always tag http.route when data is available, instead of only tagging if an appsec event is detected
Motivation
This allows customer apps to appear on ASM catalog even if said apps are not receiving attacks
Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

/merge


Show InnerExceptions in AppCenter issue report

Describe the solution you'd like
In AppCenter issue report, only the top level exception (message and stacktrace) is shown.
I think showing InnerExceptions (message and stacktrace) as well is critical for debugging.
This information is available in the RAW tab, so why not showing it in the STACKTRACE tab as well?

Note that I actually get outer stack traces for Crashes, but not for Errors, using Windows Desktop App. This doesn't include outer exception messages.
The format of the error report is quite different for Crashes and Errors, and I'm wondering about the requirements causing this difference.

Could you please fix it instead of closing it ? Thank you.

I still wouldn't appreciate automatic closing of this issue.

I notice that with version 4.5.0.
If we have this outer exception
Newtonsoft.Json.JsonSerializationException: Error converting value {null} to type 'System.Guid'. Path 'timesheets[48].uid', line 1, position 1122505.

and this inner exception
System.ArgumentException: Could not cast or convert from {null} to System.Guid.

then app centre would show like this
Newtonsoft.Json.JsonSerializationException: Could not cast or convert from {null} to System.Guid.

Note how the exception type is the outer exception but the message is actually from the inner exception.
I think it should show like how it shown if you perform ToString() on the exception object rather than attempting to manipulate the exception into some shape or form.
So the above exception output would be
Newtonsoft.Json.JsonSerializationException: Error converting value {null} to type 'System.Guid'. Path 'timesheets[48].uid', line 1, position 1122505. ---> System.ArgumentException: Could not cast or convert from {null} to System.Guid.
.
.
.

I think I'm going to try crashlytics...

I still wouldn't appreciate automatic closing of this issue.

This isn't stale for our purposes.

This issue is still present and still relevant.

This issue is still present and still relevant.

This is still relevant.

This is still relevant.

This is a huge hole in the Microsoft game for actually using the product for what it's intended.. how much value is there in sending exceptions to app center if you cant see them?  I wouldnt want my bonus dependent on it - wait! my bonus IS dependent on me using this efficiently -- so please don't close this as stale when it dosent have a lot of activity because people have started to just accept that microsoft stuff prolly wont actually do what you need when the time comes unless you do all the research yourself in the reams of info on MS learn (great stuff by the way)  This is intended to be an encouragement to treat 'developers with needs' with the same empathy you expect deserve. PS - I hope this reaches a human, I am skeptical.


Network on laptop does not work (Windows 10 1909)

Problem description
Transparent network can be created, but the container does not get the IP I want to assign.
Also, with the default settings, the container does not get a generated IP and cannot be accessed.
On other stations both cases work well.
Problem location
I have uploaded the diagnostics with ID:
872172A6-2C37-4AF5-805E-2F13638A9F17/20200327063916
Project version(s) affected
Happened on 1903 and also 1909.
Suggestions for a fix
I do not see any possible fix.
I am not able to see any error in any console, the network just does not work.

Thanks for sharing the issue. If you need support, you can try the Docker Community Forums. If you believe this is a bug, please create an issue in the application repo. If there is an error in the documentation, please let us know.


Update Helix with the latest queries

This grammar has gotten quite a bit better and Helix can probably update. The change for this just means bumping the checkout version and updating the queries - the queries in queries-src/ should be what is needed.
It would be great to have some Helix people review those queries too. If they have any changes, please let me know so we can get them upstream.

I actually wanted to do this about a month ago, but then I noticed it was crashing, so I put the task on hold. I would like to update queries in the helix repository, but when the injection detection gets better. Does it detect "bash" now as it did in 5766e756ff5bfe9caddeb8c5fe369558f5dc5092..e4e24050c061faf7a767310b9dfc391d576d2df1 which were reverted?

Hey, thanks for the interest! It currently detects the recipe language via shebangs but does not have a fallback. This is partially because precedence is kind of in a confusing state now - nvim and zed use last-wins, TS just changed to also use last-wins, and helix is hopefully changing pretty soon  https://github.com/helix-editor/helix/issues/9436.
But it is easy enough to add, I will do that soon.

@woojiq I actually went ahead and got this started https://github.com/helix-editor/helix/pull/9850, figured that's probably easiest for the first time since I can make any changes needed here quicker.

My PR was superseded, the update is complete!


Don't remove header row from MNIST data

The MNIST data that we download and preprocess doesn't have a header row, so there's no need to remove one.  This also cleans up a little bit of code here and there.

Oops, there was a bug---I forgot to remove the labels from the test data, but I fixed that in 5667948.  All tests are passing now, so I'll go ahead and merge. :+1:


fields deserializers don't need to be passed the current instance in ruby

more details #1490
To reduce the amount of generated code we can remove the object parameter from the field deserializer as the deserializer should be able to capture "this". The abstractions, http and json serialization library will need to be updated too.
"isInline" => lambda {|o, n| o.is_inline = n.get_boolean_value() }

becomes
"isInline" => lambda {|n| @is_inline = n.get_boolean_value() }

Also the usage of the lamdba located here needs to be updated to remove the first parameter.
https://github.com/microsoft/kiota/blob/889476c163658ecf72eb99c8151abbaae4bc9570/serialization/ruby/json/microsoft_kiota_serialization/lib/microsoft_kiota_serialization/json_parse_node.rb#L101


odb: defIn add parsing and writing of COMPONENTMASKSHIFT

Would you add some dummy example to data/gscl45nm.lef for the read_lef test?

@maliberty test added.


Create RELEASING.md

Hi @cben could you please take another look.
I'd like to release soon, it makes sense to me to merge this only after actually releasing.

@moolitayer I think you had uncommitted edits to this, can you push them?

@moolitayer ping
I want to do yet another release (to fix damage from my last one :-\ #338), can you push latest procedure?


firebase_core Unable to build with firebase_core: 0.4.4+2

Describe the bug
This bug is representing the comment I made here on the closed issue. https://github.com/flutter/flutter/issues/35670#issuecomment-592769263
Even trying  @sensuikan1973's suggestion in the linked issue didn't work.
• flutter clean
• Clean Build Folder from Xcode
• delete Podfile.lock

But, this didn't work.

So, I deintegrate pod.

cd ios
pod deintegrate
pod install

To Reproduce
Steps to reproduce the behavior:
Attempting to build and run an iOS app with firebase_core: ^0.4.4+2 lead to
Launching lib/main.dart on iPhone 11 Pro Max in debug mode...
Xcode build done.                                            5.6s
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **
Xcode's output:
↳
    /Users/tsustare/development/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_core-0.4.4+2/darwin/Classes/FLTFirebaseCorePlugin.m:6:9: fatal error: 'UserAgent.h' file not found
    #import "UserAgent.h"
            ^~~~~~~~~~~~~
    1 error generated.
    note: Using new build system
    note: Planning build
    note: Constructing build description
Could not build the application for the simulator.

Expected behavior
Starting the app using firebase_core: ^0.4.4+2 the same way it does when I use firebase_core: 0.4.3+3
Additional context
the rest of my firebase packages in  pubspec.yaml
dependencies:
  flutter:
    sdk: flutter
  provider: ^4.0.4

  firebase_core: 0.4.3+3
  firebase_auth: ^0.15.4
  cloud_firestore: ^0.13.2+1
  firebase_analytics: ^5.0.11

Same problem :(

I downgraded the version as mentioned above, and it caused conflict with firestore cloud storage version. Than i downgraded that too at cloud_firestore: 0.13.2 and i was able to install the app

Having the same problem.
For anyone like me who kept the ^ in the version, remove it otherwise it will keep using newer versions.

• flutter clean
• Clean Build Folder from Xcode
• delete Podfile.lock
But, this didn't work.
So, I deintegrate pod.
cd ios
pod deintegrate
pod install

I downgraded the version as mentioned above, and it caused conflict with firestore cloud storage version. Than i downgraded that too at cloud_firestore: 0.13.2 and i was able to install the app

I can confirm that this fixed it for me. Downgrading to cloud_firestore: 0.13.2 and firebase_core: 0.4.3+3 works.

What i did that work for me was removing  ^ sign in the package version and  flutter clean.
firebase_auth: 0.15.4
cloud_firestore: 0.13.4
firebase_core: 0.4.4
hopefully that works for you guys..

What i did that work for me was removing ^ sign in the package version and flutter clean.
firebase_auth: 0.15.4
cloud_firestore: 0.13.4
firebase_core: 0.4.4
hopefully that works for you guys..

It worked for me too!

YEAHHH You saved me a lot! Thanks

What i did that work for me was removing ^ sign in the package version and flutter clean.
firebase_auth: 0.15.4
cloud_firestore: 0.13.4
firebase_core: 0.4.4
hopefully that works for you guys..

What i did that work for me was removing ^ sign in the package version and flutter clean.
firebase_auth: 0.15.4
cloud_firestore: 0.13.4
firebase_core: 0.4.4
hopefully that works for you guys..

this works for me too!!! thanks a lot 😍

What i did that work for me was removing ^ sign in the package version and flutter clean.
firebase_auth: 0.15.4
cloud_firestore: 0.13.4
firebase_core: 0.4.4
hopefully that works for you guys..

It works!!! Thanks!

@everyone - can anyone please add a comprehensive list of package versions that would work with the reduced versions of firebase_core please? I have run through the releases list, and used the versions listed there that are prior to the latest firebase_core release... however this does not appear to do the trick. I feel like there are a few un tagged versions that are just not in the list. Thanks in advance for putting this together!

What i did that work for me was removing ^ sign in the package version and flutter clean.
firebase_auth: 0.15.4
cloud_firestore: 0.13.4
firebase_core: 0.4.4
hopefully that works for you guys..

This works for me!  Thank you!

I had similar problems.
firebase_core: ^0.4.4+2
firebase_auth: ^0.15.5+2
cloud_firestore: ^0.13.4
firebase_storage: ^3.1.3
firebase_analytics: ^5.0.11
Did not build. Tons of errors.
Previous settings works just fine:
firebase_core: ^0.4.0+9
firebase_auth: ^0.14.0+5
cloud_firestore: ^0.12.9+4
firebase_storage: ^3.0.6
firebase_analytics: ^5.0.2
I then removed:
implementation 'com.google.firebase:firebase-core:16.0.4'  from my build.gradle
It has been in my build.gradle for long time without any harm.
Why I have put it there I do not know.
And I took the lates firebase plugins again, with ^ sign:
firebase_core: ^0.4.4+2
firebase_auth: ^0.15.5+2
cloud_firestore: ^0.13.4
firebase_storage: ^3.1.3
firebase_analytics: ^5.0.11
And now it builds perfect. Both Android and iOS for debug and release.
Summary:
I love Flutter. It has really changed development processes dramatically.
I hate Flutter when I need to update 30+ dependencies in my YAML.
I love 😍Flutter😍 even more again when everything words some hours later and I can continue coding.

To reproduce the build failure, just create a new Flutter project, and add Cloud Firestore as a dependency, then try running the project.

(also add the Google services info plist)

It appears that PR #2099 should resolve this.  I'm eagerly waiting for that to be released as this is impacting many modules.

What i did that work for me was removing ^ sign in the package version and flutter clean.
firebase_auth: 0.15.4
cloud_firestore: 0.13.4
firebase_core: 0.4.4
hopefully that works for you guys..

Downgrading firebase_core to 0.4.4 worked for me. Thanks a lot.

https://github.com/FirebaseExtended/flutterfire/issues/2084

Same problem :(
firebase_core: 0.4.4+2
firebase_analytics: 5.0.11
firebase_messaging: 6.0.12

same problem

Fixed by https://github.com/FirebaseExtended/flutterfire/pull/2169.

dependencies:
firebase_core: 0.4.4
firebase_remote_config: ^0.3.0+3
firebase_auth: 0.15.0    ---> remove ^
dependency_overrides:
firebase_core: 0.4.4
Works for me. thanks a lot (y)

should now be fixed with firebase_core 0.4.4+3: Fix for missing UserAgent.h compilation failures.
Some of the other packages got this update as well.

should now be fixed with firebase_core 0.4.4+3: Fix for missing UserAgent.h compilation failures.
Some of the other packages got this update as well.

Did not work with firebase_core 0.4.4+3. It never copied over the firebase_core-0.4.4 folder in the Dart Packages folder.

should now be fixed with firebase_core 0.4.4+3: Fix for missing UserAgent.h compilation failures.
Some of the other packages got this update as well.

Did not work with firebase_core 0.4.4+3. It never copied over the firebase_core-0.4.4 folder in the Dart Packages folder.

Verify if the pubspec.yaml file is correct. Try to execute flutter pub cache repair.
In my latest iOS build, I needed to clear Xcode cache.
rm -rf ~/Library/Developer/Xcode/DerivedData
In iOS folder, delete Podfile.lock file and  Pods folder, than execute pod upgrade.

I e

should now be fixed with firebase_core 0.4.4+3: Fix for missing UserAgent.h compilation failures.
Some of the other packages got this update as well.

Did not work with firebase_core 0.4.4+3. It never copied over the firebase_core-0.4.4 folder in the Dart Packages folder.

Verify if the pubspec.yaml file is correct. Try to execute flutter pub cache repair.
In my latest iOS build, I needed to clear Xcode cache.
rm -rf ~/Library/Developer/Xcode/DerivedData
In iOS folder, delete Podfile.lock file and Pods folder, than execute pod upgrade.

I ended up going back to 0.4.4 and it creates the folder.


Adds padding already when more than 1 button

Padding is a bit off if you have two buttons (one regular and one cancel). This fixes that issue.

I'm closing this since I reckon it will not be merged 🤣


trying to open localhost:4200 and get "the entered value is not recognized as a valid URL" any idea how to solve?

trying to open localhost:4200 and get "the entered value is not recognized as a valid URL" any idea how to solve?

Duplicate of #55


call_deferred doesn't seem to work on Resource

Tested versions
v4.4.dev.gh [08f9cba0f]
System information
Godot v4.4.dev (08f9cba0f) - Windows 10.0.22631 - Multi-window, 2 monitors - OpenGL 3 (Compatibility) - AMD Radeon RX 7800 XT (Advanced Micro Devices, Inc.; 32.0.12019.1028) - AMD Ryzen 9 5900X 12-Core Processor (12 threads)
Issue description
Anything that is to be called with call_deferred on a Resource isn't called.
Interestingly if one changes the Resource to extend from Object the call works for resource_b, which is confusing because a Resource is an Object. With resource_a (ResourceLoader.load) call_deferred never works.
Steps to reproduce
In MRP it should print TestResource::_post_init but it doesn't.
Minimal reproduction project (MRP)
call_deferred_init.zip

I don't see how call_deferred would work on resources, resources don't _process or _physics_process.

I don't see how call_deferred would work on resources, resources don't _process or _physics_process.
Only class extending Node class _process or _physics_process.

I wondered that too but as I wrote it works for Object, even not being inside the Scene Tree so _process / _physics_process wouldn't get called anyway.

Can you let me know what type the object is which you're calling call_deferred from?

Can you let me know what type the object is which you're calling call_deferred from?
Object is a base class so it does nothing.

like in resource.gd in the MRP.
updated to this with self.reference() the  call_deferred works.
extends Resource
class_name TestResource

@export var name : String = "DefaultName"

func _init() -> void:
	print("TestResource::_init")
	self.reference()
	_post_init.call_deferred()
	print("TestResource::_init end")

func _post_init() -> void:
	print("TestResource::_post_init")

extends Resource
class_name TestResource

@export var name : String = "DefaultName"

func _init() -> void:
	print("TestResource::_init")
	self.reference()
	_post_init.call_deferred()
	print("TestResource::_init end")

func _post_init() -> void:
	print("TestResource::_post_init")

The resource isn't being used anywhere so it is never loaded. Trying loading it or using it in an @export.
const NEW_RESOURCE = preload("res://new_resource.tres")

My thought was the call deferred uses the message queue system. I don't know that much about it but your reasoning makes sense it should work.

Resources are reference counted. If nothing is referencing them, they are freed automatically. Message Queue does not keep reference to RefCounted objects, so if they get dereferenced, the deferred call will be silently dropped.

Resources are reference counted. If nothing is referencing them, they are freed automatically. Message Queue does not keep reference to RefCounted objects, so if they get dereferenced, the deferred call will be silently dropped.

This! Just tested it with updating the MRP and it works fine with your corrections.
Thank you both for your help! :)


Paystack & Flutterwave payment gateway

Hello, Paystack and flutterwave are one of the biggest payment gateways we use in Nigeria and Africa at large. As a developer, I have had to integrate both payment gateways in some of my applications.. Haven stumbled upon J2PAY library, I find it useful for payment gateway integrations in my applications... Considering that these are the most widely used in my country and continent by business, I would appreciate if they are listed in the J2PAY library..
Please see links to their official pages...
www.paystack.com
www.flutterwave.com
Thank you

Hey thanks for reaching out i will add these to our list so we can integrate in next version.RegardsIlyasOn Oct 23, 2020 1:48 AM, Tega Isiboge<EMAIL_ADDRESS>wrote:
Hello, Paystack and flutterwave are one of the biggest payment gateways we use in Nigeria and Africa at large. As a developer, I have had to integrate both payment gateways in some of my applications.. Haven stumbled upon J2PAY library, I find it useful for payment gateway integrations in my applications... Considering that these are the most widely used in my country and continent by business, I would appreciate if they are listed in the J2PAY library..
Please see links to their official pages...
www.paystack.com
www.flutterwave.com
Thank you
—You are receiving this because you are subscribed to this thread.Reply to this email directly, view it on GitHub, or unsubscribe.


[NLU-4070] Part-I Unskip passing tests for numbers

Unskip passing tests for numbers - all languages
Pipeline run: https://jenkins.ininica.com/job/NLU/job/Recognizers-Text/407/

312 more tests passing for numbers


Add jackknife estimation of RSD multipoles

As requested by @sssaito to support work on ongoing project with @duncandc - we will need jackknife error estimates on the tpcf multipole calculations, which are currently only supported for tpcf in 3d.
I think that the current weighted-pair-counting scheme used in tpcf should carry over directly, but @duncandc should weigh in about this if there are subtleties that I'm not thinking of

Yeah, we can use the same set-up in the tpcf_jackknife function.  This has long been on my list for both tpcf_s_mu_jackknife and tpcf_rp_pi_jacknife.  We should consider if it makes sense to combine these somehow with their non-jackknife cousins.
I have been thinking about how we might pre-compute some results for large numbers of randoms to speed up these jackknife calculations.

Yeah, #234 is also long-standing. Probably all these different variations would best done in a sprint, since they're all so similar.
Re: combining things. That'd be fine, like with a keyword to the primary function(s) for whether or not to return jackknife covariances. But all the guts could remain the same. The keyword could just redirect control flow to existing functions.
Re pre-compute. For gg-lensing chains I have been working on, I have been using the API of delta_sigma_from_precomputed_pairs finding it to be pretty convenient, in case you do tackle this and a specific example would be helpful, either for halotools or otherwise.


Commands should be available to the console after install

Brief description of your issue
I've installed the GitHub CLI and then attempt to run it but it fails each time.

Steps to reproduce
winget install github.cli
gh
Expected behavior
gh brings up GitHub CLI info.
Actual behavior
An error is produced
Environment

Any other software? No

For some reason, it looks like gh isn't available directly in the PATH. It worked for me when I opened a new powershell window.

This is likely do to the session needing reloaded.  Basically, it added it, but your current PS session doesn't know about it yet. This is normal.
That being said, it would be nice if winget automatically refreshed the path. Maybe a flag could be added to the manifest file to trigger this.
Another option would be to provided a command like winget session refresh. This is what Chocolatey does (Update-SessionEnvironment or refreshenv)

@dhrrgn I think that you're correct because when I opened a new PS Core shell today, it worked as expected. I was confused yesterday because I opened a new tab in Windows Terminal after installation and received the same error message. When I opened a new and independent PS Core shell, it worked as expected today.
Regarding what you said about *nix above, if I use dnf or apt to install an application, the application is available for immediate use and doesn't require a new window. Are they doing something akin to what you suggest above?

@dhrrgn is correct, we don't currently reload the session.  I'm going to change the title to indicate the feature request.

I ran into a similar problem when trying to install python: winget install python
After the Python installation wizard launched and finished, the tool reported: Successfully installed. But python was not automatically added to my path (reloading the session didn't help here, running $ python in the terminal takes me to the "Get Python" page in the Windows Store), though the python.exe was installed to the following location:
C:\Users\<username>\AppData\Local\Programs\Python\Python38
Am I missing a switch when running the install command above?

Regarding what you said about *nix above, if I use dnf or apt to install an application, the application is available for immediate use and doesn't require a new window. Are they doing something akin to what you suggest above?

I'd imagine that's because they are adding symlinks to a location already on the PATH, such as /usr/local/bin, so there is no need to update the PATH.

Actually, I have installed vim, meld and a few other applications and rebooted my computer but still the commands are not available.

Related https://github.com/microsoft/winget-cli/issues/361

After the Python installation wizard launched and finished, the tool reported: Successfully installed. But python was not automatically added to my path (reloading the session didn't help here, running $ python in the terminal takes me to the "Get Python" page in the Microsoft Store), though the python.exe was installed to the following location:

This is now a year later and it looks like winget install <python> is still broken, in that it does not actually give python or pipx as command-line executables - nor is there any prompt or guidance that a specific path (nevermind which one?) should be added to PATH in order to "complete" the installation.
Am I missing a workaround? Do I need to open a ticket to the maintainers/repo of the Python package?

I have the same problem with GnuWin32.make. Successfully installation but it will not add make to the path automatically. It is seen in the list so it was installed. Is this now a thing, that needs to be changed in winget or in make itself to make this happen?

@chris2011 - While I can't give a definitive answer on this (I'm not a contributor or maintainer), I do think signs point to this being the responsibility of the package itself. So I think the action would be to go to the package maintainer and see about updating the install script for this package.

@aaronsteers ok, thx for your opinion :).

So I think the action would be to go to the package maintainer and see about updating the install script for this package.

Anyone know if there's an easy way to do this in a WiX installer?

This package may help:
winget install WingetPathUpdater
winget install github.cli
gh # <-- works!

It works by adding winget.cmd and winget.ps1 wrapper scripts, which handle updating the PATH for you.
See also: https://github.com/jazzdelightsme/WingetPathUpdater


forest figure causes a Dimension too large error (minimalism.tex)

! Dimension too large.
 \pgf@x
l.1099 }
\begin{forest}
for tree={nice empty nodes,% every conditional anchor=north adapts the
specific node to this setting.
                            if n children={3}{for children={
                                anchor=north,
                                if n=1{inner sep=0pt,child anchor=north
east,edge=-{Triangle[]}}{
                                if n=3{inner sep=0pt,child anchor=north
west,edge=-{Triangle[]}}{}}}
                            }{
                                if n children={2}{for children={
                                anchor=north,
                                if n=1{child anchor=north
east,edge=-{Triangle[]}}{
                                if n=2{child anchor=north
west,edge=-{Triangle[]}}{}}}
                                }{}
                            },
                            },
                    delay={where content={...}{for parent={for
children={anchor=north}}}{}},

transfer/.style={yshift=5mm,tikz={\node[gray,right=3cm of .east]
(stefanstransfer) {Transfer};\path[{Latex[]}-,gray] (.east) edge[]
(stefanstransfer);}},
                    lexicon/.style={tikz={\node[left=1.5cm of .base
west,anchor=base] (stefanslexicon) {\strut lexicon};\path[-{Latex[]}]
(stefanslexicon) edge (.west);}}
[numeration,lexicon[,transfer
    [PHON][,transfer
        [PHON][,transfer
            [PHON,baseline][,transfer
                [PHON][...[,transfer
                        [PHON][SEM]
                        ]
                    ][SEM]]
            [SEM]]
        [SEM]]
    [SEM]]
]
\end{forest}

I could not reproduce the error, but I guess it was due to nice empty nodes, a style which is not so nice sometimes. I have manually used calign=fixed edge angles on the "transfer" nodes, this might help.
And then I play with the tree a bit ;-)  First, to showcase dynamic node creation. Second, to put the two subfigures side-by-side without shrinking them. Third, to make the vertical segments of the tree of equal sizes. I hope that's all ok ...
Commit 6b0c0b3d035ed3f095527760cd36b0af0299a7d3

Thanks this works now, but a part from "lexicon -> numeration" is gone.

Could you please merge your commits to the main trunk? Otherwise I miss them sometimes.

Yes, overlays are not externalized correctly. I'll redo the tree in another way.
Sure, I just thought you might want to be the master of master ;-)


[Proposal] Environment API changes

Hey, first off, I love this project and the general idea of defining environments in JAX so that they can be easily batched and integrated into RL training loops!
I tend to do a lot of work with POMDPs and have built a few branches in my own fork that implement various POMDP environments. It works fine for my purposes, but I've run into a couple instances where I just ignore the base Environment API
Specifically:

In typical POMDP formulations, the observation o is a function of state AND action (i.e., o ~ O(s,a)), but currently get_obs() only uses state
Similarly, there are many instances where we need the state AND/OR action to determine if the episode is done (e.g., in the Tiger problem, it ends when you open a door, but the state is just which door the tiger is behind). is_terminal() and discount() only use state
Finally, in the same way that your FourRooms example has noisy actions, there are many environments where a noisy observation is core to the environment, requiring get_obs to also have an RNG key

Obviously I'm just overriding the methods with the extra arguments as needed for my own environments, but some of this might be common enough to justify a different base API?

Hi @DavidSlayback! Thank you so much for raising this, the suggestions and the kind words. And please excuse the late response. These are all good and valid points. What POMDP environments have you been working with? I am generally open to adapting the API and adding more (somewhat classic) environments to gymnax. It is a bit of fine line, since I also want to circumvent blowing up the package too much and each new env will require some testing against a numpy version. With regards to your three points:

Yes, that sounds reasonable. It would require a small modification to each environment (e.g. adding an optional action input to get_obs and terminal. Alternatively, one could absorb the action into the state, but I think treating it as a separate input is cleaner.
See 1.
Sounds good to me as well. I am also planning on adding more general wrappers for sticky actions and termination handling at some point.

My hands are currently tied up with my internship, but feel free to open a PR! I would be happy to merge it in if all the unit tests pass. Also feel free to open PRs for your environments. I would love to see what you have been brewing up.

Most of my POMDPs are the classic ones from POMDP literature as seen here. Things like Tiger, HeavenHell, RockSample, Hallway. I also have a few of my own like a multistory fourrooms variant (with various observation functions), partially-observable Taxi, some modifications of continuous control domains, etc...I'm specifically interested in ones that require extremely long-term memory and reasoning.
I'll definitely look at doing some PRs for some of the more "classic" ones then! I think an option for different observation functions for already-implemented environments provided on environment creation (like you already have in your FourRooms domain) could be a good way to expand some of these without expanding the repository too much

pgx and OpenSpiel put the observation, action mask, reward, discount, current player (for sequential games), etc. in the state. That corresponds to o = env.step(s, a, key).observation.


Add commands suggestions via set_my_commands api method

It's more convenient to have autosuggestion and menu button in bot UI:

@gordinmitya
Wow! Didn't know about this feature...
Can you please also delete section Configure command hints (optional, but fancy) from README.md to keep everything in one PR?

@EasonC13
It can be interesting for you

We can not change the comment hints. To set these shortcuts or preview prompts of the command, the bot owner should set it at BotFather.
Nevertheless, we may set it by ReplyKeyboardMarkup like the following image, so users can click these buttons to perform commands.

@gordinmitya  Is this what you want?

Nice job, thank you @gordinmitya ❤
LET'S MERGE IT


Specify sort axis for KDTree

I am trying to utilize a KD-Tree for surface queries for LiDAR scans. My problem is such:
"Find all points with radius R at location (X,Y) within a 3D Tree"
What would be helpful is to be able to specify the axes to build the KD tree with while maintaining 3D data within the tree. This would be helpful for spatial data as well where data along axes may not be spatially relevant.
I can simply build the tree with 2d data and use the indices to access the data form the original source, but this is not particularly memory efficient.
Context: I want to query all points on a glacier's surface within a given radius of a point in (X,Y), and get all points along the Z axis.

If I can give an advice, then the easiest solution is usually the better.  The only solution is to use a computer with more RAM. Whatever you do, using bigger hardware will be a lot cheaper than the time you will spend rewriting cKDTree, if you consider your salary. Furthermore, considering that you are already working at the limit of what you computer can do, or else this would not even be a problem, then you will in any case need a larger one.
As for your suggestion, it would result in strided memory access to the data points, using an array of irregular strides. Not only would it complicate the C++ code, it would also result in a major performance regression.
So no, this is the kind of problem where the solution is to use a sufficently large computer.

I can simply build the tree with 2d data and use the indices to access the data form the original source, but this is not particularly memory efficient.

This is what you should do.
If it is not memory effcient, the scale of the dataset is too large for your hardware. Either you have to reduce the scale of the data or throw more hardware at the problem.


Blazor - OnRenderAsync being fired twice with PreRendering enabled

When i have PreRendering enabled on my blazor app, i am getting 2 calls to OnAfterRenderAsync for my page.
I am trying to call some JS interop in this event to initialise a javascript plugin, but its getting called twice causing some issues.
I have tried creating a bool flag and doing a if(alreadyPreRendered) around my JsInterop call but the bool is always reset on the second time around.
Disabling PreRendering fixes the issue (it still calls the event twice, but my bool flag now works).
 private bool _hasRenderedAlready;

        protected override async Task OnAfterRenderAsync()
        {
            // TEMPORARY: Currently we need this guard to avoid making the interop
            // call during prerendering. Soon this will be unnecessary because we
            // will change OnAfterRenderAsync so that it won't run during the
            // prerendering phase.
            if (!ComponentContext.IsConnected || _hasRenderedAlready)
            {
                return;
            }

            // init our flowjs on the client
            await _jsRuntime.InvokeAsync<dynamic>("FlowJsUpload_Init", new Dictionary<string, string>(), "/upload/file");

            _hasRenderedAlready = true;

            await base.OnAfterRenderAsync();
        }

Using this version of ASP.NET Core 3.0 preview (version 6)

Thank you for filing this issue. In order for us to investigate this issue, please provide a minimalistic repro project that illustrates the problem.

@phinett do you have a minimal repro project we can use to further investigate this?

I'm not the author of this issue but I have just made two tests: one with default template for Blazor server side application and one with Blazor client side with prerendering enabled (see this repo: https://github.com/danroth27/ClientSideBlazorWithPrerendering).
In both tests I have this in index.razor file:
@page "/"
@inject IComponentContext ComponentContext

Hello, world!

Welcome to your new app.

@code
{
    static int counter = 0;
    protected override Task OnAfterRenderAsync()
    {
        string prerendering = ComponentContext.IsConnected ? "rendered in the browser" : "prerendering";
        Console.WriteLine($"OnAfterRender: {++counter} {prerendering}");
        return base.OnAfterRenderAsync();
    }
}

Compile the application and hit Ctrl+F5 to run it without debugger.
In sever side version I see only one message from my app: "OnAfterRender: 1 rendered in the browser". I see it in VS output window. It looks that OnAfterRenderAsync is called only once and only after browser connects to the server. This is expected.
In client side version I see this message in VS output window "OnAfterRender: 1 prerendering" and then this message in browser's console "WASM: OnAfterRender: 1 rendered in the browser". It looks that in client side version OnAfterRender is really called twice: once on the server when page is prerendered and second time when page is rendered in the browser. To be consistent with server side version OnAfterRender should be called only once and only in the browser.

n client side version I see this message in VS output window "OnAfterRender: 1 prerendering" and then this message in browser's console "WASM: OnAfterRender: 1 rendered in the browser". It looks that in client side version OnAfterRender is really called twice: once on the server when page is prerendered and second time when page is rendered in the browser. To be consistent with server side version OnAfterRender should be called only once and only in the browser.

It's called twice because there are two renders instead of one, it's consistent. There is no magic happening here. The server prerenders the app (through what we call the "static prerenderer" and then tears it down.
Then the client app boots up and renders the original app again (hence 2 renders 2 calls).
On the prerender+reconnect case (the original server side example) we delay invoking onafterrender until we have established a connection to the server, to provide an experience similar to what happens in the non prerendered case.
We could if we wanted to, never trigger the onafterrender event during static rendering, but that's it. @SteveSandersonMS do you have any thoughts on that? I don't see a big issue given that we dispose the renderer after it.

In the doc we can read:

OnAfterRenderAsync and OnAfterRender are called after a component has finished rendering. Element and component references are populated at this point. Use this stage to perform additional initialization steps using the rendered content, such as activating third-party JavaScript libraries that operate on the rendered DOM elements.

The question is: do we need OnAfterRender events for something else? If not, it shouldn't be called during prerendering because DOM does not exist at this time. Now in OnAfterRender programmers have to manually test this condition.

We could if we wanted to, never trigger the onafterrender event during static rendering, but that's it. @SteveSandersonMS do you have any thoughts on that? I don't see a big issue given that we dispose the renderer after it.

That's what I thought we were doing. I'm slightly surprised we do call onafterrender in static rendering.
Given that there's virtually nothing useful you can do after a static render has completed (the HTML output is already determined, and if you want teardown logic, use Dispose instead), and calling onafterrender spoils the guidance we give that says you're safe to use IJSRuntime at that time, it seems altogether beneficial if we stopped calling it in static rendering.
@danroth27 @rynowak Do you agree?

Sounds good to me. Implementation wise, we can simply return a cancelled task to avoid doing any onafterrender work. We can always think of static prerendering as a render that completes partially.
https://github.com/aspnet/AspNetCore/blob/master/src/Components/Components/src/Rendering/Renderer.cs#L501-L506

I have managed to create a small repo of the issue (took some time to narrow down the issue!)
If i have any call on OnInitAsync which does any async/await work, it causes the OnPreRenderAsync function to be called twice for some unknown reason.
BlazorRepo.zip
Hope this helps.

@phinett Your repro doesn't repro, but I have an idea why you are seeing it called twice. When the browser (specially chrome) autocompletes, starts requesting the page before you even "commit" to the page so sometimes it ends up with two requests for the index page, resulting in two after render calls.

It definetly is called twice for me, this is on initial page load from when i start debugging. I have tried on MS Edge as well and it reproduces every time.

@phinett Not sure what to tell you, with the sample you uploaded, its server-side blazor and we have tests for this.
One thing you can try is to use an InPrivate/Incognito window and see if you observe it there. The other thing that might be happening (based on your sample) is that you have an async OnInit, so there are going to be two renders and the onafterrender method is going to be called once for each render.
Remove your async OnInit and see that you can't repro it. (I did that because the code was not compiling).

If i have any call in OnInitAsync which does any async/await work, it causes the OnAfterRenderAsync function to be called twice for some unknown reason.

I would expect it to be called twice, because there would be two renders. The first would be synchronously when your OnInitAsync yields the thread, and the second would be when the returned Task completes.

So how can i call JsInterop to register my client side JS plugin only once?
I have tried everything and i can't find a way.
I have even tried adding a boolean to do a check such as bool hasAlreadyPreRendered which is set to true after running, but the second time its called it's still set to false.

bool hasAlreadyPreRendered which is set to true after running, but the second time its called it's still set to false.

Does your repro show that happening? @javiercn, were you able to see that? I looked at the repro code and couldn't see any flag such as this.

I have attached a modified repo, i really hope you can see it reproducing this behavior.
Thanks for taking the time to look into this!
BlazorRepo.zip

I took another look. This is again expected behavior, and the reason is that you have an oninitasync method that produces two render batches.
        using (HttpClient client = new HttpClient())
        {
            client.BaseAddress = new Uri("https://localhost:44391/");
            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Accept.Add(
                new MediaTypeWithQualityHeaderValue("application/json"));

            // First render batch gets produced here.
            HttpResponseMessage response = await client.GetAsync("api/test");
            if (response.IsSuccessStatusCode)
            {
                TestString = await response.Content.ReadAsStringAsync();
            }
            // Second render batch gets produced here
        }

That's why you see two calls to onafterrenderasync

@javiercn , @SteveSandersonMS This issue was closed but in response to my example code https://github.com/aspnet/AspNetCore/issues/11876#issuecomment-508877095 Steve wrote:

Given that there's virtually nothing useful you can do after a static render has completed (the HTML output is already determined, and if you want teardown logic, use Dispose instead), and calling onafterrender spoils the guidance we give that says you're safe to use IJSRuntime at that time, it seems altogether beneficial if we stopped calling it in static rendering.

Is it fixed? Is there any other issue to track this problem?

Preview #8 It's not calling the methods twice on "a" component.  It actually creates two components that each have their events fired. But the prerender one fails to get dotnet references.
Remove Html.RenderStaticComponentAsync and the problem goes away.
The bigger problem is that OnAfterRenderAsync is firing on the prerendering (8 3.0.100-preview8-013656)
dotnet new blazorserver
add to Index.razor
@code{
protected override async Task OnAfterRenderAsync()
{
Console.WriteLine("\n\n\nHello There");
}
}
Below is the output (Hello there appears twice)
info: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[0]
User profile is available. Using 'C:\Users\xxx\AppData\Local\ASP.NET\DataProtection-Keys' as key repository and Windows DPAPI to encrypt keys at rest.
info: Microsoft.Hosting.Lifetime[0]
Now listening on: https://localhost:5001
info: Microsoft.Hosting.Lifetime[0]
Now listening on: http://localhost:5000
info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
Hosting environment: Development
info: Microsoft.Hosting.Lifetime[0]
Content root path: C:\temp\bl2
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
Request starting HTTP/2 GET https://localhost:5001/
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
Executing endpoint '/_Host'
info: Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.PageActionInvoker[3]
Route matched with {page = "/_Host"}. Executing page /_Host
info: Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.PageActionInvoker[103]
Executing an implicit handler method - ModelState is Valid
info: Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.PageActionInvoker[104]
Executed an implicit handler method, returned result Microsoft.AspNetCore.Mvc.RazorPages.PageResult.
Hello There
info: Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure.PageActionInvoker[4]
Executed page /_Host in 75.21430000000001ms
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
Executed endpoint '/_Host'
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
Request starting HTTP/2 GET https://localhost:5001/_framework/blazor.server.js
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
Request starting HTTP/2 GET https://localhost:5001/css/site.css
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
Request starting HTTP/2 GET https://localhost:5001/css/bootstrap/bootstrap.min.css
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
Request finished in 157.7618ms 200 text/html; charset=utf-8
info: Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware[6]
The file /_framework/blazor.server.js was not modified
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
Request finished in 23.8781ms 304 application/javascript
info: Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware[2]
Sending file. Request path: '/css/site.css'. Physical path: 'C:\temp\bl2\wwwroot\css\site.css'
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
Request finished in 29.692300000000003ms 200 text/css
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
Request starting HTTP/2 GET https://localhost:5001/css/open-iconic/font/css/open-iconic-bootstrap.min.css
info: Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware[2]
Sending file. Request path: '/css/open-iconic/font/css/open-iconic-bootstrap.min.css'. Physical path: 'C:\temp\bl2\wwwroot\css\open-iconic\font\css\open-iconic-bootstrap.min.css'
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
Request finished in 7.6515ms 200 text/css
info: Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware[2]
Sending file. Request path: '/css/bootstrap/bootstrap.min.css'. Physical path: 'C:\temp\bl2\wwwroot\css\bootstrap\bootstrap.min.css'
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
Request finished in 59.975ms 200 text/css
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
Request starting HTTP/2 POST https://localhost:5001/_blazor/negotiate text/plain;charset=UTF-8 0
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
Executing endpoint '/_blazor/negotiate'
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
Request starting HTTP/2 GET https://localhost:5001/css/open-iconic/font/fonts/open-iconic.woff
info: Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware[2]
Sending file. Request path: '/css/open-iconic/font/fonts/open-iconic.woff'. Physical path: 'C:\temp\bl2\wwwroot\css\open-iconic\font\fonts\open-iconic.woff'
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
Request finished in 4.8011ms 200 application/font-woff
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
Executed endpoint '/_blazor/negotiate'
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
Request finished in 19.5062ms 200 application/json
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
Request starting HTTP/1.1 GET https://localhost:5001/_blazor?id=vAU0RDA4fpgS2edLCkhHGw
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
Executing endpoint '/_blazor'
info: Microsoft.AspNetCore.SignalR.HubConnectionContext[1]
Completed connection handshake. Using HubProtocol 'blazorpack'.
Hello There

This was already fixed as part of preview9


chore: switch algoexplorer urls to allo

We will need to wait until Allo is launched before merging this PR.
It's still not clear that testnet version will be http://testnet.allo.info, will confirm once launched.
Changes are based on https://twitter.com/alloinfo/status/1737906303660347567?s=46&t=mW6Wsh-5XrgNlmfdOK46Fw

@ehanoc @PhearZero @ori-shem-tov @HashMapsData2Value will let you merge and deploy from here.

https://twitter.com/Urthoo/status/1740366706021974445?t=mY-8QM5qUIxV6zIWEnnlsw&s=19
Seems like testnet 1) might not be prioritized, 2) if it's there the url would be allo.info/testnet/tx/...

@HashMapsData2Value Thanks for the info!
Unfortunately for testnet we don't have many options as Pera explorer doesn't support transactions.

In the meantime we could use dappflow with a network switch and redirect - it's not very elegant, but it would work...

@robdmoore Yeah I think that is the best option at this stage.
BTW url for that would be https://app.dappflow.org/setnetwork?name=algonode_testnet&redirect=explorer/transaction/{txn_id}. Pera explorer can be used to view account/address.

@HashMapsData2Value I've updated the PR to use dappflow and pera on testnet.
As part of merging this (assuming you're happy with it), you'll also need to update the values for ALGO_EXPLORER_URL and NFT_EXPLORER_URL in the GitHub environment config for both dev and prod.
Dev (assuming it's pointed to testnet)
ALGO_EXPLORER_URL: https://app.dappflow.org/setnetwork?name=algonode_testnet&redirect=explorer
NFT_EXPLORER_URL: https://testnet.explorer.perawallet.app/assets/
Prod
ALGO_EXPLORER_URL: https://allo.info
NFT_EXPLORER_URL: https://allo.info/asset/

Thanks @neilcampbell @robdmoore @HashMapsData2Value
We also need to update env vars for Dev and Prod. I see that NFT_EXPLORER_URL = https://nftexplorer.app/asset/ for Prod. I guess we want to keep it right?

@ori-shem-tov Oh cool, yep you can keep that value as is then.

I replaced the testnet links with Pera Explorer's testnet instead of relying on Dappflow

@HashMapsData2Value Awesome. It's nice that Pera supports viewing transactions and blocks now. I'll update the algokit-cli as well.

@HashMapsData2Value I realized Pera explorer has no /account endpoint.
For account we need to use /address or /accounts (which redirects to /address). Let me see if we can ask them to change it, otherwise we'll have to support different endpoints for TestNet and MainNet

@ori-shem-tov @HashMapsData2Value You could use Pera for both TestNet and MainNet and that way it'd be consistent. We ended up doing that in AlgoKit cli.

It would be great if the paths across the explorers were consistent, so if you can influence Pera to add support for account that would be awesome

https://explorer.perawallet.app/address/7RVD7JLRMHLWWSHSZBNQOZTVBCMZNEJIJC5JUVBEGWFT4MJZ3ETO5Z62QY/
https://allo.info/address/7RVD7JLRMHLWWSHSZBNQOZTVBCMZNEJIJC5JUVBEGWFT4MJZ3ETO5Z62QY
allo.info now redirects address -> account meaning we can use the same unified way

Returned the paths to address from account
      <Link href={`${import.meta.env.VITE_ALGO_EXPLORER_URL}/address/${address}`} target="_blank" className="font-normal">


Fix #315 by adding missing encoders for collections

Confused about that one, your new test cases basically dupliate the same assertions just a few lines down -- am I missing something?

@fsvehla Could you please point on lines of duplicates?
BTW, this PR fixes derivation of codecs for IndexedSeq type alias in Scala 2.12 and adds .jvmops to avoid out of memory errors during compilation

@plokhotnyuk Apologies, I completely misread that. I blame a lack of caffeine.
Thanks for this changeset!


Generalize to be used by DNS client

As of now, usually a host (with a dual stack) has several configuration options: DHCP / DHCPv6 (for IPv4/IPv6 addresses of the nameserver), plus /etc/resolv.conf (listing nameservers as IP addresses). Now, with the rise of DNS-over-TLS, the configuration is slightly more tricky:

DNS via UDP
DNS via TCP
DNS via TLS

And all these three transports for each nameserver. Furthermore, https://datatracker.ietf.org/doc/html/rfc8310#section-6 recommends opportunistic privacy: why not use TLS if available (even without authentication).
So, a DNS client should (incomplete, since DTLS may be another option -- also leaving aside that configuration may be a hostname (bootstrapping issue, since that hostname needs to be resolved)):

attempt to connect to IPv4/IPv6 nameserver via TLS (on port 853)
attempt to connect to IPv4/IPv6 nameserver via TCP (on port 53)
attempt to connect to IPv4/IPv6 nameserver via UDP (on port 53)

And which nameserver and transport to use should be figured out automatically by a mechanism such as happy eyeballs. To avoid dependency cycles, the core of happy-eyeballs needs to be independent of dns(-client). This also means we need separate opam packages for happy-eyeballs, happy-eyeballs-lwt, happy-eyeballs-mirage.

The main task here is to figure out a reasonable (alternative?) API - at the moment: connect takes a hostname. The new API should take a (list of) Ipaddr and port numbers (& protocols?),  and may reflect in its result type that the resolve action will not be invoked (but that may as well be left for the future).


making the copy command sudo in functions-common

sometimes the copy command will throw the error , as we are running the commands using sudo user.
changed  cp -p $sample_conf_dir/policy.json $conf_dir to sudo cp -p $sample_conf_dir/policy.json $conf_dir   in line  number 727

Thank you for contributing to openstack-dev/devstack!
openstack-dev/devstack uses Gerrit for code review.
Please visit
http://docs.openstack.org/infra/manual/developers.html#development-workflow
and follow the instructions there to upload your change to Gerrit.


Electron Integration and Packaging for Mac, Windows and Linux

Hi Buddy,
I like your work. I have integrated your application with electorn.js and also packaged the application to
.dmg, .exe and .deb format for all platforms.
Testing app with electron:
$npm start .
Packaging Steps: To package you need to  do the following
$brew install yarn
$rm -rf yarn.lock package-lock.json node_modules
$yarn add electron-builder --dev
$yarn install
$yarn dist
After executing the above commands you can see the list of packaged binaries in ./dist folder
If you think these changes are useful and if you have not started already. You can reply to my pull request.
Thanks,
Viki

Hi, I've actually already done a lot of work on an electron app (and I've had it sitting in a branch for a long time); now I've finally merged it into master; it's not ready, but if you want to try it out, see https://github.com/1j01/jspaint/issues/2#issuecomment-508974104


Improve tensor.pad handling on all IREE backends.

IREE still lowers tensor.pad into a linalg.fill followed by tensor.insert_slice. This is really the poor-mans handling of tensor.pad. There are three ways in which the tensor.pad handling can be supported

Put tensor.pad in its own dispatch. This can be enabled by using --iree-flow-enable-pad-handling.
Fuse tensor.pad with its producer. This can be enabled by using --iree-flow-enable-fuse-padding-into-linalg-producer-ops
Fuse tensor.pad with its consumer. This can be enabled by using --iree-flow-enable-fuse-padding-into-linalg-consumer-ops.

All backends need to support at least (1). (3) is already supported on CPU and SPIR-V backends. (2) needs to be supported on all backends (with efficient code-generation). This bug is for tracking status of these.
P1 tasks
- [ ] Enable use of `--iree-flow-enable-pad-handling` on CUDA backend
- [ ] Enable use of `--iree-flow-enable-pad-handling` on SPIR-V backend
- [ ] Turn on `--iree-flow-enable-pad-handling` by default (and drop the flag)

P2 tasks (in this order)
- [ ] Current CPU code generation for `--iree-flow-enable-fuse-padding-into-linalg-consumer-ops` generates a lot of `scf.if` conditions in the inner most loop. This can be removed by using masking. https://github.com/openxla/iree/issues/12633#issuecomment-1540873098 suggests that this can give upto 4x improvement in performance
- [ ] Current CPU codegenaration for `--iree-flow-enable-fuse-padding-into-linalg-producer-ops` does not vectorize. Enable this vectorization.
- [ ] Enable use of `--iree-flow-enable-fuse-padding-into-linalg-consumer-ops` on CUDA
- [ ] Enable use of `--iree-flow-enable-fuse-padding-into-linalg-producer-ops` on CUDA
- [ ] Enable use of `--iree-flow-enable-fuse-padding-into-linalg-producer-ops` on SPIR-V

@qcolombet I think you have some progress on handling tensor.pad operations on CUDA backend... could you please update/info on what status of that is.
FYI @dcaballe @ThomasRaoux @antiagainst @hanhanW

RE using masking for vectorization, I have an WIP PR: https://github.com/openxla/iree/pull/13496, which enables masking for static result shapes. I'm going to extend it so we can handle dynamic cases (which is bounded by tiling sizes) as well.

IIRC, @nicolasvasilache mentioned that there is already masked vectorization support for tensor.pad somewhere. I don't know the details. Would it be possible to reuse that?

IIRC, @nicolasvasilache mentioned that there is already masked vectorization support for tensor.pad somewhere. I don't know the details. Would it be possible to reuse that?

It's reused in my draft PR.

Tentatively assigning @kuhar for SPIR-V related tasks in this list.

@qcolombet I think you have some progress on handling tensor.pad operations on CUDA backend... could you please update/info on what status of that is.
FYI @dcaballe @ThomasRaoux @antiagainst @hanhanW

Sorry for the late reply, I missed the notification somehow.
What I did on that front is having an easier-to-optimize form when lowering tensor.pack.
See https://github.com/llvm/llvm-project/commit/0bfbecf52e8fa04785cf0b5c38b25c13442fb53d for details.
The gist of it is instead of producing:
pad
expand_shape
transpose

We generate, when the pack is in fact a pad:
pad
insert_slice

The second thing we (@pifon2a and @nicolasvasilache to be precise) did is this custom pipeline for tensor.pad that is not yet plugged in IREE as it needs some polishing, but gives great perf:
https://github.com/iree-org/iree-samples/pull/157

The second thing we (@pifon2a and @nicolasvasilache to be precise) did is this custom pipeline for tensor.pad that is not yet plugged in IREE as it needs some polishing, but gives great perf:
https://github.com/iree-org/iree-samples/pull/157

Is it possible to just use non transform dialect paths for pad op. Pad is just a simple operation. Using transform dialect seems like a heavy hammer for it (at least IMO).

Re not use transform dialect: There is nothing fundamentally pegged to the transform dialect here, so yes it should be possible to do the same thing without it.
In a nutshell I think it is a matter of:

Having a specific dispatch region for the tensor.pad (what @MaheshRavishankar already pointed out with --iree-flow-enable-pad-handling), then
Applying tiling, vectorization, and so on (probably with some target specific stuff toward the end of the lowering to grab the right target (e.g., Nvidia) instructions)


Fixing Footer Of Website

Title and Issue number
Title : fixing footer of website #1145
Issue No. : #1145
Code Stack :
Close #1145

Video (mandatory)

fixed
Checklist:

[x] I have mentioned the issue number in my Pull Request.
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have created a helpful and easy to understand README.md
[x] I have gone through the  contributing.md file before contributing

Additional context (Mandatory )
Are you contributing under any Open-source programme?

[X] I'm a GSSOC'24 contributor
[ ] I'm a SSOC'24 contributor

@apu52  please merge PR tommorow is last day to contribute