[ROADMAP] Remove @material/core plan

I'm opening this pull-request so we can debate the change. Feedback welcomed!
What do you prefer between material-ui and @material-ui/core?
material-ui Pros:

Simpler to type
Better "marketing" by keeping the legacy name
Keep the download stats

material-ui Cons:

Less consistency with the other packages
Makes the migration from v0.x. to v1 a bit harder
Reset the download stats

I'm all for keeping the material-ui name, and removing the renaming from the plan.

Small package names are a must. I, for one, don't have autocompletion enabled when typing imports.
Removing this change makes 1.0 stable closer, and I think the absolute priority for mui should be to ship 1.0 ASAP.
Scoped packages look weird IMO. I have always associated them with private registries. And I'm not the same: even though it was introduced more than 4 years ago, the scoped package syntax has failed to convince open-source authors beyond babel.
The migration from 0.x is already hard enough, cf https://gist.github.com/fzaninotto/0a59220e0460134de321b415d1418e99
Download stats are important

scoped packages - usage of a scoped package is now a norm for me, and many large projects (not to mention private packages) are using scopes as it provides them their own unconflicted namespace.  We already are publishing other scoped packages now under the org and this change provides for consistency.
length - it is slightly longer but I don't believe problematic
migration - migration to another major version is already involved.  One more search and replace is not a big deal
timing - It must be done before 1.0.  Babel did it between 6 and 7.
stats - We lose history but not a big deal.  Our stats will be the reestablish quickly once we switch packages.  Did babel fret over download history stats (serious question)?  I think material-ui is anchored enough that we do not need to worry about loss of stats at this point. Stats are important in determining adoption but as anyone would see in new stats, we have a significant user base - and therefore it is worth looking at in any due diligence process.

I don't see strong counter arguments and I see this as a necessary growing pain.  Keeping the current name provides inconsistency with the new scoped package names we are releasing.
Arguments for the change:

consistency
growth/open namespace
remove and chance of confusing the plethora of unofficial packages with official scoped packages

I am in favor of the change to @material-ui/core pre-1.0 release.

I don't have a strong preference on the outcome but:

I don't think "marketing" will be meaningfully affected.
If four more characters is too much to type, time for a change of occupation!:
Download stats is a vanity metric. We'll get over it.

Lets not forget the twitter survey:
https://twitter.com/olivtassinari/status/947161769528655888
Nearly 73% of those who know what a scoped package is were in favour, vs. 26% against.
Also the response to #9673 (which is predominantly regarding the scoped package) was overwhelmingly positive. (some of that is perhaps just general sentiment towards the subject "Let's ship v1!", but I have to assume a reasonable number actually read the comment and agreed.
Downsides?
Granted, the current naming looks cleaner / easier to read.
Another breaking change.
???

The fact that YES < (NO + “what is a scoped package?”) in that poll should perhaps be of some concern to those advocating for the switch...

The fact that YES < (NO + “what is a scoped package?”) in that poll should perhaps be of some concern

Not really - you have to assume that those that don't know would favour / object to the proposal in roughly the same proportion as those that do, if they had the required knowledge to answer the question.

Some thoughts:
I don't think material-ui is any more or less marketable because of how it is imported.  As long as it serves the same purposes and meets the same needs, people will use this package whether we scope the core package or not.
Download stats may help a new user assess the viability of a package, but it will probably never be the sole metric.  It really shouldn't.  Along with does this thing work for me?, nearly all other metrics (like repo activity, team responsiveness, community involvement, issue resolution, exposure and reputation on various social and professional networks) will be unaffected by a reset of download stats.
Many StackOverflow answers, tutorials, and blog posts will be rendered out of date, but this is to be expected as libraries mature.  As long as the docs are right, we'll be good.  Any guide worth its salt should refer the reader to the source material.  Plus, this change could be succinctly explained in one place in our documentation.
I know there have been concerns with typing extra characters, but it seems silly to me for a few reasons:

It isn't that much more typing
Hopefully this isn't a change anybody would make manually when converting an existing codebase
If material-ui was originally created with a slightly longer name, you'd probably still use it
Editors are designed to help with these supposed hardships.  If you've chosen to prevent it from doing so, I don't know what to tell you other than you probably use packages with names longer than material-ui already and you deal with it.

I think it would be better to stay consistent with what we're already doing for our other packages.  If you think scoped packages 'look weird', maybe you also think the inconsistency between importing an icon and a component is weird as well.
Compare this:
import Button from 'material-ui/Button';
import Icon from 'material-ui/Icon';
import AddIcon from '@material-ui/icons/Add';
import DeleteIcon from '@material-ui/icons/Delete';

To this:
import Button from '@material-ui/core/Button';
import Icon from '@material-ui/core/Icon';
import AddIcon from '@material-ui/icons/Add';
import DeleteIcon from '@material-ui/icons/Delete';

I would prefer a consistent approach to packages.

Personally I find scoped packages a really good think. The pros/cons are already noted by @kgregory and @rosskevin 🙂

If there is a chance to include third-party libraries in the mix, like material-ui-pickers then we'll have great consistency with @material-ui otherwise we'll run into more inconsistencies:
import Button from '@material-ui/core/Button';
import DatePicker from 'material-ui-pickers/DatePicker';

and there is absolutely no way for the third party authors to make this consistent with the core.
but if we plan on adding all third parties in to the org (if they wish) and release their packages under @material-ui then I think we'll have a good set of modules:
import Button from '@material-ui/core/Button';
import AddIcon from '@material-ui/icons/Add';
import DatePicker from '@material-ui/pickers/DatePicker';

We plan on adding third party libraries to the mui-org, but for the many packages, the general user base will notice the difference and I see that as a good thing.  Users will know that the @material-ui packages are curated, whereas other packages will be up to them regarding due diligence.
As-is, a poorly maintained/unmaintained package can be prefixed with material-ui and confused as produced by the org. I suspect this was a significant factor in Babel's decision to use scoped packages.

Thanks for the feedback guys. Alright, it seems that people value the consistency over the other points:

Marketing: following @sakulstra's argument, @material-ui/core is a "rebranding". It better translate what happened between v0.x and v1: it's a rewrite. So, changing the package name might be good for marketing.
package name lenght. The relative different is +54%. If it really start to be an issue for people, they can configure an alias in their bundling config. For instance, they could be using mui, witch has a -72% relative different to material-ui and a -82% relative different to @material-ui/core.
A different package name will help in the migration from v0.x to v1.
The package renaming will make all the documentation resources out-of-date (StackOverflow, GitHub issues, CodeSandbox, third-party tutorials).
This is great! We can take advantage of it. Users will be able to know at first glace if the information they are reading is up-to-date or not. The code isn't using the scoped package? Well, the odds are the code is not longer working anyway because of all the breaking changes. The code is using a scoped package? Great! It's from the stable release. I can folow it!

@rosskevin I see your point. I completely agree with you, didn't consider that aspect of it 😁

After reading everyone's comments, definitely agree that the scoped package name is the way to go. It will give people a clearer understanding of what packages are "official" as well as figuring out which version is stable.
And as oliviertassinari said, if it bothers people THAT much, you can always just create an alias!

if it bothers people THAT much, you can always just create an alias!

I'm interested, how can I create an alias? Note: I don't use webpack nor any other bundler.

@fzaninotto Personally, I'm using babel-plugin-module-resolver.


Schema with $ref in spring resource file and NPE

I have my schema file in src/main/resources
In schema i have construction like       "$ref": "#/definitions/deleteSchema"
I open schema
ResourceLoader resourceLoader ;
....
Json.Schema schema = Json.schema(resourceLoader.getResource("classpath:" + jsonSchemaFile).getURI());
I have NPE

Caused by: java.lang.RuntimeException: java.lang.NullPointerException
        at mjson.Json$DefaultSchema.<init>(Json.java:1009) ~[mjson-1.3.jar:na]
        at mjson.Json.schema(Json.java:1035) ~[mjson-1.3.jar:na]
        ... 48 common frames omitted
Caused by: java.lang.NullPointerException: null
        at mjson.Json.resolveRef(Json.java:462) ~[mjson-1.3.jar:na]
        at mjson.Json.expandReferences(Json.java:508) ~[mjson-1.3.jar:na]
        at mjson.Json.expandReferences(Json.java:529) ~[mjson-1.3.jar:na]
        at mjson.Json.expandReferences(Json.java:519) ~[mjson-1.3.jar:na]
        at mjson.Json$DefaultSchema.<init>(Json.java:1006) ~[mjson-1.3.jar:na]

Can you give me complete schema files that reproduce the problem. It'll save me some time to debug. Also, are you using 1.3 stable or 1.4 snapshot?

I just added a test with this case (see src/test/resources/schema_with_defs.json)  and the unit test in TestSchemas.java
It seem to be working some I'm closing this as working. If you have a use case that shows the problem with the latest code, let's look at it!


Debug Session in Preview?

Is this Debug Session feature actually still in preview. This Azure updates announcement  from about 6 weeks ago mentions that it is now generally available!

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

ID: f3f99316-188a-577e-0cf5-537faf7616e3
Version Independent ID: 05cc30fd-e3da-05a8-05c2-7f81566b830c
Content: Debug Sessions concepts (preview) - Azure Cognitive Search
Content Source: articles/search/cognitive-search-debug-session.md
Service: cognitive-search
GitHub Login: @HeidiSteen
Microsoft Alias: heidist

@pnari Unfortunately, that announcement was premature and the deployment for shipping the generally available version was pulled back. I think the outstanding issues are pretty minor, and might even be regressions.  The feature will GA soon.

@pnarsi Looks like @HeidiSteen has answered your question. We will close this out, but if you feel you need more information, please just let us know.


#19643 Use type's array delimiter in the array presentation

for now ; is shown in edit mode and text mode
https://user-images.githubusercontent.com/31996417/231122020-bb923bbd-ef46-462f-a6eb-6186c9c5a7c1.mp4

verified


layout problem

i think i see a problem with the layout for https://www.ebi.ac.uk/complexportal/complex/CPX-5684
when the layout first runs, it looks like the the two ACE2 proteins are inside the Spike complex?
it shouldn't do this (i think i might have broken it)

