Build and dev mode are slow and got errors in logs when importing Vuetify 3 with Vite-plugin-vuetify

Environment

Operating System: Darwin
Node Version:     v18.10.0
Nuxt Version:     3.0.0-rc.13
Nitro Version:    0.6.1
Package Manager<EMAIL_ADDRESS>Builder:          vite
User Config:      app, runtimeConfig, build, vite, imports, modules
Runtime Modules<EMAIL_ADDRESS>Build Modules:    -

Reproduction
Here the link of the stackblitz: https://stackblitz.com/edit/github-2wrsdj?file=nuxt.config.ts
I tried to clean and keep only the concerned code.
Below, the code that make the bug:
nuxt-config.ts

Describe the bug
Hello,
i have this logs on dev mode and build time,  from rc-11 to the rc-13 ( _thanks a lot for your work by the way  ) .
It make the build and the dev mode slow.
I don't know why, it seems like it doesn't find vuetify components on SSR during the build time and npm run dev.
When i start the dev, the rendering is good after hydration.
...
[Vue Router warn]: No match found for location with path "/_nuxt/%EF%BF%BDplugin-vuetify:components/VMain/VMain.sass"
...
[Vue Router warn]: No match found for location with path "/_nuxt/%EF%BF%BDplugin-vuetify:components/VPagination/VPagination.sass"
[Vue Router warn]: No match found for location with path "/_nuxt/%EF%BF%BDplugin-vuetify:components/VParallax/VParallax.sass"
...etc

Do you have any idea ? What i'm doing wrong ? I'm not sure this is a bug or a misunderstanding by me.
All the currents tuto on vuetify 3 / nuxt 3 just explain how to use it but none of them are talking about custom css that need to be import on vite:extendConfig
exemple https://www.the-koi.com/projects/how-to-set-up-a-project-with-nuxt3-and-vuetify3-with-a-quick-overview/
Hope there will be an official integration of vuetify 3 / nuxt 3
Thank you for your help.
Additional context
No response
Logs
[Vue Router warn]: No match found for location with path "/_nuxt/%EF%BF%BDplugin-vuetify:styles/main.sass"
[Vue Router warn]: No match found for location with path "/_nuxt/%EF%BF%BDplugin-vuetify:styles/main.sass"
[Vue Router warn]: No match found for location with path "/_nuxt/%EF%BF%BDplugin-vuetify:styles/main.sass"
[Vue Router warn]: No match found for location with path "/_nuxt/%EF%BF%BDplugin-vuetify:styles/main.sass"
[Vue Router warn]: No match found for location with path "/_nuxt/%EF%BF%BDplugin-vuetify:components/VApp/VApp.sass"
[Vue Router warn]: No match found for location with path "/_nuxt/%EF%BF%BDplugin-vuetify:components/VApp/VApp.sass"
[Vue Router warn]: No match found for location with path "/_nuxt/%EF%BF%BDplugin-vuetify:components/VApp/VApp.sass"
[Vue Router warn]: No match found for location with path "/_nuxt/%EF%BF%BDplugin-vuetify:components/VApp/VApp.sass"
[Vue Router warn]: No match found for location with path "/_nuxt/%EF%BF%BDplugin-vuetify:components/VAppBar/VAppBar.sass"
[Vue Router warn]: No match found for location with path "/_nuxt/%EF%BF%BDplugin-vuetify:components/VAppBar/VAppBar.sass"
[Vue Router warn]: No match found for location with path "/_nuxt/%EF%BF%BDplugin-vuetify:components/VAppBar/VAppBar.sass"
[Vue Router warn]: No match found for location with path "/_nuxt/%EF%BF%BDplugin-vuetify:components/VAppBar/VAppBar.sass"

....

Yeah, Vuetify 3.1.2 & Nuxt 3 showing errors in browser console when I customize SASS vars.
They only get displayed when ssr: true inside nuxt.config. I also cannot deploy the app to netlify because of the errors.
One of the many errors received: Failed to load resource: the server responded with a status of 404 (Page not found: /_nuxt/%EF%BF%BDplugin-vuetify:components/VAppBar/VAppBar.sass).
I don't know why this gets added %EF%BF%BD

Temporary solution :
server/pluigns/vuetify-fix.ts
export default defineNitroPlugin((nitroApp: any) => {
  nitroApp.hooks.hook("render:response", (response: any) => {
    response.body = response.body.replaceAll("/_nuxt/\0", "/_nuxt/");
  });
});

Sadly I am not seeing where this changed anything.
Thanks tho.

Temporary solution :
server/pluigns/vuetify-fix.ts
export default defineNitroPlugin((nitroApp: any) => {
  nitroApp.hooks.hook("render:response", (response: any) => {
    response.body = response.body.replaceAll("/_nuxt/\0", "/_nuxt/");
  });
});

Maybe this has something to do with the error? https://github.com/vuetifyjs/vuetify-loader/blob/next/packages/vite-plugin/src/stylesPlugin.ts#L227

False alarm.. This actually worked!
It did not work initially because @mhfeizi wrote the folder name wrong.. instead of server/pluigns/vuetify-fix.ts , it should be server/plugins/vuetify-fix.ts. Plugins was spelt wrong. The errors are gone from the console. I will share a repo soon.
Thanks @mhfeizi

@ItsMeDelanoDev here is the link to the repo with the customized variables working: https://github.com/BayBreezy/vuetify3-nuxt3-sass-customized
I also hosted it on Netlify with no trouble: https://v3customized.behonbaker.com/
Again, thanks @mhfeizi - That plugin saved me lol

@BayBreezy I'm trying your solution but I'm not getting the variables applied in the application!
do you have an idea why this happens ?

@BayBreezy I'm trying your solution but I'm not getting the variables applied in the application! do you have an idea why this happens ?
Here is my variables.scss:

When I replace vuetify/settings with vuetify: the basic sass variables work fine. but because I'm trying to override a component sass variable "list" I'm getting a SASS error.
@BayBreezy Even when I tried to clone your repo, It seems not to work even locally. the font-family is "Roboto" instead of "Inter" !

Do you have a repo that I can take a look at?

Actually the main repo is a little bit complex (monorepo) and private.
but it has a project with (vuetify 3 + Nuxt 3) with 100% the same config as yours. But unfortunately, It's not working.
UPDATE
After a deep look. the problem seems with using PNPM as a package manager!
your project won't work with pnpm. but it WILL work with npm !
What a problem!

Ohhhhhhhhh.. Ouch.. i have never used PNPM.. I really don't know how to help you fix that..
The PNPM experts would have to take a look at that

Thank you so much for providing help.
Waiting for an expert to figure out how to solve this issue

I'm happy to look at this, but the current reproduction is broken as it's missing various dependencies. Would someone be happy to share one? 🙏

Hey @danielroe , repo outlining the original issue posted by @alexMugen ? Or the PNPM one?

I'm referring to the original repro: https://stackblitz.com/edit/github-2wrsdj?file=nuxt.config.ts

REPO: https://stackblitz.com/edit/nuxt-starter-xddf1p?file=nuxt.config.ts
Here is a repo.. As the ppl stated above, configuring the SASS vars give weird errors in the browser console (which stopped me personally from deploying the app to Netlify).
This plugin saved the day for me --> https://github.com/nuxt/nuxt/issues/15412#issuecomment-1398110500
Sadly, @KareemDa is using PNPM and the mentioned plugin did not help his case.

So after the nuxt update to 3.1.1, he issue is back. Long load time and the warnings are now in the VSCode terminal instead of the browser console

This could be an issue in the vite vuetify plugin; with 3.1.0 we upgraded a major version of vite and rollup.

Okie dokie @danielroe . I created a reproduction here: https://github.com/vuetifyjs/vuetify-loader/issues/290#issuecomment-1407673759.
Someone opened an issue 2 days ago about it. Hopefully it gets resolved soon.

Okie dokie @danielroe . I created a reproduction here: vuetifyjs/vuetify-loader#290 (comment). Someone opened an issue 2 days ago about it. Hopefully it gets resolved soon.

@BayBreezy @danielroe I did open the issue in vuetify. I do think the issue is related with dependencies not updated in the packages after the upgrade in the plugin

Running into the same issue now, using npm. Never used pnpm.

@danielroe could it be that nuxt is handling this wrong for real? Please see https://github.com/vuetifyjs/vuetify-loader/issues/290#issuecomment-1420616972

Thanks @BayBreezy! I think we're making progress in finding the reason.
@danielroe please also have a look at the information in the comments marked "Off Topic", I guess especially my last one helps.
TL;DR:
vuetify-loader adds a \n to the path for indication and with nuxt (perhaps as _nuxt is prepended) this never gets removed again. That seems to cause these issues. The maintainer wrote, with vite-only that doesn't happen.

Amazing investigation. I will look into this further on the Nuxt end.

OMG I spent a whole working day on this. Thanks @BayBreezy your working example should be mentionned everywhere, especially there https://codybontecou.com/how-to-use-vuetify-with-nuxt-3.html !!!

Thanks @BayBreezy your working example should be mentionned everywhere
You mean the workaround or is there something I'm missing?

Yep, the workaround. The solution was lying there, in an issue title with a name that has nothing to do with vuetify nuxt 3 css custom variables.
I haven't commented on the article because the commenting tool was asking too many github permissions but whoever is willing to do so should!

Please go check the full solution here, still the warnings are present but everything else works perfectly:
https://github.com/vuetifyjs/vuetify-loader/issues/290#issuecomment-1435316938

@Dinuz Thanks. I will give it a spin soon

Any update on this yet? Is it being worked? Do we have a good enough solution? Thanks.

@danielroe Has this issue been fixed ?

So i discovered this morning that using webpack as your builder in nuxt3 works perfectly fine with the customised variables. I had no loading delay, I didn't have to create a server plugin, I didn't have to disable source maps. The only thing I saw was that it was unable to find the VApp & VMain components, so i got a Vue warn in the VSCode terminal. The app still worked fine and the build was fine too
Here is a link to the hosted site: https://webpack5.behonbaker.com/
Here is the repo: https://github.com/BayBreezy/vuetify3-nuxt3-webpack5

