lsp is installed every time it comes in

How to make it take effect automatically

Servers installed by nvim-lspinstall is permanent stored on your disk.
You can execute ls ~/.local/share/nvim to check if a directory called lspinstall exists.

I have already installed it, and it will not be loaded automatically. Every time I open vim, I have to execute it manually: lspinstall go

execute LspInfo when you enter this buffer, correct result is like this:

You may need to git pull to get my latest updates.

Do you have go.mod in this directory?

https://github.com/ayamir/nvimdots/issues/21#issuecomment-907731549
Just pull is still not working, the directory has go.mod

The correct sequence is this:

make the oackage dir.
touch go.mod.
touch main.go.
vim main.go.

hey , does your go work? i try it and it work ,just touch go.mod and main.go,it work.
i find if i not touch main.go,I just nvim main.go,the lsp is not work,may this is answer.
so you should touch main.go then nvim main.go

Mine is not work on go, but it work on python. I runned LspInstall python just like I runned LspInstall go, but python can work automatically and go failed.

I assume that Lsp server has installed the gopls ,but the autocompletion not configure.
How to set it up?

Mine is not work on go, but it work on python. I runned LspInstall python just like I runned LspInstall go, but python can work automatically and go failed.

golsp need to detect your directory if a work directory or not. Please refer to this and this.

Mine is not work on go, but it work on python. I runned LspInstall python just like I runned LspInstall go, but python can work automatically and go failed.

golsp need to detect your directory if a work directory or not. Please refer to this and this.

Thank you for your time for a newbee. It work well after adding go.mod . However I wonder why the autocompletion on go still not perform like on python, when I want to type Print, it does not show any code suggestion. Is there anything that I should set up?

Mine is not work on go, but it work on python. I runned LspInstall python just like I runned LspInstall go, but python can work automatically and go failed.

golsp need to detect your directory if a work directory or not. Please refer to this and this.

Thank you for your time for a newbee. It work well after adding go.mod . However I wonder why the autocompletion on go still not perform like on python, when I want to type Print, it does not show any code suggestion. Is there anything that I should set up?

Did gopls attact to your buffer? You can check this via lualine quickly. If gopls starts correctly autocompletion is out of the box.

yes

yes

Your go.mod need line like this:

The module name is your root_dir's name normally. Its gopls's request.

yes

Your go.mod need line like this:

The module name is your root_dir's name normally. Its gopls's request.

Oh sorry I just run the go file and it said go.mod not set up , and I follow the default set up for go.mod and finally worked, just like your advise. I really appreciate your neovim set up. Thanks again!!

没有lspinstall命令


What does Psr\Log have to do with rendering navigation?

new Issue

Q
A

project version
latest

PHP version
8.3.0

Steps required to reproduce the problem
Try to render the navigation via the helper without having your logger factories, whatever or wherever those happen to be....
Expected Result
That the navigation container would be rendered by the helper
*
Actual Result
Script dies with this:
Laminas \ ServiceManager \ Exception \ ServiceNotFoundException
Unable to resolve service "Mimmi20\Mezzio\Navigation\LaminasView\View\Helper\LoggerInterface" to a factory; are you certain you provided it during configuration?
*
It appears you left your error logging code in the helpers. That's my only guess.....

@tyrsson Could you prove the code, you used?

Yes, it'll be this evening before I'll have a chance to do so though.

I've overridden some of the GenericAuthorization classes to provide Assertion support, it's a must have for my use case.
This is from NavigationFactory:
        assert($logger instanceof LoggerInterface);
        assert($htmlify instanceof HtmlifyInterface);
        assert($containerParser instanceof ContainerParserInterface);

        $helper = new Navigation($container, $logger, $htmlify, $containerParser);

Calling line:
<?=$this->navigation('default')->menu();?>

Navigation block for testing:
            'default' => [
                [
                    'label' => 'Login',
                    'route' => 'login',
                ],
                [
                    'label' => 'Logout',
                    'route' => 'logout',
                ],
                [
                    'label' => 'Account',
                    'route' => 'account.read',
                ]
            ],

Script dies with this:
Laminas \ ServiceManager \ Exception \ ServiceNotFoundException
Unable to resolve service "Mimmi20\Mezzio\Navigation\LaminasView\View\Helper\LoggerInterface"
Call stack at time of exception (I broke it up for readability)
Laminas\ServiceManager\ServiceManager->getFactory (c:\htdocs\axleus-test.local\vendor\laminas\laminas-servicemanager\src\ServiceManager.php:588)
Laminas\ServiceManager\ServiceManager->doCreate (c:\htdocs\axleus-test.local\vendor\laminas\laminas-servicemanager\src\ServiceManager.php:641)
Laminas\ServiceManager\ServiceManager->get (c:\htdocs\axleus-test.local\vendor\laminas\laminas-servicemanager\src\ServiceManager.php:264)
Mimmi20\Mezzio\Navigation\LaminasView\View\Helper\NavigationFactory->__invoke (c:\htdocs\axleus-test.local\vendor\mimmi20\mezzio-navigation-laminasviewrenderer\src\View\Helper\NavigationFactory.php:38)
Laminas\ServiceManager\ServiceManager->doCreate (c:\htdocs\axleus-test.local\vendor\laminas\laminas-servicemanager\src\ServiceManager.php:642)
Laminas\ServiceManager\ServiceManager->get (c:\htdocs\axleus-test.local\vendor\laminas\laminas-servicemanager\src\ServiceManager.php:264)
Laminas\ServiceManager\AbstractPluginManager->get (c:\htdocs\axleus-test.local\vendor\laminas\laminas-servicemanager\src\AbstractPluginManager.php:169)
Laminas\View\HelperPluginManager->get (c:\htdocs\axleus-test.local\vendor\laminas\laminas-view\src\HelperPluginManager.php:560)
Laminas\View\Renderer\PhpRenderer->plugin (c:\htdocs\axleus-test.local\vendor\laminas\laminas-view\src\Renderer\PhpRenderer.php:396)
Laminas\View\Renderer\PhpRenderer->__call (c:\htdocs\axleus-test.local\vendor\laminas\laminas-view\src\Renderer\PhpRenderer.php:415)
include (c:\htdocs\axleus-test.local\src\App\templates\layout\default.phtml:60)
Laminas\View\Renderer\PhpRenderer->render (c:\htdocs\axleus-test.local\vendor\laminas\laminas-view\src\Renderer\PhpRenderer.php:530)
Mezzio\LaminasView\LaminasViewRenderer->renderModel (c:\htdocs\axleus-test.local\vendor\mezzio\mezzio-laminasviewrenderer\src\LaminasViewRenderer.php:223)
Mezzio\LaminasView\LaminasViewRenderer->render (c:\htdocs\axleus-test.local\vendor\mezzio\mezzio-laminasviewrenderer\src\LaminasViewRenderer.php:126)
App\Handler\HomePageHandler->handle (c:\htdocs\axleus-test.local\src\App\src\Handler\HomePageHandler.php:83)
Laminas\Stratigility\Middleware\RequestHandlerMiddleware->process (c:\htdocs\axleus-test.local\vendor\laminas\laminas-stratigility\src\Middleware\RequestHandlerMiddleware.php:46)
Laminas\Stratigility\Next->handle (c:\htdocs\axleus-test.local\vendor\laminas\laminas-stratigility\src\Next.php:52)
Axleus\Core\Middleware\NavigationMiddleware->process (c:\htdocs\axleus-test.local\vendor\axleus\axleus-core\src\Middleware\NavigationMiddleware.php:62)
Mezzio\Middleware\LazyLoadingMiddleware->process (c:\htdocs\axleus-test.local\vendor\mezzio\mezzio\src\Middleware\LazyLoadingMiddleware.php:26)
Laminas\Stratigility\Next->handle (c:\htdocs\axleus-test.local\vendor\laminas\laminas-stratigility\src\Next.php:52)
Axleus\Core\Middleware\TemplateMiddleware->process (c:\htdocs\axleus-test.local\vendor\axleus\axleus-core\src\Middleware\TemplateMiddleware.php:53)
Mezzio\Middleware\LazyLoadingMiddleware->process (c:\htdocs\axleus-test.local\vendor\mezzio\mezzio\src\Middleware\LazyLoadingMiddleware.php:26)
Laminas\Stratigility\Next->handle (c:\htdocs\axleus-test.local\vendor\laminas\laminas-stratigility\src\Next.php:52)
Axleus\Message\Middleware\MessageMiddleware->process (c:\htdocs\axleus-test.local\vendor\axleus\axleus-message\src\Middleware\MessageMiddleware.php:37)
Mezzio\Middleware\LazyLoadingMiddleware->process (c:\htdocs\axleus-test.local\vendor\mezzio\mezzio\src\Middleware\LazyLoadingMiddleware.php:26)
Laminas\Stratigility\Next->handle (c:\htdocs\axleus-test.local\vendor\laminas\laminas-stratigility\src\Next.php:52)
Axleus\Authorization\Middleware\AuthorizationMiddleware->process (c:\htdocs\axleus-test.local\vendor\axleus\axleus-authorization\src\Middleware\AuthorizationMiddleware.php:92)
Mezzio\Middleware\LazyLoadingMiddleware->process (c:\htdocs\axleus-test.local\vendor\mezzio\mezzio\src\Middleware\LazyLoadingMiddleware.php:26)
Laminas\Stratigility\Next->handle (c:\htdocs\axleus-test.local\vendor\laminas\laminas-stratigility\src\Next.php:52)
Axleus\UserManager\Middleware\IdentityMiddleware->process (c:\htdocs\axleus-test.local\vendor\axleus\axleus-usermanager\src\Middleware\IdentityMiddleware.php:33)
Mezzio\Middleware\LazyLoadingMiddleware->process (c:\htdocs\axleus-test.local\vendor\mezzio\mezzio\src\Middleware\LazyLoadingMiddleware.php:26)
Laminas\Stratigility\Next->handle (c:\htdocs\axleus-test.local\vendor\laminas\laminas-stratigility\src\Next.php:52)
Axleus\Core\Middleware\EventManagerMiddleware->process (c:\htdocs\axleus-test.local\vendor\axleus\axleus-core\src\Middleware\EventManagerMiddleware.php:26)
Mezzio\Middleware\LazyLoadingMiddleware->process (c:\htdocs\axleus-test.local\vendor\mezzio\mezzio\src\Middleware\LazyLoadingMiddleware.php:26)
Laminas\Stratigility\Next->handle (c:\htdocs\axleus-test.local\vendor\laminas\laminas-stratigility\src\Next.php:52)
Mezzio\Session\SessionMiddleware->process (c:\htdocs\axleus-test.local\vendor\mezzio\mezzio-session\src\SessionMiddleware.php:27)
Prior to this is standard Mezzio Middleware