Yes, you are right, it looks as if ACE2 is now in the Spike subcomplex. Arghhhh!!!!!
Nothing is ever easy with complexes :(

should be fixed in v2.1.7 (@noedelta),
you can see it at http://complexviewer.org/

@bmeldal - I think whats shown for CPX-5684 on complexviewer.org (v2.1.8) is perhaps still wrong?
in the json it looks like CPX-5684 has two different participants both with  "interactorRef": "complex portal_CPX-5682" (their participant IDs in the json are 26 and 28)
so I think complexviewer is mistakenly merging two separate sub-complex participants into one?

@bmeldal - i think the above is a bit like https://github.com/MICommunity/ComplexViewer/issues/155#issuecomment-733608143,
two different subcomplexes end up having exactly the same participants

Yes, you are right. In ACE2-spike it's a 1:1 ratio, but with the additional protein SLC6A19 it becomes 2:2:2 and the viewer merges the 2 complexes as participants (CPX-5682) into one.
Well, at least it's consistent in it's error ;-)

yep, i think this is the biggest problem with ComplexVIewer at the moment.
Basically, it can't show more than one instance of the same complex. It's happening because they end up with the same participants, which kind of is how it is in the json.
I think I/we left the previous discussion of this (end of #155) kind of hanging... I said i could fix it in the viewer, you said we should talk again about the json format.
Probably the correct solution to this is changing the json / changing JAMI.
In #155 i said its a problem with the stoichiometry expansion code - it isn't. But it could be addressed with a workaround that does something like the stoichiometry expansion code does (cloning things). I think the things that this workaround couldn't show (linked features between the two different instances of the same complex?) can't be represented in the json at the moment anyway.
I'm happy to look at the viewer workaround if changing JAMI is difficult. What do you think? (@noedelta ? )

in first instance, we will try the 'cloning' workaround (related #155)
this will have some some shortcomings; i.e. linked features cannot specify which instance of the cloned complex they link to and will appear linked to both

i made a separate issue just for the 'multiple instances of same complex' problem (#180), so i think this can be closed


[BugFix] Fix target type in transform_params

Previously in utils.transform_params() the detect_local_target() function was called, even if the target was manually set from the command line. This fix changes it so that utils.parse_target() and utils.transform_params() use the same target.

Hi @sbelcmu, that was intended, since when we are targeting iPhone/Android/WebGPU, we cannot use these targets to compute quantization.
Maybe we can enhance the logic to:

if the device of the parsed target is available, use the target and that device,
otherwise, detect local target to pick one from Metal/CUDA/Vulkan and CPU.

cc @yzh119 as we also discussed this yesterday.

That makes sense. What if we add a command line argument that would allow the user to force the same target? The default behavior would remain the same as is, but the user could add the flag and that would force the function to use the same quantization target as the library target. Would this approach work?


Add deprecation notice in ref docs

fix #2326

No changes needing a change description found.

You can try these changes here

🛝 Playground
🌐 Website
📚 Next docs


stm32: QSPI flash driver concurrent access issue

Describe the bug
Reading or writing from/to QSPI flash from different contexts doesn't work.
flash_stm32_qspi.c seems to not be thread safe by design.
Impact
File system API doesn't handle concurrency either, so it is left to the application.
But in my application there are several subsystems that also access the QSPI driver (logging with fs backend, settings API, fcb) so handling concurrency in the application is nontrivial.
Logs and console output
This is what happens when I try to read log files through the file system API while the logging thread is running:
[00:00:31.720,004] <err> flash_stm32_qspi: 1: Failed to send QSPI instruction
[00:00:31.720,024] <err> fs: failed get file or dir stat (-5)
[00:00:32.020,145] <err> flash_stm32_qspi: 2: Failed to send QSPI instruction
[00:00:32.020,152] <err> flash_stm32_qspi: 2: Failed to send QSPI instruction
[00:00:32.020,161] <err> flash_stm32_qspi: 2: Failed to send QSPI instruction
[00:00:32.020,176] <err> flash_stm32_qspi: 2: Failed to send QSPI instruction
[00:00:32.020,189] <err> fs: file write error (-5)
[00:00:32.020,220] <err> flash_stm32_qspi: 2: Failed to send QSPI instruction
[00:00:32.020,234] <err> fs: directory open error (-5)

Environment (please complete the following information):

Zephyr v2.7.0-rc1

@hjuul could you please detail if there is specific target board, shield and appli that your are using to show this error ?

@FRASTM I'm using a custom board based on stm32f777 with QSPI flash MT25QL256ABA.
I'm also using a custom application.
Some more details on Discord: https://discord.com/channels/720317445772017664/887588796839903242/887588800635748352

@hjuul Having a new look to this.
So maybe I was missing coffee when I initially answered to you but
flash_stm32_qspi.c is actually thread safe (cf qspi_lock_thread/qspi_unlock_thread).
The reason why you're seeing issue is hence not as obvious as initially thought.
We'd need more info on the context of the first error reported.
Would you mind enabling DBG logs and see what shows up ?

I spent some time debugging this, but haven't found the root cause yet.
Enabling DBG logs wasn't feasible because it increases the number of qspi writes, which in turn increases the number of logs, and so on.
A few observations:

I've narrowed it down to the QSPI_WaitFlagStateUntilTimeout() call in HAL_QSPI_Command_IT. When the failure happens the system freezes for 5s (which is the value of hqspi->Timeout), then QSPI_WaitFlagStateUntilTimeout() returns HAL_ERROR.
It takes time to reproduce the first failure after system power-up. But when a failure has occured, all future read accesses to the QSPI flash fails. It seems the QUADSPI->SR->BUSY bit is stuck at 1 in this case
I have indications (but not 100%) that the first failure only happens when the reading thread interrupts the logging thread
I noticed that the QSPI driver only uses a single data line (doesn't use FAST READ). At a QSPI frequency of 54MHz I reckon that a single QSPI access could easily take up to 10us, enough time for me to do another access. Could it be an issue with the dev_data->sync semaphore?

Side note: In stm32f746g_disco.dts the quadspi max frequency is set to 72MHz. If I understand the corresponding qspi flash data sheet correctly, the correct value should be 54MHz (because the stm32 driver only uses the READ (03h) command, not FAST READ)

QSPI_WaitFlagStateUntilTimeout
In HAL_QSPI_Command_IT, the BUSY flag is checked until sw timeout, but do you see the (HW) Timeout flag (TOF) set in the status register QUADSPI_SR

@FRASTM , When the failure has occurred, SR->BUSY is stuck at one but SR->TOF is not set. (FTF and TCF bits are set and FLEVEL=28)

For the moment I do not see this error on my sample application. I am Sharing few ideas based on the AN4760
Looking into the code I find that the default timeout value is 5000U (from HAL_QSPI_TIMEOUT_DEFAULT_VALUE) (this is enough 5s if tick is of 1ms, but ...)
The  flash_stm32_qspi_erase() function does not return the return code of the qspi_wait_until_ready(dev);
The flash_stm32_qspi_read() function does not wait for qspi_wait_until_ready(dev)
The return code of the  HAL_QSPI_Command_IT is  not identified when HAL_ERROR is returned.
So the dev_data->hqspi->ErrorCode == HAL_QSPI_ERROR_TIMEOUT is not handled. In the case a Timeout occurs during the HAL_QSPI_Command_IT, SHould an ABORT command be sent ?

with log the failure could appear more clearly in LOG_ERR("%d: Failed to send QSPI instruction", hal_ret);  if you suspect an error during the qspi_read_access()

@FRASTM , from the log output of my original post you can see that hal_ret is 1 on first failure, then 2 on all subsequent accesses.
I will try with the additional abort tomorrow. But even if that fixes the symptom, isn't it a problem that I get an error in the first place?

@FRASTM I tried your patch, and also applied it in qspi_write_access() . HAL_QSPI_Abort_IT() always returns HAL_OK and it prevents my system from freezing for 5s. But it doesn't really solve my problem because I still can't access the QSPI flash, and the failure still persists after the first failure.
In the meantime I've updated to Zephyr v2.7.0-rc2, and there I haven't been able to reproduce the failure. If I go back to v2.7.0-rc1 it starts failing again. So either something has been fixed between rc1 and rc2, or there is some code relocation or similar that fixes a timing issue.

In the flash_stm32_qspi.c, two callback functions are not defined
HAL_QSPI_AbortCpltCallback
HAL_QSPI_FifoThresholdCallback
So in case one of those irq is raising, the dev_data->sync should also be released :
@@ -540,6 +540,28 @@ void HAL_QSPI_TimeOutCallback(QSPI_HandleTypeDef *hqspi)
 	k_sem_give(&dev_data->sync);
 }

+/*
+ * Status FifoThreshold callback.
+ */
+void HAL_QSPI_FifoThresholdCallback(QSPI_HandleTypeDef *hqspi)
+{
+	struct flash_stm32_qspi_data *dev_data =
+		CONTAINER_OF(hqspi, struct flash_stm32_qspi_data, hqspi);
+
+	k_sem_give(&dev_data->sync);
+}
+
+/*
+ * Status Abort callback.
+ */
+void HAL_QSPI_AbortCpltCallback(QSPI_HandleTypeDef *hqspi)
+{
+	struct flash_stm32_qspi_data *dev_data =
+		CONTAINER_OF(hqspi, struct flash_stm32_qspi_data, hqspi);
+
+	k_sem_give(&dev_data->sync);
+}
+

@FRASTM, I applied your latest patch but I'm still able to reproduce my issue.
From my trace it seems HAL_QSPI_FifoThresholdCallback() is called lots of times though. (I have QUADSPI_CR.FTHRES=7)
Btw your patch has a side effect. At boot I now get the following error:
[00:00:00.000,439] <err> flash_stm32_qspi: Unexpected flash size: 16845047
(my qspi flash is 32M)

@hjuul would it be possible to have the part of your application or a simple change to apply on the existing samples/drivers/spi_flash that could reproduce the pb you see.

@FRASTM, I'm afraid I don't have time to work with this at the moment, but I'll continue to look into this later.

Hi, I'm reopening this issue.
In the original post I was seeing this issue when using LittleFS logging backend with the file system on QSPI flash. Since I couldn't make it work I disabled that feature.
Now I'm using NVS with a storage partition in QSPI flash, and I'm seeing the exact same issue. I'm not using the QSPI flash for anything else, so I no longer believe this is an issue of concurrent access to the QSPI flash.
As before, the failure happens rarely, but when it does occur I can not use the QSPI flash again until I do a system reset.
I believe there are several issues here:

Every now and then HAL_QSPI_Command_IT() gets stuck waiting for the busy flag. I don't know why. Could be hardware issue, but I doubt it
QSPI_WaitFlagStateUntilTimeout() has a timeout of 5s, which is waaay to much, espicially for read operations. So when 1 happens, my system stalls for 5s and I can't change it
Once 1 has happened, hal_qspi sets hqspi->State = HAL_QSPI_STATE_ERROR. This isn't handled in any way in the Zephyr driver, so all subsequent accesses to the QSPI flash will return HAL_BUSY.

Issues 2) and 3) could probably be solved quite easily.
For issue 1) I have no idea what's going on, but here are some details:
I've attached a trace view of the last NVS read before the failure occurs. The relevant functions context are shown in red bars, the QSPI ISR is the yellow bar. This looks as expected (to me at least), and notice that QUADSPI->SR==0x00 at the end of qspi_read_access().
The next time I do an NVS read, more than a second later, QUADSPI->SR==0x2026 already when entering qspi_read_access(), indicating that the QUADSPI FIFO is full and BUSY, FTF and TCF flags are set. I don't understand how those could be set - there's been no invocations of flash_stm32_qspi_isr() in-between. And due to this, sending the READ command times out after 5s.
I'd really appreciate any suggestions on this; both on why this failure happens in the first place, and how to recover gracefully from such a failure. I'll gladly provide more data if needed, and I'm working to try to reproduce this on a disco board.