@BayBreezy that sucks cause Vite is much better.

Nuxt got updated..
Same issue :(

I'm experiencing the same issue now!

OMG I spent a whole working day on this. Thanks @BayBreezy your working example should be mentionned everywhere, especially there https://codybontecou.com/how-to-use-vuetify-with-nuxt-3.html !!!

Hi @augnustin ,
I followed the repo code but the warnings (on the vs code console) and errors (error when requesting the sass files) are still happening, do you still get the warnings and errors?
Nuxt 3.3.1 and Vuetify 3.1.10

Are we still having this issue?

Last Friday : yes 😕

Any update on this ?

Vuetify: 3.2.5
Nuxt: 3.5.0
the problem still EXIST!

@danielroe Is there a plan to fix this problem?

I am using nuxt 3.5.3 and nitroApp is now typed as NitroApp
thanks @ https://github.com/nuxt/nuxt/issues/15088#issuecomment-1603306683

Hi, I'm not a vuetify user so bear with me.
I tried to reproduce the issue on a fresh project, and it appears everything is working fine. Here's the reproduction link
Could someone having this issue could try the above setup, and let me know how to reproduce it ?
The following work-around wasn't necessary on my end as well :
export default defineNitroPlugin((nitroApp: any) => {
  nitroApp.hooks.hook("render:response", (response: any) => {
    response.body = response.body.replaceAll("/_nuxt/\0", "/_nuxt/");
  });
});

This thread appears to be related to the Saas issue in vuetify-loader : vuetifyjs/vuetify-loader#290
It appears there's another issue, documented here https://github.com/jrutila/nuxt3-vuetify3-bug by @jrutila, is it fair to assume that this issue only happens with saas variables then ? Could this be closed in favour of #14124 and another more specific issue, as pointed out here vuetifyjs/vuetify-loader#290 (comment) ?
Additionally, Vuetify seems to be quite popular. Would anyone in the vuetify community be interested in creating a Nuxt module for Vuetify ? It looks like this would be helpful to get to the bottom of this to have one recommend approach.

I had to specify   css: ['vuetify/styles/main.sass'<EMAIL_ADDRESS>to make material design icons work but I could not reproduce the error with your Nuxt.config.ts

@subinznz Once you add  ['vuetify/styles/main.sass'<EMAIL_ADDRESS>in the nuxt.config.ts I suggested, is everything working without issues ? Or is there any missing features ?

If you have custom scss with your method it does not get compiled / applied

@subinznz Once you add  ['vuetify/styles/main.sass'<EMAIL_ADDRESS>in the nuxt.config.ts I suggested, is everything working without issues ? Or is there any missing features ?

@Hebilicious
The problem occurs when you try to add configFile to customize Vuetify SASS variables:
check this reproduction link
the more component you use, the slower the application becomes.

I have created a new nuxt module here vuetify-nuxt-module:

no server hack
no sources warnings
@nuxtjs/i18n support
working to add date support

Here a StackBlitz example: https://stackblitz.com/edit/nuxt-starter-9fybba

Do you have a breakdown of tweaks you have implemented and reasoning ? How did you solve this particular issue ?

@subinznz check the repo, you have the source code there: basically copy/paste the styles plugin from vite-plugin-vuetify repo and rewrite the ids (just added lib/ to the ids and don't use Vite virtual resolved convention).

@subinznz check the repo, you have the source code there: basically copy/paste the styles plugin from vite-plugin-vuetify repo and rewrite the ids (just added lib/ to the ids and don't use Vite virtual resolved convention).
About the new module: I don't want to write any vuetify logic in every project, just add the module to the config file and that's it (with some configuration), that way you can forget you're using vuetify underneath and focus on building your app.

Does your module fix the SASS issue mentioned by @KareemDa ?

@Hebilicious no, using sass will be slow, I'll try to find alternatives to not block/degrade the app and improve DX experience, I don't promise anything

Not sure why you posted it here, it will be misleading to those researching.

@Hebilicious no, using sass will be slow, I'll try to find alternatives to not block/degrade the app and improve DX experience, I don't promise anything

Not sure why you posted it here, it will be misleading to those researching.

I don't understand, have I closed the issue? They are 2 completely different problems, the fact that sass is slow (I think this one has no solution) and the warnings in the sources (something Nuxt team/collaborators or you should investigate).
From time to time I talk with Daniel Roe trying to figure out if this is a problem with Nuxt or Nuxt with Vuetify.I guess it is not related with Vuetify. In elk.zone repo, I see virtual modules like this (it seems to be a problem in Nuxt):

When using Vite virtual resolved convention, Nuxt DevTools isn't able to show the transformations for those virtual modules in the inspector, I also talk about it with Anthony Fu:

Still an issue with
nuxt 3.6.5
vuetify 3.3.9

Still an issue
Nuxt 3.6.5
Vuetify 3.3.12

Still an issue
Nuxt 3.7.0
Vuetify 3.3.14

Still an issue
Nuxt 3.7.3
Vuetify 3.3.16

I am using Vue 3.3.4 and Vuetify 3.3.13 without nuxt, but got the same issue.
Removing the styles option from vite.config.ts seem to fix this problem. My settings.scss file is empty anyways, so wasn't an issue for me
    vuetify({
      autoImport: true,
      // styles: {
      //   configFile: '/src/styles/settings.scss',
      // },
    }),

Still an issue for me

I am using Vue 3.3.4 and Vuetify 3.3.13 without nuxt, but got the same issue. Removing the styles option from vite.config.ts seem to fix this problem. My settings.scss file is empty anyways, so wasn't an issue for me
    vuetify({
      autoImport: true,
      // styles: {
      //   configFile: '/src/styles/settings.scss',
      // },
    }),

Thank you for your information.
I think this is a problem with vuetify/vite pluging vuetify

With https://vuetifyjs.com/en/getting-started/installation/#using-nuxt-3 i could fix that issue but now I am getting
Unknown file extension ".css" for \node_modules\vuetify\lib\directives\ripple\VRipple.css
You guys got the same error? if not this is an other topic

@derHodrig You likely need to add vuetify to your build.transpile array. But you're right, it's probably not a Nuxt issue.

the mystic thing is, i installed the app on a different machine and it works, without build.transpile, and also has no errors. But I cant figure out, what the difference is.

@danielroe i saw that was different. But that came from external UI Kit.  What does it actual mean, since with that line I have no issues at all.
Also, we have a plugin, which is the foundation and imports everything, styles, vuetify and so on. Maybe the mix of that vuetify Docs, the import scss in the vuetify plugin and that nuxt config adjustment was the trick?
// nuxt.config
// no build.transpile needed.
ssr: true
routeRules: {
    '/**': { ssr: false },
  },

@derHodrig This is called Hybrid rendering. According to best of my knowledge, Below is identical to your snippet:
- ssr: true
- routeRules: {
-     '/**': { ssr: false },
-   },
+ ssr: false

Okay, lets wrap up:

with ssr: false, we can get rid of build.transpile = ['vueitfy'] (it works on my side)
with ssr: true, we need to build.transpile = ['vueitfy'] or we will get the css unkown extension error.
with build.transpile we get the could not resolve id plugin-vuetify:...

until no fix comes i would use ssr: false, since with that works. Not nice, but at this moment I need a working app.

Okay, lets wrap up:

with ssr: false, we can get rid of build.transpile = ['vueitfy'] (it works on my side)
with ssr: true, we need to build.transpile = ['vueitfy'] or we will get the css unkown extension error.
with build.transpile we get the could not resolve id plugin-vuetify:...

as long as there is no solution, i would use ssr: false, since with that works. Not nice, but at this moment I need a working app.

Now I have to create 2 separate code base for frontend and back :(

After 3 years of my decision, I would not choose or recommend vuetify now. There's better alternative (but with less components) like radix vue & Nuxt UI.

After 3 years of my decision, I would not choose or recommend vuetify now. There's better alternative (but with less components) like radix vue & Nuxt UI.

Hi @jd-solanki ,
I took a look to radix vue. Interesting option.
Is radix vue production ready?

Is Radix Vue production ready?

I guess yes, But let's not divert the conversation from the original issue.
If anyone gets some solution regarding vuetify please share.

I switched from nuxt with vuetify 2 to the vue quasar framework.
Many components, much much much faster updates and it's a complete replacement of nuxt and vuetify.
Also the ui code is much easier and shorter.

Hey @danielroe
Is there any way we can prevent this logs:

I tried using custom logger mentioned in this issuse by you but didn't work:
const logger = createLogger()
const loggerWarn = logger.warn

logger.warn = (msg, options) => {
  // Ignore empty CSS files warning
  if (msg.includes('Could not resolve id plugin-vuetify:')) {
    // console.log('Got it!')

    return
  }
  loggerWarn(msg, options)
}

@jd-solanki I think we should give this module a try. I think it fixes the issues outlined here: https://vuetify-nuxt-module.netlify.app/
I have not pressure tested it yet in terms of customization but it takes the sass variables and shows no error in the console. Plus the build & dev server start time (on a mac) is fast.

@jd-solanki I think we should give this module a try. I think it fixes the issues outlined here: https://vuetify-nuxt-module.netlify.app/ I have not pressure tested it yet in terms of customization but it takes the sass variables and shows no error in the console. Plus the build & dev server start time (on a mac) is fast.

I think since neither nuxt nor vuetify devs have shown interest in fixing this, it probably makes more sense to start using and maintaining the vuetify-nuxt module...

I would definitely advise using the module. This is not an issue with Nuxt as far as I can tell (nor something to fix within Nuxt)...

Any idea where this bug belongs, so we could move it there? Please no further off-topic discussion about the pro's and con's of vuetify here.

It seems a bug in nuxt with default resolved virtual module prefix \0. Devtools cannot show some virtual using it (found same problem in i18n module). I guess the bug is about using that prefix wrongly, since vuetify is changing the entry point and should use a custom prefix to resolve the styles: check the last paragraph before previous section here https://vitejs.dev/guide/api-plugin.html#universal-hooks
I fix it in my nuxt module with a copy/paste from the original vuetify styles plugin using another prefix and handling ssr properly.

I suffered from the same problem long time.
In my environment, the line that affected performance the most was the following:
import [* as components | VBtn | ...etc] from "vuetify/components"

Just writing, it doesn't matter whether use it or not.
Maybe looking again for a common component like VOverlay that call from within.
By omitting this description and specifying the component to be used, much improved. (No any vite plugin was required, but build.transpile is needed.)

I would definitely advise using the module. This is not an issue with Nuxt as far as I can tell (nor something to fix within Nuxt)...

This module poses conflicts with Sass variables. Whenever I attempt to include Vuetify's Sass variables into my project, I encounter the following error:
This module was already loaded, so it can't be configured using "with".
For more detailed information about this issue, you can refer to:
https://github.com/userquin/vuetify-nuxt-module/issues/115
The challenge of integrating Nuxt, Vuetify, and Vite has been a persistent and somewhat tedious matter within the Vue community. While both Nuxt and Vuetify are popular among Vue programmers, it's puzzling why challenges like these arise.
Could the Nuxt team consider publishing an official Vuetify loader that seamlessly integrates with Nuxt and Vite? As of now, there are limited (if any) UI frameworks available, and we have no choice but to use Vuetify and unfortunately it appears that these integration difficulties persist without much attention.

@mostafaznv what other UI libraries have you checked out? There are a few plus it is easier now more than ever to create a custom one

@mostafaznv
With the upgrade to Vue3, Nuxt, Vuetify, and their surrounding libraries are still not aligned,
but as far as Vuetify is concerned, the reason is that almost all of them use vite-plugin-vuetify internally.
It is located in
https://github.com/vuetifyjs/vuetify-loader/blob/c4ead7300f63b702d96945440db6dd61835097dc/packages/shared/src/imports/getImports.ts#L24
Probably the most effective solution would be wait for this PR to be merged.
https://github.com/vuetifyjs/vuetify-loader/pull/313
By the way, it can also be improved by replacing with a general-purpose plugin such as esbuild-sass-plugin instead of vite-plugin-vuetify.
I think many developers, myself included, don't understand that upgrading Vue3 and Nuxt3 involves fundamental changes.
It is supposed to be a more general-purpose and effective modification than before, but it seems that it is a modification that will lead to a decrease in development efficiency if it is tied to the existing source.

Probably the most effective solution would be wait for this PR to be merged.
vuetifyjs/vuetify-loader#313

I Will try to add those changes to vuetify nuxt module.

By the way, it can also be improved by replacing with a general-purpose plugin such as esbuild-sass-plugin instead of vite-plugin-vuetify.

I Will also try esbuild.

@coela-oss nice, esbuild sass plugin: precompile and precache. The styles once configured shouldn't change, why we need to rebuild them between server restarts?

@userquin
In this case, the reason is module has't updated in Vuetify3 loader that main stream changed to esbuild from webpack, not the expected behavior.
Vuetify3/Vite supports esbuild and TreeShaking,  so loads only the necessary parts. They shouldn't have to look at the entire tree again and again if it worked according to specifications.

This is definitely not a Nuxt3 issue, but I need the docs how Nuxt2 absorbs Vue3 changes and separates Nuxi, Nitro, Vite, etc.
Please let me know  if anyone has additional information. I may have overlooked something. Is this case's complexity,  should be resolved by simply writing createVuetify and nuxtApp.vueApp.use(vuetify) in the plugin directory as Nuxt3?

They are 2 completely different problems, the fact that sass is slow (I think this one has no solution) and the warnings in the sources

Anyone looking for Nuxt+Vuetify flavours, I have been doing a lot of trial & errors to setup some starter templates, and I have these three repos using this module (https://vuetify-nuxt-module.netlify.app/).
Based on my limited testing, these templates are not throwing any errors/warnings. All these repos build fine, so they include netlify demo urls.

https://github.com/Pinegrow/pg-nuxt-vuetify
https://github.com/Pinegrow/pg-nuxt-vuetify-tailwindcss
https://github.com/Pinegrow/pg-nuxt-vuetify-unocss

Feel free to improve these templates by testing them at your end, and share them with the rest of us. Also, note that all three repos have a "blank" branch, which scaffolds just the project skeleton with an empty index.vue (just a single span), for a fresh start.
As @userquin stated correctly, sass is slow, so these templates have sass override (for components) in nuxt.config.ts commented out. If you want to override component's sass variables, uncommented these two in the nuxt config file.
vuetify: {
    moduleOptions: {
      /* If customizing sass variables of vuetify components */
      /* If enabling this, set experimental.inlineSSRStyles to false */
      // styles: {
      //   configFile: 'assets/vuetify/settings.scss',
      // },
    },
    vuetifyOptions: './vuetify.config.ts', // This file is generally configured as configPath with Pinegrow Vuetify Plugin
},

  // Required when customizing Vuetify sass variables via configFile with SSR enabled - https://vuetify-nuxt-module.netlify.app/guide/server-side-rendering.html#vuetify-sass-variables
  // experimental: {
  //   inlineSSRStyles: false,
  // },

Temporary solution :
server/plugins/vuetify-fix.ts
export default defineNitroPlugin((nitroApp: any) => {
  nitroApp.hooks.hook("render:response", (response: any) => {
    response.body = response.body.replaceAll("/_nuxt/\0", "/_nuxt/");
  });
});

This works fine. But it need restart server for applying.
Question. Why it does not work out of box in Nuxt?

Can you provide a minimal reproduction?

Can you provide a minimal reproduction?

https://github.com/itelmenko/nuxt3-vuetify3-customisation
In browser dev console I see a lot of errors:
....

 WARN  Sourcemap for "plugin-vuetify:components/VSlideGroup/VSlideGroup.sass" points to missing source files                                                  11:50:54 AM

.....
[Vue Router warn]: No match found for location with path "/_nuxt/%EF%BF%BDplugin-vuetify:components/VApp/VApp.sass"

npm_run_dev.log

If there’s something we can fix in Nuxt, we will. (which is why I asked for a reproduction.) But as far as I’m aware these stem from issues with Vuetify.
also note there is an excellent module by @userquin which solves these issues for Nuxt users.

also note there is an excellent module by @userquin which solves these issues for Nuxt users.

Could you explain what do you mean? What solution exactly?

@itelmenko any chance you could make it a minimal reproduction? 🙏

@itelmenko I think Daniel is referring to this module here: https://vuetify-nuxt-module.netlify.app/
It gets rid of some of the issues posted above. I was so frustrated with the Vuetify + Nuxt integration that I created my own UI lib here: https://ui-thing.behonbaker.com/getting-started/introduction

@itelmenko any chance you could make it a minimal reproduction? 🙏

https://github.com/nuxt/nuxt/issues/15412#issuecomment-1980395091

It's quite a big project: https://github.com/itelmenko/nuxt3-vuetify3-customisation/blob/main/package.json#L12-L27

Here's more about what I mean by a minimal reproduction
Why do I need to provide a reproduction?
Reproductions make it possible for us to triage and fix issues quickly with a relatively small team. It helps us discover the source of the problem, and also can reveal assumptions you or we might be making.
What will happen?
If you've provided a reproduction, we'll remove the label and try to reproduce the issue. If we can, we'll mark it as a bug and prioritize it based on its severity and how many people we think it might affect.
If needs reproduction labeled issues don't receive any substantial activity (e.g., new comments featuring a reproduction link), we'll close them. That's not because we don't care! At any point, feel free to comment with a reproduction and we'll reopen it.
How can I create a reproduction?
We have a couple of templates for starting with a minimal reproduction:
👉 https://stackblitz.com/github/nuxt/starter/tree/v3-stackblitz
👉 https://codesandbox.io/s/github/nuxt/starter/v3-codesandbox
A public GitHub repository is also perfect. 👌
Please ensure that the reproduction is as minimal as possible. See more details in our guide.
You might also find these other articles interesting and/or helpful:

The Importance of Reproductions
How to Generate a Minimal, Complete, and Verifiable Example

Will this work?
https://github.com/SvenjaReissaus/nuxt-vuetify-sass

Will this work?
https://github.com/SvenjaReissaus/nuxt-vuetify-sass

I recommend using this: https://github.com/userquin/vuetify-nuxt-module.
It's still in beta versions, but it works quite well.

Will this work?
https://github.com/SvenjaReissaus/nuxt-vuetify-sass

I recommend using this: https://github.com/userquin/vuetify-nuxt-module. It's still in beta versions, but it works quite well.

I feel adding a third-party module to an issue reproduction might just add an extra layer of where the issue is originated from. Are you able to reproduce the issue using that module?

Please move this discussion to the third party module, it is not relevant to this issue

Here ny pr https://github.com/vuetifyjs/vuetify-loader/pull/332
Nuxt reproduction there using a local vite plugin tgz, you can remove the dependency and add the vuetify plugin with the dev:sourcemap script.
The problem, vite will not show the sourcemap map. The missing source warnings is because entries in sources array in the sourcemap with file:/// prefix.

Just in case anyone missed this 🥇

Hello everyone, anybody solve this problem?

By switching to the Quasar framework.

finally it is resolved
Thanks

Check https://github.com/vuetifyjs/vuetify-loader/pull/338 , there are links to Vite and Nuxt repos, check the corresponding branch.
vuetify-nuxt-module works even with SASS Variables on SSR without any missing source warnings: updating SASS variables also working (HMR).


Run integration tests in parallel

Currently they're ran sequentially. Running more at once, or perhaps in separate CI jobs, will make it faster 🏎

Done.


[SPARK-29298][CORE] Separate block manager heartbeat endpoint from driver endpoint

What changes were proposed in this pull request?
Executor's heartbeat will send synchronously to BlockManagerMaster to let it know that the block manager is still alive. In a heavy cluster, it will timeout and cause block manager re-register unexpected.
This improvement will separate a heartbeat endpoint from the driver endpoint. In our production environment, this was really helpful to prevent executors from unstable up and down.
Why are the changes needed?
BlockManagerMasterEndpoint handles many events from executors like RegisterBlockManager, GetLocations, RemoveShuffle, RemoveExecutor etc. In a heavy cluster/app, it is always busy. The BlockManagerHeartbeat event also was handled in this endpoint. We found it may timeout when it's busy. So we add a new endpoint BlockManagerMasterHeartbeatEndpoint to handle heartbeat separately.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Exist UTs

Test build #111590 has started for PR 25971 at commit c348176.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/16595/
Test PASSed.

Test build #111590 has finished for PR 25971 at commit c348176.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/111590/
Test PASSed.

Test build #111665 has started for PR 25971 at commit d33da8d.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/16660/
Test PASSed.

Test build #111665 has finished for PR 25971 at commit d33da8d.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class SecondWithFraction(child: Expression, timeZoneId: Option[String] = None)
case class AlterDatabaseSetLocationCommand(databaseName: String, location: String)

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/111665/
Test FAILed.

sounds like a good idea. cc @jiangxb1987 @xuanyuanking

Does this change introduce any potential race-conditions in the case where we detect a legitimate timeout? For example, are there any situations where previously the "mark block manager as dead" was performed serially w.r.t. other block manager operations but now can be performed in parallel?
I haven't looked closely at this patch yet, so maybe this concern is already addressed / is not an issue.

Test build #111859 has started for PR 25971 at commit e7272aa.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/16839/
Test PASSed.

https://github.com/apache/spark/pull/25971#issuecomment-539199818 Thanks for the comment. IIUC, block manager timeout should be independent event. We've improved this patch in our production thrift server with ~7000 executors for months and no issues happened which relates to this patch.

Test build #111859 has finished for PR 25971 at commit e7272aa.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/111859/
Test PASSed.

@JoshRosen I think your concern is valid but it's an existing problem. The executor has a heartbeat thread, it's possible that this thread finds out heartbeat is timeout and decides to shutdown the executor, while the block manager of this executor is still dealing with some requests.
It's good to know how this problem is resolved, but I think it's very unlikely that we have a long-standing bug here.

Thanks for the explanation @cloud-fan .

Test build #112249 has started for PR 25971 at commit cb6c4f6.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/17235/
Test PASSed.

Test build #112249 has finished for PR 25971 at commit cb6c4f6.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/112249/
Test PASSed.

Test build #112306 has started for PR 25971 at commit b0ecff9.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/17289/
Test PASSed.

Test build #112306 has finished for PR 25971 at commit b0ecff9.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/112306/
Test PASSed.

gentle ping @joshrosen-stripe @cloud-fan @xuanyuanking @Ngone51

LGTM, too.

If the BlockManagerMaster Heartbeat timeout, does it means the endpoint is not able to response the event within 10 minutes ?
https://github.com/apache/spark/blob/0da667d31436c43e06cb6bb5ac65a17f65edd08b/core/src/main/scala/org/apache/spark/scheduler/DAGScheduler.scala#L271

https://github.com/apache/spark/blob/0da667d31436c43e06cb6bb5ac65a17f65edd08b/core/src/main/scala/org/apache/spark/scheduler/DAGScheduler.scala#issuecomment-548545864 Yes. In a heavy cluster, it will timeout and cause block manager re-register unexpected. So that’s what the PR to fix, not just increase the timeout value. This code still keep syncAsk with 10 minutes timeout. Instead, the response from new heartbeat endpoint is fast even when the driver is heavy since the logic in heartbeat endpoint is light.

Gentle ping @jiangxb1987

I'd like to confirm what's been fixed by this PR.
If BlockManagerMaster is too busy and timeout the heartbeat, then creating a new end-point for heartbeat can make BlockManagerMaster less busy, but by how much? If BlockManagerMaster is mostly busy with other events and heartbeat is a very small portion, then I'm not sure how useful is the new end-point.

so other events do not have timeout? or they will retry if timeout?
seems like you are indicating that: heartbeat timeout is serious and we should try our best to avoid it. It's still useful to have a busy block manager as other events can handle timeout gracefully.

Maybe but I didn’t check all failure handing of all types of event. What’s I can confirm is executors lost frequently could make the situation worse and it’s fatal in our case. The performance here improved in dead after heartbeat event was separated in practice. But I don’t make sure other events like removeExecutor can handle timeout gracefully. In our practice, the availability is increased evidently in a busy blockmanagermaster and jobs finally succeed.

Maybe but I didn’t check all failure handing of all types of event. What’s I can confirm is executors lost frequently could make the situation worse and it’s fatal in our case. The performance here improved in deed after heartbeat event was separated in practice. But I don’t make sure other events like removeExecutor can handle timeout gracefully. In our practice, the availability is increased evidently in a busy blockmanagermaster and jobs finally succeed.

In deed many handling of other events are synchronized. Heartbeat could be a synchronized handled. This fix could avoid too many executors lost as a victim.

now both the driver endpoint and the new heartbeat endpoint track the list of block managers. What can go wrong if these 2 lists are out of sync?

You are right. It’s a risk. This part was changed from our code running in production. In original code, the list is created before the two endpoints and as a class member of them when endpoints constructing. So it has only one block manager list. I will change it back.

Test build #113439 has started for PR 25971 at commit 280058c.

Build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/18334/
Test PASSed.

Test build #113443 has started for PR 25971 at commit 03b9a56.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/18337/
Test PASSed.

Test build #113445 has started for PR 25971 at commit f9f7489.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/18339/
Test PASSed.

Test build #113446 has started for PR 25971 at commit 7e0d841.

Merged build finished. Test PASSed.

Test build #113443 has finished for PR 25971 at commit 03b9a56.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Test build #113445 has finished for PR 25971 at commit f9f7489.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Test build #113439 has finished for PR 25971 at commit 280058c.

This patch fails due to an unknown error code, -9.
This patch does not merge cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/18340/
Test PASSed.

Merged build finished. Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/113445/
Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/113443/
Test FAILed.

Build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/113439/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/18342/
Test PASSed.

Test build #113449 has started for PR 25971 at commit 43634cb.

Test build #113446 has finished for PR 25971 at commit 7e0d841.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/113446/
Test PASSed.

Test build #113449 has finished for PR 25971 at commit 43634cb.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/113449/
Test PASSed.

Test build #113463 has started for PR 25971 at commit 7b8b398.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/18355/
Test PASSed.

Test build #113463 has finished for PR 25971 at commit 7b8b398.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/113463/
Test PASSed.

so other events do not have timeout? or they will retry if timeout?

Please correct me if I'm wrong but I don't see approach to retry when GetLocations* requests timeout.

It's still useful to have a busy block manager as other events can handle timeout gracefully.

If this is the case then the approach proposed by this PR is fine, otherwise, all the requests towards the BlockManagerMasterEndpoint just timeout, we might need to figure out other ways to make things work.

Heartbeat could be asynchronous handled.

I won't call an async message Heartbeat.

Thanks for the comment @jiangxb1987

Please correct me if I'm wrong but I don't see approach to retry when GetLocations* requests timeout.

GetLocations event never timeout.
https://github.com/apache/spark/blob/e1ea806b3075d279b5f08a29fe4c1ad6d3c4191a/core/src/main/scala/org/apache/spark/storage/BlockManagerMaster.scala#L85
BlockManagerHeartbeat event could timeout, and if timeout we treat it as an executor lost.
https://github.com/apache/spark/blob/70987d8144f4f2c094f3b82d0c4a98e818366225/core/src/main/scala/org/apache/spark/scheduler/DAGScheduler.scala#L271
But in a busy block manager, executors are not dead in deed but treated as lost by this mistakenly timeout. That's what this PR to fix.

so other events do not have timeout? or they will retry if timeout?

Previously, I am not confirm that. But I think yes not. They never timeout. I only see BlockManagerHeartbeat  with timeout parameter.
driverEndpoint.askSync[T](BlockManagerHeartbeat, new RpcTimeout(..))

I won't call an async message Heartbeat.

Sorry, I still keep it sync.
https://github.com/apache/spark/blob/7b8b398633789b65d116ce716d6fb1afcded0427/core/src/main/scala/org/apache/spark/scheduler/DAGScheduler.scala#L270

by default Spark RPC will timeout after 120 seconds
/** Returns the default Spark timeout to use for RPC ask operations. */
  def askRpcTimeout(conf: SparkConf): RpcTimeout = {
    RpcTimeout(conf, Seq(RPC_ASK_TIMEOUT.key, NETWORK_TIMEOUT.key), "120s")
  }

IIUC, non-heartbeat timeout just fail the task/job, while heartbeat timeout causes executor lost, which is more serious

by default Spark RPC will timeout after 120 seconds

Ah, correct.

@LantaoJin So, have you noticed the failed task/job along with executor lost issue ? I feel they're more likely to show up since default rpc timeout(2 min) takes less more time than heartbeat timeout(10 min).

I spent much more attention on the driver death since we use thriftserver as long running service. So the failed task/jobs may be retried successful, or resubmitted by upper layer scheduler tools/users. But remarkably the driver (thriftserver) can live longer and more stable with this patching.
@Ngone51 Image this, in our production, driver will be busy but not be busy all its life time (unlike pressure testing), jobs/tasks may fail and executors may lost sometimes. For a long running service, we can endure jobs/tasks failed as long as driver is alive. But we can not accept the service always enters downtime once mass executors lost.

https://github.com/apache/spark/pull/25971#issuecomment-551008777 our testing also illustrated this.

Actually, what I want to know is whether these 2 issues(failed task/job and executor lost) happen in a short duration rather than a long run duration. If they happen in a short duration, then I think this could really be the explanation for other may timeouted messages while heartbeat has already timeout.
Anyway, I think this PR is good enough for certain executor lost issue.

retest this please

Test build #113612 has started for PR 25971 at commit 7b8b398.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/18498/
Test PASSed.

Test build #113612 has finished for PR 25971 at commit 7b8b398.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/113612/
Test PASSed.

thanks, merging to master!


Korean Translation Errors

In the newest version, 3.4.7, the Korean language has been added. I was so interested in this update because I'm Korean and using your plugin very well.
But, I was disappointed a little bit.
For example,
on.load.update.available.1=최신 버전: v{%0} / 현제 사용중: v{%1}
should be
on.load.update.available.1=최신 버전: v{%0} / 현재 사용중: v{%1}
language.selected={%0} ({%1})을 배이스 언어로 설정하였습니다
should be
language.selected={%0} ({%1})을 기본 언어로 설정하였습니다
These are just examples. There are a few more things.
You should make it correct. Or I want to help translation.
Thank you

I don't understand Korean, so I'd appreciate it if you could publicize it.
The following seem to require (re-)translation:

README.md
language file

Also, please send a PR to the dev/3.4 branch, thank you.

@twk1024 앍! 죄송합니다! 제가 급하게 작업을 하다 보니 문법사용을 신경 쓰지 못하였네요;;

@fuyutsuki I made editings on my fork of this plugin;; sorry about the grammatical errors ;-;

@twk1024 Basically, the accuracy will be improved if multiple people work on the translation.
I'd appreciate it if you could PR it.


Feature/login functionality

This Branch adds ability to login to Walrus via Firebase. It also allows for a user to create a new account.

Obselete PR. No longer using Firebase.


preact build --analyze not working

Do you want to request a feature or report a bug?
A bug.
What is the current behaviour?
Command preact build --analyze is not working, it throws an error after successfully making a build.
If the current behaviour is a bug, please provide the steps to reproduce.
Create a "build:analyze": "preact build --analyze", entry in the scripts section at package.json, then run npm run build:analyze. The build process ends just fine but then the following error is immediately displayed and the process is interrupted:
...

Critters: inlined 214 B (100% of original 212 B) of bundle.e1dd1.css.
✖ ERROR TypeError: Cannot read property 'hasErrors' of undefined
    at showStats (/Users/desko27/Code/GitHub/project/node_modules/preact-cli/lib/lib/webpack/run-webpack.js:118:12)
    at compiler.run (/Users/desko27/Code/GitHub/project/node_modules/preact-cli/lib/lib/webpack/run-webpack.js:106:4)
    at finalCallback (/Users/desko27/Code/GitHub/project/node_modules/webpack/lib/Compiler.js:220:39)
    at hooks.done.callAsync.err (/Users/desko27/Code/GitHub/project/node_modules/webpack/lib/Compiler.js:268:23)
    at _err1 (eval at create (/Users/desko27/Code/GitHub/project/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:18:1)
    at Immediate.<anonymous> (/Users/desko27/Code/GitHub/project/node_modules/webpack-bundle-analyzer/lib/BundleAnalyzerPlugin.js:79:13)
    at Generator.throw (<anonymous>)
    at asyncGeneratorStep (/Users/desko27/Code/GitHub/project/node_modules/webpack-bundle-analyzer/lib/BundleAnalyzerPlugin.js:3:103)
    at _throw (/Users/desko27/Code/GitHub/project/node_modules/webpack-bundle-analyzer/lib/BundleAnalyzerPlugin.js:5:291)
    at <anonymous>
    at runMicrotasksCallback (internal/process/next_tick.js:122:5)
    at _combinedTickCallback (internal/process/next_tick.js:132:7)
    at process._tickCallback (internal/process/next_tick.js:181:9)

What is the expected behaviour?
The following web app should be served on 8888 port, as stated in the PR which introduced the feature.

If this is a feature request, what is motivation or use case for changing the behaviour?
-
Please mention other relevant information.

preact-cli version: 3.0.0-rc.1
Node version: 8.15.0
npm version: 6.4.1
Operating system: macOS Mojave 10.14.3 (18D109)
CLI version: iTerm2 3.2.8
Browser: 73.0.3683.103 (Official Build) (64-bit)

the update it this repo is still pending and one more small bug i discovered on the way


Respect session.max_age in redis storage

Here https://github.com/aio-libs/aiohttp_session/blob/master/aiohttp_session/redis_storage.py#L51
should be max_age=session.max_age.

Fixed by #45


build: PROBE_VERSION must use the driver version

The driver version was also setup in the wrong cmake file.
Co-Authored-By: Leonardo Di Donato<EMAIL_ADDRESS>Signed-off-by: Lorenzo Fontana<EMAIL_ADDRESS>What type of PR is this?
/kind bug
Any specific area of the project related to this PR?
/area build
What this PR does / why we need it:
Which issue(s) this PR fixes:
Passing -DSYSDIG_VERSION to cmake was not loading the variable in the inner makefile that we use to download the sinsp, scap and the driver.
This was leading to broken builds when such variable was passed.
Moreover, PROBE_VERSION must be set to the same version as the driver, because they are two separate projects with different release lifecycles now that Sysdig and Falco are 100% decoupled from an infrastructure and code point of view.
Also we bumped the driver version to benefit from https://github.com/draios/sysdig/pull/1595
Fixes #1073
Special notes for your reviewer:
Does this PR introduce a user-facing change?:
fix: the Falco driver now compiles on >= 5.4 kernels

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign fntlnz
You can assign the PR to them by writing /assign @fntlnz in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

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

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

Needs approval from an approver in each of these files:

OWNERS [leodido]

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

LGTM label has been added.  Git tree hash: 8a67ba53c4153f5ed18c0906cb951f2f245a7486

/milestone 0.21.0

/assign @kris-nova

/cc @kris-nova

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

Needs approval from an approver in each of these files:

OWNERS [leodido,mstemm]

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

/milestone 0.21.0


Update EventError with Is and Unwrap functions

Signed-off-by: Daniel Rammer<EMAIL_ADDRESS>TL;DR
The golang errors package provides the functions Is (to check if an instance of the error type is within the stack), As (to convert the error to the error type if it is within the stack), and Unwrap (to facilitate the aforementioned functionality). This updates the EventError type to enable use within the API.
Type

[x] Bug Fix
[ ] Feature
[ ] Plugin

Are all requirements met?

[x] Code completed
[x] Smoke tested
[ ] Unit tests added
[ ] Code documentation added
[ ] Any pending items have an associated Issue

Complete description
See TL;DR
Tracking Issue
NA
Follow-up issue
NA

is this backwards compatible with everything?

@wild-endeavor Yes, I just added a few functions to support traversal through the entire error stack to check for EventError types.


Update .gitignore

The path of the bower components needed to be adapted...

This is not necessary. Git treats it "as a shell glob pattern and checks for a match against the pathname relative to the location of the .gitignore file". So, it will work either way.
Keeping the current pattern is safer (in case bower_components/ is moved somewhere else.


Add duplicate address validator

Here's a validator for duplicate addresses that Danny Krause and I built yesterday!
The code will trigger a duplicate address warning if features within 50 meters:

have same addr:housenumber (the code handles multiple values)
have same addr:street, addr:place, addr:block (if present)
unless they differ in addr:door addr:unit, addr:flats, addr:floor (if present)

(see https://wiki.openstreetmap.org/wiki/Key:addr for more info about address tags)
Users can click the ℹ  to see the duplicate tags.  We can possibly add a fix, or at least improve guidance about what to do.

This is straight fricking fire. Lewks gewd.

I adjusted the language slightly in the reference text and the message - What do you think @gaoxm ?

I adjusted the language slightly in the reference text and the message - What do you think @gaoxm ?

👍  It looks great! thanks @bhousel !


pull request for e2e test at 11/28/2016 10:26:05

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


.NET April 2023 Update - .NET 7.0.5, .NET 6.0.16

.NET April 2023 Update
Release Notes

7.0.5
6.0.16

Status

Asset Type
7.0.5
6.0.16
Notes

Installers/Binaries
✅
✅

Container Images(Linux)
✅
✅

Container Images(Windows)
✅
✅

Winget Packages
✅
✅

Snaps
✅
✅

Linux Packages (Microsoft distribution)

The list below refers to the Microsoft-provisioned feeds (packages.microsoft.com) and does not in any way represent direct availability in distros (eg RHEL, Fedora).

     Centos 7
✅
✅

     Debian 10
✅
✅

     Debian 11
✅
✅

     Fedora 35
✅
✅

     Fedora 36
✅
✅

     OpenSUSE 15
✅
✅

     Ubuntu 18.04
✅
✅

     Ubuntu 20.04
✅
✅

     Ubuntu 22.04
✅
✅

     Ubuntu 23.04
✅
✅

Issues
Please report any issues you find either by responding to this issue, creating a new issue or creating a new issue in one of the following repos:

ASP.NET Core: dotnet/aspnetcore
Entity Framework Core: dotnet/efcore
.NET CLI/SDK dotnet/sdk
.NET runtime dotnet/runtime
Winforms: dotnet/winforms
WPF: dotnet/wpf
NuGet: nuget/home
Containers: dotnet/dotnet-docker
Winget: microsoft/winget-pkgs

Known Issues

[x] We are currently investigating .NET installation issue with Ubuntu 23.04 on packages.microsoft.com. We will update once the issue is resolved.

We have up-streamed some of the metapackages via a private nuget artefacts feed and are failing to download these. Is MS aware of any issues at this time on downloading .NET 6.0.16 packages via the upstreaming feature of Azure Artefacts?

The CDN cache seems to have stalled a bit - https://dotnetcli.azureedge.net/dotnet/Sdk/7.0/latest.version returns 7.0.201 with last-modified: Sat, 25 Feb 2023 03:28:09 GMT. The same happened with 8.0 channel. Any chance to purge the cache?

The CDN cache seems to have stalled a bit - https://dotnetcli.azureedge.net/dotnet/Sdk/7.0/latest.version returns 7.0.201 with last-modified: Sat, 25 Feb 2023 03:28:09 GMT. The same happened with 8.0 channel. Any chance to purge the cache?
There was previously a similar problem: #7800 (comment)

I have cleared the CDN cache

Is there going to be a May update?

Is there going to be a May update?

We will not be publishing .NET 7.0.6 or .NET 6.0.17 May updates

closing in favor of https://github.com/dotnet/core/issues/8539


App Branding: Update image placeholder

Problem description
Image placeholder is only icon without safe area (not like in the designs).

Expected behaviour

https://www.figma.com/design/r4opkmPm3TPieVSXTb0pjK/Design-file-(Guardian)?node-id=1197-23838&t=bFckTYcV4t5zoeTK-1
Replace placeholder image on new one with safe area (image attached below)


Add test to verify correct behavior on constructive injection

Suspect that there is some misbehavior, here, when the same type is injected from multiple threads.  Add a test to uncover the issue, and then fix the problem.

Yes, I could verify that autowiring_error was thrown.

Thank you @hham

No problem.


Benchmark RTP

benchmark RTP crate and compare its performance to Pion RTP or other implementations

@metaclips, this task is assigned to you since you are working on performance improvements with Bytes crate.

@metaclips, this task is assigned to you since you are working on performance improvements with Bytes crate.

Using Reader/Write Trait:

Gnuplot not found, using plotters backend
Benchmarking Benchmark Marshal
Benchmarking Benchmark Marshal: Warming up for 3.0000 s
Benchmarking Benchmark Marshal: Collecting 100 samples in estimated 5.0001 s (21M iterations)
Benchmarking Benchmark Marshal: Analyzing
Benchmark Marshal       time:   [236.13 ns 239.02 ns 242.54 ns]
change: [+5.7586% +7.0876% +8.6679%] (p = 0.00 < 0.05)
Performance has regressed.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high severe
Benchmarking Benchmark Unmarshal
Benchmarking Benchmark Unmarshal : Warming up for 3.0000 s
Benchmarking Benchmark Unmarshal : Collecting 100 samples in estimated 5.0016 s (6.3M iterations)
Benchmarking Benchmark Unmarshal : Analyzing
Benchmark Unmarshal     time:   [790.74 ns 791.85 ns 792.98 ns]
change: [+5.4865% +5.8001% +6.1335%] (p = 0.00 < 0.05)
Performance has regressed.
Found 4 outliers among 100 measurements (4.00%)
2 (2.00%) high mild
2 (2.00%) high severe
Process finished with exit code 0

Using std slice

Gnuplot not found, using plotters backend
Benchmarking Marshal Benchmark
Benchmarking Marshal Benchmark: Warming up for 3.0000 s
Benchmarking Marshal Benchmark: Collecting 100 samples in estimated 5.0005 s (52M iterations)
Benchmarking Marshal Benchmark: Analyzing
Marshal Benchmark       time:   [96.787 ns 97.109 ns 97.384 ns]
change: [+1.9773% +2.2890% +2.5474%] (p = 0.00 < 0.05)
Performance has regressed.
Found 9 outliers among 100 measurements (9.00%)
2 (2.00%) low severe
5 (5.00%) low mild
2 (2.00%) high mild
Benchmarking Marshal_To Benchmark
Benchmarking Marshal_To Benchmark: Warming up for 3.0000 s
Benchmarking Marshal_To Benchmark: Collecting 100 samples in estimated 5.0001 s (112M iterations)
Benchmarking Marshal_To Benchmark: Analyzing
Marshal_To Benchmark    time:   [45.694 ns 45.734 ns 45.771 ns]
change: [-10.316% -8.7426% -7.4155%] (p = 0.00 < 0.05)
Performance has improved.
Found 3 outliers among 100 measurements (3.00%)
2 (2.00%) low mild
1 (1.00%) high mild
Benchmarking Shared Struct
Benchmarking Shared Struct: Warming up for 3.0000 s
Benchmarking Shared Struct: Collecting 100 samples in estimated 5.0005 s (22M iterations)
Benchmarking Shared Struct: Analyzing
Shared Struct           time:   [216.52 ns 217.21 ns 218.01 ns]
change: [-8.8653% -2.0314% +5.5339%] (p = 0.66 > 0.05)
No change in performance detected.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high severe
Benchmarking New Struct
Benchmarking New Struct: Warming up for 3.0000 s
Benchmarking New Struct: Collecting 100 samples in estimated 5.0010 s (22M iterations)
Benchmarking New Struct: Analyzing
New Struct              time:   [201.05 ns 201.44 ns 201.84 ns]
change: [+3.9420% +4.3199% +4.7129%] (p = 0.00 < 0.05)
Performance has regressed.
Found 8 outliers among 100 measurements (8.00%)
6 (6.00%) high mild
2 (2.00%) high severe

Using Bytes crates

Gnuplot not found, using plotters backend
Benchmarking Benchmark Marshal
Benchmarking Benchmark Marshal: Warming up for 3.0000 s
Benchmarking Benchmark Marshal: Collecting 100 samples in estimated 5.0001 s (28M iterations)
Benchmarking Benchmark Marshal: Analyzing
Benchmark Marshal       time:   [183.42 ns 184.41 ns 185.41 ns]
change: [-3.0654% -2.5110% -1.9095%] (p = 0.00 < 0.05)
Performance has improved.
Found 3 outliers among 100 measurements (3.00%)
2 (2.00%) high mild
1 (1.00%) high severe
Benchmarking Benchmark Unmarshal
Benchmarking Benchmark Unmarshal : Warming up for 3.0000 s
Benchmarking Benchmark Unmarshal : Collecting 100 samples in estimated 5.0001 s (35M iterations)
Benchmarking Benchmark Unmarshal : Analyzing
Benchmark Unmarshal     time:   [141.36 ns 141.81 ns 142.33 ns]
change: [-2.2556% -1.9829% -1.6813%] (p = 0.00 < 0.05)
Performance has improved.
Found 4 outliers among 100 measurements (4.00%)
2 (2.00%) low mild
1 (1.00%) high mild
1 (1.00%) high severe

From the benchmark results, I think, we should go ahead to use Bytes crate with additional optimization efforts on Marshal.

The bytes results come from branch https://github.com/webrtc-rs/rtp/tree/v0.2.0_bytes

Hello, @rainliu this is the benchmark result between byte crate and std type
std
Marshal Benchmark       time:   [90.550 ns 91.886 ns 93.577 ns]
                        change: [+1.3891% +2.6578% +4.0469%] (p = 0.00 < 0.05)
                        Performance has regressed.
Found 5 outliers among 100 measurements (5.00%)
  1 (1.00%) high mild
  4 (4.00%) high severe

Marshal_To Benchmark    time:   [24.746 ns 24.929 ns 25.169 ns]
                        change: [-6.9286% -3.5316% -0.0573%] (p = 0.05 < 0.05)
                        Change within noise threshold.
Found 10 outliers among 100 measurements (10.00%)
  2 (2.00%) low mild
  3 (3.00%) high mild
  5 (5.00%) high severe

Shared Struct           time:   [294.06 ns 298.22 ns 303.17 ns]
                        change: [-24.726% +6.7566% +50.712%] (p = 0.79 > 0.05)
                        No change in performance detected.
Found 5 outliers among 100 measurements (5.00%)
  2 (2.00%) high mild
  3 (3.00%) high severe

New Struct              time:   [529.49 ns 533.24 ns 537.31 ns]
                        change: [+5.3625% +6.8160% +8.3214%] (p = 0.00 < 0.05)
                        Performance has regressed.
Found 3 outliers among 100 measurements (3.00%)
  2 (2.00%) high mild
  1 (1.00%) high severe

bytes
Gnuplot not found, using plotters backend
Marshal Benchmark       time:   [100.12 ns 100.78 ns 101.46 ns]
                        change: [+9.8439% +11.545% +13.149%] (p = 0.00 < 0.05)
                        Performance has regressed.
Found 4 outliers among 100 measurements (4.00%)
  4 (4.00%) high severe

Marshal_To Benchmark    time:   [24.042 ns 24.320 ns 24.591 ns]
                        change: [-6.7403% -4.6760% -2.7840%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 5 outliers among 100 measurements (5.00%)
  5 (5.00%) high mild

Shared Struct           time:   [287.05 ns 292.40 ns 299.72 ns]
                        change: [-29.391% +1.2170% +46.805%] (p = 0.89 > 0.05)
                        No change in performance detected.
Found 6 outliers among 100 measurements (6.00%)
  1 (1.00%) high mild
  5 (5.00%) high severe

New Struct              time:   [520.20 ns 525.23 ns 530.76 ns]
                        change: [-2.2467% -1.0919% +0.1707%] (p = 0.07 > 0.05)
                        No change in performance detected.
Found 2 outliers among 100 measurements (2.00%)
  1 (1.00%) high mild
  1 (1.00%) high severe

I'll look further into this. Note: std implementation has not yet been optimised.

The bytes results come from branch https://github.com/webrtc-rs/rtp/tree/v0.2.0_bytes

Noted, will look into it

with BytesMut::with_capacity, it greatly improves Marshal preformance.
Gnuplot not found, using plotters backend
Benchmarking Benchmark Marshal
Benchmarking Benchmark Marshal: Warming up for 3.0000 s
Benchmarking Benchmark Marshal: Collecting 100 samples in estimated 5.0001 s (50M iterations)
Benchmarking Benchmark Marshal: Analyzing
Benchmark Marshal       time:   [95.906 ns 96.506 ns 97.114 ns]
change: [-16.478% -12.922% -9.3894%] (p = 0.00 < 0.05)
Performance has improved.
Found 6 outliers among 100 measurements (6.00%)
3 (3.00%) low mild
1 (1.00%) high mild
2 (2.00%) high severe
Benchmarking Benchmark Unmarshal
Benchmarking Benchmark Unmarshal : Warming up for 3.0000 s
Benchmarking Benchmark Unmarshal : Collecting 100 samples in estimated 5.0002 s (30M iterations)
Benchmarking Benchmark Unmarshal : Analyzing
Benchmark Unmarshal     time:   [156.56 ns 158.23 ns 160.03 ns]
change: [-26.199% -23.574% -20.876%] (p = 0.00 < 0.05)
Performance has improved.
Found 8 outliers among 100 measurements (8.00%)
3 (3.00%) low mild
4 (4.00%) high mild
1 (1.00%) high severe
Process finished with exit code 0


Fixed a couple of input system bugs

Pose was executing the wrong event data handler.
Pointer event data needed to call Initialize overload instead of base initialize.

It's the little things that matter.

Are we sure these are all of them?

Idk, but I tested the repros you gave me and it was fixed.
Just let me know if you run into something else and we'll fix it.  I only have WMR controllers to test with.


Add expand command

This is mostly similar to create command. But I want a command expainding abbreviation to full-path like below.
$ cd $(ghq expand motemen/ghq)

or
$ less $(ghq expand ghq)/README.md

I think this can be enough with "ghq list" as following.
% ghq list --full-path --exact motemen/ghq

I think it is better to enhance "ghq list" than to add subcommands. My plan of enhancing the "ghq list" is to return json, enhance queries, etc. to make it easier to output arbitrary information.
Certainly, if the repository does not exist locally, "ghq list" won't help, but I don't think they are a big deal.

I agree with you.


feat: Fetch upstream [DEV-1239]

Description

Checklist

[ ] Ran Linting
[ ] Targeted PR against correct branch.
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Wrote unit tests.
[ ] Added an entry to the CHANGELOG.md file.
[ ] Re-reviewed Files changed in the Github PR explorer.

Upstream fetch done in a different PR: https://github.com/cheqd/big-dipper-2.0-cosmos/pull/6


Add DomiNodes validator

Please provide some contact info provided. Not merged for now due to no contact info

Hello, I have added information about us.
https://github.com/anoma/namada-testnets/pull/401#issue-1530673139


Core: Port Syntax Tree pases from prototype

In todays Razor we have the ConditionalAttributeCollapser and the WhitespaceRewriter to make the final SyntaxTree lighter. In the Razor evolution project we've yet to port these two concepts ontop of SyntaxTree passes.

cf7489e600a2a9f57eb3babef65a8b0fa773f2e6


Test mutiple target PHP versions via docker

Also fixes several bugs found on this way.
Maybe we should cache images for speeding up testing in CI.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

-15 of 60 (75.0%)  changed or added relevant lines in 6 files are covered.
6 unchanged lines in 3 files lost coverage.
Overall coverage increased (+2.1%) to 86.214%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/Lib/PhpInternals/Types/Zend/V74/ZendArray.php
1
16
6.25%

Files with Coverage Reduction
New Missed Lines
%

src/Lib/Elf/SymbolResolver/Elf64LinearScanSymbolResolver.php
1
85.71%

src/Lib/PhpInternals/Types/Zend/ZendExecuteData.php
1
93.78%

src/Lib/PhpProcessReader/PhpMemoryReader/MemoryLocation/ZendMmChunkMemoryLocation.php
4
71.43%

Totals

Change from base Build<PHONE_NUMBER>:
2.1%

Covered Lines:
5372

Relevant Lines:
6231

💛  - Coveralls


[Scala] Fix scala collection serialization nested in pojo

What do these changes do?
When a class contains a field of scala list/map type, fury will returna ReplaceResolver serializer if io.fury.serializer.scala.ScalaDispatcher is not set, which will serializer CastException, since we assume all map/collection serializers all extends AbstractMapSerializer/AbstractCollectionSerializer
Fix scala collection serialization nested in pojo

Related issue number

Closes #1137
Check code requirements

[ ] tests added / passed (if needed)
[ ] Ensure all linting tests pass, see here for how to run them

It is still failing if you pass an empty collection

@ghostdogpr I created a new issue for this bug in #1157, it will raise error too if you pass a singleton map object. This is uncommon in java, we missed this.


upgrade Bouncy Castle to 1.57

Bouncy Castle 1.52 is years out of date and includes security vulnerabilities that have been resolved, so I'd like to see how difficult it is to include a more recent version.  I'm not a Scala or Java native and my sbt-fu is weak, so I was unable to run tests, but I did verify sbt compile worked and included Bouncy Castle version 1.57.
I see from other issues that you may not have time or desire to update this dependency.  If that is the case please let me know and close this issue on Github.
Thanks for all of your hard work on this library.

Nice timing, I was actually planning a release this week. I will run the tests while doing it. Thx.


Fixed style and lint issues

Codecov Report

Merging #315 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master     #315   +/-   ##
=======================================
  Coverage   74.12%   74.12%
=======================================
  Files           9        9
  Lines         997      997
=======================================
  Hits          739      739
  Misses        211      211
  Partials       47       47

Flag
Coverage Δ

#unittests
74.12% <100%> (ø)
:arrow_up:

Impacted Files
Coverage Δ

main.go
68.15% <100%> (ø)
:arrow_up:

selenoid.go
77.27% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Add support for backup codes

Backup codes also generated randomly and stored one-way-hashed
in the database using Devise::Encryptor.  They default to 8
decimal digits rather than 6 since they are longer lived than
direct OTP codes.

This case is not quite ready for merging but I wanted to get some eyes on it early.

@monfresh what do you think?

I hope @monfresh could finish his review and merge it.
Let's give him several days more.

I need some features from this gem, but also backup codes is needed, so unless this is merged, I am forced to either write extension for the other gem which I am considering or wait for this PR to get merged.

This PR needs more work before it gets merged. I'm not sure when I'll have time to work on it. Maybe next week. If someone else has the time to clean it up before me, I'd be happy to review it.

Closing since this is two years old now..


Easier going back and forth between overview and detail view

It takes a long while now to go back and forth between the talks overview and the detail view. The reason is that the complete page is loaded. Should be improved; we could load the talk details into the talks overview page as needed. Ajax and so.

Won't fix, all better with PWA


Attention bug - WIP

We might have a bug in the attention due to how we call cublasGemmStridedBatchedEx.
We compute K^T @ Q instead of Q @ K^T and that combined with causal masking might have introduced a bug.

WIP. See this discord thread.

Closing this down as it turned out this has to do with the fact that Cublas uses column-major representation, there is no bug.


Performance evaluation

In the hope it is useful, here is my experience testing out your project.
Getting the program running
Your repository has no build instructions, but it nevertheless seems to work straight out of the box with cargo build --release. The build.sh script appears to have "apple-darwin" hardcoded. Otherwise no issues compiling the code.
Compression
Using ./image-compressor comp infile.png outfile.bin on my standard mixed-content test corpus, I obtained the following result:

Compression matches zstd very closely.
image-comp beats PNG for about 25% of the images, and gets beaten at around 75% of the images in my corpus.
In no cases were the image-comp files more than twice the size of PNG.
Memory and CPU usage were not unreasonably high.
The compression/decompression roundtrip was lossless for all images tested.

Regarding the included test images img 1_4, they appear to not be particularly dense PNGs. With a modern PNG encoder, they can be (losslessly) reduced in size by about 15-20%. As an example, the PNG format is capable of compressing img_2 from the lead of the readme down to 9.9MB. That should be a more fair baseline if beating PNG is your ultimate goal.
Good luck!

First of all thanks for the detailed response! You are helping me a lot!
About getting the project running: Indeed the build script is actually just a script to build a universal Mac OS binary, because cargo doesn't support that out of the box. I will rename it to reflect that. There's actually no need to compile the code yourself, I provided binaries for every major operating system in the latest release, but there's no difference to compiling it yourself. I'll add an explanation for that.
I would be very interested in your corpus, because my images were only images from my photo library, because those were the only ones, I was completely sure that I'm allowed to use them.
I want to apologize for making false claims regarding the performance and I want to thank you for making this graph. Could you give me permission to use it or even better tell me how you made it?
Yes the compression is completely lossless. That could have been pointed out more, I'm very sorry if that's unclear.
Regarding CPU and memory usage: Which operating system are using? I've experienced some differences in that manner across the operating systems. I am personally quite unhappy about the time it takes to compress a file.
The images I uploaded were created out of my Apple Photo Library. I somehow assumed, that Apple would use the best and most modern encoder. I guess I was wrong about that. I'll recompress the images and upload the new files.
Maybe beating PNG is too ambitious and it's a bit frustrating to see PNG achieving lower file sizes with a less complex algorithm.

First of all thanks for the detailed response! You are helping me a lot!
About getting the project running: Indeed the build script is actually just a script to build a universal Mac OS binary, because cargo doesn't support that out of the box. I will rename it to reflect that. There's actually no need to compile the code yourself, I provided binaries for every major operating system in the latest release, but there's no difference to compiling it yourself. I'll add an explanation for that.
I would be very interested in your corpus, because my images were only images from my photo library, because those were the only ones, I was completely sure that I'm allowed to use them.
I want to apologize for making false claims regarding the performance and I want to thank you for making this graph. Could you give me permission to use it or even better tell me how you made it?
Yes the compression is completely lossless. That could have been pointed out more, I'm very sorry if that's unclear.
Regarding CPU and memory usage: Which operating system are using? I've experienced some differences in that manner across the operating systems. I am personally quite unhappy about the time it takes to compress a file.
The images I uploaded were created out of my Apple Photo Library. I somehow assumed, that Apple would use the best and most modern encoder. I guess I was wrong about that. I'll recompress the images and upload the new files.
Maybe beating PNG is too ambitious and it's a bit frustrating to see PNG achieving lower file sizes with a less complex algorithm.

I provided binaries for every major operating system in the latest release

That's something I did not expect. Re-reading the readme, the mention of "provided binaries" is actually pretty clear.

my images were only images from my photo library, because those were the only ones, I was completely sure that I'm allowed to use them

A very sensible consideration, and highly relevant when distributing them. I recommend using some collection of standard test images, which need not be included in the repository. Generally, it's hard to make a good estimate of performance without testing on many images.

I want to apologize for making false claims regarding the performance

I see no false claims. You claimed to occasionally beat PNG, which you do.

Could you give me permission to use it or even better tell me how you made it?

You have my permission to use it in any way you see fit, although it would not be of much use since it will quickly get outdated as your algorithm evolves. I can try to post a simple script that gives you the necessary data from any collection of images.

Regarding CPU and memory usage

I did not look very closely at this. It did however use little enough memory that multiple instances could be run in parallel, and compression was quick enough that the entire test could be repeated in minutes, which is quite snappy for an experimental compressor.

I'll recompress the images and upload the new files

I see you have gotten around to this already. optipng should make a fair baseline indeed.

Maybe beating PNG is too ambitious and it's a bit frustrating to see PNG achieving lower file sizes with a less complex algorithm.

It's certainly hard to do with a completely novel approach (the kind of approach compression needs). In general, PNG seems to be at a sweet spot where it gets a surprisingly much out of very simple tools.

I provided binaries for every major operating system in the latest release

That's something I did not expect. Re-reading the readme, the mention of "provided binaries" is actually pretty clear.

my images were only images from my photo library, because those were the only ones, I was completely sure that I'm allowed to use them

A very sensible consideration, and highly relevant when distributing them. I recommend using some collection of standard test images, which need not be included in the repository. Generally, it's hard to make a good estimate of performance without testing on many images.

I want to apologize for making false claims regarding the performance

I see no false claims. You claimed to occasionally beat PNG, which you do.

Could you give me permission to use it or even better tell me how you made it?

You have my permission to use it in any way you see fit, although it would not be of much use since it will quickly get outdated as your algorithm evolves. I can try to post a simple script that gives you the necessary data from any collection of images.

Regarding CPU and memory usage

I did not look very closely at this. It did however use little enough memory that multiple instances could be run in parallel, and compression was quick enough that the entire test could be repeated in minutes, which is quite snappy for an experimental compressor.

I'll recompress the images and upload the new files

I see you have gotten around to this already. optipng should make a fair baseline indeed.

Maybe beating PNG is too ambitious and it's a bit frustrating to see PNG achieving lower file sizes with a less complex algorithm.

It's certainly hard to do with a completely novel approach (the kind of approach compression needs). In general, PNG seems to be at a sweet spot where it gets a surprisingly much out of very simple tools.

README seems to have more immediate information now as well
Benchmarking your own image library, in a directory with just pngs:
for i in *.png; do ./image-compressor comp "$i" "$i".bin; done
Or if you have GNU parallel:
parallel ./image-compressor comp {} {}.bin ::: *.png
A script for getting the relative size, like in my plot (probably works on mac too, but tell me if something needs to be tweaked):
#!/bin/bash
sum=0
for i in *.png; do
	size1=$(du -b "$i.bin" | cut -f1)
	size2=$(du -b "$i" | cut -f1)
	sum=$(dc <<< "$sum $size1+p")
	bc -l <<< "$size1/$size2" >> results.txt
done
sort -g results.txt
echo "$sum"

README seems to have more immediate information now as well
Benchmarking your own image library, in a directory with just pngs:
for i in *.png; do ./image-compressor comp "$i" "$i".bin; done
Or if you have GNU parallel:
parallel ./image-compressor comp {} {}.bin ::: *.png
A script for getting the relative size, like in my plot (probably works on mac too, but tell me if something needs to be tweaked):
#!/bin/bash
sum=0
for i in *.png; do
	size1=$(du -b "$i.bin" | cut -f1)
	size2=$(du -b "$i" | cut -f1)
	sum=$(dc <<< "$sum $size1+p")
	bc -l <<< "$size1/$size2" >> results.txt
done
sort -g results.txt
echo "$sum"


How to set focus of a custom form?

When running a desktop flow, how do you set the focus to the custom form?

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

ID: dc9a6e07-8ef8-f460-644d-59aeb4716189
Version Independent ID: dc9a6e07-8ef8-f460-644d-59aeb4716189
Content: Handle custom forms - Power Automate
Content Source: articles/desktop-flows/how-to/handle-custom-forms.md
Service: power-automate
Sub-service: desktop-flow
GitHub Login: @georgiostrantzas
Microsoft Alias: v-gtrantzas

Hello @jpmchia, thank you for using Power Automate! Custom forms always stay on top of other windows. You can minimize a custom form to hide it and work with other windows.
Please, note that you may ask technical questions in the Power Automate community where technical experts can respond to questions and suggest solutions.


Can "integrated charts" be used with streamlit-aggrid?

I can see from the showcase example that e.g. groups and pivot-tables work. Before buying a license, I would like to know if the enterprise "inegrated charts" feature will work when AGGrid is used via Streamlit.

same request here with Tree Data feature of aggrid enterprise

Same here. Any plans to support live streaming updates, and integrated charting. This will be amazing.
I hope there is a way for you to give us a referral link where you get something whenever one of us buys an enterprise license from ag-grid.

Same here. Any plans to support live streaming updates, and integrated charting. This will be amazing.
I hope there is a way for you to give us a referral link where you get something whenever one of us buys an enterprise license from ag-grid.

I've solved this problem, later this week I'll post my code here.

Thanks @littlepanda0716 and look forward to your solution.

`import streamlit as st
from st_aggrid import AgGrid, GridOptionsBuilder, JsCode
import pandas as pd
if name == "main":
df = pd.DataFrame({"Name": ["A", "B", "C", "D"], "Age": ["80.0%", "0.0%", "20.0%", "None"]})
st.write(df)
gb = GridOptionsBuilder.from_dataframe(df)
gridOptions = gb.build()
gridOptions["columnDefs"][1] = {"field": "Age",
                                "cellRenderer": "agSparklineCellRenderer",
                                'valueGetter': 'JSON.parse("["+data.Age.replace("%","]"))',
                                "cellRendererParams": {
                                    "sparklineOptions": {
                                        "type": 'bar',
                                        "fill": '#4fa2d9',
                                        "valueAxisDomain": [0.0, 100.0],
                                        "label": {
                                            "enabled": True,
                                            "color": 'black',
                                            "fontSize": 10,
                                            "fontWeight": 'bold',
                                            "formatter": JsCode("""function(params){
                                              return `${params.value}%`;}"""),
                                            "placement": "insideBase",
                                        },
                                        "tooltip": {
                                            "enabled": False,
                                        },
                                    }
                                }
                                }

r = AgGrid(
        df,
        gridOptions=gridOptions,
        height=500,
        allow_unsafe_jscode=True,
        enable_enterprise_modules=True,
        filter=True,
        # update_mode=GridUpdateMode.SELECTION_CHANGED,
        theme="material",

    )`

import streamlit as st
from st_aggrid import AgGrid, GridOptionsBuilder, JsCode
import pandas as pd

if __name__ == "__main__":
    df = pd.DataFrame({"Name": ["A", "B", "C", "D"], "Age": ["80.0%", "0.0%", "20.0%", "None"]})
    st.write(df)
    gb = GridOptionsBuilder.from_dataframe(df)
    gridOptions = gb.build()

    gridOptions["columnDefs"][1] = {"field": "Age",
                                    "cellRenderer": "agSparklineCellRenderer",
                                    'valueGetter': 'JSON.parse("["+data.Age.replace("%","]"))',
                                    "cellRendererParams": {
                                        "sparklineOptions": {
                                            "type": 'bar',
                                            "fill": '#4fa2d9',
                                            "valueAxisDomain": [0.0, 100.0],
                                            "label": {
                                                "enabled": True,
                                                "color": 'black',
                                                "fontSize": 10,
                                                "fontWeight": 'bold',
                                                "formatter": JsCode("""function(params){
                                                  return `${params.value}%`;}"""),
                                                "placement": "insideBase",
                                            },
                                            "tooltip": {
                                                "enabled": False,
                                            },
                                        }
                                    }
                                    }

    r = AgGrid(
            df,
            gridOptions=gridOptions,
            height=500,
            allow_unsafe_jscode=True,
            enable_enterprise_modules=True,
            filter=True,
            # update_mode=GridUpdateMode.SELECTION_CHANGED,
            theme="material",

        )

Hope this may help you @mzeidhassan

Thanks a million @littlepanda0716 ! This is very nice of you. I appreciate it.


Missing details on the values necessary to enable AAD Auth for P2S VPN.

Step 9 - Enable Azure AD authentication on the VPN gateway - it is not clear in this section where the values for these fields come from. Tenant is clear that it's the AAD Tenant ID, and  I assume the Audience is the same for everyone, as that is the ID of the app we grant permission for. There is no information at all that references Issuer. Having some details on where to locate this would be very helpful. Thanks!

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

ID: 186c0697-792a-a913-1baa-0af86f7ef6de
Version Independent ID: 330e7927-57fd-75e2-26b1-05bd2e8f30c1
Content: VPN Gateway: Azure AD tenant for P2S VPN connections: Azure AD authentication
Content Source: articles/vpn-gateway/openvpn-azure-ad-tenant.md
Service: vpn-gateway
GitHub Login: @KumudD
Microsoft Alias: alzam

@dsghi Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

Thank you for you dedication to our documentation.
Unfortunately, we have been unable to review this issue in a timely manner. We sincerely apologize for the delayed response. We are closing this issue. If you feel that the problem persists, please respond to this issue with additional information.
Please continue to provide feedback about the documentation. We appreciate your contributions to our community.
#please-close