The Logger is now removed.

I've overridden some of the GenericAuthorization classes to provide Assertion support, it's a must have for my use case.

Feel free to open a feature request to add the Assertions to my packages, if it is helpful.


MGB track

https://github.com/tensorflow/tensorflow/blob/590d6eef7e91a6a7392c8ffffb7b58f2e0c8bc6b/tensorflow/python/training/tracking/base.py#L498-L990

@MGBtrust
We see that the issue template has not been filled, could you please do so as it helps us analyse the issue [tf version, steps followed before you ran into this error or stand alone code to reproduce the issue faced]

@MGBtrust
We see that the issue template has not been filled, could you please do so as it helps us analyse the issue [tf version, steps followed before you ran into this error or stand alone code to reproduce the issue faced]


Use primitive to allow it to be resolved by @value in javadoc

Currently following is reported:
[ERROR] Exit code: 1 - .../src/main/java/org/codehaus/mojo/buildhelper/ReserveListenerPortMojo.java100 error: value does not refer to a constant
[ERROR]      * If {@link #maxPortNumber} is specified, defaults to {@value #FIRST_NON_ROOT_PORT_NUMBER}.
[ERROR]                                                            ^

With this fix applied, javadoc looks like:

Separate case is for site documentation, where it's still presented as

and one has to search to confirm its value.

Mai I ask for review, please?


Skipped question text should not appear in question memory context

Combination of memory rules and skip/stop logic creates an issue where the context of a skipped question is still included in the context of another question because of a memory rule, even though it was not actually administered (agent is told that its response was "None"):
https://www.expectedparrot.com/content/09231736-d1b7-4371-a14e-a5b9bf7ae701

In this example ^ the agent skips to q4 after answering q0 (as intended). Full memory mode is on, so all prior question contexts are added to each successive question (as intended). However, this agent should only get the context of q0 as the questions between q0 and q4 were skipped. We can see though that the q4 prompts inform the agent that it was asked the intermediary questions and responded "None". These should just be omitted instead.


Update CONTRIBUTING.md

Add the contributing guidelines.

I'll take it

Done: https://github.com/shubhidua/Hacktoberfest-20/pull/5

Solved #7

@MihirBhave  add explaining the procedure of contributing to a repo in #3 as it will help newcomers to get started.


Combine similar specs to reduce some duplication

@gtanzillo @gmcculloug Please review

:+1: Looks good!


Dashboards as code

Some day in the future we really want to improve the experience for people who want to store their dashboards as files primarily rather then storing them in the database primarily. Until then I recommend using https://github.com/weaveworks/grafanalib great way of writing your dashboards are code instead of bloaty json files :)

That would require rewriting all our JSONs.
They aren't that bad atm.
Mainly because we're using templating.
I see one problem with templating - the real problem:
You can only put values for variables, something like "a,b,cde".
If You want to have different values than texts visible in the drop-down You need to export dashboard manually and update JSON with "text" and "value" pairs for each value.
Then if You edit that variable in Grafana UI again, then You "text" values will be cleared again and "text" will contain the same value as "value" column.
Solution might be something like setting variable via:
"a:This is what a value text is,some_value:Some value,..."

And would be great if all template variables can be called for their value or text.
So for example [[var]] would return variable value (default)
But there should also be  [[var:text]] that would return variable text.
Currently, Grafana is returning either value or text, depending on context.
In queries, it is returning variable value. In dashboard titles and drop-down, it is returning variable text.
But in dashboards description, it returns variables value (while I would prefer text here).

@lukaszgryglicki that's two good points! Ill create issues for them in the grafana repo.

thx.

BTW @bergquist is it possible to have template variable values fetched from string value from InfluxDB?
I mean fetch drop-down values fromDB instead of setting variable values like "value1,value2,...,valueN" or even "value1:name1,value2:name2,...,valueN:nameN" ?

You can query influxdb for tags and tag values in your templating queries. The queries can depend on each other.
Example dashboard http://play.grafana.org/dashboard/db/influxdb-templated-queries?orgId=1
( json https://gist.github.com/bergquist/1f9e5cf56c65f4ea2260583c45527810 )
http://docs.grafana.org/features/datasources/influxdb/#templating

Seems promising, I'll research this.
Thanks!

Probably I'll have a problem with this.
It seems to return the list of values (according to documentation), while I need a list of values and names (as described https://github.com/cncf/gha2db/issues/9#issuecomment-333460117), so it will probably be a dead end.

You could use the https://grafana.com/plugins/grafana-simple-json-datasource plugin to write a custom endpoints that return a list of {text: "friendly name", value: "some id"} objects. Its not as user friendly but its possible.

If I cannot use query variable here (will see in few hours) I'll leave "Repository group" drop down "as is".
Ideas was to select all distinct "Repository groups" from Postgres and then put that data "somewhere" in InfluxDB. And then fetch drop-down values from Influx.
Will see...

Not sure yet, but it MAY work.
I will have two tags on the same series.
One will be "repo_group_name" the other will be "repo_group_value"
I'll show $repo_group_name drop-down with: show tag values with key = "repo_group_name"
I'll add another dependent template variable $repo_group_value with: show tag values with key = "repo_group_value" where repo_group_name =~ /$repo_group_name/.
The other template variable should be invisible (if possible) and then if I change first drop down, the other will only have a single matching value that should be autoselected on change.

It IS working as described above - I'll update all dashboards to use dynamically generated drop-downs.

It is a working dashboard that gets:
-Drop down values & names from InfluxDB tags.
Exactly as described.
Names are taken from one tag and shown in the drop-down.
Values are taken from another tag (using first tag value as a where condition), another dropdown is invisible, but auto changes when first (visible) dropdown value changes.
Using this I have both [[repo_name]] variable (that holds user readable name) and [[repo]] variable (that holds value used as a part of data series name).
S this is fixing all problems described in this metric, automatically fetches all repository list from Influx (which is updated from Postgres by the cron job).
Please see this dashboard:
https://cncftest.io/dashboard/db/community-stats?orgId=1

You can also see details because You're "Read-only editor" by default!

Hmm maybe I should also think about the auto-generating list of metrics on some dashboards, like this one:
https://cncftest.io/dashboard/db/prs-merged-repository-groups?orgId=1
maybe the list of metrics should be generated from some kind of a DB query (if possible)?
Just thinking loudly...

@bergquist
Managed to get this working.
Instead of repeating rows or panels which is not applicable here, I've used.
A query that contains multiple values (for all companies)
A template variable (multi-select variable that gets company list from InfluxDB tags)
Then I've used user selected multiple values in a select part of the metric.
So now this very complex dashboard gets all its data via single metric:
Dashboard: https://cncftest.io/dashboard/db/companies-stats?orgId=1
Its metric definition: SELECT /^[[companies]]$/ FROM "company_[[repogroup]]_[[metric]]_[[period]]" WHERE $timeFilter
And template variables (including one hidden that automatically changes when its "parent" drop-down changes):


Osp run mount

Include /run in mounts for podman osruntime (podman always used for tools for osp)

Are you really wanting to merge this build related stuff?

I thought I backed that stuff out, but apparently something went wrong.


%load does not work in .py or .ipynb

VSCode Version: 1.51.0
OS Version: 10.0.17763

Steps to Reproduce:

Open a fresh .ipynb or .py file.
enter the following code: %load myfile.py
Additionally this code does not work: from IPython import get_ipython ipython = get_ipython() ipython.magic("load myfile.py")

Does this issue occur when all extensions are disabled?: Yes

Please report directly against the python extension at https://github.com/Microsoft/vscode-python/issues


How can I deploy on Preview or Preprod network

I want to initialize COOP on public testnet (preview or preprod). Please help me

@ironmask285 how far have you got with the local-cluster?

yah, We have successfully deployed on the local cluster, and now we intend to test deploy on the public testnet. Can you provide further guidance for us? @ross-spencer

Great work!
This is from our preprod setup, but you should only need to change three things:

Run Cardano node 1.35.5
Point plutus-chain-index at the node: plutus-chain-index --socket-path=$CARDANO_NODE_SOCKET_PATH --port=9084 --network-id 1  --db-path /path/to/chain-index.db start-index
Ensure pabConfig.yaml is right, it should be in the resources/ folder in your coop-tutorial folder. And looks as follows, the network ID should be 1 (it may already be so).

-- Calling the cli locally or through an ssh connection
cliLocation:   local
chainIndexUrl: "http://localhost:9084"
networkId:     1

-- Directory name of the script and data files
scriptFileDir:      ".local-cluster/scripts"

-- Directory for the signing key file(s)
signingKeyFileDir:  ".wallets"

-- Directory where the encoded transaction files will be saved
txFileDir:          ".local-cluster/txs"

-- | Directory name of metadata files
metadataDir:         ".local-cluster/metadata"

-- Dry run mode will build the tx, but skip the submit step
dryRun:             false
logLevel:           debug
port:               9080
enableTxEndpoint:   true

-- Save some stats during contract run (only transactions execution budgets supported atm)
collectStats: true

-- Save logs from contract execution: pab request logs and contract logs
collectLogs: true

Currently, it only supports Cardano node version 1.35.5. Can I use newer versions of the Cardano node? @ross-spencer

Currently, it only supports Cardano node version 1.35.5.

Unfortunately it is anchored to this version for now.


Not able to keep user logged in for longer than a day

Please do not report security vulnerabilities here. The Responsible Disclosure Program details the procedure for disclosing security issues.
Thank you in advance for helping us to improve this library! Please read through the template below and answer all relevant questions. Your additional work here is greatly appreciated and will help us respond as quickly as possible. For general support or usage questions, use the Auth0 Community or Auth0 Support. Finally, to avoid duplicates, please search existing Issues before submitting one here.
By submitting an Issue to this repository, you agree to the terms within the Auth0 Code of Conduct.
Describe the problem

Provide a clear and concise description of the issue
I want to keep the user logged in and not fall back to the login splash page. In order to do that, I have make a call every 2 hours using getAccessTokenSilently to get a new token. However, after about a day, isAuthenticated will become false and goes from the Main page to the Login Splash page. However, when pressing the login button, it doesn't go to the redirect page to log in, it would go to the Main page

What was the expected behavior?

Tell us about the behavior you expected to see
I want the users to stay logged into our authenticated pages as long as possible; until the up limit that they need to login again.

Reproduction

Detail the steps taken to reproduce this error, and whether this issue can be reproduced consistently or if it is intermittent.
Note: If clear, reproducable steps or the smallest sample app demonstrating misbehavior cannot be provided, we may not be able to follow up on this bug report.

Log in to SPA
Let it stay on overnight

console log that the refetching of access token is done, yet isAuthenticated is false because the user object is empty. Note that the console log's user' object is a combination of the original user` object from auth0 and other keys I added. Also, it is still being refetched even after returning to the splash screen. Below is the ending snippet of console logs
got access token after 2 HOURS
build.umd.js:3103 eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjVXQWJqM1ZjalFaeDZSWHVWUm (partially removed)
build.umd.js:3103 {isLoading: false, isAuthenticated: false, user: {…}}isAuthenticated: falseisLoading: falseuser: {customClaims: {…}}customClaims: {accessBuilder: true}[[Prototype]]: Object[[Prototype]]: Object
build.umd.js:3103 got access token after 2 HOURS
build.umd.js:3103 eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjVXQWJqM1ZjalFaeDZSWHVWUm (partially removed)
build.umd.js:3103 got access token after 2 HOURS
build.umd.js:3103 eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjVXQWJqM1ZjalFaeDZSWHVWUm (partially removed)

for some reason there are two auth0 key-value pairs in localstorage

also, in the cookies section, (...).isauthenticated are true

In React, the Auth0 provider looks like this:
REACT_APP_CLIENT=vbh7pNZaYTMf2fbn5JMq9BVcxt34rsCv
REACT_APP_DOMAIN=dev-6kijuc-8.us.auth0.com

	<Auth0Provider
		domain={process.env.REACT_APP_DOMAIN}
		clientId={process.env.REACT_APP_CLIENT}
		redirectUri={window.location.origin}
		audience={process.env.REACT_APP_AUTH_AUDIENCE}
		useRefreshTokens
		cacheLocation="localstorage"
	>
		<StyledEngineProvider injectFirst>
			<ThemeProvider theme={theme}>
				<ScopedCssBaseline>
					<NotificationsProvider position="bottom-center">
						<App />
					</NotificationsProvider>
				</ScopedCssBaseline>
			</ThemeProvider>
		</StyledEngineProvider>
	</Auth0Provider>,

A snippet of App.js
	const {
		isAuthenticated,
		isLoading,
		error,
		user,
	} = useApplicationData();

        console.log({ isLoading, isAuthenticated, user });
	if (isLoading) {
		return (
			<LoadingScreen>
				<Spinner color="i5OGreen" size={50} />
			</LoadingScreen>
		);
	}

	// https://community.auth0.com/t/user-is-undefined-and-isauthenticated-returns-false-after-login/87495
	if (!isLoading && !isAuthenticated) {
		return <SplashScreen />;
	}

	return (
		<div className="App">
			{error && (
				<Notification
					data={{
						type: 'error',
						message: error,
					}}
					snackbar
				/>
			)}
			{isAuthenticated && (
				<UserContext.Provider value={userInfo}>
					<Router>
						<TopBar
							customers={customers}
							handleCustomerSwitch={switchCustomer}
						/>
						<Content>
							{currentCustomer && (
								<SideBar availablePages={currentCustomer.pages} />
							)}

							<Routes>
								<Route
									path="/home"
									element={

snippet of code that is refetching token periodically in useApplicationData
	useEffect(() => {
		const HOURS = 2;
		const refresh = setInterval(async () => {
			const token = await getAccessTokenSilently({
				scope: process.env.REACT_APP_AUTH_SCOPE,
			});
			console.log(`got access token after ${HOURS} HOURS`);
			console.log(token);
		}, HOURS * 60 * 60 * 1000);
		return () => clearInterval(refresh);
	}, []);

in auth0, the application setting snippet is as follows:

Environment

Please provide the following:

Version of auth0-react used: "^1.12.0"
Which browsers have you tested in? Chrome, Firefox
Which framework are you using, if applicable (Angular, React, etc): React
Other modules/plugins/libraries that might be involved:
"react-router-dom": "^6.4.3",

I have the same issue!

Same issue - daily logins are nearly a dealbreaker for my use of Auth0 in my app. Any clarity would be much appreciated!

Thanks for reaching out @Michael-Xie , we wil look into this but have a couple of questions.

for some reason there are two auth0 key-value pairs in localstorage

There can be many in local storage, and that's by design. So nothing weird going on with seeing two here.
However, can you verify both of these have a refresh_token? I can see the second has one, but the one that includes the read:reports scope isn't showing one, does it have one?
If not, did it have one initially and did it get removed overnight?
Can you reproduce this in our sample application? If you can't can you please provide the HAR file containing the relevant requests to Auth0 so we can look into the requests made to Auth0 and the responses received from it? That would help us understand what our SDK could be doing incorrect.
@scottquested and @worthbak , thanks for chiming in here. If anyone of you would also be able to either try the sample application or provide a HAR file, that would help speed things up.

I'm not sure if this helps, or is related to @Michael-Xie but it seems my issue was user error 🙈
I was actually getting a missing_refresh_token every 24 hours and only a logout/login would fix the token issue.
Diving a bit further, it seems I have fixed this by setting the API access settings to "Allow offline access". Seems to have worked over the weekend!

I have been able to reproduce this and to solve it with v1 of our SDK you want to move the scope, currently set on getAccessTokenSilently, to the AuthProvider and ensure the AuthProvider contains all scopes you plan to use throughout your application. You can keep the scope on getAccessTokenSilently, but you want to ensure it also exist on AuthProvider.
That said, I believe this should be solved in v2. So upgrading to v2 is probably the ideal solution.
Let me elaborate what's happening in v1:

AuthProvider is configured with the default scope, resulting in a set of tokens thats valid for a certain period of time for these scopes
using isAuthenticated relies on those tokens to determine whether or not a user is authenticated. So as long as those tokens are valid, the user is considered authenticated.
getAccessTokenSilently is used with a different scope, resulting in another set of tokens thats valid for a certain period of time. As these are not the "main tokens" (which are based on the AuthProvider), they do not impact the authentication state.
The useEffect is refreshing the second set of tokens every two hours, but it's not refreshing the original tokens that are the ones that drive the isAuthenticated state. This means that after a period of time, the first tokenset will be expired, and isAuthenticated will be false. While the second set of tokens will still be valid.

Based on how v1 handles authentication state, I believe this is working as expected.
However, as we agree that this is weird, we reworked isAuthenticated, getUser and getIdTokenClaims in v2, to not behave like this anymore. We haven't solved this in v1 as it's a breaking change and we can not solve this without breaking people, hence the v2.

I'm not sure if this helps, or is related to @Michael-Xie but it seems my issue was user error see_no_evil
I was actually getting a missing_refresh_token every 24 hours and only a logout/login would fix the token issue.
Diving a bit further, it seems I have fixed this by setting the API access settings to "Allow offline access". Seems to have worked over the weekend!

Thanks for the update @scottquested
I did have the "allow offline access" enabled for the API application

What version of auth0 are you using?

@Michael-Xie 2.0

I have been able to reproduce this and to solve it with v1 of our SDK you want to move the scope, currently set on getAccessTokenSilently, to the Auth0Provider and ensure the Auth0Provider contains all scopes you plan to use throughout your application. You can keep the scope on getAccessTokenSilently, but you want to ensure it also exist on Auth0Provider.
That said, I this should be solved in v2. So upgrading to v2 is probably the ideal solution.
I reproduced it in v1, and could not reproduce it in v2.
Let me elaborate what's happening in v1:

Auth0Provider is configured with the default scope, resulting in a set of tokens thats valid for a certain period of time for these scopes
using isAuthenticated relies on those tokens to determine whether or not a user is authenticated. So as long as those tokens are valid, the user is considered authenticated.
getAccessTokenSilently is used with a different scope, resulting in another set of tokens thats valid for a certain period of time. As these are not the "main tokens" (which are based on the Auth0Provider), they do not impact the authentication state.
The useEffect is refreshing the second set of tokens every two hours, but it's not refreshing the original tokens that are the ones that drive the isAuthenticated state. This means that after a period of time, the first tokenset will be expired, and isAuthenticated will be false. While the second set of tokens will still be valid.

Based on how v1 handles authentication state, I believe this is working as "expected". However, as we agree that this is weird, we reworked isAuthenticated, getUser and getIdTokenClaims in v2, to not behave like this anymore. We haven't solved this in v1 as it's a breaking change and we can not solve this without breaking people, hence the v2.

Thanks for the thorough explanation. I didn't realize that Auth0Provider has scope prop until you mentioned it and then referencing the v.1.12.2 tag. Glad, v2 got reworked, because have different sets of tokens depending on scope wasn't too intuitive or hard to find documentations on its use cases.
I will give upgrading to v2 a shot.

@Michael-Xie 2.0

Thanks~! Gonna try upgrading to v2~! fingers-crossed

Let us know if you have any difficulties, so we can assist where needed and see if we can improve documentation.
Be sure to read the migration guide thoroughly.

because have different sets of tokens depending on scope wasn't too intuitive or hard to find documentations on its use cases.

This is still the case in v2 tho, nothing has changed on that regard, this is how OAuth works, see https://oauth.net/2/scope/. The idea is that you only get a token for the scopes you asked for, in this case you:

Initially asked for a token with the default scopes
Then ask for a token with more scopes

Because you are asking for more scopes then the scopes used for the token that was already issued, we need to contact Auth0 again to retrieve another set of tokens.
To avoid all of this, even with v2, you want to only set scope on the Auth0Provider, and not when u call any of our SDK's methods.
The only thing we did rework with v2 is how all of this affects the isAuthenticated, user and idTokenClaims state.

Hi @frederikprijck~!
Thanks for the links and explanation, they are really helpful~!
For the migration, I was able to migrate successfully to v2 and the user won't go back to the Splash page within 24 hours.
A couple of side questions I have are:

How does isAuthenticated go from true to false? From my understanding, if the user object exists then it is true. Does that mean that id_token's expiration controls the state of isAuthenticated?
If I want the user to stay logged until the max expiration is reached (I think it is 30 days) before the need to re-login, would calling getAccessTokenSilently in an interval enable this behaviour?

Good that migration worked.

No, the expiration on the id token is only used to accept an id token, and it doesnt have any direct relation to the isAuthenticated state. isAuthenticated will be set to false when Auth0 returns a login_required error in the event of trying to get a new access token when calling getAccessTokenSilently.

What do you mean with max expiration? Are you referring to the session duration on Auth0's side?

Good to hear that migration worked 🎉 .

No, the expiration on the id token is only used to accept an id token, and it doesnt have any direct relation to the isAuthenticated state. isAuthenticated will be set to false when Auth0 returns a login_required error in the event of trying to get a new access token when calling getAccessTokenSilently.

I see, how do we control when the login_required error will happen? Would adjusting the token expiration for a Custom API on auth0 do that?

What do you mean with max expiration? Are you referring to the session duration on Auth0's side?

Yeah, that's correct. https://auth0.com/docs/manage-users/sessions/session-lifetime-limits
What I want to do is to have the users stay logged in until they want to log out or until some lifetime limit is reached for the session. That was why I had the useEffect to getAccessTokenSilently() in order to keep the user logged in.

I see, how do we control when the login_required error will happen? Would adjusting the token expiration for a Custom API on auth0 do that?

A login_required is thrown by Auth0, so it relies on the Auth0 session duration, which you can control in your tenant settings.
Once you use refresh tokens, you also want to look into configuring the refresh token lifetime, see https://auth0.com/docs/secure/tokens/refresh-tokens/configure-refresh-token-expiration.

I see, how do we control when the login_required error will happen? Would adjusting the token expiration for a Custom API on auth0 do that?

A login_required is thrown by Auth0, so it relies on the Auth0 session duration, which you can control in your tenant settings.
Once you use refresh tokens, you also want to look into configuring the refresh token lifetime, see https://auth0.com/docs/secure/tokens/refresh-tokens/configure-refresh-token-expiration.

Hi @frederikprijck,
I did some experimentation with the different settings and here are the results:

Action
Result

Update Session Cookie settings (Inactivity time: 5min, Require Log in in: 10min)
Didn’t log user out. Token's expiresAt in local storage didn’t change

Update Id token expiration to 600s (10min) for i-5o application
No effect on getting user to log out. Token's expiresAt didn't change

Update Access Token expiration for functions-api with expiration set to 600s (10min)
local storage token's expiresAt date set to expire in 10 min and got refreshed subsequently

Turn rotate token off for i-5o application
Error since there is no refresh token and current app version needs it with missing token error. Also, no calls to the api server are made after the access token expired. There are no access token in local storage. Only the id token is retained and that is also expired. It doesn't log user out.

Add back rotate token and shorten absolute lifetime of refresh token to less than 10min (8.3 min or 500 sec)
access token in local storage only contains the expired refresh token with error that refresh token is invalid or unknown. There is an error User is not logged out.

It seems like the access token setting has the most effect. When the refresh token is active, the access token is automatically refreshed. So the user is still authenticated. If the refresh tokens settings were adjusted, the access token would expire, but the user is still authenticated.
What would the next step be to better understand how to control the isAuthenticated state?

Hey,
The isAuthenticated state is defined by what Auth0 tells us. If u use refresh tokens, you disconnect from Auth0's session and you will be considered authenticated until Auth0 tells us otherwise.
This should happen by throwing a login_required when calling getTokenSilently when you have either have set useRefreshTokens to false, or useRefreshTokens and useRefreshTokensFallback to true.
If you use refresh token but have not set useRefreshTokensFallback to true, calling getTokenSilently might throw a invalid_grant error when the refresh token is expired.
This doesnt mean the user is no longer authenticated, but we can not tell for sure. In that case, you want to catch invalid_grant and decide yourself what you want to do (e.g. call logout).
Also note that the id token expiration will have absolutely no effect on the duration of isAuthenticated.
Hopefully this helps. Let me know if it does not.

You saved me from a paranoia!! I just had to add useRefreshTokensFallback={true} when I updated to react 18 and auth0-react@2. I wish I read your comment earlier @frederikprijck ! Thanks a ton!


update new version cosmjs

@im6h you don't need to fork the repo to create a new PR on this repo. Do you mind checking out a new branch from the main pls?

@im6h you don't need to fork the repo to create a new PR on this repo. Do you mind checking out a new branch from the main pls?

Don't worry, the fork is not a problem for me. I checked my from the main branch

@im6h you don't need to fork the repo to create a new PR on this repo. Do you mind checking out a new branch from the main pls?

Don't worry, the fork is not a problem for me. I checked my from the main branch

But i'm too lazy to clone forked your repo to test it out, soooo I would prefer a branch from the main repo

@im6h you don't need to fork the repo to create a new PR on this repo. Do you mind checking out a new branch from the main pls?

Don't worry, the fork is not a problem for me. I checked my from the main branch

But i'm too lazy to clone forked your repo to test it out, soooo I would prefer a branch from the main repo

Lol, let's relax. I will update the main branch


JSDoc got included

Pull request for #1
-JSDoc get included for all the methods and constructor

@SMAKSS Great, thanks 🎉

@all-contributors please add @SMAKSS  for doc


Can't kill process

After Uninstall process can't remove. I see notice after shooting down system Ubuntu. There is a notice about not killed process serposcope.

Really strange error. There should have been an error in your uninstall process. Try the following :
sudo dpkg -r serposcope
rm /etc/init.d/serposcope

The second command may fix your bug.


Would love to get a "dest" path for "download" action and allow for other file types not just JSON.

My ultimate goal is to allow for build assets/configurations to be on a remote server and the build machine to access that. Right now I am using the download action to get a JSON from a remote server that can assign some plist items, flags to build and credentials to upload to itc. However, I'd like to ultimately have the ability to download app icons (png), splash screens, and even plists overtop my existing plists (because the update_plist_xxx seems to be limited to strings - not bools or dictionaries).

The Fastfile is a Ruby file, meaning you can do just about anything there. You can use curl by using the sh action or you can take a look at the download action and basically copy the code to your Fastfile to fit your needs :+1:

Let me know if you need any help with that :+1:


Test that MaterialApp can be inside a FocusScope

The underlying issue was fixed by the new focus system.
Fixes #1523

@Hixie

lgtm


installable from ASDF-VM

This is a request to support asdf-vm
I've filed an issue here to make a repo for dasel. Maybe you can comment on that issue to get maintainership of the repo once created?
I can contribute to the creation of the plugin, but it's already very very simple, and you can copy/paste from other Github-based plugins.
https://github.com/asdf-community/.github/issues/11

Thanks for your contribution!
I'd be happy if you could contribute to the creation of the plugin. I've not used nor created any asdf plugins before.
I do have plans to release dasel on other package managers (homebrew for example) but haven't gotten round to it yet.

Hey @ghostsquad,
I see that the required repo has been created on the asdf side: https://github.com/asdf-community/asdf-dasel
Are you planning on setting this up?

Hey @ghostsquad,
I see that the required repo has been created on the asdf side: https://github.com/asdf-community/asdf-dasel
Are you planning on setting this up?

I am indeed. I'll do it this weekend.

I am indeed. I'll do it this weekend.

depends on #83

depends on #83

almost there!
https://github.com/asdf-vm/asdf-plugins/pull/346?ts=4
Once this is merged, I'll submit a PR here to update the readme. 😄

almost there!
https://github.com/asdf-vm/asdf-plugins/pull/346?ts=4
Once this is merged, I'll submit a PR here to update the readme. 😄


Removed flag multicluster.enabled from values.yaml.

/cc @sdake @costinm @baodongli

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: gyliu513
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/OWNERS [gyliu513]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@gyliu513: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
4a8c0aeb93a4ce0188e4ecc05bce01d019d58ede
link
/test istio-pilot-e2e

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

This change breaks using the helm charts for multicluster with the control plane in any namespace other than istio-system.  The controller for the secrets for the remotes' kubeconfigs relies on the --ClusterRegistriesNamespace pilot discovery arg.

@sdake  Found this with the e2e tests.  They always create random-ish namespaces to install the Istio control-plane.

The design always allowed istio to be run in any namespace, not only istio-system. This got lost somewhere.
As of last year, e2e tests for multiple users were run in a shared cluster, but restricted to a single namespace created with a random name. Now, each run has the entire cluster, so it's ok to istio-system, but there should not be any implicit assumption about the name.

@gyliu513 that sounds good to me.  The primary goal here is to enable the e2e  tests that already implement multicluster with a secondary goal of removing the configmap for good.

@andraxylia thanks for the correction.  Hard to keep up with all of the policy changes wrt Istio :)  Seems like @gyliu513 offers a simple approach to solving this problem with an optional --multiclusterSecretsNamespace that defaults to istio-system.

@sdake @tiswanso @andraxylia I posted a PR at here https://github.com/istio/istio/pull/6459


Disabled CDS via Command Line Option for Dynatrace Injection

Making the Agent injection future proof for upcoming Java Version Changes

Is there a chance that this request get's merged in the near future?
Here is some more Info.
Oracle enabled Class Data Sharing aka CDS by default for Java 11 (-Xshare:off is set to -Xshare:auto). Under certain circumstances, this can lead to crashes in combination with the Agent. The problematic behaviour of the JVM has already been corrected in the upcoming Java 12 (19.3).
A backport to Java 11 is at least planned. Adding the explicit VM argument ensures the same corrected behaviour for all Java 11 versions with and without the backport.
The option we set now (-Xshare:off) is the default for all Java Versions < 11. So it does not change the behaviour of these versions.

@rbamberger Sorry, last time I looked at this PR there was no CLA.  I see now there is one.


Add double quotes for CSS / filter to prevent warnings in Safari debugger

A user of our plugin reported at https://gitlab.com/IvanSanchez/Leaflet.GridLayer.GoogleMutant/issues/24#note_23896582 that the following CSS is producing "Unexpected CSS token" warnings in Safari debugger:
.leaflet-oldie .leaflet-popup-tip {
	width: 24px;
	margin: 0 auto;
	-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
	**filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);**
	}
.leaflet-oldie .leaflet-popup-tip-container {
	margin-top: -1px;
	}

We fixed this by adding double quotes which according to our research is the suggested fix for those kind of warnings: filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);"
Perhaps this change should also be added to the leaflet repo.

Duplicate of #5066, #4977, #4122.

Always add a " " double quote to the filter value in the correspondent path.
In my case:

The path is ./node_modules/leaflet/dist/leaflet.css:538:15
So i went to  ./node_modules/leaflet/dist/leaflet.css and search for filter property:

Then added the double quote:


BUG: fix two issues with asv publish

The first issue occurred if a JSON file contained an integer and another contained a string, for the same parameter (for instance, for RAM, a file might contain “8G” and another file 104727291):
Traceback (most recent call last):
  File "/Users/tom/miniconda3/bin/asv", line 9, in <module>
    load_entry_point('asv', 'console_scripts', 'asv')()
  File "/Users/tom/tmp/asv/asv/main.py", line 36, in main
    result = args.func(args)
  File "/Users/tom/tmp/asv/asv/commands/__init__.py", line 48, in run_from_args
    return cls.run_from_conf_args(conf, args)
  File "/Users/tom/tmp/asv/asv/commands/publish.py", line 77, in run_from_conf_args
    return cls.run(conf=conf)
  File "/Users/tom/tmp/asv/asv/commands/publish.py", line 182, in run
    val.sort(key=lambda x: x or '')
TypeError: unorderable types: str() < int()

The second issue occurred if one file contained an empty string and another contained None, for the same parameter, since this would result in two empty strings in the final list and would then create too many entries in the generated website:
Before

After

I'll look into how easy it would be to add regression tests

@mdboom @pv - this is now ready for review!

Actually, there's a bug in the JS parameter selector, which requires changes in this part of the code, or alternatively one the JS side, gh-385

Probably superceded by gh-386

Going to close, gh-386 should fix these + also fix the bugs in the "missing keys" handling


cgeo drops corrected coordinates

When I set "Corrected Coordinates" for a cache on the geocaching.com-website, c:geo can import it and display the cache with the new coordinates on the map. But when I store the cache, c:geo drops these new coordinates after some time (I guess 1-2 days) and replace it by the original ones. As workaround I have to refresh the cache shortly beforce I want to look for it.
These bug exists at least for the last 2 versions (including the version "2012-01-04") on Nexus S.

Duplicate of #955.


Manuscript: Create Figures

Figure 1 | The SysNDD Concept, Curation Approach, and Tools
Description: This figure should illustrate the overall concept of SysNDD, including its purpose, the curation process, and the tools provided for users. It can include a schematic diagram showing the workflow from data collection to curation and integration into the SysNDD database. Highlight the key features of SysNDD, such as the use of standardized ontologies, the entity concept, the expert curation process, and the different tools available (web interface, API, analysis tools).
Detailed Figure Content:

[ ] The entity concept with example.
[ ] Schematic diagram of SysNDD's workflow.
[ ] Key features and tools: API, web interface, curation process.
[ ] Standardized ontologies used (HGNC, HPO, OMIM, MONDO).

Figure 2 | NDD Gene-Disease Associations Over Time
Description: A timeline or bar chart displaying the accumulation of gene-disease associations in SysNDD over time. This figure should show the growth in the number of curated entities, categorized by inheritance pattern or confidence category. It will illustrate how the database has expanded and evolved, providing insight into the dynamic nature of neurodevelopmental disorder research and curation.
Detailed Figure Content:

[ ] Timeline or bar chart of curated entities.
[ ] Categories by inheritance pattern and confidence status.
[ ] Growth and evolution of the database.

Figure 3 | Comparing Different Curation Efforts
Description: A comparison of SysNDD with other major gene-disease databases (e.g., OMIM, Orphanet, PanelApp, SFARI). This could be represented as an upset plot or a Venn diagram showing the overlap of gene entries among these databases. Additionally, a similarity matrix plot could be included to illustrate the cosine similarity between different curation efforts, highlighting SysNDD's unique contributions and the extent of its overlap with other resources.
Detailed Figure Content:

[ ] Upset plot of database gene entry overlaps.
[ ] Similarity matrix plot of different databases.
[ ] Highlight SysNDD's unique status.

Figure 4 | Phenotypes and Variation
Description: This figure should provide a detailed view of the phenotypic annotations and genetic variations documented in SysNDD. It could include a bar plot showing the frequency of different phenotypes among curated entities, along with examples of specific variations (e.g., truncating, missense) and their associated phenotypes. This will demonstrate the diversity of phenotypes and genetic variations captured in the database.
Detailed Figure Content:

[ ] Bar plot of phenotype frequencies.
[ ] Examples of genetic variations and associated phenotypes.
[ ] Diversity of phenotypes and genetic variations.

Figure 5 | Phenotype and Functional Clustering and Their Correlation
Description: A comprehensive visual representation of the results from phenotype and functional clustering analyses. This could include correlograms showing the correlation between different phenotypes, MCA plots demonstrating the clustering of entities based on phenotypic data, and functional clusters of genes with enriched interacting proteins. Highlight the correlation between phenotype clusters and functional gene clusters to illustrate how phenotypic data can inform functional insights.
Detailed Figure Content:

[ ] Correlograms of phenotype correlations.
[ ] MCA plots of phenotype clusters.
[ ] Functional gene clusters with enriched interacting proteins.
[ ] Correlation between phenotype and functional clusters.

How to generate the figures?
--> from the website directly?
--> through R by plotting the ggplot (should use the API and look like on the website)


association conditions use parameter instead of Constant

How can I use parameter syntax in association conditions instead of manually constructing strings using Constant
My usage scenario is to make a column equal to a specified value in an association condition, which may be of any type such as string, number, timestamp, etc

This is not support currently. I'll look into adding support for this.


Link in update prompt is displayed in plain

In v1.3 the HTML in the update dialogue is displayed in plain text:

Confirmed.


test against napari 0.5

release candidate 0.5.0a5 just dropped. (1) should double check everything still works and (2) worth noting that plugins can now modify the menu structure in the gui.

well it's out! https://github.com/napari/napari/releases/tag/v0.5.0

everything looking good!


Use a default connect timeout when none is specified

If one uses Options to connect, and creates a bare bone Options structure to set some of the options without setting Timeout, the Connect is going to fail with a timeout error. This is because Connect uses Options.Timeout for the low level TCP connect.

Closed by #190


Links behind fraunhofer authwall

Hi all,
My name is Mahmoud Abdelrazek I work with @adhamhashibon at UCL.
I am going through the documentation to familiarize myself with SimPhoNy but a few links refer to pages on fraunhofer's GitLab. For example:

In multiple_wrappers tutorial, the link to sqlalchemy-wrapper points to the version on fraunhofer's GitLab.
In utils page, the JSON-LD schema points to OSP API in Marketplace on fraunhofer's GitLab.

Is it possible to change these links to somewhere on the open internet? or open access to the pages linked in the docs?

Hi Mahmoud :)
We are currently reviewing the content in the docs, and will hopefully make a new release soon. We will make sure these points are addressed as well.
Thanks a lot for your feedback!


feat: adds welcome page & pull / build buttons

feat: adds welcome page & pull / build buttons
What does this PR do?

Updates the welcome / empty screen page so there is no more empty
descriptions
Adds a build / pull button for a test iamge
Added API for opening an eternal link
If pulling for more than 5 seconds, show a warning

Screenshot / video of UI

https://github.com/containers/podman-desktop-extension-bootc/assets/6422176/ac51a157-f896-498f-80e3-316e22755517
What issues does this PR fix or reference?

Closes https://github.com/containers/podman-desktop-extension-bootc/issues/150
How to test this PR?

Go to the welcome page with no builds, click on the pull / build
buttons.
Signed-off-by: Charlie Drage<EMAIL_ADDRESS>

@slemeur @deboer-tim
Very simple welcome page that incorporates all that was talked about this week.
Let me know with regards to the design what to improve and then I can add / modify the tests.
TODOs after this PR:

On clicking "Build" pre-select the image, this feature will most likely be in following #235

This is very good!

Updated to also now preselect the image when going to the build page:
https://github.com/containers/podman-desktop-extension-bootc/assets/6422176/8c9f6c89-79ad-4206-82fb-9b0ba5ed435b


refactor to permit HistoryProviders and in memory history + dart_dev

Issue

ddev format changed....

Areas of Regression

none

Testing

smithy is happy

Code Review
@maxwellpeterson-wf
@evanweible-wf
@dustinlessard-wf
@jayudey-wf

wrong fork...


Correctly calculate offset to data following Header

When an INumber value is created, for values other NumberType::Static or NumberType::I24, a Header is allocated with trailing space for the 64-bit data value. However, the calculation used to create the pointer to the data when accessing it via the as_*_unchecked* family of functions does not work properly because it first casts the Header pointer to a 64-bit value pointer and then does the offset which is incorrect on platforms where the Header does not occupy 64-bits such as i686-unknown-linux-gnu.
As a result, the data pointer is incorrectly offset and partially points out of bounds for the allocation. This seems to work ok with some memory allocators (possibly because they round the allocation size up to the next power of 2 and so the adjacent memory is unused) but on others causes heap corruption leading to SIGSEV.
miri detects this situation and offers the following diagnostic:
$ cargo +nightly miri test --target=i686-unknown-linux-gnu -- can_store_various_numbers
...
running 1 test
test number::tests::can_store_various_numbers ... error: Undefined Behavior: dereferencing pointer failed: alloc135951 has size 12, so pointer to 8 bytes starting at offset 8 is out-of-bounds
   --> src/number.rs:79:9
    |
79  |         &mut *(self as *mut _ as *mut i64).add(1)
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereferencing pointer failed: alloc135951 has size 12, so pointer to 8 bytes starting at offset 8 is out-of-bounds
    |
    = help: this indicates a bug in the program: it performed an invalid operation, and caused Undefined Behavior
    = help: see https://doc.rust-lang.org/nightly/reference/behavior-considered-undefined.html for further information
    = note: BACKTRACE:
    = note: inside `number::Header::as_i64_unchecked_mut` at src/number.rs:79:9
note: inside `number::INumber::new_i64` at src/number.rs:437:18
note: inside `<number::INumber as std::convert::From<i32>>::from` at src/number.rs:598:9
note: inside closure at src/number.rs:711:26
note: inside `number::tests::can_store_various_numbers` at src/number.rs:704:5

This corrects the logic used to generate the data pointer so that it first offsets the pointer by the size of 1 Header and then performs the cast.

Thanks for the PR! I'll need some time to make sure I understand the implications of this issue. Would you be able to add a CI step which would detect the problem as well?

Ah, I see the issue. I was expecting that 64-bit values be aligned to 64-bits even on 32-bit architecture. In other words, that the 64-bit offset was always correct.
https://github.com/Diggsey/ijson/blob/0fbe9002ed8edc340ad12fb950adceb793d8f9dc/src/number.rs#L357
Rather than the change in this PR, it might be better to use an approach which ensures the offset matces that in the Layout.

I tested layout generation on i686-pc-windows-msvc and it seemed to work correctly, so maybe there is something different about the linux target.

It looks like preferred alignment on i686-pc-windows-msvc is 4 bytes but on i686-unknown-linux-gnu, it's 8 bytes:
https://rust.godbolt.org/z/v8x84c1rf

Would you be able to add a CI step which would detect the problem as well?

It's definitely possible to add miri testing to CI. Unfortunately, there are other miri errors (stacked borrows violations) which aren't addressed by this PR.

It looks like preferred alignment on i686-pc-windows-msvc is 4 bytes but on i686-unknown-linux-gnu, it's 8 bytes:

That doesn't matter though, what matters is the alignment of a u64. Bizarrely that seems to be only 4 bytes on i686-unknown-linux-gnu (see the field offset of foo in the printed layout):
https://rust.godbolt.org/z/hGWea4Md8
I would have naively expected the alignment of a u64 to be the same for all i686 targets.

Ah good call! That happens because the data layout for i686-pc-windows-msvc contains i64:64 which sets the alignment to 64bits but the data layout for i686-unknown-linux-gnu does not contain that and thus the LLVM default of i64:32:64 is used instead. Clang uses the same data layout strings that rustc does so this seems to be expected platform behavior.

So there's two solutions here:

Simply always use 8-byte alignment for the payload. We just need to update the layout calculation on the line I linked to before.

Make the alignment match the alignment of a u64 on the target. We need to change the offset code to apply the correct offset in the correct circumstances, without adding a performance cost. This is a bit tricky because many of the relevant methods are not "const" yet.

It's definitely possible to add miri testing to CI. Unfortunately, there are other miri errors (stacked borrows violations) which aren't addressed by this PR.

I already do MIRI testing in CI and it passes? I just don't test on 32-bit atm.

Weird, even using 64-bit Linux, I get the following stacked borrows error (on a clean checkout of master):
$ cargo +nightly miri test --target=x86_64-unknown-linux-gnu -- can_store_various_numbers
running 1 test
test number::tests::can_store_various_numbers ... error: Undefined Behavior: trying to retag from <324295> for Unique permission at alloc135765[0x8], but that tag does not exist in the borrow stack for this location
   --> src/number.rs:80:9
    |
80  |         &mut *(self as *mut _ as *mut i64).add(1)
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |         |
    |         trying to retag from <324295> for Unique permission at alloc135765[0x8], but that tag does not exist in the borrow stack for this location
    |         this error occurs as part of retag at alloc135765[0x8..0x10]
    |
    = help: this indicates a potential bug in the program: it performed an invalid operation, but the Stacked Borrows rules it violated are still experimental
    = help: see https://github.com/rust-lang/unsafe-code-guidelines/blob/master/wip/stacked-borrows.md for further information

$ rustc +nightly --version -v
rustc 1.67.0-nightly (77e57db38 2022-10-30)

It's possible that MIRI has changed since the last time it was run on this repo - I just approved CI on this PR so we'll soon see.

Do you have a preference between solutions 1&2? The other option I see would be to explicitly add a u32 padding field to Header and that by itself also fixes the issue.

Do you have a preference between solutions 1&2?

I think 1 is simpler even if it does use a bit of extra memory on 32-bit linux, so I'd probably go for that.

The other option I see would be to explicitly add a u32 padding field to Header and that by itself also fixes the issue.

You have to remember that Header is used for Static and Fixed variants where we don't want the extra padding (because there is no payload), so adding another field is not workable.

It looks like MIRI has become more strict, and that's why it's failing. I'll see if I can figure out why.

So, at least in the first example, it's failing because I'm sharing the pointer calculation code between the *const and *mut cases, and it doesn't like that, so it's easily fixable by duplicating the code. It's a shame there's no way to abstract it though...

Implemented option 1 and confirmed that miri seems ok with it and my i686-unknown-linux-musl build no longer SIGSEVs when running tests either. I made the change for all of I64, U64 and F64 as according to the target data layout, they all have the same alignments.
I also fixed the clippy warnings.

LGTM, I'll fix the MIRI issues in a separate change.

Codecov Report

Merging #19 (9472657) into master (607027f) will decrease coverage by 0.14%.
The diff coverage is 80.00%.

@@            Coverage Diff             @@
##           master      #19      +/-   ##
==========================================
- Coverage   47.92%   47.77%   -0.15%
==========================================
  Files           9        9
  Lines        2982     2991       +9
==========================================
  Hits         1429     1429
- Misses       1553     1562       +9

Impacted Files
Coverage Δ

src/number.rs
69.36% <80.00%> (ø)

src/macros.rs
25.00% <0.00%> (-8.34%)
:arrow_down:

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

Fixed the formatting and satiated clippy by implementing Eq. Thanks for the quick turn around on this! 🥇

Thanks!

I fixed the Miri issues and added CI for 32-bit linux and windows. It turned out to be a bit more involved than I thought 😅


the offset is lower than the number of bytes written

TL;DR
from time to time, our "client" build folder upload fails with
Error: google-github-actions/upload-cloud-storage failed with: the offset is lower than the number of bytes written. The server has 0 bytes and while 10 bytes has been uploaded - thus 10 bytes are missing. Stopping as this could result in data loss. Initiate a new upload to continue.
but all files are uploaded correctly, rerun always fixed the issue and it really happens randomly
Expected behavior
No response
Observed behavior
No response
Action YAML
- name: Set up Cloud SDK
              uses: google-github-actions/setup-gcloud@v2

            - name: Upload to Google Cloud storage
              uses: google-github-actions/upload-cloud-storage@v2
              with:
                  path: ./build
                  destination: ${{ env.BUCKET_URL }}
                  parent: false # this will skip creating ./build folder
                  process_gcloudignore: false # we upload everything from build folder

Log output
Run google-github-actions/upload-cloud-storage@v2
  with:
    path: ./build
    destination: XXXX
    parent: false
    process_gcloudignore: false
    gzip: true
    resumable: true
    concurrency: 100

Upload files
  Uploading XXXX
  (... same XXX tiumes

  Error: google-github-actions/upload-cloud-storage failed with: the offset is lower than the number of bytes written. The server has 0 bytes and while 10 bytes has been uploaded - thus 10 bytes are missing. Stopping as this could result in data loss. Initiate a new upload to continue.

Additional information
No response

closing because of #362 #331 🤷♂


GH-17211: [C++] Add hash32 and hash64 scalar compute functions

Rationale for this change

Support for calculating elementwise hashes.

What changes are included in this PR?

Continuation of https://github.com/apache/arrow/pull/39836 with the following changes:

Use column oriented hash-combine rather than flattening nested elements
Support arbitrary nesting levels with an optimization that only hash child arrays if they are also nested

Are these changes tested?
Partially, working on a proper testing suite.

Are there any user-facing changes?
There is a new compute kernel hash_64 available.

GitHub Issue: #17211

Seems like we generate the same hash for both NULL and 0 which is not ideal.
In [1]: import pyarrow as pa

In [2]: import pyarrow.compute as pc

In [3]: pc.hash_64([None])
Out[3]:
<pyarrow.lib.UInt64Array object at 0x124247be0>
[
  0
]

In [4]: pc.hash_64([0])
Out[4]:
<pyarrow.lib.UInt64Array object at 0x1033027a0>
[
  0
]

@pitrou NULLs are explicitly hashed as 0, but 0::int also hashes into 0 due to https://github.com/apache/arrow/blob/main/cpp/src/arrow/compute/key_hash_internal.cc#L304, any idea how could we overcome this to generate unique hashes for both NULL and 0 without performance regression?

Well, you could just add a constant, e.g.:
template <bool T_COMBINE_HASHES, typename T>
void Hashing32::HashIntImp(uint32_t num_keys, const T* keys, uint32_t* hashes) {
  constexpr uint64_t kMultiplier =<PHONE_NUMBER>5074694791ULL;
  constexpr uint64_t kAddend =<PHONE_NUMBER>048271785ULL;
  for (uint32_t ikey = 0; ikey < num_keys; ++ikey) {
    uint64_t x = static_cast<uint64_t>(keys[ikey]) + kAddend;
    uint32_t hash = static_cast<uint32_t>(BYTESWAP(x * kMultiplier));

    if (T_COMBINE_HASHES) {
      hashes[ikey] = CombineHashesImp(hashes[ikey], hash);
    } else {
      hashes[ikey] = hash;
    }
  }
}

Well, you could just add a constant, e.g.:
template <bool T_COMBINE_HASHES, typename T>
void Hashing32::HashIntImp(uint32_t num_keys, const T* keys, uint32_t* hashes) {
  constexpr uint64_t kMultiplier =<PHONE_NUMBER>5074694791ULL;
  constexpr uint64_t kAddend =<PHONE_NUMBER>048271785ULL;
  for (uint32_t ikey = 0; ikey < num_keys; ++ikey) {
    uint64_t x = static_cast<uint64_t>(keys[ikey]) + kAddend;
    uint32_t hash = static_cast<uint32_t>(BYTESWAP(x * kMultiplier));

    if (T_COMBINE_HASHES) {
      hashes[ikey] = CombineHashesImp(hashes[ikey], hash);
    } else {
      hashes[ikey] = hash;
    }
  }
}

Thanks, that was my idea as well just didn't want to add an extra operation.

Just asking - any idea if there is line of sight to this issue being closed? I am interested because, among other things, I believe this Arrow functionality is the underlying reason why pandas cannot currently group by a pyarrow-backed struct series.

Just asking - any idea if there is line of sight to this issue being closed? I am interested because, among other things, I believe this Arrow functionality is the underlying reason why pandas cannot currently group by a pyarrow-backed struct series.

The PR should be ready now. Do you have a reference to the relevant pandas issue perhaps?

@kszucs I couldn’t find an existing pandas issue so I created one, see https://github.com/pandas-dev/pandas/issues/60594#issuecomment-2557730650


Support limiting the results coming back from a query

Addresses #28

During implementation of this, I realised that the Streams being returned were eagerly evaluated.
I haven't found a good way to avoid that yet, so for the moment this changes everything to return List instead.

I also had a quick look at getting Stream to play nicely with Free but didn't have any luck

This https://github.com/typelevel/cats/blob/34e206af4b061730587095399ee2d3f0e8e0ed97/core/src/main/scala/cats/std/stream.scala#L45 was pointed out to me and there was a suggestion I might want to look at CoFree. I decided at that point that, for the moment at least, discretion would be the better part of valour.


Expose trailers-only response status through C++ callback API

We have a customer feature request to expose whether a C++ callback API client-side call received only a trailers-only response. We actually already had this plumbing in the core subsurface but it was not exposed to the C++ layer in any way. This PR:

Uses the trailing_metadata_available field of the transport_stream_op_batch on every client call in call.cc
Exposes this value through a subsurface core function. Note that this is not part of the core surface API so it does not need a gRFC. Of course this means that it is only exposed to the C++ layer that can directly call into core subsurface, but that's fine since that's where our feature request lives.
Checks that value before calling OnReadInitialMetadataDone in the C++ callback API layer and sets ok=false if that is the case.
Tests this condition in an end2end test that gets a trailers-only error response

Looks like this broke the grpc_tool_test so I'll have to see what went wrong.

And it looks like grpc_tool_test is a change detector test on echo.proto, so I'll just fix it up.

Thanks for the detailed reviews! Need to figure out what's breaking the Android build though (Nexus 6 only so I bet debugging tools might be hard to find)

Android tests passed on the trial run at https://github.com/grpc/grpc/pull/26319. I am unable to reproduce the crash with a local build of the interop app, either on my machine (emulator) or by sending the apks to run on Firebase, which is what our failing CI job is doing.
I can download the apks from the CI build and reproduce the crash on a local emulator, but I haven't figured out how to attach a debugger to these runs with an "external" (not locally built) apk yet.
The fact that the apks built on my machine work fine on devices with API level 21 and 22 might suggest there's some issue with the ndk toolchain that is being used on our Kokoro workers that is not present on an up-to-date install of the Android SDK/NDK. But I haven't come up with a way to test that guess yet.

@ericgribkoff Thanks for all the help debugging. I think that commit f224f1a resolves the issue. It is hard to understand the source - looks more like a compiler error than anything else. Of course, there were known TLS bugs in API < 23 and this is crashing because of a TLS value acting up for API 21 and 22. So maybe that's the source of the problem. No idea why it only popped up now though.


Use ERB in env file?

Is there any way to parse this first with ERB (using Rails)?
Similar to how yml files work:
  url: <%= ApplicationConfig.defaults("REDIS_URL") %>
  channel_prefix: threadable_api_production

i've been using yml files with config_for(:the_thing) to get the ENV files into rails
# config/the_thing.yml
shared:
  base_url: <%= ENV["BASE_URL"] %>
  admin_password: <%= ENV["ADMIN_PASSWORD"] %>

does this get you what you need? rather than trying to run ruby and interpolate in the .env file

@gcentauri I referenced yml files in my question…

@benlieb there is not erb+yaml support built into dotenv, but you could pretty easily load the file yourself:
Dotenv.update YAML.load(ERB.new(Dotenv::Rails.root.join('.env.yml').read).result)


build issue due to flutter framework depending on intl 0.19.0

Resolving dependencies...
Note: intl is pinned to version 0.19.0 by flutter_localizations from the flutter SDK.
See https://dart.dev/go/sdk-version-pinning for details.

Because every version of ensemble from git depends on intl ^0.18.0 and every version of flutter_localizations from sdk depends on intl 0.19.0, ensemble from git is incompatible with flutter_localizations from sdk.
And because every version of device_preview from git depends on flutter_localizations from sdk, ensemble from git is incompatible with device_preview from git.
So, because ensemble_live depends on both ensemble from git and device_preview from git, version solving failed.

when building ensemble_live

reverted my changes, the issue is that the build for ensemble_live gets the latest flutter from stable channel. That is not correct. We have to hardcode the version to the one we use


Refractor gameserver code

Disclaimer: This is actually a duplicate issue of #170 but reformulated
The current gameserver code
The current gameserver code is sparkled in a lot of places.
You can get a list of source files the server uses (.cpp only, .hpp not listed) in the inexor/server/CMakeLists.txt (In contrast to those the client uses listed in inexor/client/CMakeLists.txt).
Some files get solely splitted by defining the macro "STANDALONE" before compiling the server.
A better design
A better design would have all (or at least a lot/most) server stuff in the inexor/server/ folder.
(Inexor client stuff needs a lot more refactoring if we want to divide everything into logical modules, so its not part of this issue)
This would require the following steps:

Add the lines to the inexor/server/CMakeLists.txt which tells it to search this folder for .cpp files

declare_module( iirc but could be checked from cmake/functions.cpp which will replace the old hardcoded list of source files in this CMakeLists.txt

Move all code for the server into new files in inexor/server/

splitting files formerly separated by this STANDALONE macro
also splitting functions some times

two functions instead of one: one for the server one client
and other refactoring will probably needed

This is a rather big issue, so it could be done in multiple steps.

We're talking about refactoring only right? no enhancing.

Ok I'm going to take care of this.

Ok having started several times I think I now have a descrete plan how to refactor the game server code.
It has to be done step by step and this time I want to keep my commits stable.
Every class/struct/enumeration/macro will be moved into its own file.
This refactoring project also includes refactoring of the following files:

fpsgame/game.hpp
shared/tools.hpp
fpsgame/ctf.hpp
fpsgame/bomb.hpp
fpsgame/collect.hpp
fpsgame/capture.hpp
fpsgame/hideandseek.hpp

TODO list:

[ ] Move all enumerations into an own file in this folder: inexor/enumerations/
[ ] Move all macros into an own file in this folder: inexor/macros/
[ ] move all templates into an own file in this folder: inexor/templates/
[ ] Replace all enumerations in game.hpp with their corresponding #includes
[ ] Take apart tools.hpp: replace all definitions with #includes
[ ] Take apart fpsgame/server.cpp
[ ] Take apart engine/server.cpp

I know that some don't like micro commits but I can squash them later anyways.
Also it is very easy to group together code parts once they are separated into all these files.

Refers to #70

This was done with #550


Autorest Regen Preview to 3.0.0-alpha.20231016.11 by Michael Nash from refs/pull/3758/head

Triggered from https://github.com/Azure/autorest.csharp/pull/3758

API change check
API changes are not detected in this pull request.


Handle Gcore API endpoint unavailability.

A quick sync with our active version.
This version handles Gcore API endpoint unavailability and is PEP8 compliant.

@gael-api Thanks for your PR!


Your README citation lacks a closing parenthesis

@inproceedings{wang-etal-2021-stage,
    title = "Stage-wise Fine-tuning for Graph-to-Text Generation",
    author = "Wang, Qingyun  and
      Yavuz, Semih  and
      Lin, Xi Victoria  and
      Ji, Heng  and
      Rajani, Nazneen",
    booktitle = "Proceedings of the ACL-IJCNLP 2021 Student Research Workshop",
    month = aug,
    year = "2021",
    address = "Online",
    publisher = "Association for Computational Linguistics",
    url = "https://aclanthology.org/2021.acl-srw.2",
    pages = "16--22"
} <- the original lacks this :(

Thank you so much!

np :)
Great work btw!


Test continuous live streaming

This is a PR for https://github.com/aiortc/aioquic/issues/242.
I do not know how to fix the problem nor write tests for /tests.
What I do know is that the server only sends 28 datagrams.
Steps to reproduce:

Follow the instructions at https://github.com/aiortc/aioquic/tree/main/examples#chromium-and-chrome-usage then navigate to https://localhost:4433/. I included the script (script.js) in htdocs.

Expected result:

I write/send one (1) datagram to the server.
The server writes datagrams to client until I tell it to stop with writer.close()

What actually happens:

The server sends 28 datagrams to client then stops.
WebTransportError: Connection lost. thrown twice.

What I am actually trying to do is stream media using aioquic and WebTransport. For that I need only send one (1) initial datagram telling the server what to stream, then read the datagrams until I call writer.close() or transport.close(). Very simple.

I really don't see how this PR provides anything to the project?
Also if you want to customise the demo behaviour, you don't need to modify the server itself, you can modify the demo:
https://github.com/aiortc/aioquic/blob/4134e6f9952822a4172eef1697d4d68ea2487d5b/examples/demo.py#L103

I really don't see how this PR provides anything to the project?

The goal is clearly stated in OP: Test continuous, live-streaming; where 1) only one (1) datagram is written to server; (2) datagrams are streamed from server to client indefinitely until writer.close() or transport.close() are called in the browser.
Currently that does not appear to be possible, either due to idle timeout or some other reason I do not know about.

Also if you want to customise the demo behaviour, you don't need to modify the server itself, you can modify the demo:

Well, I don't know how to do that to achieve the requirement. You said open a PR in https://github.com/aiortc/aioquic/issues/242. That is what I did here.
I am simply trying to determine if it is possible to live-stream using datagrams or streams. So far I have not located any code which demonstrates that capability using aioquic. I don't know how to explain the use case and where I am stuck any better. I tried explaining here https://groups.google.com/a/chromium.org/g/web-transport-dev/c/UkdFt4aI8RY?pli=1 and here as well https://groups.google.com/a/chromium.org/g/web-transport-dev/c/wpSrznsMJJM/m/fQ3fizBqAgAJ.

I really don't see how this PR provides anything to the project?
Also if you want to customise the demo behaviour, you don't need to modify the server itself, you can modify the demo:
https://github.com/aiortc/aioquic/blob/4134e6f9952822a4172eef1697d4d68ea2487d5b/examples/demo.py#L103

I just tried using code in demo.py - after I changed http3_server.py back to original example code
while True:
        message = await receive()
        if message["type"] == "webtransport.datagram.receive":
            print(message)
            for chunk in iter(lambda: ''.join(choice(digits) for i in range(512)).encode(), b''):
                if chunk is not None:
                    await send(
                        {
                            "data": chunk,
                            "type": "webtransport.datagram.send",
                        }
                    )

Same result.

Now, I know I can stream with Python bacause this code works to stream raw PCM using Native Messaging.
while True:
        receivedMessage = getMessage()
        process = subprocess.Popen(split(receivedMessage), stdout=subprocess.PIPE)
        os.set_blocking(process.stdout.fileno(), False)
        for chunk in iter(lambda: process.stdout.read(1024 * 1024), b''):
            if chunk is not None:
                encoded = str([int('%02X' % i, 16) for i in chunk])
                sendMessage(encodeMessage(encoded))

Something is limiting the WebTransport stream/datagram output to client. I am more than likely doing something incorrectly. You are the expert. Kindly illuminate.

Importantly, if you are not paying attention to Task Manager - after aioquic stops tranmitting data to the browser - you won't notice that http3_server.py keeps increasing resource consumption by the second. Something ain't right.

I created a video of memory consumption of aioquic running the code in this PR (the suggested modification to demo.py). Is a buffer being filled but not transmitted to clent somewhere in your code?
Notice how RSS grows exponentially when the server is run - and continues growing even after WebTransport connection is lost.
If I am not mistaken this is what is referred to as a memory leak?
https://www.quora.com/What-does-rss-in-the-task-manager-program-of-xubuntu-stand-for

RSS (Resident Set Size [of Memory]) is that section of the Virtual Memory that's actually in RAM. This number can contain SHR. Hence, the sum of RSS values of two processes need not be the actual RAM they're consuming. So, for example, consider a process that has forked off a child. Until either process changes something, they share the same Resident Set (they just don't know it due to Virtual Memory).

RSS stands for Resident Set Size. It basically shows the amount of RAM your application is using! If Chrome is using 59 MiB, it means Chrome has taken 59 MiB of your physical memory at this moment.

aioquic_memory_leak.webm.zip

I am able to send 16383 datagrams using
 def h3_event_received(self, event: H3Event) -> None:
        if isinstance(event, DatagramReceived):
            for i in range(16384):
               self._http.send_datagram(self._session_id, str([0 for x in range(99)]).encode())

What I notice is that RSS increases and remains at the memory consumption size reached when the datagram writing stops. That indicates the data is stored in a buffer somewhere internally, and is never flushed. What is the procedure to actually stream without writing to an intermediate buffer, or flush the buffer after each send?

I'm just telling you your code doesn't work.
I documented what I tried to make your code work.
Concentrate on your broken code.

Concentrate on your broken code.

Concentrate on your broken social skills, there might be a reason you got banned by the W3C.

Concentrate on your broken social skills, there might be a reason you got banned by the W3C.

No.  You wouldn't make it 2 seconds where I am from, nor in any of the professionals wher I purvey my wares. Because they, like you, think you are the smartest people in the world while in the meantime your code is broken, with runaway memory from testing stream for a few seconds.
I am not here to make friends. I don't care about the flag you fly or who you think you are.
What is unambiguous is your code has a memory leak. I am just testing aioquic and WebTransport.I already achived my requirement multiple ways. fetch() with a few lines of PHP is far more reliable than all of the code in your repository to live stream.
Good enough ain't good enough.
Test and fix your broken code.

Let's recap:

you open issues in a "stream of consciousness" fashion demanding urgent support for your custom projects
you modify an example and introduce a faulty behaviour (introducing an infinite tight loop isn't going to work)
you open a pull request which fixes nothing and hurl abuse at the maintainer

I make no claim of being one of "smartest people in the world". On the other hand I do have a demonstrable claim that I've invested thousands of hours into writing a QUIC + HTTP/3 stack, which is freely available to you.
It might be time to revisit your toxic attitude towards opensource projects, this does not end well.


crash when reading temperature sensor data

Hi again,
now the testing has begun and here is the first crash when trying to readout temperature sensor data from a temp sensor attached to a fibaro door-window sensor:
alextech:VeraLink Aleco$ node VeraLink.js
HAP-NodeJS starting...
Error: socket hang up
at Object.doRequest [as request] (/Users/Aleco/bin/Homebridge/VeraLink/node_modules/sync-request/index.js:31:11)
at Object.Sensor.getTemperature (/Users/Aleco/bin/Homebridge/VeraLink/lib/types/tempsense.js:15:31)
at null. (/Users/Aleco/bin/Homebridge/VeraLink/lib/types/tempsense.js:39:39)
at emit (events.js:98:17)
at Characteristic.getValue (/Users/Aleco/bin/Homebridge/VeraLink/node_modules/hap-nodejs/lib/Characteristic.js:119:10)
at Accessory. (/Users/Aleco/bin/Homebridge/VeraLink/node_modules/hap-nodejs/lib/Accessory.js:443:20)
at Array.forEach (native)
at Accessory._handleGetCharacteristics (/Users/Aleco/bin/Homebridge/VeraLink/node_modules/hap-nodejs/lib/Accessory.js:410:8)
at HAPServer.emit (events.js:106:17)
at HAPServer._handleCharacteristics (/Users/Aleco/bin/Homebridge/VeraLink/node_modules/hap-nodejs/lib/HAPServer.js:665:10)
please tell me which format are you using to parse the output from vera (json, xml, or plain txt) so I can attach the output to you.
thx

Hi,
It was json, but it doesn't matter since the output is a single text containing the value.
But I think there is a problem with the method I'm using to get your value. Pleas try to go to this url and tell me what do you get:
http://yourveraip:3480/data_request?id=variableget&DeviceNum=changeme&serviceId=urn:upnp-org:serviceId:TemperatureSensor1&Variable=CurrentTemperature
change the 'yourveraip' to your vera ip and 'changeme' to your device id.
You can get your vera device id from here
http://yourveraip:3480/data_request?id=lu_sdata

El 09-12-2015, a las 1:19 p.m., alexus1211<EMAIL_ADDRESS>escribió:
Hi again,
now the testing has begun and here is the first crash when trying to readout temperature sensor data from a temp sensor attached to a fibaro door-window sensor:
alextech:VeraLink Aleco$ node VeraLink.js
HAP-NodeJS starting...
Error: socket hang up
at Object.doRequest as request
at Object.Sensor.getTemperature (/Users/Aleco/bin/Homebridge/VeraLink/lib/types/tempsense.js:15:31)
at null. (/Users/Aleco/bin/Homebridge/VeraLink/lib/types/tempsense.js:39:39)
at emit (events.js:98:17)
at Characteristic.getValue (/Users/Aleco/bin/Homebridge/VeraLink/node_modules/hap-nodejs/lib/Characteristic.js:119:10)
at Accessory. (/Users/Aleco/bin/Homebridge/VeraLink/node_modules/hap-nodejs/lib/Accessory.js:443:20)
at Array.forEach (native)
at Accessory._handleGetCharacteristics (/Users/Aleco/bin/Homebridge/VeraLink/node_modules/hap-nodejs/lib/Accessory.js:410:8)
at HAPServer.emit (events.js:106:17)
at HAPServer._handleCharacteristics (/Users/Aleco/bin/Homebridge/VeraLink/node_modules/hap-nodejs/lib/HAPServer.js:665:10)
please tell me which format are you using to parse the output from vera (json, xml, or plain txt) so I can attach the output to you.
thx
—
Reply to this email directly or view it on GitHub.

Hi,
the answer to the request is "21.18". Could it be due to formatting problems (2 decimal digits) that json is crashing?
Also note that in Eve App the temperature sensor is appearing under the name "Door Sensor". In vera the "Door Sensor" name refers to the door/Window sensor itself. The temperature sensor has a different name but it is a child of the "Door Sensor" device. Here is a picture showing what I mean:

You are totally right, it must be a parser problem with that number, unfortunately I cannot fix it until Sunday afternoon. For now please deactivate the sensors on the config.js file. So you can use the rest for the moment.

El 10-12-2015, a las 7:24 a.m., alexus1211<EMAIL_ADDRESS>escribió:
Hi,
the answer to the request is "21.18". Could it be due to formatting problems (2 decimal digits) that json is crashing?
Also note that in Eve App the temperature sensor is appearing under the name "Door Sensor". In vera the "Door Sensor" name refers to the door/Window sensor itself. The temperature sensor has a different name but it is a child of the "Door Sensor" device. Here is a picture showing what I mean:
https://cloud.githubusercontent.com/assets/16215643/11712928/63a5bb98-9f30-11e5-997e-2906ed494eff.png
—
Reply to this email directly or view it on GitHub https://github.com/damianxd/VeraLink/issues/3#issuecomment-163568721.

Hi,
this is how the sensor is shown in the lu_sdata request:
{ "name": "Temperature Sens", "altid": "e2", "id": 319, "category": 17, "subcategory": 0, "room": 3, "parent": 317, "temperature": "21.18" }
and here how the parent is shown:{ "name": "Door Sensor", "altid": "50", "id": 317, "category": 4, "subcategory": 1, "room": 3, "parent": 1, "armed": "0", "lasttrip": "1449263038", "tripped": "0", "armedtripped": "0", "batterylevel": "100", "state": -1, "comment": "" }

Hi,
I think I found the root cause. Problem is in file functions.js at line 126:
  case 4: // Temp sensor
  if(config.includesensor)
   {
  var Tempsense       = require("./types/tempsense.js")(HAPnode,config,module);
HAPnode.debug('------ Temp sensor Added: %s', device.name);
accessories.push(Tempsense.newDevice(device));
  }
break;
this should be:
case 17: // Temp sensor
check the categories under:
http://wiki.micasaverde.com/index.php/Luup_Device_Categories
I will try tonight and give you feedback.
Regards

Hi,
now it works as expected. Please integrate the fix in your next update.
Regards

I will as soon as I get back to my computer
Kind regards

El 11-12-2015, a las 6:04 a.m., alexus1211<EMAIL_ADDRESS>escribió:
Hi,
now it works as expected. Please integrate the fix in your next update.
Regards
—
Reply to this email directly or view it on GitHub.


[#36] Update README.md version 0.2.0

https://github.com/nimblehq/survey-api-sdk-android/milestone/2
What happened 👀
Update README for release version 0.2.0
Insight 📝
README contains these sections :

Brief introduction of SDK
Jitpack version
Installation
Usage
Note
License

Proof Of Work 📹
N/A

@doannimble could you please rebase to reword all commit messages to have #36 as ticket id instead of #34. Also, update the PR title to have #36 in it. The process is quite much at the beginning but I believe you will get familiar with it soon and have no issues 👌

@doannimble so you squashed all commits with #34 to 1 commit with #36 🥲 ... It's still okay if you have 2 commits in this PR, 1 is update readme, 1 is correct spelling grammar,... Now have only 1 commit so please update the commit message to focus to the PR content 🙏

FYI: I meant in my last message is rebase to reword, not rebase to squash all into 1 commit. Please be more careful 🙏


evaluation strategy > eval strategy

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


Wrong german translation

What

German wrong translation
There is no such "Bionda lager"

Are you sure it's not a personal list ?

Or is it not the name of the product to be added to the list ?

Ohh yes it's the product name my bad