@FRASTM, could you please reopen this issue?

I've been looking into this for the past week now. I still don't know what is causing it, but I've got some more information.
HAL_QSPI_IRQHandler() disables the QSPI interrupt(s) when done. I tried re-enabling them to see what happened:
static void flash_stm32_qspi_isr(const struct device *dev)
{
	struct flash_stm32_qspi_data *dev_data = DEV_DATA(dev);

	HAL_QSPI_IRQHandler(&dev_data->hqspi);
	__HAL_QSPI_ENABLE_IT(&dev_data->hqspi, QSPI_IT_TE | QSPI_IT_TC); // Enable interrupts
}

With this patch, sometimes I see that a QSPI interrupt is triggered 212us after flash_stm32_qspi_read() is done! Upon entering the ISR, QUADSPI->SR=0x2026. I have no idea what triggers this, but every time this happens, my next attempt to read the QSPI flash will fail.
I am able to work around this by checking the BUSY bit at the start of qspi_read_access(), and then doing an abort procedure if it is set - but it is not very satisfactory:
	if (READ_BIT(QUADSPI->SR, QUADSPI_SR_BUSY) != 0) {
		LOG_ERR("QUADSPI->SR=0x%X, aborting", QUADSPI->SR);
		SET_BIT(QUADSPI->CR, QUADSPI_CR_ABORT);
		while (READ_BIT(QUADSPI->CR, QUADSPI_CR_ABORT) != 0) {
			LOG_ERR("wait");
			k_sleep(K_MSEC(1));
		}
	}

If you have any idea what could be causing this extra interrupt after the read procedure is done, or have suggestions on how I can debug this further, please let me know.

Depending on which interrupts are set, among
• Timeout
• Status match
• FIFO threshold
• Transfer complete
• Transfer error
You should see which one is coming after the read procedure
Did you had a look at the the Errata sheet ?

QUADSPI->SR=0x2026, so that means BUSY, FTF and TCF flags are set.
I've gone through the erratas but nothing there seems to apply to my case.

I'm closing this issue.
It turned out to be not related to QSPI flash driver.
The failure was caused by an application thread occasionally writing to QUADSPI registers because of an invalid pointer (yes, that thread has been rewritten to run in user mode now :facepalm:  )
Thanks anyway for looking into this, and sorry for the inconvenience.

@hjuul Thanks for the heads up. Based on your experience in debugging this driver, is there any of the proposals made by @FRASTM that would be useful to keep for debug purpose?

@erwango: For debug purpose, no. This was a particularly difficult issue to resolve, so I had to instrument the driver and the HAL for visual trace anyway. And it is very easy to add those callback functions for abort and FIFO threshold when needed, so I don't think they need to be in there if they don't serve a purpose.
I do have some other notes though:

This driver is very limited in what it can do with regards to QSPI configuration and performance. (I see that v3.0.0 adds support for using some more IO lines in some cases, but I believe FAST READ is still not supported. Or DMA.)
QSPI_WaitFlagStateUntilTimeout() has a timeout of 5s, which is waaay to much, espicially for read operations. Should ideally be configurable (that's a HAL issue, but for the average Zephyr user that doesn't matter)
If an error is detected, hal_qspi sets hqspi->State = HAL_QSPI_STATE_ERROR. This isn't handled in any way in the Zephyr driver, so all subsequent accesses to the QSPI flash will return HAL_BUSY. Only a reboot will make the QSPI flash accessible again

@hjuul Thanks for this feedback, we'll keep that in mind for the next time we update this driver.
One note: You mention DMA as not supported, but I do think it is. You 'just' need to add proper 'dmas' property.
See here: https://github.com/zephyrproject-rtos/zephyr/blob/63a109e17fce1d4d075942d3ce1206538f99dc38/boards/arm/disco_l475_iot1/disco_l475_iot1.dts#L261-L268
Or I am missing something ?

@erwango Looks like you're right. I didn't use DMA though.

Another update, because I think someone else will run into a similar problem later: The root cause of this seems to be speculative access on ARM Cortex-M7.
The Cortex-M7 may occasionally do speculative reads to any memory that is configured as Normal memory type. By default this includes the address space for the memory mapped QUADSPI.
When a speculative read is done within the address space of my QSPI flash, an actual read instruction is sent on the QSPI lines. This fills the QUADSPI read FIFO and sets the busy bit, and the QSPI driver is not able to handle that situation.
Note! This happens even when the QUADSPI is not configured in memory mapped mode!
The solution is to configure the MPU such that the entire map-able address space for the QUADSPI is set to Strongly Ordered memory. Some more information on that here:
https://drive.google.com/file/d/1g_-mDfAIYs99pRifeAvfpunHBVIdq_a8/view


bug(cdk-virtual-scroll-viewport): autosize miscalculates and adds a blank space after scroll list

Is this a regression?

[ ] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
No response
Description
When we want to use a cdk-virtual-scroll-viewport with autosize feature for extendable list items we are having a blank space after the content. Blank space is not there when there are only a couple of items on the list however when we have a huge list it's possible to have it.
Reproduction
Steps to reproduce:

Have a list with   and map some extendable card items in it.
Have a long list and scroll till the end. You will see there is a blank viewport at the end with no context.

Expected Behavior
No blank area after the content. autosize should stop expanding the viewport height after arriving at the last  list item on the list.
Actual Behavior
blank area after the content and height changes after every up and down scroll.
Environment

Angular: 13.2.4
CDK/Material: 13.3.9
Browser(s): Safari/ Chrome
Operating System (e.g. Windows, macOS, Ubuntu): Windows/ macOS

up

Closing this issue due to no recent activity. If your issue still persists please open a new issue with more information.


Add Required features to Homepage

Required Features for the Hello Microverse Project
In this branch I:

Added a .gitignore file
Added node_modules to the .gitignore file.
Added a .html file that includes a header with the text "Hello Microverse!".
Added a .css file that includes one class with styles for the header.
Added a test.md file to be ignored by git.
Modified the README.md file to match the project description.
Added missing linters to the branch.
Fixed stylelint indentation.

Hello @AlphaNtihinduka,
First I would like to thank you kindly for your comment.
I am doing my best to improve the README based on the Microverse template, but I have some questions regarding said template.
For example, starting from the Prerequisites and Setup, the whole Getting Started section is pretty confusing. And it also gets confusing in the Future Features section since I'd assume that the project is done.
I'd appreciate it if you could give me some insights or point me to some information regarding those questions.


cks: Fix missing .service files when bootstraping in cks

Description
Potential fix for https://github.com/apache/cloudstack/issues/5999
Unable to reproduce the issue but reloading the generators can perhaps fix it
Another option will be to add a delay until the setup-kube-system && deploy-kube-system services are detected
Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[x] Minor
[ ] Trivial

How Has This Been Tested?

@blueorangutan package

@blueorangutan package

@davidjumani a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 2804

@blueorangutan test

@davidjumani a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

@blueorangutan package

@davidjumani a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 2823

@blueorangutan test

@davidjumani a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

@blueorangutan test

@rohityadavcloud a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

@blueorangutan test

@davidjumani a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian test result (tid-3589)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 34674 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr6076-t3589-kvm-centos7.zip
Smoke tests completed. 92 look OK, 0 have errors
Only failed tests results shown below:

Test
Result
Time (s)
Test File


Merge Develop into Master 3.8.2019 - fixing broken links, automation unsubscribe tag fixes

Description of the change:
Reason for the change:
Link to original source:

Closes #

Hello @Whatthefoxsays,Thanks again for the PR! We appreciate your contribution and look forward to                                              continued collaboration. Thanks!                                             Team SendGrid DX


how to count selected option?

Hi. Could you ask this question to stackoverflow where it would more simple to reply for me with snippet?

$("#myElement"),bsMultiSelect("PicksCount"), $("#myElement"),BsMultiSelect().picksCount() ...


[PARAMOUNT GLOBAL] Samsung 2017 Video Start Failure

Have you read the FAQ and checked for duplicate open issues?
Yes. I saw a similar open issue, but wanted to file this one with additional information/details and link the 2 tickets.
This is related to issue/4142
What version of Shaka Player are you using?
3.2.0
Can you reproduce the issue with our latest release version?
Yes. I can reproduce with 3.3.2
Can you reproduce the issue with the latest code from main?
Yes I can reproduce from main as well.
Are you using the demo app or your own custom app?
Custom app
If custom app, can you reproduce the issue using our demo app?
N/A
What browser and OS are you using?
Tizen
For embedded devices (smart TVs, etc.), what model and firmware version are you using?
We were able to reproduce with couple different TVs. Here is information about both:
Model Code: UN50MU6070
Software Version: T-KTMAKUC-1300.3
Sub-micom Version: T-KTMINTV-1012
e-manual version: KTMATSCL-3.1.2

Model Code: UN32M5300
Software Version: T-KTSAKUC-1300.3
Sub-micom Version: T-KTSINTV-1003
e-manual version: KTSATSCL-1.2.1

What are the manifest and license server URIs?
We are able to reproduce the same issue both with encrypted and unencrypted.
Here is the manifest URL for clear one:
https://entclips.cbsaavideo.com/2022/04/14/2023088195946/1284068_dash_ta/stream.mpd

What configuration are you using?  What is the output of player.getConfiguration()?
For the sake of simplicity I am using default config values, but still the result of getConfig is attached to this ticket.
It is in a pplus_config.txt file
What did you do?
Loaded a very simple test harness and called play().
Also tried with autoplay on
What did you expect to happen?
I expected it to start playback, just like it does on other platforms.
What actually happened?
Nothing is rendered. Just a black screen. According to logs, player detects a stall at 0.042 and attempts to break stall by toggling Pause/Play. After that player changes to Playing state and that is it. Nothing else happens.

pplus_config.txt
Samsung_shaka_332_log.txt
tizen_debug_logs.txt

Please let us know, if there is anything we can do to help. Test, debug, collect more info...etc.

We also facing a similar issue with the X1 platform.
Issue 4014

In case if its helpful, here is the screenshot of 3015 error that gets fired when this issue is reproduced

Can you test with v4.3.3? Thanks!


ksonnet version 0.10.0-alpha.2 unable to import libsonnet files

BUG REPORT
/kind bug
What happened:
I tried to generate a component from kubeflow prototype and the did a ks show default. It throws the following error:
ERROR find objects: RUNTIME ERROR: couldn't open import "kubeflow/core/all.libsonnet": no match locally or in the Jsonnet library paths
	<extvar:__ksonnet/components>:5:15-51	thunk <all> from <object <anonymous>>
	<extvar:__ksonnet/components>:10:32-35	thunk from <thunk from <object <anonymous>>>
	/tmp/2018-04-20-08-37-05/my-kubeflow/lib/v1.9.6/k.libsonnet:96:24-29	thunk from <function <anonymous>>
	/tmp/2018-04-20-08-37-05/my-kubeflow/lib/v1.9.6/k.libsonnet:97:36-41	thunk from <function <anonymous>>
	<builtin>	builtin function <type>
	<std>:1165:25-26	thunk from <thunk <ta> from <function <anonymous>>>
	<builtin>	builtin function <type>
	<std>:1167:29-31	thunk from <function <anonymous>>
	<builtin>	builtin function <primitiveEquals>
	<std>:1167:8-36	function <anonymous>

	/tmp/2018-04-20-08-37-05/my-kubeflow/lib/v1.9.6/k.libsonnet:96:13-30	function <anonymous>
	/tmp/2018-04-20-08-37-05/my-kubeflow/lib/v1.9.6/k.libsonnet:(92:22)-(96:30)	function <anonymous>
	<extvar:__ksonnet/components>:10:13-61	thunk from <object <anonymous>>
	<std>:1216:24-25	thunk from <thunk <t> from <function <anonymous>>>
	<builtin>	builtin function <type>
	<std>:1217:8-9	function <anonymous>
	<std>:1165:25-26	thunk from <thunk <ta> from <function <anonymous>>>
	<builtin>	builtin function <type>
	<std>:1167:29-31	thunk from <function <anonymous>>
	<builtin>	builtin function <primitiveEquals>
	<std>:1167:8-36	function <anonymous>

	<extvar:__ksonnet/components>:10:3-62	object <anonymous>
	During manifestation

What you expected to happen:
It should show the yaml file instead of throwing an error
How to reproduce it (as minimally and precisely as possible):
ks init my-kubeflow
cd my-kubeflow
ks registry add kubeflow github.com/kubeflow/kubeflow/tree/master/kubeflow
ks pkg install kubeflow/core@master
ks generate core kubeflow-core --name=kubeflow-core
ks show default -c kubeflow-core

This works perfectly fine with 0.9.2
Environment:

ksonnet version (use ks version):
0.10.0-alpha.2
Kubernetes version (use kubectl version):
1.10

/cc @bryanl
Cross Referencing  https://github.com/kubeflow/kubeflow/issues/686

Thanks @bryanl for the quick fix!

Hi @bryanl @ankushagarwal. what's the fix for the above issue that you guys found out? Can u share it here. I'm not able to find out


Crash on launch in windows 10: regression from Windows high contrast themes support

Operating system or device - Godot version:
OS: Windows 10 32 bits
CPU: Intel Core i3-2350M
Graphics: Intel HD 3000
Godot Version: since 85a5290
Issue description (what happened, and what was expected):
Crash on launch.
Steps to reproduce:

Just launching the application.

Callstack: http://imgur.com/wy0egqm
Additional notes

Not sure why, but reverting the commit makes it work again.

Doesn't happen on my other machine (Win10 64 bits i7 GTX760)

Ping @RandomShaper as it's a regression from 85a5290e.

I'm researching…

It seems like Intel HD 3000 (and other models) have compatibility issues with Windows 10.
First of all, make sure you have the latest version of your graphics card drivers.
In one forum an user suggests to try the workaround in this video.
Another good try would be, since the manifest is telling Windows that Godot supports Windows 10 and that causes the issue, run in in a compability mode for Windows Vista or 7 at most.
Please tell us the outcome.

Hmm… Intel seems to be supporting only 64-bit Windows 10 for that card.
Maybe the manufacturer of your computer provides additional drivers, but my guess is your computer (like mine) is from several years ago (Vista/7 era) and you'll be lucky if everything works under Windows 10 since there will not be updated vendor-provided drivers.

If that's the case it kind of sucks for us, as MS is forcing its Windows 10 upgrade on all users without even asking their opinion, so most people with older laptops on Vista/7 are now on Windows 10 or will soon be, unless they're really clever and manage to avoid MS's incessant nudges and disguised upgrade attempts.

The videocard settings doesn't seems to have the option shown in the video.
Compatibility mode doesn't seems to fix, the only way so far is by recompiling without the commit.
I think we should find a way(no idea how) to define how much the problem could be diffused(hopefully is just happening to me)

Alex, maybe you know I suggested the same manifest thing to the Blender team because it also didn't work under a high contrast theme.
Could you do another test?
It'd be to download Blender and follow what I explained in a post on their bug tracker. It's to check whether Blender starts up in your machine with the modified manifest.

Well, GDevelop already bundled it in their last release so you could just download it and check if it works for you…
Thanks in advance!

@Alex-doc, another thing you could try is installing the driver provided for Intel for Windows 8 by running the installer in compatibility mode. This has helped some users of different products.

GDevelop seems to work.
Blender doesn't work, it thinks there is no hardware 3D acceleration and no OpenGL 2.1

Alex, thanks for testing!
At this point we could extract a conclusion: it's a driver issue. Then, the question: should Godot keep going forward so it can be fully compatible with high contrast themes or should it keep supporting legacy graphics cards at the expense of new desired, features?
Well, that looks a bit biased, but is not intentional.

Mhh, IMO the hd3000 generation of GPUs aren't old enough to not support them anymore.
I think a lot of users are running this kind of hardware so it's not exactly "legacy".
That said, if there are only recent drivers for 64bit windows versions and it is in fact a driver issue, then I'm all for keeping the high contrast support.

IMO Godot should not be limited by Intel not providing updated drivers, I'm for keeping the high contrast support too.

I'd say it's Microsoft's fault for proposing (or forcing, depending on the situation) users to move to a much newer OS version without checking with its partners if they will be able to provide proper drivers. :)

Another user with Intel HD 3000 having issues on Windows 10 since "July", that does sound like this bug: https://godotengine.org/qa/5933/godot-2-1-alpha-stoped-working-in-july
It would be nice to have someone from Intel have a look at this directly :)

Another user on Facebook with Intel HD 3000 for whom 2.1-beta crashes on start: https://www.facebook.com/groups/godotengine/permalink/804118753058054/?comment_id=804169426386320
I'm starting to fear we'll have to revert the patch temporarily until MS/Intel fix their crappy drivers for Windows 10.

Another one: https://www.facebook.com/groups/godotengine/permalink/804568179679778/
As I feared, there are apparently way more users on Windows 10 32-bit with Intel HD 3000 as we would like, since MS forced its upgrade on low-end hardware. So I think it's not worth having this patch for now if it means that Godot is broken for a non-negligible part of our user base.
Unless there are strong objections I'll revert the patch before the next official beta snapshot.

Sorry, given the number of affected users (among those testing the beta, which are just a small subset of our user base), I don't think we can ship 2.1 with this patch, the feature is interesting but not worth breaking the engine for many users with GL 2.1+ compatible hardware.
Hopefully MS/Intel will fix their buggy drivers and we can reintroduce the patch for 2.2.

No offense!
It's a pity but sometime we will be able to reintroduce it.
El 17/7/2016 5:28 p. m., "Rémi Verschelde"<EMAIL_ADDRESS>escribió:

Sorry, given the number of affected users (among those testing the beta,
which are just a small subset of our user base), I don't think we can ship
2.1 with this patch, the feature is interesting but not worth breaking the
engine for many users with GL 2.1+ compatible hardware.
Hopefully MS/Intel will fix their buggy drivers and we can reintroduce the
patch for 2.2.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/5452#issuecomment-233207940,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALQCtgML2Idxvt_7leF7E6PNk_Bbo4t1ks5qWqyjgaJpZM4I_iqN
.


Watch the config file (yml/json)

The sinatra server now checks the config file time on every load of app.js.
If the file has been updated, it will reread the config file.
I made this because messing around with the config file, I constantly had to restart the zat server (ctrl-c, arrow up, enter). And because I'm very lazy, I don't want to do that every time.

/cc @zendesk/quokka

:+1:

:+1:
I found this code rather hard to read though as I saw about three different meaning for the variable called 'settings'.

haha, I thought the same thing. The server 'settings' are called settings and those have app settings...
If you have a better naming idea, be my guest to change (or suggest) it. :+1:

@svizzari Any thoughts guys?

:+1: I'm fine for this PR to go ahead and be merged when you can resolve merge conflicts with master

@svizzari done.

Thank you!
On Fri, Feb 6, 2015 at 5:11 PM, Stefan Vizzari<EMAIL_ADDRESS>wrote:

Merged #76 https://github.com/zendesk/zendesk_apps_tools/pull/76.
—
Reply to this email directly or view it on GitHub
https://github.com/zendesk/zendesk_apps_tools/pull/76#event-231277283.


Timer issue

Originally reported by: Donna Calhoun (Bitbucket: donnaaboise, GitHub: donnaaboise)

The timers are currently stored in domain, but when new domains get built, the timers have to be copied over.  This can create some confusion as to which timer to stop after, say, a patch rebuild.
Suggestion : Create separate structure for timers that lives outside of the domain.

Bitbucket: https://bitbucket.org/donnaaboise/forestclaw/issue/48

All timers are stored in the global structure, so no need to recreate them when the domain is re-built


Use match when possible.

Changes

Replace lengthy switch by match when possible.

Thank you for the PR 💜.


Clarification on use of module keys

Hi, just to be sure I understand when Module keys are required. If I look at patterns with Edge as gateway https://docs.microsoft.com/en-us/azure/iot-edge/iot-edge-as-gateway then I can see that modules communicate to IoT Hub not directly but through Edge runtime. Now, in these cases I assume for Edge there is no need to use modules keys to forward messages to IoT hub, right? However if a modules wants to directly talk with IoT hub (send/receive message or update twin) then it needs to use its keys, right?
My doubt is if instead a module requires the keys also to authenticate to Edge runtime, isn't? If yes, how does this happen, in the module I develop I've never managed module keys? Is it managed by the SDK under the hood?
thanks

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

ID: ba49531b-359f-ab37-6eb6-af6e9e9307a0
Version Independent ID: 805bbabb-d81b-bc3e-39e4-340d1a8f2289
Content: Get started with Azure IoT Hub module identity and module twin (.NET)
Content Source: articles/iot-hub/iot-hub-csharp-csharp-module-twin-getstarted.md
Service: iot-hub
GitHub Login: @chrissie926
Microsoft Alias: menchi

@smoms Thanks for the feedback! We are currently investigating and will update you shortly.

Hi @smoms I guess it depends on the gateway pattern you are using https://docs.microsoft.com/en-us/azure/iot-edge/iot-edge-as-gateway#cheat-sheet
Please see Authenticate a downstream device to IoT Hub specially this part:
There are three general steps to set up a successful transparent gateway connection. This article covers the second step:

The gateway device needs to be able to securely connect to downstream devices, receive communications from downstream devices, and route messages to the proper destination. For more information, see Configure an IoT Edge device to act as a transparent gateway.
The downstream device needs to have a device identity to be able to authenticate with IoT Hub, and know to communicate through its gateway device.
The downstream device needs to be able to securely connect to its gateway device. For more information, see Connect a downstream device to an Azure IoT Edge gateway.

@Alberto-Vega-MSFT ok clear for transparent gateway. If instead a module does not require to communicate neither with edge nor with IoT Hub then does not store/manipulate keys, right? However i expect that the edge runtime is still managing key on its behalf (since a module identity is always created in IoT Hub). Am i correct? thanks.


bug(MatSelect): Mat-select click event is not happening with focus

Is this a regression?

[ ] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
No response
Description
(focus)="matselectTemplateRef.open()
Along with it one more click event is used.  we use both event for same mat-select and on focus if we call open() then only focus is triggered for both click and focus event.
https://stackblitz.com/edit/w6h39v-nzk8nh?file=src%2Fexample%2Fselect-multiple-example.html
Reproduction
StackBlitz link:
Steps to reproduce:

Use click and focus event for same mat-select
2.On focus call matselect open() method.

Expected Behavior
On click , click event to be triggered.
Actual Behavior
On click, focus is triggered if we use open method on focus for both click and focus
Environment
All environment

Why you are forcing the select dropdown to open upon focus? While visually it might look better, it kind of goes against how other dropdowns usually work. I would recommend not adding this behavior since it would be a bit jarring for screenreader users who are navigating a page and suddenly have an open select dropdown they did not decide to open yet. I think keeping the behavior to other select dropdowns is the best experience for users.

Closing since there hasn't been a response.


Text Field stripping off leading spaces OR how to sort text columns with numbers

Hello everyone,
I have a text field to hold a user defined code. When shown in the grid, the column sort sorts like this:
1
10
100
2
20
3
etc...
This is due to the fact it is a text column. However, if the user edits the code field on the form and changes "1" to say " 1" with a space in front, the value stored in the database is "1". Thus not impacting the sort order. Of course, we could change this to a numeric field, but not all customers will use this field the same. The user could change the code to "01" to address this.
Has anyone else found an alternative solution to how best handle this?
Thanks

Issue #739 was one of my hardest fought proves to Volkan that indead his great FW must have a bug in there somewhere :-)

Making something thats works best %99.9999 of cases default while offering an option for others is not a bug it is a


Add video resolution badge in status bar.

When you open an image file in VS Code, it shows image's resolution at the status bar below:

But when you open a video file, there is no resolution shown at the status bar:

My suggestion is to add the resolution badge for videos too.

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

:slightly_frowning_face: In the last 60 days, this feature request has received less than 20 community upvotes and we closed it. Still a big Thank You to you for taking the time to create this issue! To learn more about how we handle feature requests, please see our documentation.
Happy Coding!


Fix: Resolve gesture detection issues in Panel5 with latest react-native-gesture-handler

Summary
This pull request addresses the (NOBRIDGE) ERROR in react-native-gesture-handler where the GestureDetector in Panel5 fails to detect gestures due to view flattening. By wrapping the child components with <View collapsable={false}>, we ensure the views remain in the hierarchy and gesture handling works as intended.
Problem
After upgrading to the latest version of react-native-gesture-handler, the GestureDetector in Panel5 stopped working correctly. Specifically:

Observed Error: (NOBRIDGE) ERROR  [react-native-gesture-handler] GestureDetector has received a child that may get view-flattened. To prevent it from misbehaving you need to wrap the child with a <View collapsable={false}> . [Component Stack].
Behavior Before: This issue did not occur in earlier versions of react-native-gesture-handler, suggesting a recent change in gesture handling behavior.
Environment: React Native 0.76.3, react-native-gesture-handler 2.21.2.

Solution
The fix wraps the relevant child components in <View collapsable={false}>, ensuring that gesture detection functions correctly without view flattening. This change aligns with React Native's guidelines for preventing view flattening in gesture components.
Testing

Environment: Tested on React Native 0.76.3 with the latest version of react-native-gesture-handler.
Confirmed that the error no longer occurs, and gestures in Panel5 now function as expected.

Notes

This fix resolves the issue without introducing breaking changes. Other components and functionalities remain unaffected.
It is recommended to document this change in case similar issues arise with future versions of react-native-gesture-handler.

Hey @alexmdefrancisco Is this error specific to iOS, Android, or both? Also, does the Panel5 example produce the same error? I tested the example code using latest version on an Android emulator and did not encounter any errors.

Yes sorry I forgot. It happens to me using iOS, either simulator and with real device.


maybe rename workflows key to jobs in the config file

in the config file, there is a key called workflows and the items in the list are actually job names. i think it would be great to rename that key to jobs.
i'm not sure how this would play out if there are multiple workflows for a given repository. it might be necessary to add some sort of workflow key to disambiguate, especially because jobs in circleci can be re-used in more than a single workflow.

i'm not sure how this would play out if there are multiple workflows for a given repository. it might be necessary to add some sort of workflow key to disambiguate, especially because jobs in circleci can be re-used in more than a single workflow.

I don't actually know how sleet would respond to multiple different workflows, even without the job names conflicting...
Not sure if that was a use-case I considered!

It also might be worth dropping support for non-workflow runs. Tangentially related to this issue, but the non-workflow runs don't seem to be documented on CircleCI anymore, and we can probably cleanup the codebase by moving towards only supporting the workflow style


chore(deps): rm unused deps in primitives

Closes https://github.com/paradigmxyz/reth/issues/1603
Closes https://github.com/paradigmxyz/reth/issues/1602

Some build of tests failed

checking

Codecov Report

Merging #1604 (308a113) into main (626c076) will decrease coverage by 57.11%.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@             Coverage Diff             @@
##             main    #1604       +/-   ##
===========================================
- Coverage   74.80%   17.69%   -57.11%
===========================================
  Files         374      374
  Lines       44512    44512
===========================================
- Hits        33295     7877    -25418
- Misses      11217    36635    +25418

Flag
Coverage Δ

integration-tests
17.69% <ø> (-3.48%)
:arrow_down:

unit-tests
?

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

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


add --active-brnach flag support

hi @adigulalkari ,
this pr adds support for --active-branch flag in calc-stats cmd. also, corresponding unit tests are added.
closes #30

Hey pls open up an issue..before working on something not assigned..

Hey @WheeskyJack
this is great work

Thanks for your help


'Non standard dialect' always gets returned

See http://csvlint.io/validation/5613fde4637376022c000000 - this is probably something to do with recent gem updates. Will dig in.

@pezholio would you say this bug is occurring at the level of the underlying gem or the service?

This relates to #344


Didn't find a registered implementation for name: 'envoy.filters.network.postgres_proxy'

Description:
I'm trying to use the postgres_proxy filter in a cluster and I get the error Didn't find a registered implementation for name: 'envoy.filters.network.postgres_proxy' It is listed as a supported filter here and I tried using it in a listener in a different configuration and it worked fine there.
Config:
static_resources:
  listeners:
  - name: postgres_listener
    address:
      socket_address:
        address: <IP_ADDRESS>
        port_value: 10000
    filter_chains:
    - filters:
      - name: envoy.filters.network.http_connection_manager
        typed_config:
          '@type': type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
          codec_type: AUTO
          http_filters:
          - name: envoy.filters.http.router
          stat_prefix: ingress_http
          route_config:
            name: test_route
            virtual_hosts:
            - domains:
              - milvus.milvus:19530
              - milvus.milvus.svc:19530
              - milvus.milvus.svc.cluster.local:19530
              name: milvus.milvus:19530
              routes:
              - match:
                  prefix: /
                route:
                  cluster: milvus.milvus:5432
            - domains:
              - postgres-postgresql.postgres:5432
              - postgres-postgresql.postgres.svc:5432
              - postgres-postgresql.postgres.svc.cluster.local:5432
              name: postgres-postgresql.postgres:5432
              routes:
              - match:
                  prefix: /
                route:
                  cluster: postgres-postgresql.postgres:5432
            - domains:
              - '*'
              name: wildcard
              routes:
              - match:
                  prefix: /milvus.milvus:19530
                route:
                  cluster: milvus.milvus:19530
                  prefix_rewrite: /
              - match:
                  prefix: /milvus.milvus.svc:19530
                route:
                  cluster: milvus.milvus:19530
                  prefix_rewrite: /
              - match:
                  prefix: /milvus.milvus.svc.cluster.local:19530
                route:
                  cluster: milvus.milvus:19530
                  prefix_rewrite: /
              - match:
                  prefix: /postgres-postgresql.postgres:5432
                route:
                  cluster: postgres-postgresql.postgres:5432
                  prefix_rewrite: /
              - match:
                  prefix: /postgres-postgresql.postgres.svc:5432
                route:
                  cluster: postgres-postgresql.postgres:5432
                  prefix_rewrite: /
              - match:
                  prefix: /postgres-postgresql.postgres.svc.cluster.local:5432
                route:
                  cluster: postgres-postgresql.postgres:5432
                  prefix_rewrite: /

    listener_filters:
      - name: envoy.filters.listener.original_dst
        typed_config: {}

  clusters:

  - name:  postgres-postgresql:5432
    connect_timeout: 10s
    type: STRICT_DNS
    lb_policy: ROUND_ROBIN
    filters:
      - name: envoy.filters.network.postgres_proxy
        typed_config:
          "@type": type.googleapis.com/envoy.extensions.filters.network.postgres_proxy.v3alpha.PostgresProxy
          stat_prefix: egress_postgres
    load_assignment:
      cluster_name:  postgres-postgresql:5432
      endpoints:
      - lb_endpoints:
        - endpoint:
            address:
              socket_address:
                address: postgres-postgresql
                port_value: 5432

  - name: milvus.milvus:19530
    connect_timeout: 10s
    type: STRICT_DNS
    lb_policy: ROUND_ROBIN
    load_assignment:
      cluster_name: milvus.milvus:19530
      endpoints:
      - lb_endpoints:
        - endpoint:
            address:
              socket_address:
                address: milvus.milvus
                port_value: 19530
    http2_protocol_options: {}

admin:
  address:
    socket_address:
      address: <IP_ADDRESS>
      port_value: 8001

Logs:
[2021-05-20 16:19:56.972][1][info][config] [source/server/configuration_impl.cc:94] loading 3 cluster(s)
[2021-05-20 16:19:56.973][1][critical][main] [source/server/server.cc:113] error initializing configuration '/etc/postgres-proxy.yaml': Didn't find a registered implementation for name: 'envoy.filters.network.postgres_proxy'
[2021-05-20 16:19:56.973][1][info][main] [source/server/server.cc:823] exiting

@moderation I'm using the latest docker dev image, envoyproxy/envoy-dev. So I would be using 1.19+. Like I said, if I use the filter in a listener, it works fine. Are you able to use it in a cluster?

Looking at the config a little closer I notice there isn't a clusters: stanza and you have a misspelling for your filter with fitlers so  there may be additional config issues. I'm not familiar with setting filter's on the cluster. The documentation is for a listener filter - https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/network_filters/postgres_proxy_filter#config-network-filters-postgres-proxy. The Postgres sandbox and config don't set filters on the cluster for example

@moderation good catch on the misspelling. clusters: actually was in my config, it just got lost in the copy & paste somehow. I've updated my config in the original post to match my exact config I am running. I'm still getting the original error of  error initializing configuration '/etc/postgres-proxy.yaml': Didn't find a registered implementation for name: 'envoy.filters.network.postgres_proxy' Can you try and reproduce? Is it true that all listener filters should also be supported by clusters? This  page contains a link to supported filters but these filters under the listener section, I'm not sure if that matters.

The upstream filter should registered as NamedUpstreamNetworkFilterConfigFactory https://github.com/envoyproxy/envoy/blob/main/source/common/upstream/upstream_impl.cc#L872
but I didn't find any filter registered as NamedUpstreamNetworkFilterConfigFactory, included Postgres filter, https://github.com/envoyproxy/envoy/blob/main/source/extensions/filters/network/postgres_proxy/config.cc#L33

@moderation @alyssawilk  https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/upstream_filters explains that there are no upstream filters available out of the box.  It is confusing to then list all the network filters as "supported" upstream filters here. Additionally, I think more documentation and examples of how to use upstream filters is needed.
I'm curious how I can take send http traffic to a cluster and then give the cluster and upstream tcp filter so the upstream gets tcp bytes. I don't see how I would do this though because the tcp network filter requires exactly one cluster as an argument. Maybe I'm misunderstanding what cluster filters are meant to do though.
Specifically in the below configuration I would like to not have to send the http traffic back to my self on port 10002 before converting it to tcp and sending it to the postgres port. I would like to have the httpconnectionmanager send it to a cluster that has a tcp cluster filter and sends it straight to postgres.
downstream.yaml
# This configuration takes incoming data on port 10000 and encapsulates it in a CONNECT
# request which is sent upstream port 10001.
# It can be used to test TCP tunneling as described in docs/root/intro/arch_overview/http/upgrades.rst
# and running `curl --x <IP_ADDRESS>:10000 https://www.google.com`

admin:
  address:
    socket_address:
      protocol: TCP
      address: <IP_ADDRESS>
      port_value: 9903
static_resources:
  listeners:
  - name: listener_0
    address:
      socket_address:
        protocol: TCP
        address: <IP_ADDRESS>
        port_value: 1999
    filter_chains:
    - filters:
      - name: tcp
        typed_config:
          "@type": type.googleapis.com/envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy
          stat_prefix: tcp_stats
          cluster: "cluster_0"
          tunneling_config:
            hostname: host.com:443
            headers_to_add:
            - header:
                key: target
                value: postgres
  clusters:
    - name: cluster_0
      dns_refresh_rate: 60s
      connect_timeout: 10s
      type: strict_dns
      # This ensures HTTP/1.1 CONNECT is used for establishing the tunnel.
      typed_extension_protocol_options:
        envoy.extensions.upstreams.http.v3.HttpProtocolOptions:
          "@type": type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions
          explicit_http_config:
            # http_protocol_options: {}
            http2_protocol_options: {}
      load_assignment:
        cluster_name: cluster_0
        endpoints:
          - lb_endpoints:
              - endpoint:
                  address:
                    socket_address:
                      address: postgres_proxy
                      port_value: 10001

upstream.yaml
static_resources:
  listeners:
  - name: tunnel_listener
    address:
      socket_address:
        address: <IP_ADDRESS>
        port_value: 10001
    listener_filters:
      - name: "envoy.listener.tls_inspector"
        typed_config: {}
    filter_chains:
    - filters:
      - name: envoy.http_connection_manager
        typed_config:
          "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
          codec_type: auto
          stat_prefix: localgw
          common_http_protocol_options:
            max_stream_duration: 3600s
          http2_protocol_options:
            allow_connect: true
          upgrade_configs:
            upgrade_type: "CONNECT"
          #            connect_config:
          route_config:
            name: local_route
            virtual_hosts:
            - name: backend2
              domains:
              - "*"
              routes:
              - match:
                  prefix: "/"
                  headers:
                  - name: target
                    exact_match: "postgres"
                route:
                    cluster: "to_postgres"
                    upgrade_configs:
                      upgrade_type: "CONNECT"
                      connect_config:
                      enabled: true
          http_filters:
          - name: envoy.filters.http.router
            typed_config: {}

  - name: postgres_listener
    address:
      socket_address:
        address: <IP_ADDRESS>
        port_value: 10002
    filter_chains:
    - filters:
      - name: envoy.filters.network.postgres_proxy
        typed_config:
          "@type": type.googleapis.com/envoy.extensions.filters.network.postgres_proxy.v3alpha.PostgresProxy
          stat_prefix: egress_postgres
      - name: envoy.filters.network.tcp_proxy
        typed_config:
          "@type": type.googleapis.com/envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy
          stat_prefix: postgres_tcp
          cluster: postgres_cluster
    listenerFiltersTimeout: 0.100s
    continueOnListenerFiltersTimeout: true

  clusters:
  - name: to_postgres
    dns_refresh_rate: 60s
    connect_timeout: 10s
    type: strict_dns
    lb_policy: round_robin
    load_assignment:
      cluster_name: to_postgres
      endpoints:
      - lb_endpoints:
        - endpoint:
            address:
              socket_address:
                address: <IP_ADDRESS>
                port_value: 10002
                protocol: TCP
  - name: postgres_cluster
    connect_timeout: 10s
    dns_refresh_rate: 60s
    type: STRICT_DNS
    load_assignment:
      cluster_name: postgres_cluster
      endpoints:
      - lb_endpoints:
        - endpoint:
            address:
              socket_address:
                address: postgres
                port_value: 5432
                protocol: TCP

admin:
  address:
    socket_address:
      address: <IP_ADDRESS>
      port_value: 8001

I would like my upstream to look something like this.
static_resources:
  listeners:
  - name: tunnel_listener
    address:
      socket_address:
        address: <IP_ADDRESS>
        port_value: 10001
    listener_filters:
      - name: "envoy.listener.tls_inspector"
        typed_config: {}
    filter_chains:
    - filters:
      - name: envoy.http_connection_manager
        typed_config:
          "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
          codec_type: auto
          stat_prefix: localgw
          common_http_protocol_options:
            max_stream_duration: 3600s
          http2_protocol_options:
            allow_connect: true
          upgrade_configs:
            upgrade_type: "CONNECT"
          #            connect_config:
          route_config:
            name: local_route
            virtual_hosts:
            - name: backend2
              domains:
              - "*"
              routes:
              - match:
                  prefix: "/"
                  headers:
                  - name: target
                    exact_match: "postgres"
                route:
                    cluster: "to_postgres"
                    upgrade_configs:
                      upgrade_type: "CONNECT"
                      connect_config:
                      enabled: true
          http_filters:
          - name: envoy.filters.http.router
            typed_config: {}

  - name: postgres_cluster
    connect_timeout: 10s
    dns_refresh_rate: 60s
    type: STRICT_DNS
    filters:
     - name: envoy.filters.network.postgres_proxy
        typed_config:
          "@type": type.googleapis.com/envoy.extensions.filters.network.postgres_proxy.v3alpha.PostgresProxy
          stat_prefix: egress_postgres
      - name: envoy.filters.network.tcp_proxy
        typed_config:
          "@type": type.googleapis.com/envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy
          stat_prefix: postgres_tcp
    load_assignment:
      cluster_name: postgres_cluster
      endpoints:
      - lb_endpoints:
        - endpoint:
            address:
              socket_address:
                address: postgres
                port_value: 5432
                protocol: TCP

admin:
  address:
    socket_address:
      address: <IP_ADDRESS>
      port_value: 8001


[3.x] PopupMenu: Update margins on visibility change

Fixes #96149. CC @rsubtil
Co-authored-by: @timothyqiu

Thanks!


chore(deps): upgrade configuration

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-configuration-k8s-29-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 4555

Questions ?
Please refer to the Backport tool documentation


[Bilibili] Error while using Bilibili video downloader due to changes in Bangumi page structure

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm reporting a bug unrelated to a specific site
[X] I've verified that I'm running yt-dlp version 2023.03.04 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched known issues and the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Provide a description that is worded well enough to be understood
While trying to download Bilibili videos, I encountered an error that took me a long time to debug. I found that the Bangumi page structure had changed and there was no longer a window.INITIAL_STATE field. Instead, an object was wrapped in a script tag, but the original fields were missing. It seems that API calls might be required to obtain the necessary data, but I attempted this and the results were incomplete.
[ 18:07:15 ] ❯ yt-dlp 'https://www.bilibili.com/bangumi/play/ep183876' -v
[debug] Command-line config: ['https://www.bilibili.com/bangumi/play/ep183876', '-v']
[debug] Portable config "C:\scoop_soft\apps\yt-dlp\current\yt-dlp.conf": []
[debug] Encodings: locale cp65001, fs utf-8, pref cp65001, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>[392389b7d] (win_exe)
[debug] Python 3.8.10 (CPython AMD64 64bit) - Windows-10-10.0.25330-SP0 (OpenSSL 1.1.1k  25 Mar 2021)
[debug] exe versions: ffmpeg 6.0-full_build-www.gyan.dev (setts), ffprobe 6.0-full_build-www.gyan.dev
[debug] Optional libraries: Cryptodome-3.17, brotli-1.0.9, certifi-2022.12.07, mutagen-1.46.0, sqlite3-2.6.0, websockets-10.4
[debug] Proxy map: {}
[debug] Loaded 1786 extractors
[BiliBiliBangumi] Extracting URL: https://www.bilibili.com/bangumi/play/ep183876
[BiliBiliBangumi] ep183876: Downloading webpage
ERROR: [BiliBiliBangumi] ep183876: Unable to extract play info; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
  File "yt_dlp\extractor\common.py", line 694, in extract
  File "yt_dlp\extractor\bilibili.py", line 376, in _real_extract
  File "yt_dlp\extractor\common.py", line 1256, in _search_json
  File "yt_dlp\extractor\common.py", line 1242, in _search_regex

_start_pattern = r'\<script\s*id=\"__NEXT_DATA__\"\s*type="application\/json\"\>'
_end_pattern = r'\<\/script\>'
json_data = self._search_json(_start_pattern, webpage, 'play info', video_id, end_pattern=_end_pattern)

epMap = traverse_obj(json_data, ('props', 'pageProps', 'dehydratedState', 'queries', 0, 'state', 'data', 'epMap'))
current_data = epMap[video_id.split('ep')[-1]]

aid = current_data['aid']
cid = current_data['cid']

download_json = self._download_json(f'https://api.bilibili.com/x/player/playurl?avid={aid}&cid={cid}&qn=80', video_id=video_id)

Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[ ] If using API, add 'verbose': True to YoutubeDL params instead
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
[debug] Command-line config: ['-vU', 'https://www.bilibili.com/bangumi/play/ep183876']
[debug] Portable config "C:\scoop_soft\apps\yt-dlp\current\yt-dlp.conf": []
[debug] Encodings: locale cp65001, fs utf-8, pref cp65001, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>[392389b7d] (win_exe)
[debug] Python 3.8.10 (CPython AMD64 64bit) - Windows-10-10.0.25330-SP0 (OpenSSL 1.1.1k  25 Mar 2021)
[debug] exe versions: ffmpeg 6.0-full_build-www.gyan.dev (setts), ffprobe 6.0-full_build-www.gyan.dev
[debug] Optional libraries: Cryptodome-3.17, brotli-1.0.9, certifi-2022.12.07, mutagen-1.46.0, sqlite3-2.6.0, websockets-10.4
[debug] Proxy map: {}
[debug] Loaded 1786 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Available version<EMAIL_ADDRESS>Current version<EMAIL_ADDRESS>Current Build Hash: 5590c57bd0433ed239a2deaaf92e2ad6f37fe50f53664c821575cafe106a9421
yt-dlp is up to date<EMAIL_ADDRESS>[BiliBiliBangumi] Extracting URL: https://www.bilibili.com/bangumi/play/ep183876
[BiliBiliBangumi] ep183876: Downloading webpage
ERROR: [BiliBiliBangumi] ep183876: Unable to extract play info; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
  File "yt_dlp\extractor\common.py", line 694, in extract
  File "yt_dlp\extractor\bilibili.py", line 376, in _real_extract
  File "yt_dlp\extractor\common.py", line 1256, in _search_json
  File "yt_dlp\extractor\common.py", line 1242, in _search_regex

I noticed that the result is different in the browser and in the code. In requests.get() there is a window.__playinfo__, but it doesn't exist in the browser.

Same here, it doesn't work anymore.
I can manually find the video and audio requests in Dev Tools so it's definitely doable and not protected by some DRM or anything like that

Got same issue here.
Tried --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/113.0" --cookies-from-browser firefox --add-header "Referer:https://www.bilibili.com/" but none of them worked.

same

Fixed in #7337. Waiting for merging.


PSK support

In order to have secure authentication for connections, and allow creating things like private networks, we need some form of pre shared key encryption support.
Using https://datatracker.ietf.org/doc/html/rfc8773 we should be able to add pre shared key support on a network level.
Before we can use this, we need support for this in rustls: https://github.com/rustls/rustls/issues/174
Looking at the comments in the linked rustls issue, we might be able to use an even more rustls native approach. This needs more design & review of RFCs and implementation.s

Hopefully we are still looking into using noise. I think coming up with some PSK scheme should be doable. We don't need to go to TLS for this...

The point is to avoid double encryption, which using TLS would allow us to do. If we do go to noise, it is very easy, as it has builtin PSK support..

Closing as stale


FireStore Collection Query Error: Types of property 'firestore' are incompatible.

Version info

Angular: 5.2.5
Firebase: 4.9.1
AngularFire: 5.0.0-rc.6
Other (e.g. Ionic/Cordova, Node, browser, operating system):
How to reproduce these conditions
Failing test unit, Plunkr, or JSFiddle demonstrating the problem
Use the Stackblitz example provided in docs with compound query or similar with versions above.
In my case I had this code that DOES NOT give error on version 5.0.0-rc.4 (& firebase 4.9.1) but does on 5.0.0-rc.6
this.shops$ = this.afs.collection<IShop>('shops', ref => {
  let query: firebase.firestore.CollectionReference | firebase.firestore.Query = ref;

Debug output
** Errors in the JavaScript console **
Argument of type '(ref: CollectionReference) => CollectionReference | Query' is not assignable to parameter of type 'QueryFn'.
  Type 'CollectionReference | Query' is not assignable to type 'Query'.
    Type 'CollectionReference' is not assignable to type 'Query'.
      Types of property 'firestore' are incompatible.
        Type 'Firestore' is not assignable to type 'FirebaseFirestore'.
          Property 'enableNetwork' is missing in type 'Firestore'.

Jep, I had some same issues.

Same here

Use types added with recent firebase updates :
import { Query } from '@firebase/firestore-types'
Then simply cast your reference to a query like so :
let query: Query = ref;
No need for union type anymore.

Similar problem here, but with DocumentReference.
Firebase SDK version: 4.12.0
Angular version: 5.2.9
AngularFire version: 5.0.0-rc.5-next (it doesn't update to rc.6 for some reason I don't fully understand, even if I asked npm to do so)
Firebase Product: firestore
From what I understood reading around, I shall import typings using import { DocumentReference } from '@firebase/firestore-types';
But there seems to be a mismatch of some kind with the SDK.
If I use that import statement I get an error when calling add method on a collection
'Promise<firebase.firestore.DocumentReference>' type is not assignable to 'Promise<DocumentReference>' type.
Types of property 'firestore' are not compatible.
'Firestore' type doesn't have 'enableNetwork' property.

I'm forced to use import * as firebase from 'firebase/app'; and reference to the type as firebase.firestore.DocumentReference
Hints?

Sounds like your dependencies are messed up, make sure your up to date with both the Firebase JS SDK versions and the types.


Refactor CopyTextButton to use new navigator clipboard api

Signed-off-by: Vitor Capretz<EMAIL_ADDRESS>Hey, I just made a Pull Request!
closes #6566
:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

Looks great, nice improvement! Did you double check that it works correctly in Firefox? It looks like this API is only available inside event handlers in FF - it looks like that restriction won't be an issue here, but seems to me to be worth checking to make sure :).

I'd like it tested in mobile browsers too!

will do! I'll let you know how it goes 👍

Could also use a well tested wrapper too...
https://github.com/streamich/react-use/blob/master/docs/useCopyToClipboard.md
We use this lib a lot already for other purposes. So seems like a low hanging fruit to me

Could also use a well tested wrapper too...
https://github.com/streamich/react-use/blob/master/docs/useCopyToClipboard.md
We use this lib a lot already for other purposes. So seems like a low hanging fruit to me

Just wanted to suggest using that one 😆

After a quick discussion with @vcapretz we're going to continue this PR here #6869


e2b auth login failed with access token

Describe the bug
it hungs during the login process , with access key setup in envirement or export it
To Reproduce
(pytorch) ubuntu@ip-172-31-1-180:~/e2b-cookbook/examples/anthropic-power-artifacts$ export E2B_ACCESS_TOKEN=***** && e2b auth login
Attempting to login...
I use  access token so there should not be no brower opened , is it always open browers to login even if I set the env params?
Desktop (please complete the following information):
Node.js v20.15.0
yarn install v1.22.22
python 3.10
linux Ubuntu 20.22

Hey, @qingyuan18, the E2B_ACCESS_TOKEN=***** e2b ... is used directly for calling commands like E2B_ACCESS_TOKEN=***** e2b template build without having to use the e2b auth login not for using it to log in.

Hey @qingyuan18 is everything working now?

yes, it's working now , Thanks for the support
BTW: we have modified the interactive type to render generated js code directly without sandbox, that's more convient for demo/workshop
will raise for PR for code merge

Good to hear it's working @qingyuan18, the PR would be very welcome!


Pass in input value to onBlur callback

I think it would be helpful to pass in the value of the input to the onBlur callback - just as you do with onChange

Thanks for the suggestion!

Have these changes been published to NPM yet?

Just released in version 1.24.0.


feat: Allow explorer to be hosted in a subdirectory

What this PR does / why we need it:
Currently the Hyperledger explorer can only be hosted at the root of a domain name. With this change it's possible to also host it at a subdirectory of a domain for example: https://example.com/your-fabric-explorer-instance.
In order to allow this i added the "homepage" property to the package.json as is described in the create-react-app documentation. By using "." for the homepage you it will always fetch the static files relative too where the explorer is being hosted, this way you don't need to change anything at build time.
Next to that i also changed the location of the api operations to use relative urls as well. This works since a hash-based routing is currently being used.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?

Additional documentation, usage docs, etc.:

hi @daanporon,
Thanks for the PR. After adding the file changes, the Explorer application isn't reflecting the modifications. To ensure clarity, could you please provide screenshots demonstrating the Explorer being hosted in a subdirectory

Hi @suumona, this is what i mean. We are using a /insights/some-name url.


Example hangs on new Coral USB TPU

Description
I'm having trouble with a brand new Coral USB TPU that I purchased. Some of the examples will hang (not 100% of the time, but most of the time). I suspect there must be some sort of deadlock and USB communication error.
Repro steps:

Follow the instructions at https://coral.ai/docs/accelerator/get-started/#requirements to install TPU runtime with max frequency and PyCoral.
Install example files: bash examples/install_requirements.sh semantic_segmentation.py
Run python3 examples/semantic_segmentation.py --model test_data/deeplabv3_mnv2_pascal_quant_edgetpu.tflite --input test_data/bird.bmp --keep_aspect_ratio --output /tmp/result.jpg
See that the process hangs in most invocations (but not all). Note that Ctrl+C is unable to interrupt the process and it must be killed.

I noticed the following in dmesg which only appears when the hang occurs:
[ 7400.069779] xhci_hcd 0000:04:00.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 2 comp_code 1
[ 7400.069794] xhci_hcd 0000:04:00.0: Looking for event-dma 00000000fed54000 trb-start 00000000fed53fe0 trb-end 00000000fed53fe0 seg-start 00000000fed53000 seg-end 00000000fed53ff0
[ 7400.069797] xhci_hcd 0000:04:00.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 2 comp_code 1
[ 7400.069804] xhci_hcd 0000:04:00.0: Looking for event-dma 00000000fed54010 trb-start 00000000fed53fe0 trb-end 00000000fed53fe0 seg-start 00000000fed53000 seg-end 00000000fed53ff0
[ 7400.069806] xhci_hcd 0000:04:00.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 2 comp_code 1
[ 7400.069812] xhci_hcd 0000:04:00.0: Looking for event-dma 00000000fed54020 trb-start 00000000fed53fe0 trb-end 00000000fed53fe0 seg-start 00000000fed53000 seg-end 00000000fed53ff0
[ 7400.069830] xhci_hcd 0000:04:00.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 2 comp_code 1
[ 7400.069836] xhci_hcd 0000:04:00.0: Looking for event-dma 00000000fed54030 trb-start 00000000fed53fe0 trb-end 00000000fed53fe0 seg-start 00000000fed53000 seg-end 00000000fed53ff0
[ 7400.069838] xhci_hcd 0000:04:00.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 2 comp_code 1
[ 7400.069844] xhci_hcd 0000:04:00.0: Looking for event-dma 00000000fed54040 trb-start 00000000fed53fe0 trb-end 00000000fed53fe0 seg-start 00000000fed53000 seg-end 00000000fed53ff0
[ 7400.069862] xhci_hcd 0000:04:00.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 2 comp_code 1
[ 7400.069868] xhci_hcd 0000:04:00.0: Looking for event-dma 00000000fed54050 trb-start 00000000fed53fe0 trb-end 00000000fed53fe0 seg-start 00000000fed53000 seg-end 00000000fed53ff0
[ 7400.069870] xhci_hcd 0000:04:00.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 2 comp_code 1
[ 7400.069876] xhci_hcd 0000:04:00.0: Looking for event-dma 00000000fed54060 trb-start 00000000fed53fe0 trb-end 00000000fed53fe0 seg-start 00000000fed53000 seg-end 00000000fed53ff0

Host is a GigaByte BRIX GB-BRR5H-4500-BWUS running Debian Bullseye, kernel version is 5.10.0-15-amd64. I tried multiple USB cables, multiple USB 3 ports, and a second Coral USB unit and the issue repro'd across all of them.
Click to expand!
Issue Type
Bug, Support
Operating System
Linux
Coral Device
USB Accelerator
Other Devices
No response
Programming Language
Python 3.9
Relevant Log Output
No response

Any updates on this? it happens to me with both Ubuntu 20.4 and 22.04 also tried different cables and different docker versions (I am trying to use it with frigate, same issue in all the cases).

I found a workaround rather than a fix. Turns out one of the USB-C ports on my machine has a separate USB controller. Using that one instead worked. Seems like some sort of incompatibility between the Coral and other controller.

I also get the same error messages in dmesg -T on Debian kernel 5.19.0 with my Coral.
[Mon Nov 21 08:51:02 2022] xhci_hcd 0000:07:1b.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 2 comp_code 1
[Mon Nov 21 08:51:02 2022] xhci_hcd 0000:07:1b.0: Looking for event-dma 000000010d4ea4c0 trb-start 000000010d4e9dc0 trb-end<PHONE_NUMBER>000000 seg-start 000000010d4e9000 seg-end 000000010d4e9ff0

# uname -a
Linux 5.19.0-0.deb11.2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 5.19.11-1~bpo11+1 (2022-10-03) x86_64 GNU/Linux

I gave up on it and sent the coral back. I assumed for me it was because I was using Parallels VM on Mac mini m1 and not bare metal.

FWIW i was getting this also with debian and a USB google coral TPU.  My setup also involved virtualization (using KVM). I was passing the USB device through to the guest and would get this error along with random lockups every few hours. What fixed it for me was passing through the entire USB host.  And then turning off power management of pcie devices by changing the kernel boot flags to include pcie_aspm=off

FWIW i was getting this also with debian and a USB google coral TPU. My setup also involved virtualization (using KVM). I was passing the USB device through to the guest and would get this error along with random lockups every few hours. What fixed it for me was passing through the entire USB host. And then turning off power management of pcie devices by changing the kernel boot flags to include pcie_aspm=off

I still get the same error with my coral usb, even if I passthrough the usb port on proxmox. I'm also confused in what way the kernel option pcie_aspm=off influence the usb version, can you please elaborate?

Passing through the USB controller/host (NOT the USB port) is what solved
the issue for me. Only passing thru the usb port gives me the reset
issues.  To pass through the actual USB controller you need to pass thru
the related PCI controller
On Sun, 2 Jul 2023, 10:25 amigthea, @.***> wrote:

FWIW i was getting this also with debian and a USB google coral TPU. My
setup also involved virtualization (using KVM). I was passing the USB
device through to the guest and would get this error along with random
lockups every few hours. What fixed it for me was passing through the
entire USB host. And then turning off power management of pcie devices by
changing the kernel boot flags to include pcie_aspm=off
I still get the same error with my coral usb, even if I passthrough the
usb port on proxmox. I'm also confused in what way the kernel option
pcie_aspm=off influence the usb version, can you please elaborate?
—
Reply to this email directly, view it on GitHub
https://github.com/google-coral/edgetpu/issues/615#issuecomment-1616519765,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACPDLW2MTRI2BDBHXWPEWTXOE5CFANCNFSM5ZTBDZNQ
.
You are receiving this because you commented.Message ID:
@.***>

Passing through the USB controller/host (NOT the USB port) is what solved the issue for me. Just passing thru the usb port gives me the reset issues. To pass through the actual USB controller you need to pass thru the related PCI device (easiest way to do this is using the virt-manager ui and adding the pci device pass thru there)

thank you for the clarification!
Unfortunately I happen to have only one usb controller and I need to use some usb port on the hypervisor, so I cannot pass its pci device to the VM. There's no other solution in sight?

That definitely complicates things 🙂  you can control how guest usb resets
are handled on a per usb device basis with libvirt, perhaps you could try
see if those help .. alternatively (getting desperate) maybe an additional
usb controller which you could then pass thru 😅 .. good luck
On Sun, 2 Jul 2023, 11:26 amigthea, @.***> wrote:

Passing through the USB controller/host (NOT the USB port) is what solved
the issue for me. Just passing thru the usb port gives me the reset issues.
To pass through the actual USB controller you need to pass thru the related
PCI device (easiest way to do this is using the virt-manager ui and adding
the pci device pass thru there)
thank you for the clarification!
Unfortunately I happen to have only one usb controller and I need to use
some usb port on the hypervisor, so I cannot pass its pci device to the VM.
There's no other solution in sight?
—
Reply to this email directly, view it on GitHub
https://github.com/google-coral/edgetpu/issues/615#issuecomment-1616584126,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACPDLQHLHAGBFRIGVMQE2TXOFEG7ANCNFSM5ZTBDZNQ
.
You are receiving this because you commented.Message ID:
@.***>

That definitely complicates things 🙂 you can control how guest usb resets are handled on a per usb device basis with libvirt, perhaps you could try see if those help .. alternatively (getting desperate) maybe an additional usb controller which you could then pass thru 😅 .. good luck
…
On Sun, 2 Jul 2023, 11:26 amigthea, @.> wrote: Passing through the USB controller/host (NOT the USB port) is what solved the issue for me. Just passing thru the usb port gives me the reset issues. To pass through the actual USB controller you need to pass thru the related PCI device (easiest way to do this is using the virt-manager ui and adding the pci device pass thru there) thank you for the clarification! Unfortunately I happen to have only one usb controller and I need to use some usb port on the hypervisor, so I cannot pass its pci device to the VM. There's no other solution in sight? — Reply to this email directly, view it on GitHub <#615 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AACPDLQHLHAGBFRIGVMQE2TXOFEG7ANCNFSM5ZTBDZNQ . You are receiving this because you commented.Message ID: @.>

that's awesome! thank you, I'll try to debug deeper that way

That definitely complicates things 🙂 you can control how guest usb resets are handled on a per usb device basis with libvirt, perhaps you could try see if those help .. alternatively (getting desperate) maybe an additional usb controller which you could then pass thru 😅 .. good luck
…
On Sun, 2 Jul 2023, 11:26 amigthea, @.> wrote: Passing through the USB controller/host (NOT the USB port) is what solved the issue for me. Just passing thru the usb port gives me the reset issues. To pass through the actual USB controller you need to pass thru the related PCI device (easiest way to do this is using the virt-manager ui and adding the pci device pass thru there) thank you for the clarification! Unfortunately I happen to have only one usb controller and I need to use some usb port on the hypervisor, so I cannot pass its pci device to the VM. There's no other solution in sight? — Reply to this email directly, view it on GitHub <#615 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AACPDLQHLHAGBFRIGVMQE2TXOFEG7ANCNFSM5ZTBDZNQ . You are receiving this because you commented.Message ID: @.>

I tried passing through the whole USB controller from my Proxmox 8.0.3 host to my Ubuntu 22.04.2 VM and still have this problem. It did reduce the frequency of the problem. It use to freeze almost daily now it happens every 3-4 days.  Is this because of the kernel on the VM that I'm passing the controller to?